我在Raspberry Pi 3上将yad用于GTK3(不是GTK2)以显示一组按钮。屏幕离我坐在的地方很远,因此我需要一种使按钮文本和突出显示的按钮突出的方法。我完全不熟悉GTK3的内部工作原理,只需要逐步进行操作即可。我不希望更改主题或其他更全局的设置,我只希望它可用于该YAD执行。有可能吗?
我看到了一个博客,描述了如何使用RC文件更改按钮样式,但这是使用GTK2库的yad版本。我很快了解到在Pi 3上这对我不起作用。我应该提到我正在使用默认的LXDE窗口管理器。
我希望有人可以逐步提供文件内容,放置文件的位置以及如何使用它的新手。我知道解决方案与css有关,但我不熟悉如何执行此类操作以及如何仅使Yad激活CSS,也不知道要在上述css文件中放入什么内容。
答案 0 :(得分:0)
我主要解决了自己的处境。希望这对其他人有帮助。它不是完美的,但是满足了我的需求。
我做的第一件事是使用GTK调试器启动yad。
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"
然后,我再次重新执行yad行。它暂时使用了新主题。
我发现主题主要完成了我想要的工作,并且似乎尊重了我的自定义CSS。由于某些原因,我没有深入研究,使用默认主题“ Adwaita”并不尊重我的自定义CSS。显然,如果我选择其他主题,则必须将自定义css放在该主题的目录中,而不是“ Adwaita-dark”
要保存我的自定义设置,我创建了$ HOME / .themes并在该目录下创建了以下目录:
然后我将自定义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));
}
上面的某些指令实际上并没有对这个主题做任何事情,但是我留给他们以防万一我将来想尝试。我启动Yad的方式是这样的:
GTK_THEME="Adwaita-dark" yad --title "my title" --button "button1:1" --button "button2:2" --button "button3:3" --text "some text"