对于 Ubuntu 18.04,有没有办法在菜单栏中显示某些应用程序的下拉菜单?

对于 Ubuntu 18.04,有没有办法在菜单栏中显示某些应用程序的下拉菜单?

这适用于 Nautilus、Gedit 和其他程序。例如,我想从下拉菜单中选择“复制和粘贴”,但我被迫使用右键单击菜单或 Ctrl-C Ctrl-V 快捷键,因为下拉菜单不存在。这些菜单提供了对许多基本功能的轻松访问,我想在 Ubuntu 18.04 上使用它们。

这张图片(来自 Ubuntu 16.04)显示了我正在寻找的下拉菜单功能。

下拉式菜单

我知道关于这个问题还有类似的问题,但答案并不明确,建议安装 Gnome Global Application Menu,但它无法正确实现此功能。此外,有传言称此 shell 扩展不再受支持。无论哪种情况,它都不起作用。

我尝试了几种设置,安装了 Gnome Tweak Tool,使用 Unity 用户界面登录,但都不起作用。菜单位于窗口的标题栏还是顶部菜单栏并不重要,只要它们在某个地方可用即可。

我的问题是:是否有可能拥有这些下拉菜单,或者我应该放弃并停止浪费我的时间?

答案1

这个问题没有简单的解决办法。我需要解释一些事情,作为一个元答案才有可能真正理解到底发生了什么,以及哪里是询问所有这些您注意到已经消失的功能的正确地方。

在最近的版本中鍵盤GTK+3) 添加了一项新功能,称为应用程序菜单. 此功能可替代/作为正常和标准功能的一个选项,称为菜单栏

应用程序菜单:

应用程序菜单

菜单栏:

菜单栏

应用程序菜单与整个应用程序的选项(退出、关于...)更相关,而不是与设置菜单的特定窗口相关的选项,而菜单栏涵盖两种类型的操作,应用程序操作和窗口操作(复制、粘贴等)。因此,菜单栏那么就更通用了,当然也比 应用程序菜单。然后菜单栏更难以适应像手机这样的小屏幕设计的界面。

请注意复制粘贴操作是窗口特定的,因为您正在将一些选定的文件从一个窗口复制到另一个窗口。因此,它不是应用程序操作的类型,因此它们不是应用程序菜单行动,但它们可以是菜单栏动作。

在此点之后,类似存在两个特征,菜单栏应用程序菜单,特定应用程序的开发人员需要决定是否要显示一种或两种类型的菜单以及选择哪种类型。

虽然大多数外部 gnome 开发人员希望他们的应用程序能够与其他桌面环境(如 KDE)兼容,但他们选择了菜单栏方式与标准相同。相反,gnome 开发人员选择应用程序菜单,因为这是他自己的方式,而且他们认为这种方式更好。这并不意味着如果你选择了其中一种方式,其余的方式就不再存在。只是不会显示为默认方式。

无论如何,此决定也有一些例外,例如:

  • Gimp,也是一个 gnome 应用程序,但无法实现应用程序菜单原因很明显(它有一个大菜单)。因此,这个 gnome 应用程序继续显示菜单栏

  • Nautilus,因为他的 gnome 开发人员,决定删除所有实现菜单栏并且只支持应用程序菜单因为他们认为 gnome 视角足够合适。他们不想强迫其他桌面开发人员针对其平台进行更正。就像 Unity 中的情况一样,Nautilus 有一个补丁。或者 Mate 和 Cinnamon 中其他应用程序是作为 Nautilus 的分支创建的。

除了所有这些混乱之外,还有一种方法可以发布应用程序菜单菜单栏通过 DBus。特定 shell(unity、gnome-shell)可以使用此功能来创建或全局菜单栏(像苹果系统) 或者全局应用菜单侏儒外壳。此外,应用程序如何决定同时导出两种类型的菜单,解决方案是将两种类型合并为一个,就像这样发生在Unity 桌面也是可能的。

但是,全球的选项只有在特定应用程序 (Nautilus、Gedit...) 内部支持时才可用,因此:

  • 在里面Unity 桌面(典型的桌面),很多 gnome 应用程序已修补按照Unity 全局菜单特征。

  • 在里面Gnome Shell(gnome桌面)他们提醒自己的开发人员只关心全局应用菜单功能并强制其成为标准。

这些事实随后产生了矛盾,当然也增加了 shell 开发人员彼此对抗的努力。

另请注意:我不想提及更困难和相关的问题,这些问题是由 gnome 决定使用客户端装饰而不是服务器端装饰。这个决定的影响也和你的问题有很大关系,但我会避免这个问题,因为它确实可以以一种不会引起任何干扰的方式实现。只是提前考虑到目前 gnome 并没有真正实现这个功能。同样,他们正在试图强迫它成为标准。

用户现在注意到了这个问题,因为现在 Ubuntu 开发人员决定不再使用 Unity 桌面作为主要桌面。由于他们没有修补应用程序以支持 Unity 之外的全局菜单,因此用户更容易看到冲突,因为应用程序看起来就像是它本身,因为没有 Ubuntu 开发人员添加的补丁。

针对开发人员层面暴露的问题,有以下几种解决方案:

  1. 该应用程序的特定开发人员需要支持这两种功能(在这种情况下是 Gnome 开发人员)。

  2. 发行版开发人员需要创建/继续修补有问题的 gnome 应用程序,并且补丁需要扩展到特定桌面(Unity)之外,以便可以在其他桌面环境中使用它。

最后请注意:Ubuntu 补丁程序处于代码级别,并且取决于应用程序本身,因此,作为用户,你无法解决冲突,而且在 gnome shell 扩展中也无法执行任何操作,例如Gnome 全局菜单,来解决此类问题。

要解决 Nautilus 等应用程序缺少的个别功能,唯一的解决方案是从 Nautilus 内部解决。因此解决方案必须来自应用程序本身。您身边唯一的“解决方案”是声明您不同意这一事实,然后使用不同的应用程序。例如:使用 Nemo 或 Caja 代替 Nautilus。

相关内容