Tôi đang cố gắng đạt được các hành vi sau trong Emacs24:
Tôi thích sử dụng một chủ đề khác (ánh sáng mặt trời so với ánh sáng mặt trời) tùy thuộc vào việc tôi có kết nối với máy chủ đang chạy với khung thiết bị đầu cuối không
% emacsclient -t
hoặc với khung gtk
% emacsclient -c
Điều này dường như đã hoạt động trong các Emacs cũ, nhưng các Emac hiện tại tôi không thể tìm ra cách. Tôi đã kiểm tra SO (ví dụ: /programming//q/18904529/152439 và câu trả lời) và danh sách gửi thư (ví dụ: https://lists.gnu.org/archive/html/help-gnu-emacs/ 2012/02 / dir00227.html và https://lists.gnu.org/archive/html/help-gnu-emacs/2012-02/msg00237.html ).
Thiết lập hiện tại của tôi trông như thế này:
(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)
)
Vấn đề với điều này là nếu tôi mở khung đồ họa và sau đó mở khung thiết bị đầu cuối emacsclient -t
, thì chủ đề năng lượng mặt trời tối được áp dụng cho cả khung thiết bị đầu cuối mới (chính xác) và khung đồ họa đã mở (nên để lại không bị ảnh hưởng, lý tưởng). Điều tương tự xảy ra khi một khung thiết bị đầu cuối đã mở và tôi mở một khung đồ họa mới với emacsclient -c
.
EDIT: Trong trường hợp điều này là không thể với Emacs24 hiện tại, có kế hoạch nào để thực hiện lại không?
color-theme.el
IIRC có cài đặt màu phụ thuộc khung. Không có lợi thế lớn trong việc sử dụng các khả năng theo chủ đề sẵn có ngoài tính phổ biến.
color-theme
và hệ thống chủ đề Emacs 24. Phiên bản của tôi về chủ đề năng lượng mặt trời cũng hỗ trợ cả hai hệ thống, nếu bạn quyết định đi theo con đường này.