2011-09-21 2 views
6

Io uso l'ultima versione di Ubuntu 11.04 che ha Unity desktop. Sto imparando a usare Emacs 23.Come abilitare la barra dei menu globale per Emacs su Ubuntu (Unity 11.04)

Come sai, Unity ha il pannello superiore. Voglio abilitare la barra dei menu globale per Emacs in modo da poter risparmiare spazio prezioso sullo schermo. (Io uso un laptop con schermo piccolo)

Come abilitare la barra dei menu globale? Il tuo aiuto sarà molto apprezzato. Grazie.

risposta

7

appmenu-gtk (che fornisce la barra dei menu globale) in particolare blacklisted emacs in quanto non lo è probabilmente play nicely together, ma probabilmente non è possibile utilizzarlo con emacs.

+0

@ alexmurray 'purtroppo probabilmente non può utilizzarlo con emacs' cosa intendi? Non ti ho preso. – chhantyal

+0

Come ho già detto, gli sviluppatori hanno emacs in blacklist in modo da poter mostrare il suo menu nella barra dei menu globale, quindi non sarà possibile ottenere emacs per utilizzare la barra dei menu globale. – alexmurray

8
  1. Usa il tuo editor preferito per aprire questo file: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so
  2. trovare la parola "emacs"
  3. Change "emacs" per altra parola
  4. Salvare il file
  5. sudo ldconfig
Aggiornamento

: il file di "libappmenu.so" è stato spostato in "/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/menuproxies" ora in ubuntu 12.04.

+2

Sono senza parole. Questa è la risposta più hacker che abbia mai letto. Per favore, non tentare questa correzione * a meno che tu non comprenda le conseguenze della modifica manuale di un eseguibile binario *! Altrimenti è molto facile corrompere il suddetto file, che potrebbe causare ogni tipo di danno al tuo sistema! – rafalcieslak

2

modo più pulito per circument la lista nera:

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

qualsiasi nome eccetto "emacs" opere.

Potrebbe essere necessario soluzione per l'aggiornamento dei menu da http://code.google.com/p/gnome2-globalmenu/issues/detail?id=357#c8 (non so se ancora attuale, o se questo è l'unico problema):

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

Sfortunatamente, in Emacs 24, 'windows-configuration-change-hook' sembra essere chiamato a turno da' menu-bar-mode', quindi hai una ricorsione infinita. Quanto segue sembra funzionare per me però: '(add-hook 'menu -bar-update-hook (lambda() (interattivo) (progn (menu-bar-mode -1) (menu-bar- modo 1)))) ' –

+0

@ P-Nuts emacs diventa molto lento con quelli, sfortunatamente, specialmente usando la modalità cattiva – Jesse