多くの場合、(LinuxまたはWindowsの下で)たくさんのファイルシステムエクスプローラウィンドウを開きます。それから私は大きな掃除をしてすべてを閉じます。しばしば、私は間違ってEmacsを閉じます。Emacs:ウィンドウマネージャーボタンからのクローズを防ぐ
「X」ボタンの動作を閉じるのではなく、最小限にするように変更したいのですが(C-x C-c
のままにしておきます)。私はそれが可能であるとほとんど確信していますが、私はどのようにわからない。誰でも助けてくれますか?
多くの場合、(LinuxまたはWindowsの下で)たくさんのファイルシステムエクスプローラウィンドウを開きます。それから私は大きな掃除をしてすべてを閉じます。しばしば、私は間違ってEmacsを閉じます。Emacs:ウィンドウマネージャーボタンからのクローズを防ぐ
「X」ボタンの動作を閉じるのではなく、最小限にするように変更したいのですが(C-x C-c
のままにしておきます)。私はそれが可能であるとほとんど確信していますが、私はどのようにわからない。誰でも助けてくれますか?
これを実現する1つの方法は、confirm-kill-emacsメカニズムを使用することです(abac)。これはemacsの殺害に関する確認をユーザに求める機能です。ただし、対話型関数を使用する代わりに、killコマンドがC-x C-cによって呼び出された場合にのみtrueの特殊変数を導入することができます。また、confirm関数simpleはその変数の値を返します。
あなたの.emacsファイルに次のように置く:あなたはキル・Emacsの機能を助言する場合は、あなたが望む機能を得ることができます
(defvar killed-from-keyboard nil)
(setq confirm-kill-emacs '(lambda (prompt) killed-from-keyboard))
(defun save-buffers-kill-emacs-from-keyboard (&optional arg)
(interactive)
(condition-case nil
(progn (setq killed-from-keyboard t)
(save-buffers-kill-terminal arg))
((quit error)
(setq killed-from-keyboard nil))))
(global-set-key [(control x) (control c)] 'save-buffers-kill-emacs-from-keyboard)
。私のemacsフレームを非表示(非表示)にするコードがありますが、代わりに次のようなコードでアイコン化できます。
(defvar bnb/really-kill-emacs nil)
(defadvice kill-emacs (around bnb/really-exit activate)
"Only kill emacs if a prefix is set"
(if bnb/really-kill-emacs
ad-do-it)
(iconify-frame))
(defun bnb/really-kill-emacs()
(interactive)
(setq bnb/really-kill-emacs t)
(kill-emacs))
必要なときに、あなたが実際にEmacsを殺すことができるようにBNB /本当に殺す-emacsの機能が定義されています。