Emacs 테마의 배경색을 영구적으로 무시 제외하고 Emacs 테마 billw 를 사용하고

다른 배경색을 제외하고 Emacs 테마 billw 를 사용하고 싶습니다 . 내 .emacs파일에 다음이 있습니다.

(require 'color-theme)
(color-theme-initialize)
(color-theme-billw)
(set-background-color "gray12")

그러나 이것은 시작할 때 배경색을 바꾸지 않는 것 같습니다. set-background-color "gray12"각 세션이 시작될 때 미니 버퍼에서 수동으로 실행해야합니다 .

이것에 대한 도움이 필요하십니까? 출력 결과를 기반으로 사용자 정의 테마를 만들려고했지만 color-theme-print그만한 가치보다 더 많은 문제가 발생했습니다 …



답변

color-theme-billw기능은 내부적으로이 color-theme-install-frame-params기능을 사용하여 프레임 매개 변수를 변경합니다. 따라서 다음과 같은 방식으로 프레임 매개 변수를 변경할 수 있습니다.

(require 'color-theme)
(color-theme-initialize)
(color-theme-billw)
(color-theme-install-frame-params
  '((background-color . "gray12")))

C-hfcolor-theme-install-frame-params

(color-theme-install-frame-params PARAMS)

alist를 사용하여 프레임 매개 변수를 변경하십시오 PARAMETERS.

경우 color-theme-is-globalnil이 아닌이 모든 프레임을 사용하여 수정 modify-frame-parameters과가 PARAMETERS앞에 붙습니다 default-frame-alist. 의 값은 initial-frame-alist수정되지 않습니다. 경우 color-theme-is-global닐이고, 오직 선택된 프레임이 변형된다. 경우 color-theme-is-cumulative무기 호입니다, 프레임 매개 변수에서 복원됩니다 color-theme-original-frame-alist.

현재 프레임 매개 변수의 minibuffer값이 value only인 경우 전용 미니 버퍼 프레임을 나타내므로 프레임 매개 변수가 설치되지 않습니다.


답변

“배경”을 설정하려는 곳에 커서 ( GNU Emacs 용어에서 ” 포인트 “)를 놓습니다 . 텍스트가 표시되지 않는 것이 좋습니다. 그런 다음을 입력하십시오 M-x describe-face.

Emacs는 여러분이보고있는 마녀의 얼굴 (GNU Emacs가 표시 할 수있는 모든 것에는 “얼굴”이 있음)을 알려줍니다 . 아마도 “기본”일 것입니다. 그런 다음 창 하단에서 “이 얼굴을 사용자 정의 할 수 있습니다”를 클릭하십시오.

이제 ” 사용자 정의 중 “입니다. ( ~ / .emacs 에서 값을 가져 오거나 설정하는 일종의 마법사입니다. ) 원하는 배경색을 설정 한 다음 “미래 세션에 저장”을 클릭하십시오.

거기 있어요 이제 ~ / .emacs의 맨 아래를 살펴보십시오 (custom-set-faces ...). 이것은 여러분의 얼굴 정의입니다.

BTW , 색상 테마는 이제 어떻게 든 내장 GNU Emacs 24 입니다. 내 .emacs 에이 있습니다.

(custom-set-variables

...stuff...

 '(custom-enabled-themes (quote (tango-dark)))

...stuff...)