Emacs24 aşağıdaki davranışı elde etmeye çalışıyorum:
Çalışan sunucuya bir terminal çerçevesiyle bağlanıp bağlanmamaya bağlı olarak farklı bir tema (solarize-karanlık ve solarize-ışık) kullanmayı seviyorum
% emacsclient -t
veya gtk çerçeveli
% emacsclient -c
Bu eski Emacs'da işe yaramış gibi görünüyor, ama şu anki Emacs bir yol bulamadı. Her zaman SO'yu (ör. Https://stackoverflow.com/q/18904529/152439 ve cevaplar) ve posta listelerini (ör. Https://lists.gnu.org/archive/html/help-gnu-emacs/ ) kontrol ettim 2012-02 / msg00227.html ve https://lists.gnu.org/archive/html/help-gnu-emacs/2012-02/msg00237.html ).
Mevcut kurulumum şöyle görünüyor:
(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)
)
Buradaki sorun, açık bir grafik çerçevem varsa ve sonra bir terminal çerçevesini emacsclient -t
açarsam, solarized-dark teması hem yeni terminal çerçevesine (doğru olan) hem de zaten açık olan grafik çerçeveye (solda bırakılmalıdır) uygulanır. el değmemiş, ideal). Eşdeğer bir terminal çerçevesi zaten açık olduğunda ve ile yeni bir grafik çerçeve açtığımda olur emacsclient -c
.
EDIT: Geçerli Emacs24 ile bu mümkün değilse, tekrar mümkün kılmak için herhangi bir plan var mı?
color-theme.el
hangi IIRC'nin çerçeveye bağlı renk ayarlarına sahip olduğunu kullanabilirsiniz. Yerleşik tema yeteneklerini her yerde kullanmak dışında kullanmanın büyük bir avantajı yoktur.
color-theme
Emacs 24 tema sistemleri için tampon-yerel tema desteği sağlar . Benim solarized tema sürümü Bu yolu karar verirseniz de, her iki sistemlerini destekler.