Emacs 24 Ubuntu 菜单面板

4

我刚在一个精确的Ubuntu操作系统上安装了Emacs 24。顶部面板中的菜单栏缺少许多选项(例如使用Auctex时,所有的LaTeX选项)。

我记得在网上看到过,有可能将菜单放在Emacs框架的顶部,而不是Unity默认的顶部面板上。有一个SO的答案说明如何在Ubuntu中启用全局菜单栏。请问有人能指导我如何禁用全局菜单,直到它们一起运行良好为止。

谢谢


嗨 @katspaugh,我觉得你可能是对的,但是我不知道如何迁移它。 - Tahnoon Pasha
嗨@wvxvw,不幸的是这适用于所有模式。在启动时(lisp-interaction模式、scratch缓冲区),'文件' 菜单被Emacs徽标遮挡住了。 - Tahnoon Pasha
这个问题在早期版本的Emacs中已经讨论过了。请参考https://dev59.com/IlvUa4cB1Zd3GeqPt3u0。 - raju-bitter
3个回答

7

Ubuntu有一个硬编码的技巧,可以禁用与某些文件名模式匹配的应用程序的全局菜单栏。其中包括emacs,以及另一个流行的程序firefox,它也遭受了GTK分离菜单栏无法以X程序通常期望的方式更新的类似问题。

尝试运行update-alternatives选择emacs24作为默认的Emacs,然后使用emacs启动它,而不是emacs24


当我通过Dash搜索“emacs”启动Emacs 24时,遇到了同样的问题。在这种情况下,它似乎执行“emacs24”。作为解决方法,我通过Alt+F2仅输入“emacs”来启动它,并将其锁定在启动器栏中以备将来使用。 - Bernhard Kausler

3

我曾使用@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固定到启动器上,并且它带有自己的菜单栏。


1

您可以创建一个符号链接到您用于启动emacsemacs???命令,如果符号链接的名称恰好为“emacs”,则在启动时不会使用全局菜单。

这是Emacs动态菜单的已知错误,其中更改主要模式会添加或删除菜单项。
https://bugs.launchpad.net/ubuntu/+source/appmenu-gtk/+bug/673302

不幸的是,被列入黑名单的应用程序的名称已硬编码到appmenu-gtk软件包中,并且似乎没有一种方法可以在不触及源代码的情况下添加项目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接