我刚在一个精确的Ubuntu操作系统上安装了Emacs 24。顶部面板中的菜单栏缺少许多选项(例如使用Auctex时,所有的LaTeX选项)。
我记得在网上看到过,有可能将菜单放在Emacs框架的顶部,而不是Unity默认的顶部面板上。有一个SO的答案说明如何在Ubuntu中启用全局菜单栏。请问有人能指导我如何禁用全局菜单,直到它们一起运行良好为止。
谢谢
我刚在一个精确的Ubuntu操作系统上安装了Emacs 24。顶部面板中的菜单栏缺少许多选项(例如使用Auctex时,所有的LaTeX选项)。
我记得在网上看到过,有可能将菜单放在Emacs框架的顶部,而不是Unity默认的顶部面板上。有一个SO的答案说明如何在Ubuntu中启用全局菜单栏。请问有人能指导我如何禁用全局菜单,直到它们一起运行良好为止。
谢谢
Ubuntu有一个硬编码的技巧,可以禁用与某些文件名模式匹配的应用程序的全局菜单栏。其中包括emacs
,以及另一个流行的程序firefox
,它也遭受了GTK分离菜单栏无法以X程序通常期望的方式更新的类似问题。
尝试运行update-alternatives选择emacs24作为默认的Emacs,然后使用emacs
启动它,而不是emacs24
。
我曾使用@Bernhard Kausler提到的符号链接方法,但发现无法将从shell启动emacs得到的图标固定在全局菜单上,因此我需要对其进行改进。
我通过这个.desktop文件获得了一个可用的Unity启动器快捷方式:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_NZ]=emacs
Name[en_NZ]=Gnu Emacs 24
Exec=emacs
Name=Gnu Emacs 24
Icon=emacs
StartupWMClass=Emacs24
现在我可以将emacs固定到启动器上,并且它带有自己的菜单栏。
您可以创建一个符号链接到您用于启动emacs的emacs???命令,如果符号链接的名称恰好为“emacs”,则在启动时不会使用全局菜单。
这是Emacs动态菜单的已知错误,其中更改主要模式会添加或删除菜单项。
https://bugs.launchpad.net/ubuntu/+source/appmenu-gtk/+bug/673302
不幸的是,被列入黑名单的应用程序的名称已硬编码到appmenu-gtk软件包中,并且似乎没有一种方法可以在不触及源代码的情况下添加项目。