Как получить yad для gtk3 для настройки шрифта кнопки, фона и цвета переднего плана? - PullRequest
0 голосов
/ 26 марта 2019

Я использую yad для GTK3 (не GTK2) на Raspberry Pi 3 для отображения набора кнопок. Экран находится далеко от того места, где я сижу, поэтому мне нужен способ выделить текст кнопки и выделенную кнопку. Я совершенно незнаком с внутренней работой GTK3, и мне просто нужно шаг за шагом что делать. Я не хочу менять темы или другие более глобальные настройки, я просто хочу, чтобы это работало для этого исполнения YAD. Возможно ли это?

Я видел блог, в котором описывалось, как изменить стиль кнопки с помощью файла RC, но это было для версии yad, использующей библиотеки GTK2. Вскоре я понял, что это не сработает для меня на Pi 3. Я должен упомянуть, что я использую оконный менеджер по умолчанию в LXDE.

Я надеюсь, что кто-то может предоставить новичку шаг за шагом содержимое файла, где разместить файл и как его использовать. Я знаю, что решение связано с css, но я не знаком с тем, как сделать что-то подобное и как сделать CSS активным только для yad, и не знаю, что добавить в указанный файл css.

1 Ответ

0 голосов
/ 31 марта 2019

В основном я решил свою собственную ситуацию.Надеюсь, это поможет другим.Она не идеальна, но она удовлетворяет мои потребности.

Первое, что я сделал, это начал работать с отладчиком GTK.

export GTK_DEBUG=interactive
yad --title "my title" --button "button1:1" --button "button2:2" --button "button3:3" --text "some text"

Самым полезным для меня в отладчике был выбор и поискНаименование объектов и редактирование css на лету.Я не знаю cssЯ собрал воедино кусочки, которые я нашел на других сайтах, которые в основном работали.

Затем еще одна вещь, которая помогла, была возможность менять темы GTK3 «на лету».Я сделал это, используя:

export GTK_THEME="Adwaita-dark"

Затем я снова пересмотрел строку Яда.Он временно использовал новую тему.

Я обнаружил, что тема делает в основном то, что я хотел, и она, похоже, уважала мои обычные CSS.По какой-то причине, в которую я не вникнул, использование темы по умолчанию «Adwaita» не соответствовало моему обычному CSS.Очевидно, что если я выберу другую тему, вы должны поместить пользовательский CSS в каталог этой темы вместо 'Adwaita-dark'

Чтобы сохранить мои настройки, я создал $ HOME / .themes и создал следующие каталоги втам:

  • $ HOME / .themes / Adwaita-dark
  • $ HOME / .themes / Adwaita-dark / gtk-3.0

Тогда япоместите мой пользовательский CSS в $ HOME / .themes / Adwaita-dark / gtk-3.0 / gtk.css

Это мой пользовательский CSS, который переопределяет значения по умолчанию для yad:

/* The background of the entire window
box {
    background-image: image(rgb(224, 224, 209));
} */

/* The progress slider */
progress {
   /* background-image: image(rgb(102, 102, 255)); */
   background-image: image(rgb(102, 0, 255));
}

/* this gets us the highlighting behavior */
button:focus {
   color: black;
   border-top-color: yellow;
   border-left-color: yellow;
   border-right-color: yellow;
   border-bottom-color: yellow;
   border-bottom-width: 10px;
   border-top-width: 10px;
   border-bottom-width: 10px;
   background-image: image(rgb(255,102,255));
}


button {
   color: yellow;
   font: 24px "comic sans";
   border-top-color: black;
   border-left-color: black;
   border-right-color: black;
   border-bottom-color: black;
   border-bottom-width: 10px;
   background-image: image(rgb(100,100,100));
}

Некоторые из вышеперечисленных директив ничего не сделали с этой темой, но я оставил их на случай, если захочу попробовать в будущем.Мой способ запуска Яд выглядит примерно так:

GTK_THEME="Adwaita-dark" yad --title "my title" --button "button1:1" --button "button2:2" --button "button3:3" --text "some text"
...