LINUX.ORG.RU

GTK3. Затемнение миниатюр

 , ,


0

1

Как называется объект (в теме /gtk-3.0/gtk-main.css), в котором указывается затемнение выделенных значков?

(например тех значков, которые выводятся в файловом менеджере в режиме миниатюр)

Нашёл только iconview, который может либо целиком закрасить значок, либо, если сделать background прозрачным, выделение вокруг миниатюры будет отсутствовать.

iconview:selected {
  background-color: green;
  opacity: 0.1;
}

Но ведь он как-то делается полупрозрачным с сохранением выделения вокруг значка на системном уровне, значит есть что-то за это отвечающее.

Ответ на: комментарий от anonymous

Совершенно неважно, проверил на пяти классических темах (arc, slate, yaru, numix, adapta) и разных файловых менеджерах (nemo, spacefm, nautilus, gthumb) — это общее место, везде одинаково.
Скрин 1
Скрин 2
Особенно это наглядно проявляется в режиме миниатюр — происходит затемнение и тонирование миниатюры цветом выделения.

Dreamdrawer ()
Ответ на: комментарий от Dreamdrawer

Можно запустить в режиме отладки какой-нибудь браузер файлов:

GTK_DEBUG=interactive gthumb

вместо gthumb можно что угодно на gtk3 вписать.
И там, на вкладке CSS вставить следующие строки:

iconview:selected  {
  color: red;
  background-color: alpha (green, 1.0);
}

будет наглядно видно как закрашиваются выделенные значки. Далее, можно поиграться с параметром alpha и посмотреть как меняется окраска выделенного значка.

Вот только непонятно, как сделать цветной фон выделения, при этом не закрашивая сам значок.

Dreamdrawer ()
Ответ на: комментарий от Dreamdrawer

делается полупрозрачным с сохранением выделения вокруг значка

Вот этого не видно у вас на скринах и у меня. Просто поверх накладывается рамка с регулируемой прозрачностью, сам значок остается таким как был

anonymous ()
Ответ на: комментарий от anonymous

вот - немного усилил эффект для наглядности
вот - дефолтная тема arc

в том то и дело, что окрашивается не только рамка, но и содержимое значка, а хотелось бы иметь только окрашенную рамку.

Dreamdrawer ()
Ответ на: комментарий от anonymous

Как только не ухищрялся, и бордерами и отступами, но не выходит сделать толково, так, чтобы универсально работало — ведь размеры и пропорции значков могут быть разные.
В итоге, пока остановился на том, чтобы вовсе убрать цветной фон, сделав его прозрачным, и окрашивать только текст подписи.
Так достаточно наглядно и не портит картинки.
Но это всё равно от безальтернативности. Хотелось бы всё же иметь цвет фона выделенных файлов.

Dreamdrawer ()
Ответ на: комментарий от anonymous

Да. Похоже они просто сделали область «FileView» и не обеспечили для неё подклассов, которые бы отделяли объекты от фона, текст от объектов и пр. Какой-то недо-CSS. Не ожидал такой подставы. Разочарован gtk3, жду gtk4 )))

Dreamdrawer ()
Ответ на: комментарий от Dreamdrawer

разных файловых менеджерах (nemo, spacefm, nautilus, gthumb)

это все не iconview, там у каждого свои велосипеды. к примеру, у spacefm за это отвечает код из src/ptk/ptk-file-icon-renderer.c

ananas ★★★★★ ()
Ответ на: комментарий от ananas

Я говорил, что поведение (окрашивание) значков одинаково во всех ФМ. А объект в коде разный, да. Как его найти я привёл — отладчик удобным, интуитивно понятным указателем высвечивает элементы в коде.

Dreamdrawer ()
Ответ на: комментарий от Dreamdrawer

поведение одинаково, потому что код копипастят по черному. корни этого безобразия, если мне память не изменяет, из наутилуса растут. но вот к gtk это все имеет очень опосредованное отношение

ananas ★★★★★ ()