Gnu Emacsでメニューバーを切り替えるためにグローバルキーを設定する方法は?

Gnu Emacsでメニューバーを切り替えるためにグローバルキーを設定する方法は?

Ubuntu 10.04でGnu Emacs 23.1.1を使用しています...

私はGnomeメニューバーを完全に放棄することにしました。 (しかし、私は転がっている間に「利用可能」にしたい...暖かい七面鳥?:)

だから、キーを割り当ててオン/オフする方法を知りたいです。

私は現在メニューバーとツールバーなしでフルスクリーンモードでEmacsを起動しており、タブバーを使用しようとしています(Xではありますが端末ではありません)。

私はほとんど慣れていましたが、時にはメニューバーがないと完全に迷子になったと感じています... GUIデバイスを持たないEmacsが良い方法であることを読みました。そして私はそれを信じています! ...パラダイム衝突..

しかし、今ではメニューバーの切り替えが必要であり、それがどのように行われるかを確認するのは良い経験です。

答え1

メニューバーだけを切り替えたい場合は、対応するコマンド(M-x menu-bar-mode)がすでに存在します。キーにバインドするには、次の操作が必要です。

(global-set-key (kbd "<f5>") 'menu-bar-mode)

メニューとツールバーを同時に切り替えるには:

(defun toggle-menu-toolbar-modes ()
  (interactive)
  (tool-bar-mode (menu-bar-mode)))
(global-set-key (kbd "<f5>") 'toggle-menu-toolbar-modes)

これは見る価値があります。Emacs FAQ(またによって発見されましたC-h C-f)。また、だからEmacs情報ページ良いリンクがたくさんあります。

答え2

私がしたことは次のとおりです。

;; Disable menubar by default
(menu-bar-mode -1)
(tool-bar-mode -1)
(defun toggle-top-menu ()
  "Run toggle-menu-bar-mode-from-frame and toggle-tool-bar-mode-from-frame"
  (interactive)
  (menu-bar-mode (if tool-bar-mode -1 1))
  (tool-bar-mode (if tool-bar-mode -1 1)))
(global-set-key (kbd "<f3>") 'toggle-top-menu)

機能が一度だけ動作するというコメントで@rofrolが提起した問題を解決します。

関連情報