2011-09-21 100 views
6

我使用的是具有Unity桌面的最新Ubuntu 11.04。我正在學習使用Emacs 23.如你所知,Unity有頂級面板。我想爲Emacs啓用全局菜單欄,這樣我就可以節省寶貴的屏幕空間。 (我用小屏筆記本)如何在Ubuntu上啓用Emacs的全局菜單欄(Unity 11.04)

如何啓用全局菜單欄?您的幫助將不勝感激。謝謝。

回答

7

appmenu-gtk(它提供了全局菜單欄)特別是blacklisted emacs,因爲它不會play nicely together所以很不幸你可能不能在emacs中使用它。

+0

@ alexmurray「不幸的是你可能無法使用Emacs使用它」你什麼意思?沒有得到你。 – chhantyal

+0

正如我所說的,開發人員已經將emacs列入黑名單,無法在全局菜單欄中顯示其菜單 - 因此您將無法使emacs使用全局菜單欄。 – alexmurray

8
  1. 使用你喜歡的編輯器打開這個文件:/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so
  2. 查找單詞 「emacs的」
  3. 變化 「的emacs」 到其他字
  4. 保存文件
  5. sudo ldconfig

更新:現在在Ubuntu 12.04中,「libappmenu.so」文件已移至「/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/menuproxies」。

+2

我說不出話來。這是我讀過的最駭人的答案。請不要嘗試此修復*,除非您瞭解手動編輯二進制可執行文件的後果*!否則,很容易破壞上述文件,這可能會對您的系統造成各種損害! – rafalcieslak

2

到circument黑名單清潔方式:

ln -s /usr/bin/emacs somewhere_on_PATH/emacs-with-global-menu 

任何名稱除 「Emacs的」 作品。

您可能需要從http://code.google.com/p/gnome2-globalmenu/issues/detail?id=357#c8更新菜單的解決方法(不知道是否仍然適用,或者如果這是唯一的問題):

(defun menuupdate() (menu-bar-mode -1) (menu-bar-mode 1)) 
(add-hook 'window-configuration-change-hook 'menuupdate) 
+0

不幸的是,在Emacs 24中,'window-configuration-change-hook'似乎被'menu-bar-mode'調用,所以你有一個無限遞歸。以下內容似乎適用於我: '(add-hook'menu-bar-update-hook (lambda() (interactive) (progn(menu-bar-mode-1) (menu-bar-模式1))))' –

+0

@ P-Nuts emacs對那些很不友善,不幸的是,特別使用邪惡模式 – Jesse