J'essaie d'obtenir le comportement suivant dans Emacs24:
J'aime utiliser un thème différent (solarized-dark vs solarized-light) selon que je me connecte au serveur en cours d'exécution avec un châssis de terminal
% emacsclient -t
ou avec un cadre gtk
% emacsclient -c
Cela semble avoir fonctionné dans les anciens Emacs, mais les Emacs actuels, je ne pouvais pas trouver un moyen. J'ai déjà vérifié SO (par exemple, /programming//q/18904529/152439 et réponses) et les listes de diffusion (par exemple, https://lists.gnu.org/archive/html/help-gnu-emacs/ 2012-02 / msg00227.html et https://lists.gnu.org/archive/html/help-gnu-emacs/2012-02/msg00237.html ).
Ma configuration actuelle ressemble à ceci:
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/solarized")
(if (daemonp)
(add-hook 'after-make-frame-functions
(lambda (frame)
(select-frame frame)
(if (display-graphic-p frame)
(load-theme 'solarized-light t)
(load-theme 'solarized-dark t)
)
)
)
(load-theme 'solarized-light t)
)
Le problème avec cela est que si j'ai un cadre graphique ouvert puis j'ouvre un cadre terminal avec emacsclient -t
, le thème solarized-dark est appliqué à la fois au nouveau cadre terminal (qui est correct) et au cadre graphique déjà ouvert (qui devrait être laissé intacte, idéalement). L'équivalent se produit lorsqu'un cadre terminal est déjà ouvert et j'ouvre un nouveau cadre graphique avec emacsclient -c
.
EDIT: Si cela n'est pas possible avec Emacs24 actuel, est-il prévu de le rendre à nouveau possible?
color-theme.el
IIRC qui avait des paramètres de couleur dépendant du cadre. Il n'y a pas de grand avantage à utiliser les capacités de thème intégrées en dehors de l'ubiquité.
color-theme
systèmes de thème Emacs 24. Ma version du thème solarisé prend également en charge les deux systèmes, si vous décidez de suivre cette voie.