web-dev-qa-db-fra.com

Définition du thème de couleur Emacs 24 à partir de .emacs

J'ai le code suivant dans mon .emacs:

(if (null window-system)
  (progn
    (require 'color-theme)
    (color-theme-initialize)
    (color-theme-simple-1)))

Lorsque j'ouvre Emacs sur la console, je peux vérifier que le bloc progn s'exécute (par un (message "Got here.")), et je vois un flash qui suggère que le thème de couleur a été chargé, mais s'il l'a été, il est remplacé par autre chose. Si, après le chargement, j'ouvre mon fichier .emacs et soumets le bloc ci-dessus en utilisant C-x C-e, Ça marche. J'ai essayé de faire:

(add-hook 'after-init-hook
          (lambda ()
            (progn
              (require 'color-theme)
              (color-theme-initialize)
              (color-theme-simple-1))))

mais cela agit de la même manière.

Il peut être pertinent que j'utilise Emacs 24 et que ce code ne se trouve pas dans mes .emacs, mais dans ~/Dropbox/.emacs, qui est chargé à partir de mes .emacs.


Une note supplémentaire: j'ai essayé M-x customize-themes, mais aucun de ceux-ci ne fonctionne de manière acceptable sur la console. Ils produisent soit un thème lumineux presque illisible, soit la plupart du texte est invisible.

32
JasonFruit

Emacs 24 a un thème intégré, qui n'utilise pas d'instructions comme (require 'color-theme). Comme Drew le fait remarquer dans les commentaires, il existe des différences entre les thèmes de couleur et les thèmes personnalisés, et la nouvelle direction est vers ces derniers. Essayez M-x customize-themes pour jeter un œil. Depuis .emacs, vous pouvez faire des choses comme (load-theme 'wombat t).

Mais ...

Cela peut encore mal tourner pour vous. Une chose qui peut gâcher comme ça est de changer le visage - peut-être dans la partie custom-set-faces de votre fichier .emacs. La personnalisation interactive d'Emacs inclut automatiquement les informations de couleur (arrière-plan et premier plan) du thème que vous utilisez au moment où vous le définissez, cela peut donc certainement créer des problèmes avec les thèmes de couleur. Si c'est ce qui le cause, vous pouvez simplement définir l'attribut particulier qui vous intéresse avec quelque chose comme

(set-face-attribute 'default nil :height 120)

Cela changera la taille de la police sans changer les couleurs.

49
Mike

Emacs 24 a son propre système de thème.

M-x customize-themes

ou

(custom-set-variables
  ....
   '(custom-enabled-themes (quote (selected-theme)))
)
6
Selman Ulug