如何在 GNOME 中全局禁用客户端装饰?

如何在 GNOME 中全局禁用客户端装饰?

我使用的是 Ubuntu GNOME 17.04。由于大多数官方 GNOME 应用程序(Nautilus、gedit、Evince 等)都使用客户端装饰(CSD),因此会遇到标题栏(标题栏和工具栏合二为一,见链接的屏幕截图)而其他应用程序则没有。该功能在 Unity 中被禁用,所有应用程序都使用传统的单独标题栏。

截图(来自本文):

  • Nautilus 与 GtkHeaderBar

  • 没有 GtkHeaderBar 的 Nautilus

为了保持一致性,我想全局禁用 GtkHeaderBars(在所有使用它的应用程序中)并使用单独的标题栏。有办法实现吗?

我听说过这个gtk3-nocsd软件包,但是无法让它与 GNOME 的所有应用程序一起工作。

答案1

恐怕这无法实现,除非应用程序开发人员已经考虑到了这样的功能。在窗口顶部显示标题栏并不意味着 CDS 确实被禁用了。它仍然缺少经典的窗口布局,即标题栏、菜单栏、工具栏、状态栏。

客户端装饰有破坏了 Linux 用户界面并使应用程序和桌面环境看起来很丑陋且不够原生。

我希望每个开发人员都能忽略 ​​Gnome 指南并保持他的应用程序在所有环境中都实用且一致。

或者至少支持两种播放器,比如 celluloid-player

编辑

让我针对 CSD 指出我的观点:

  1. 您可以从标题按钮拖放窗口!!非常不方便!

  2. 它并不节省空间,而是浪费空间。只需将窗口并排放置即可!特别是那些只展开标题/标题栏以匹配设计的窗口!

  3. 它经常与 OSX 进行比较,但这是完全错误因为 OSX 有并且永远都会有菜单栏。

  4. 使用菜单栏时,用户必须在左侧或右侧的按钮中寻找功能,而没有任何标准设计。

  5. 按钮必须左键单击 -> 释放 -> 再次单击。但在经典设计中,您只需按住并单击 -> 释放并单击项目即可!

  6. 在某些程序(例如 Krita、Gimp、Inkscape、Blender 等)中,菜单栏是必不可少的。因此,我们总是混合使用 CDS 和非 CDS,这很糟糕!设计?

  7. CDS 将被没有或没有太多“菜单选项”的应用程序使用,因此会造成空间浪费,因为整个标题栏大部分是空的,但仍然存在!有很多例子。

  8. 当给某人发出指令时,例如“嘿,按下右边第二个按钮,你看到了什么?哦,好的,现在按下首选项”,也就是说,如果你幸运的话。而不是“嘿,转到菜单 - 编辑 - 首选项”!!!

额外的反功能:那些弹出菜单,所谓的汉堡菜单?你看不到项目的父级,如果你犯了一个错误,你必须上下移动鼠标,一遍又一遍地到达父级!我的天哪……

答案2

尽管我同意 Vassilis 的观点,认为 CSD 很糟糕 - 但幸运的是,他对禁用 CSD 的可能性的看法是错误的。

在 Ubuntu 中,安装gtk3-nocsd软件包,然后注销并重新登录。

此“黑客”使 GTK+ 应用程序不再禁用窗口管理器的窗口装饰。结果可能看起来有点奇怪 - 以下是 GNOME 的计算器应用程序在标准 CSD 中的样子:

在此处输入图片描述

针对 NOCSD 的攻击:

在此处输入图片描述

你可以通过几个例子来说明为什么 Vassilis 认为 CSD 是一个可怕的想法破坏了Linux用户界面是真的:

  1. 非 CSD 窗口标题显示“<2>”,因为我同时运行了 2 个计算器窗口来截取屏幕截图,而 CSD 窗口的标题也是“计算器”,但没有显示,所以如果你的窗口管理器有一个窗口列表 UI(例如“任务栏”)并且你看到列出了“计算器”,那么在屏幕上找到它并不是一件容易的事。
  2. 我的窗口管理器启用了“阴影”,这使我更容易看到哪些窗口位于其他窗口上方,但 CSD 窗口毫无理由地禁用了它 - 这使我的屏幕再次变得比需要的更复杂、更难理解。
  3. 我经常使用“始终在最上面”功能,这就是为什么我要求窗口管理器在其他窗口操作按钮附近显示一个方便的按钮来启用它,但 CSD 应用程序显然不知道它,也没有显示它。“固定到当前工作区”按钮也有同样的问题,但这里的错误更明显,因为它是默认配置,GTK+ 应该知道这一点。
  4. 没有显示的(因为我很懒)是窗口操作菜单(右键单击标题),CSD 窗口可用的选项非常有限(基本上是 6 个标准操作和“始终在顶部”),而我的窗口管理器提供了更多我经常使用的功能。
  5. 另一个没有显示的内容是,与我拥有的所有其他窗口不同,CSD 窗口在非活动状态时不会改变其标题颜色。如果 KDE 不是如此出色的桌面环境,并且配置 GTK+ 应用程序使用正确的标题颜色,这将是一个更明显的错误 - 在其他 DE 上,活动的 GTK+ CSD 标题颜色甚至与活动的“本机”窗口标题颜色不匹配。

答案3

我能够evince在 Ubuntu 18.04 上运行带有窗口管理器(Openbox)提供的装饰的 PDF 查看器,如下所示:

$ sudo apt-get install gtk3-nocsd
$ gtk3-nocsd evince

相关内容