窗口标题栏高度不同

窗口标题栏高度不同

我正在深入研究主题和 CSS 样式。

它大部分情况下都运行良好,但我对标题栏的样式感到困惑。它们都接受渐变、背景颜色等,但并非所有应用程序都采用标题栏高度。

我尝试编写代码

.titlebar and 

.headerbar 

我能想到的所有形式,但标题栏的高度仍然不一致。有些应用程序采用标题栏高度,而其他应用程序则完全忽略它。

这显然发生在所有主题中。

我想知道这是什么原因造成的,以及如何实现所有标题/页眉栏的相同高度。

我的问题不是重复的,因为我的问题不是缩小条形图,而是将太窄的条形图(右侧)放大,以匹配左侧条形图的高度。我知道左侧的条形图很大,但我故意夸大了高度以说明我的观点。

我在戴尔笔记本电脑上使用 Ubuntu Budgie 19.04。

在此处输入图片描述

答案1

您正在处理两种不同类型的程序。

  • 屏幕截图中左侧的程序是一个使用GTK3 客户端装饰(CSD)。这意味着应用程序本身绘制其标题栏并在其中包含控件。
  • 你展示使用的正确程序窗口管理器提供的窗口装饰(有些人称之为“传统装饰”。窗口管理器控制装饰,这些是遵循您的设置的应用程序。

对于使用 CSD 的应用程序,仍然可以通过 GTK3 主题控制填充。但是,需要最小高度来容纳控件。因此,您需要设置令人不快的宽“传统”标题栏以适应 CSD 标题栏的最小宽度。

CSD 无法轻易避免。Linux Mint 采取了消除所有 CSD 的方法,并分叉了核心 gnome 应用程序以恢复到传统的标题栏和菜单。Mate 桌面也采用了这种方法。在标准 Ubuntu 上消除 CSD 不太明显。简而言之,没有令人满意的解决方案,但选项如下:

  • 曾经有(现在仍然有)一种方法将“遗留”窗口装饰返回给 CSD 程序(请注意,对于较新的 Ubuntu 版本,gtk3-nocsd包含在标准软件存储库中,因此无需添加 PPA)。这在过去效果更好,因为传统菜单可以整齐地恢复。目前,效果是添加了传统标题栏,但下方的 CSD 区域仍然存在,导致外观不太美观。
  • 或者,人们可以考虑避免使用 CSD 应用程序,例如转而使用 Linux Mint 或 Mate 等替代应用程序。

答案2

我找到了一个可用的答案这里

代码的相关部分是:

.ssd .titlebar {
  padding: 8px;
}

.titlebar 控制窗口管理器提供的窗口装饰的高度,而

.ssd .titlebar 似乎控制客户端装饰。

代码进入主题自己的 gtk.css 文件。

相关内容