Ok, eu mesmo encontrei. Basta adicionar
;; turn off toolbar
(if window-system
(tool-bar-mode 0))
Eu tenho esta linha no meu arquivo .emacs
:
(tool-bar-mode 0)
porque eu odeio as barras de ferramentas no meu GUI emacs ( /Applications/Emacs.app/Contents/MacOS/Emacs
).
Mas quando eu inicio meus outros emacs baseados em texto no terminal ( /opt/local/bin/emacs
) ele reclama do comando:
Symbol's function definition is void: tool-bar-mode
Como posso adicionar uma condição if
para que ele execute o comando tool-bar-mode
apenas quando eu estiver no emacs da GUI?
Obrigado!
Ok, eu mesmo encontrei. Basta adicionar
;; turn off toolbar
(if window-system
(tool-bar-mode 0))
outra maneira de fazer isso seria:
(if (functionp 'tool-bar-mode) (tool-bar-mode 0))
assim, a função é chamada apenas se existir
Funciona para mim sem reclamar no Linux. Você pode tentar nil
ou -1
em vez de 0
:
(tool-bar-mode nil)
O que acontece se você usar emacs -nw
?
O uso da variável window-system
como booleano é reprovado . Em vez de,
use display-graphic-p
ou qualquer outro display-*-p
predicados que informam recursos relacionados à interface do usuário específicos do frame.
Caso você queira que seu código seja retrocompatível com as versões anteriores do Emacs, então o seguinte wrapper de compatibilidade é o caminho a seguir:
(if (< emacs-major-version 23)
(or window-system (getenv "DISPLAY"))
(display-graphic-p))