Como fazer o emacsclient usa temas diferentes no terminal e na janela X?

7

Às vezes, uso emacsclient -t -a '' no xterm e às vezes uso emacsclient -c como um aplicativo GUI. O que me incomoda é que as configurações de fonte e o tema de cores são inicializados quando o servidor emacs é inicializado, portanto, o window-system test não entra em vigor.

Então, há alguma função que eu possa usar para deixar o emacsclient escolher as configurações de face?

Obrigado.

    
por Hongxu Chen 07.04.2013 / 18:11

3 respostas

4

tente seguir este post , eles estão falando sobre um problema semelhante.

aqui estão os trechos do post (eu mesmo não tentei):

  ;; 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))

se tudo correr bem, deve ser parecido com:

    
por 27.05.2013 / 12:30
1

Como mencionado em link

"Se você quiser esquemas de cores diferentes para telas diferentes, você pode personalizar isso também. No buffer de personalização, clique no botão [State] e escolha" Show all display specs ".Agora você pode usar diferentes especificações para diferentes displays "

    
por 04.07.2017 / 19:16
0

Para mim, principalmente a cor de fundo era um problema.

Aqui está uma variante mínima para personalizar a cor de fundo do default face para preto quando o quadro é um tty:

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

black é correspondido apenas quando exibido em tty com 256 cores ou menos. Por padrão, o tom especial do azul é usado como cor de fundo.

A mesma técnica pode ser usada para todas as outras faces, não apenas a default face.

    
por 23.05.2018 / 10:59