如何在 kubuntu 14.04 上为 gtk 应用程序启用全局菜单栏

如何在 kubuntu 14.04 上为 gtk 应用程序启用全局菜单栏

我习惯使用全局菜单栏(即应用程序菜单不显示在应用程序窗口中,而是显示在顶部面板中)。
在 Kubuntu 12.04 中,这运行得很好,但是在安装 Kubuntu 14.04 后,菜单栏仅适用于 kde 应用程序和一些其他应用程序,如 Firefox 和 Chromium。
有没有办法为 gtk 应用程序启用全局菜单栏?
由于 Ubuntu 默认使用全局菜单栏,所以应该可以,对吧?

答案1

更新:正如@stsloth 提到的,感谢 kde 开发人员的不懈努力,现在它再次可以正常工作(自 Plasma 5.9 起)

简而言之:它不起作用并且没有解决办法。

警告:以下是我对事件的解读。我可能错了,但我花了很多时间在谷歌上搜索,似乎几乎没有任何信息。我​​对所找到的信息感到非常沮丧……

长话短说:在网上很难找到太多细节。据我所知,当 ubuntu 的人们想要从应用程序中移除菜单栏时,他们做了正确的事情:他们坐下来,与人们交谈,并编写了一个通过 dbus 导出菜单的规范 --- dbusmenu。然后他们实施了一个 gtk 补丁,并付钱给一个人实施了一个 kde 解决方案。kde 解决方案被上游接受,但 gtk 解决方案仍作为下游补丁保留。我认为这是因为 GNOME 人们对全局菜单栏不感兴趣,但我找不到任何有关此的信息。

一段时间后,GNOME 的人们突然决定他们希望他们的应用程序能够更好地与 MAC OS 融合,因为 MAC OS 也有一个全局菜单栏。 (<rant>兼容闭源操作系统万岁,兼容开源操作系统无视</rant>)。但他们没有与其他人合作,而是决定走自己的路,发明一种通过 dbus 导出菜单的新方法。这当然破坏了 KDE 中 gtk 应用程序的菜单栏集成。但不仅如此,他们还将 dbus 协议声明为实现细节,从而使 kde 的人们无法支持它。此外,他们根本不想讨论。他们的 bugzilla [1] 中提交了一个 bug。该 bug 被关闭为 WONTFIX,报告者被引导至 gtk-devel-list。在那里发布的消息 [2] 没有得到任何回复。从阅读 bugreport 上的评论,我发现 GNOME 的人们根本不想兼容其他 DE。

哦,顺便说一句,CANONICAL 的人们,每个人都讨厌他们发明自己的东西,他们正试图通过开发一个 qt 解决方案 (qmenumodel) 来解决这个问题……不过,这个解决方案何时能用于 kde 还不清楚。可能不适用于 Trusty(因为 kde 4.12 功能已冻结,并且 kde 4.* 系列中没有计划发布新版本)。

链接

  1. https://bugzilla.gnome.org/show_bug.cgi?id=711504
  2. https://mail.gnome.org/archives/gtk-devel-list/2013-November/msg00006.html

答案2

您可以通过终端中的以下命令进行设置:

gsettings set com.canonical.Unity integrated-menus false

答案3

根据ubuntuforums.org 上的这个主题,可以通过安装非官方修补的 GTK2 库在 GTK2 应用程序上启用 appmenu电力供应协议 sudo apt-add-repository ppa:joe-yasi/appmenu sudo apt-get update && sudo apt-get upgrade sudo apt-get install appmenu-gtk

不幸的是,GTK3 没有可行的修复方法。

答案4

虽然这与 Kubuntu 14.04 无关,但对于未来的读者来说可能仍然有用。

自 2018 年 10 月发布的 Plasma 5.14 以来,Plasma 正式支持 GTK 应用程序的全局菜单(在公告)。

完整详情请参阅开发者博客

相关内容