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

pom*_*sky 19 gnome csd window-decoration

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

截图(来自这篇文章):

  • 带有 GtkHeaderBar 的 Nautilus

  • 没有 GtkHeaderBar 的 Nautilus

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

我听说过gtk3-nocsd包,但不能让它与 GNOME 一起用于所有应用程序。

Vas*_*lis 20

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

Client Side Decorations破坏了 linux 用户界面,并使应用程序和桌面环境看起来丑陋而不是原生的。

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

或者至少支持两个像 celluloid-player

编辑

让我指出我对 CSD 的观点:

  1. 您可以从标题的按钮中拖出 n 个下拉窗口!!尽可能不方便!

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

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

  4. 幸运的是菜单栏,用户必须在没有任何标准设计的左侧或右侧按钮之间寻找功能。

  5. 必须左键单击按钮 -> 释放 -> 重新单击。但在经典设计中,您只需按住-单击-> 释放-单击该项目!!

  6. 菜单栏的需求在一些程序中是必不可少的,比如 Krita、Gimp、Inkscape、Blender 等。所以我们总是混合使用 CDS 和非 CDS,这很糟糕!设计?

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

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

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


Gus*_*uss 10

虽然我同意 Vassilis 的观点,即 CSD 很可怕——幸运的是,他关于禁用它们的可能性是错误的。

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

这个“hack”导致 GTK+ 应用程序不再禁用窗口管理器的窗口装饰。结果可能看起来有点奇怪 - 以下是使用标准 CSD 的 GNOME 计算器应用程序的外观:

在此处输入图片说明

并使用 NOCSD 黑客:

在此处输入图片说明

您可以看到几个示例,说明为什么 Vassilis 断言 CSD 是一个破坏 Linux 用户界面的可怕想法是正确的:

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


mpb*_*mpb 5

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

$ sudo apt-get install gtk3-nocsd
$ gtk3-nocsd evince
Run Code Online (Sandbox Code Playgroud)