在 GNOME 3.16 中最大化时隐藏标题栏

Sir*_*_FZ 10 gnome gtk3 ubuntu-gnome

在 GNOME 3.14 和 3.12 中,我做了一个修改,metacity-theme-3.xml其中在最大化时基本上隐藏了任何窗口的标题栏。我更喜欢这种方法而不是Maximus Two扩展,因为扩展的行为不一致,有时我会在最大化窗口上看到一个透明栏代替标题栏(通常在从挂起恢复后)。

现在,在 GNOME 3.16 中,该metacity调整不再起作用,因为 GNOME 不再使用它。我尝试过自定义 gtk3 css,例如:

.maximized .titlebar {
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

和它的变化,无济于事。这可以通过 gtk-3 自定义 css 实现吗?

更新Pixel Saver是一个很好的扩展,没有任何错误,但我仍然想知道是否有办法手动完成。

Mar*_*mo- 2

为了了解metacity主题调整不再起作用的核心原因,我们必须查看gnome博客本身,其中gnome开发人员Florian M\xc3\xbcllner解释说,在绘制标题栏时,gnome根本不再使用metacity,它们是总是由 Gtk+ 绘制

\n

这意味着 css 答案是唯一可行的答案,我相信你已经完成了大部分工作。我在这个提交页面上读到你想要的CSS有点像这样:

\n
.maximized .header-bar.default-decoration {\n  padding: 0;\n  font-size: 0.7em;\n}\n\n.maximized .header-bar.default-decoration .button.titlebutton {\n  padding: 0;\n  border-width: 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

或者像这样:

\n
.maximized headerbar.default-decoration {\n  padding: 0;\n  font-size: 0.7em;\n  min-height: 0;\n}\n.maximized headerbar.default-decoration button.titlebutton {\n  padding: 0;\n  border-width: 0;\n  min-width: 0;\n  min-height: 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

css 无法像使用 html(或 svg)那样隐藏或删除元素的原因是 css 适用于 gtk 属性,而对象的可见性不是典型 Gtk 方式中的属性。您实际上必须从代码中调用 widget.hide() 。类似于 Gimp 主题必须通过使小部件与背景颜色相同来隐藏小部件的方式。

\n

  • 没错,gtk的css相当差。 (2认同)