2010-10-05 2 views
11

Возможно ли проверить, работает ли emacs в режиме --no-window-system (-nw) в файле dot-emacs (.emacs)? Я хотел бы включить/включить определенное расширение, только если emacs находится в режиме окна (/ или нет).Emacs: проверьте отсутствие оконной системы в .emacs

С наилучшими пожеланиями, mefiX

ответ

19

Переменная window-system является nil, если выбранный кадр на текстовом терминале.

+0

Отлично! Спасибо! – mefiX

+3

Я использовал '(когда window-system ... stuff ...)' для оценки всего, что я хочу, только в режиме окна. – mefiX

+11

Обратите внимание, что значение 'window-system' относится к текущему кадру; если вы запустите Emacs в режиме GUI, тогда 'window-system' будет' t', но если вы подключитесь к этому * тому же экземпляру Emacs, используя 'emacsclient -t' из терминала, тогда' window-system' будет 'nil 'в пределах этого терминального кадра. По этой причине не рекомендуется принимать решения в '.emacs' на основе' window-system' - вместо этого встраивать соответствующий условный код в hook или другие функции, которые будут называться позже. – sanityinc

0

Поместите код, который вы хотите запустить, когда Emacs выполняет в оконном среде внутри когда это блок и использовать дисплей-графический-р предикат т.е.

(when (display-graphic-p) 
    (do something) 
    (do-another-thing)) 

или назад

Смежные вопросы