Emacs24에서 다음 동작을 달성하려고합니다.
터미널 프레임으로 실행중인 서버에 연결하는지 여부에 따라 다른 테마 (태양 광 대 태양 광)를 사용하고 싶습니다.
% emacsclient -t
또는 gtk 프레임
% emacsclient -c
이것은 오래된 Emacs에서 작동 한 것 같지만 현재 Emacs는 방법을 찾을 수 없었습니다. 나는 이미 SO (예 : /programming//q/18904529/152439 및 답변)와 메일 목록 (예 : https://lists.gnu.org/archive/html/help-gnu-emacs/)을 확인했습니다. 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
.
편집 : 현재 Emacs24에서 이것이 가능하지 않은 경우 다시 가능하게 할 계획이 있습니까?
color-theme.el
어떤 IIRC에 프레임 종속 색상 설정이 있는지 항상 사용할 수 있습니다 . 유비쿼터스 외에 내장 된 테마 기능을 사용할 때 큰 이점은 없습니다.
color-theme
Emacs 24 테마 시스템 모두에 대해 버퍼 로컬 테마 지원을 제공 합니다. 이 경로를 사용하기로 결정한 경우 내 버전의 태양 테마 도 두 시스템을 모두 지원합니다.