我正在尝试为Gnome 3创建一个主题,但是我在标题栏的样式方面遇到了一些问题。我在尝试设置条形图时使用了以下CSS,但它仅适用于使用GtkHeaderBar
覆盖标题栏的窗口。
headerbar {
border: 1px solid #000000;
border-bottom: none;
border-radius: 4px 4px 0 0;
box-shadow: inset 1px 1px 0px 0px rgba(255, 255, 255, 0.25), inset -1px 1px 0px 0px rgba(255, 255, 255, 0.25);
background-image: linear-gradient(to right, rgba(109, 179, 242, 0.5) 0%, rgba(84, 163, 238, 0.5) 50%, rgba(54, 144, 240, 0.5) 51%, rgba(30, 105, 222, 0.5) 100%);
padding: 0 5px;
}
headerbar:backdrop {
border: 1px solid #303030;
border-bottom: none;
background-image: linear-gradient(to right, #C1C1C1 0%, #B1B1B1 50%, #A2A2A2 51%, #8B8B8B 100%);
}
/* Window Body */
window {
border: 1px solid #000000;
border-top: none;
border-radius: 0 0 4px 4px;
box-shadow: inset 1px -1px 0px 0px rgba(255, 255, 255, 0.25), inset -1px -1px 0px 0px rgba(255, 255, 255, 0.25);
background-image: linear-gradient(to right, rgba(109, 179, 242, 0.5) 0%, rgba(84, 163, 238, 0.5) 50%, rgba(54, 144, 240, 0.5) 51%, rgba(30, 105, 222, 0.5) 100%);
padding: 5px;
}
window:backdrop {
border: 1px solid #303030;
border-top: none;
background-image: linear-gradient(to right, #C1C1C1 0%, #B1B1B1 50%, #A2A2A2 51%, #8B8B8B 100%);
}
window > box {
border: 1px solid black;
border-radius: 3px;
box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.25);
margin: 4px;
background-color: #ABABAB;
background-image: none;
}
窗口管理器似乎正在使用上次加载的主题中的样式信息,而不是我提供的CSS。我正在通过运行gsettings set org.gnome.desktop.interface gtk-theme "<theme name"
来切换主题。
这是在gtk3-demo
之后切换到我的主题时Ambiance
窗口的样子
这是在gtk3-demo
之后切换到我的主题时Adwaita
窗口的样子
我的结论是,有一组单独的css节点或类与headerbar
分开,尽管我在网上找到的所有建议(如使用.header-bar
都没有)导致任何成功。我尝试通过使用GTK_DEBUG=interactive gtk3-demo
启动交互式调试器来检查css节点层次结构,但是节点层次结构查看器在window
节点处结束,该节点不包括标题栏。
为gnome-3
中的主题设置标题栏样式的正确方法是什么?是否有某个可用于参考的css节点的主列表?
修改:我刚刚遇到并试用了decoration
代码,但它似乎与headerbar
有同样的问题,它不会影响没有{的{ {1}}元素。
编辑2:现在看来我的问题不一定与我创建的CSS有关。作为尝试引发标题栏中任何更改的最后努力,我创建了一个规则GtkHeaderBar
,但它对标题没有影响。我现在开始认为默认标题栏的样式不是应用程序css,可能在* { color: #00ff00; background-color: #ff0000; background-image: none}
目录下的另一个文件夹中。目前我已将我的整个CSS复制到~/.themes/xyz/
和gtk-3.0
文件夹中,但它似乎没有改变任何内容。这是我的主题树。是否缺少必需的文件?
gtk-3.20
答案 0 :(得分:2)
此问题是由于忘记在gnome-tweak-tool
中安装用户主题扩展程序引起的。因为某些应用程序的标题栏是由应用程序本身提供的,所以主题应用于它们,但是其他程序依赖于shell来提供标题栏,因此没有样式。