2010-12-10 2 views
2

나는 종종 파일 시스템 익스플로러 윈도우를 많이 열어 둔다. 그런 다음 큰 정리를하고 모든 것을 닫습니다. 종종, 나는 또한 Emacs를 실수로 닫는다.Emacs : 윈도우 관리자 버튼에서 닫는 것을 막으시오.

닫는 대신 최소화하기 위해 'X'버튼의 동작을 변경하고 싶습니다 (C-x C-c 만 닫음). 나는 그것이 가능하다는 것을 거의 확신한다. 그러나 나는 방법을 모른다. 도움을 줄 사람?

답변

1

이렇게하려면 가능한 한 가지 방법은 confirm-kill-emacs 메커니즘을 사용하는 것입니다.이 방법은 사용자에게 이맥을 죽이는 것에 대한 확인을 요청하는 기능입니다. 그러나 대화식 함수를 사용하는 대신 kill 명령이 C-x C-c를 통해 호출 된 경우에만 true 인 특수 변수를 도입 할 수 있으며 confirm 함수 simple은 해당 변수의 값을 반환합니다.

은 당신의 .emacs 파일에 다음을 넣어 : 당신이 킬 (kill) - 이맥스 기능을 조언하는 경우

(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) 
1

는, 당신은 당신이 원하는 기능을 얻을 수 있습니다. 내 emacs 프레임을 보이지 않게 (숨김) 만드는 코드가 있지만 대신 다음과 비슷한 코드를 사용하여 아이콘화할 수 있습니다.

bnb/really-kill-emacs 기능은 필요할 때 실제로 이맥스를 죽일 수 있도록 정의되었습니다.

관련 문제