如果我希望我正在编写的 GTK+3 主题在某些应用程序中的某些 UI 元素的主题与大多数应用程序略有不同,我该怎么做?
例如,我可能有一个 GTK+3 主题,它在大多数应用程序中指定圆形按钮,但在计算器(gcalctool
)中,我想要方形按钮。
如何找到如何在我的主题的 CSS 文件中引用这些应用程序的 UI 元素?
答案1
似乎您需要深入研究不同应用程序的源文件,看看他们在代码中(可能在顶层代码中)如何调用不同的 UI 元素。
对于该gcalctool
示例,相关文件似乎是gcalctool.c
,其中可以看到以下一行:
static MathWindow *window;
因此,要引用其 UI 元素(在本例中为按钮),主题 CSS 中的一部分应如下所示:
MathWindow .button {
/* Properties to modify here for buttons in gcalctool */
}
由于每个应用程序都有自己的代码,因此主题创建者显然需要检查他们想要主题化的应用程序的源代码,并找到要在 CSS 中引用的相关 UI 元素名称。