首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gnome-3中标题栏的主题/风格如何?

gnome-3中标题栏的主题/风格如何?
EN

Stack Overflow用户
提问于 2017-12-30 03:31:56
回答 1查看 5.2K关注 0票数 3

我正试图为Gnome 3创建一个主题,但我遇到了一个关于标题栏样式的问题。我正在使用下面的CSS试图对标题栏进行样式设置,但它只适用于使用GtkHeaderBar覆盖标题栏的窗口。

代码语言:javascript
复制
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之后切换到我的主题时的样子

我由此得出的结论是,有一组独立于headerbar的css节点或类,尽管我在网上发现的任何建议(比如使用.header-bar )都没有带来任何成功。我试图通过使用GTK_DEBUG=interactive gtk3-demo启动交互式调试器来检查css节点层次结构,但是节点层次结构查看器结束于window节点,其中不包括标题栏。

gnome-3中为主题设置标题栏的正确方式是什么?是否有一个可供参考的css节点主列表?

编辑:--我刚刚碰到并尝试了decoration标记,但是它似乎与headerbar有相同的问题,因为它不影响没有GtkHeaderBar元素的窗口。

编辑2:现在看来,我的问题不一定与我创建的CSS有关。作为试图在标题栏中进行任何更改的最后一步,我创建了一个规则* { color: #00ff00; background-color: #ff0000; background-image: none},但它对标题没有任何影响。我现在开始认为默认标题栏是在应用程序css之外的其他地方设计的,可能在~/.themes/xyz/目录下的另一个文件夹中。目前,我已经将整个CSS复制到了gtk-3.0gtk-3.20文件夹中,但是它似乎没有改变任何东西。这是我的主题树。这里缺少必需的文件吗?

代码语言:javascript
复制
.
├── gtk-3.0
│   └── gtk.css
├── gtk-3.20
│   └── gtk.css
└── index.theme
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-31 17:41:34

此问题是由于忘记在gnome-tweak-tool中安装用户主题扩展引起的。因为某些应用程序的标题栏是由应用程序本身提供的,所以应用到它们的主题,但是其他程序依赖shell来提供标题栏,因此没有样式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48030687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档