2009-05-28 2 views

ответ

15

Ваш ответ выше является правильным, хотя, если вы хотите провести различие между другими оконными системами и только запустить код, если вы на самом деле с помощью X, вы должны были бы пойти

(if (eq window-system 'X) (foo)) 
+0

Хотя мне не нужна эта специфичность, это лучший ответ, чем мой. Благодаря! – JasonFruit

+2

Когда я пытался выяснить, как отключить тематику в режиме только окна, я закончил с первоначальным ответом JasonFruit, но они действительно получают то же самое. '(if (eq window-system 'X) (foo))' или '(если window-system (foo))' или '(когда window-system (foo))' это на самом деле не имеет значения. Для тех, кто интересуется деталями, просто позвольте мне сказать вам, что «C-h a» - ваш друг. Используя его, я искал «переменную» и обнаружил «описать-переменную» и используя эту добавку к табуляции, я нашел переменную оконной системы. Затем я просто набрал «оконную систему» ​​в буфер нуля, а затем протестировал его. –

+3

Они будут работать одинаково, если все, о чем вы заботитесь, это если оконная система X или нет, но значение системной системы может быть значением, ИКС. –

14

Я думаю, что я нашел свой собственный ответ:

(when window-system 
    (foo)) 

только Foo, когда я бегу в X.

+0

Пожалуйста, прекратите голосовать за мой собственный ответ на мой вопрос --- тот, который я принял выше, по сути тот же, но более полный! – JasonFruit

+0

Хорошо, кто это сделал?!?! – JasonFruit

+0

Нам нужен только один дополнительный ... –

3

Обратите внимание, что вопрос несколько плохо продуманный: Emacs может работать как с кадрами tty, так и с графическим интерфейсом в одно и то же время.

Переменная window-system является «терминальной-локальной», что означает, что ее значение будет зависеть от того, является ли текущий выбранный кадр рамкой tty или графическим интерфейсом.

+0

Я даже не понял, что это можно сделать. Захватывающий! – JasonFruit

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