Emacs가 GUI 모드에 있는지 확인하는 방법 (그리고 툴바 모드 만 실행)? 에이 줄이 있습니다. (tool-bar-mode

.emacs파일 에이 줄이 있습니다.

(tool-bar-mode 0)

GUI emacs ( /Applications/Emacs.app/Contents/MacOS/Emacs) 의 툴바가 싫어서 .

그러나 터미널 ( /opt/local/bin/emacs) 에서 다른 텍스트 기반 emacs를 시작할 때 해당 명령에 대해 불평합니다.

Symbol's function definition is void: tool-bar-mode

GUI emacs에있을 때만 명령을 if실행하도록 조건을 추가하려면 어떻게 해야 tool-bar-mode합니까?

감사!



답변

알았어, 나 스스로 찾았 어 그냥 추가

;; turn off toolbar
(if window-system
    (tool-bar-mode 0))

답변

다른 방법은 다음과 같습니다.

 (if (functionp 'tool-bar-mode) (tool-bar-mode 0))

이처럼 함수는 존재하는 경우에만 호출됩니다


답변

Linux에 불만없이 작동합니다. 시도 nil하거나 -1대신 할 수 있습니다 0.

(tool-bar-mode nil)

그렇게하면 어떻게 emacs -nw됩니까?


답변

의 사용 window-system부울이 될 때 변수가 되지 않습니다 . 대신, display-graphic-p또는 display-*-p
보고 프레임의 특정 UI 관련 기능 을 나타내는 다른 술어를 사용하십시오.

코드가 이전 버전의 Emacs와 호환되도록하려면 다음 호환성 래퍼를 사용하십시오.

(if (< emacs-major-version 23)
    (or window-system (getenv "DISPLAY"))
  (display-graphic-p))