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

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

在 GNOME 3.14 和 3.12 中,我进行了修改,metacity-theme-3.xml基本上隐藏了最大化时窗口的标题栏。我更喜欢这种方法,而不是马克西姆斯二号扩展,因为扩展的行为不一致,有时我会在最大化窗口上看到标题栏位置出现透明条(通常是从挂起状态恢复后)。

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

.maximized .titlebar {
    display: none;
}

以及类似的变体,但都无济于事。这可以通过 gtk-3 自定义 css 实现吗?

更新像素保护程序是一个很好的扩展,可以做到这一点而没有任何错误,但我仍然想知道是否有办法手动完成。

答案1

要了解 metacity 主题调整为何不再起作用,我们必须查看 gnome 博客本身,gnome 开发人员在哪里Florian Mü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;
}

或者像这样:

.maximized headerbar.default-decoration {
  padding: 0;
  font-size: 0.7em;
  min-height: 0;
}
.maximized headerbar.default-decoration button.titlebutton {
  padding: 0;
  border-width: 0;
  min-width: 0;
  min-height: 0;
}

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

相关内容