LINUX.ORG.RU

Правильный запуск emacs в качестве сервера в иксах и в консоли

 ,


1

4

Задача состоит в том, чтобы правильно запускать emacs в качестве сервера на разных системах (с иксами и без) с одним и тем же конфигом.

На данный момент в этом общем для двух машин конфиге есть следующее:

(server-start)

(if (display-graphic-p)
    (load-theme 'my_theme_for_x11 t)
  (ding)
  (load-theme 'my_theme_for_console))

При запуске команд:

emacs --daemon
emacsclient -c
а так же при команде
emacsclient -c -a ''
в любом случае запускается тема «my_theme_for_console».

Про функцию display-graphic-p сказано, что:

This function returns t if display is a graphic display
capable of displaying several frames and several different
fonts at once. This is true for displays that use a window
system such as X, and false for text terminals. 

И поэтому ожидалось, что в иксах будет запущена тема «my_theme_for_x11».

Вопрос: где ошибка в конфиге?

Deleted

Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Ох, костыли-костыльчики...

И мы, вроде бы, не в IRC:

(if (daemonp)
    (add-hook 'after-make-frame-functions (lambda (frame)
                                            (when (eq (length (frame-list)) 2)
                                              (progn
                                                (select-frame frame)
                                                (if (display-graphic-p)
                                                    (load-theme 'my_theme t)
                                                  (disable-theme 'my_theme)))))))

Zmicier ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.