7

Иногда я использую emacsclient -t -a '' в xterm, а иногда я использую emacsclient -c в качестве приложения с графическим интерфейсом. Что меня раздражает, так это то, что настройки шрифта и цветовая тема инициализируются при запуске сервера emacs, поэтому проверка window-system не вступает в силу.

Так есть ли какие-то функции, которые я могу использовать, чтобы позволить emacsclient выбирать настройки лица?

Благодарю.

3 ответа3

4

попробуйте следовать этому посту, они говорят о похожей проблеме.

Вот отрывки из поста (хотя я сам не пробовал):

  ;; last t is for NO-ENABLE
  (load-theme 'tango t t)
  (load-theme 'tango-dark t t)

  (defun mb/pick-color-theme (frame)
    (select-frame frame)
    (if (window-system frame)
        (progn  
          (disable-theme 'tango-dark) ; in case it was active
          (enable-theme 'tango))
      (progn  
        (disable-theme 'tango) ; in case it was active
        (enable-theme 'tango-dark))))
  (add-hook 'after-make-frame-functions 'mb/pick-color-theme)

  ;; For when started with emacs or emacs -nw rather than emacs --daemon
  (if window-system
      (enable-theme 'tango)
    (enable-theme 'tango-dark))

если все идет хорошо, это должно выглядеть так: этот

1

Как уже упоминалось на https://www.emacswiki.org/emacs/CustomizingFaces

«Если вам нужны разные цветовые схемы для разных дисплеев, вы также можете настроить их. В буфере настройки нажмите кнопку [State] и выберите «Показать все характеристики дисплея». Теперь вы можете использовать разные спецификации для разных дисплеев. "

0

Для меня, в основном, цвет фона был проблемой.

Вот минимальный вариант, чтобы настроить цвет фона лица по default на черный, если рамка имеет тип tty:

(custom-set-faces
 '(default (
            (((type tty) (min-colors 256))
             (:background "black"))
            (t
             (:background "#181a26")))
    ))

black отображается только при отображении на tty с 256 цветами или менее. По умолчанию в качестве фона используется специальный оттенок синего.

Та же самая техника может использоваться для всех других лиц, а не только для лица по default .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .