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


10

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

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

.maximized .titlebar {
    display: none;
}

及其变化,无济于事。是否可以通过gtk-3自定义CSS来实现?

更新Pixel Saver是一个很好的扩展,可以做到这一点而没有任何错误,但是我仍然想知道是否有手动方法。


您的自定义CSS在哪里?
2015年

我把它放进去了~/.config/gtk-3.0/gtk.css。我知道它是可行的,因为例如更改文本颜色是可行的,但是隐藏标题栏(如我在问题中所尝试的)却不可行。
Sir_FZ

Answers:


2

要弄清为什么metacity主题调整不再起作用的核心,我们必须看一下gnome博客本身,其中gnome开发人员,FlorianMüllner解释说,绘制标题栏时gnome不再使用metacity,并且它们总是由Gtk +绘制

这意味着一个css答案是唯一有效的答案,我相信您的答案是大多数。我在此提交页面上阅读,所需的CSS有点像这样:

.maximized .header-bar.default-decoration {
  padding: 0;
  font-size: 0.7em;
}

.maximized .header-bar.default-decoration .button.titlebutton {
  padding: 0;
  border-width: 0;
}

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


所以答案是不可能用纯CSS隐藏吗?
Sir_FZ

1
是的,gtk的css很差。
Martin Owens -doctormo-

您似乎是正确的,可见的隐藏的。我的临时解决方法是,始终使用GtkParasite(又名GtkInspector)隐藏标题栏。
彼得·韦伯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.