Sto cercando di ottenere il seguente comportamento in Emacs24:
Mi piace usare un tema diverso (solarized-dark vs. solarized-light) a seconda che mi connetta al server in esecuzione con un frame terminale
% emacsclient -t
o con una cornice GTK
% emacsclient -c
Questo sembra aver funzionato negli Emacs più vecchi, ma gli attuali Emacs non sono riuscito a trovare un modo. Ho sempre controllato SO (ad es. Https://stackoverflow.com/q/18904529/152439 e risposte) e le mailing list (ad es. Https://lists.gnu.org/archive/html/help-gnu-emacs/ 2012-02 / msg00227.html e https://lists.gnu.org/archive/html/help-gnu-emacs/2012-02/msg00237.html ).
La mia configurazione attuale è simile a questa:
(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)
)
Il problema è che se ho una cornice grafica aperta e quindi apro una cornice terminale con emacsclient -t
, il tema solarized-dark viene applicato sia alla nuova cornice terminale (che è corretta) sia alla cornice grafica già aperta (che dovrebbe essere lasciata intatto, idealmente). L'equivalente accade quando un frame terminale è già aperto e apro un nuovo frame grafico con emacsclient -c
.
EDIT: Nel caso in cui ciò non fosse possibile con l'attuale Emacs24, ci sono piani per renderlo di nuovo possibile?
color-theme.el
quale IIRC aveva impostazioni di colore dipendenti dalla cornice. Non vi è alcun grande vantaggio nell'utilizzare le capacità tematiche integrate oltre all'ubiquità.
color-theme
e per i sistemi di temi Emacs 24. La mia versione del tema solarizzato supporta anche entrambi i sistemi, se decidi di seguire questa strada.