मैं Emacs24 में निम्न व्यवहार को प्राप्त करने की कोशिश कर रहा हूं:
मुझे एक अलग विषय (सोलराइज्ड-डार्क बनाम सोलराइज़्ड-लाइट) का उपयोग करना पसंद है, इस पर निर्भर करता है कि मैं टर्मिनल फ्रेम के साथ रनिंग सर्वर से जुड़ता हूं या नहीं
% emacsclient -t
या एक gtk फ्रेम के साथ
% emacsclient -c
ऐसा लगता है कि पुराने Emacs में काम किया है, लेकिन वर्तमान Emacs मुझे कोई रास्ता नहीं मिल रहा है। मैंने alreday को SO (जैसे, /programming//q/18904529/152439 और उत्तर) और मेलिंग सूचियों (जैसे, https://lists.gnu.org/archive/html/help-gnu-emuss/) की जाँच की 2012-02 / msg00227.html और https://lists.gnu.org/archive/html/help-gnu-emacs/2012-02/msg00237.html )।
मेरा वर्तमान सेटअप इस तरह दिखता है:
(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)
)
इसके साथ समस्या यह है कि अगर मेरे पास एक ग्राफिकल फ्रेम खुला है और फिर एक टर्मिनल फ्रेम खुला है emacsclient -t
, तो थीम सोलराइज्ड-डार्क दोनों नए टर्मिनल फ्रेम (जो कि सही है) और पहले से खुले ग्राफिकल फ्रेम (जिसे छोड़ा जाना चाहिए) पर लागू होता है। अछूता, आदर्श रूप से)। समतुल्य तब होता है जब एक टर्मिनल फ्रेम पहले से ही खुला होता है और मैं एक नया ग्राफिकल फ्रेम खोलता हूं emacsclient -c
।
EDIT: यदि यह वर्तमान Emacs24 के साथ संभव नहीं है, तो क्या इसे फिर से संभव बनाने की कोई योजना है?
color-theme.el
जिसमें IIRC पर निर्भर फ्रेमवर्क सेटिंग्स थीं। सर्वव्यापकता के अलावा इनबिल्ट थीमिंग क्षमताओं का उपयोग करने में कोई बड़ा फायदा नहीं है।
color-theme
और Emacs 24 थीम सिस्टम के लिए बफर-लोकल थीम सपोर्ट प्रदान करता है। यदि आप इस मार्ग पर जाने का निर्णय लेते हैं, तो सोलराइज्ड थीम का मेरा संस्करण भी दोनों प्रणालियों का समर्थन करता है।