Trwale zastępuj kolor tła motywu Emacsa

9

Chcę użyć motywu Emacs billw , z wyłączeniem z innym kolorem tła. Mam w swoim .emacspliku:

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

Nie zmienia to jednak koloru tła podczas uruchamiania; Na set-background-color "gray12"początku każdej sesji muszę ręcznie uruchomić w minibuforze.

Jakaś pomoc w tym? Próbowałem utworzyć własny motyw niestandardowy na podstawie danych wyjściowych, color-theme-printale spowodowało to więcej problemów niż jest to warte ...

John J. Camilleri
źródło

Odpowiedzi:

5

color-theme-billwFunkcja wewnętrznie wykorzystuje color-theme-install-frame-paramsfunkcję do zmiany parametrów ramki. Możesz więc zmienić parametry ramki w taki sam sposób, jak poniżej:

(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)

Zmień parametry ramki za pomocą alist PARAMETERS.

Jeśli color-theme-is-globalma wartość inną niż zero, wszystkie ramki są modyfikowane za pomocą modify-frame-parametersi PARAMETERSsą dodawane do default-frame-alist. Wartość initial-frame-alistnie jest modyfikowana. Jeśli color-theme-is-globaljest zero, modyfikowana jest tylko wybrana ramka. Jeśli color-theme-is-cumulativejest zero, parametry ramki są przywracane z color-theme-original-frame-alist.

Jeśli bieżące parametry ramki mają parametr minibufferz wartością only, wówczas parametry ramki nie są instalowane, ponieważ oznacza to dedykowaną ramkę minibufora.

dkim
źródło
3

Ustaw kursor („ punkt ” w języku GNU Emacs) w miejscu, w którym chcesz ustawić „tło”. Najlepiej, gdy nie wyświetla się tekst. Następnie wejdź M-x describe-face.

Emacs powie ci twarz czarownicy (wszystko, co GNU Emacs może wyświetlić, ma „twarz”), na którą patrzysz. Najprawdopodobniej „domyślny”. Następnie w dolnej części okna kliknij „możesz dostosować tę twarz”.

Jesteś teraz „w dostosowywaniu ”. (to tylko pewien kreator, który pobiera / ustawia wartości z / do ~ / .emacs ) Ustaw żądany kolor tła, a następnie kliknij „zapisz na przyszłe sesje”.

Masz to. Teraz spójrz na spód ~ / .emacs, wewnątrz (custom-set-faces ...), to jest twoja definicja twarzy.

BTW , motyw kolorów jest teraz jakoś wbudowany w GNU Emacs 24 . Mam to w moich .emacs:

(custom-set-variables

...stuff...

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

...stuff...)
yPhil
źródło
2
W tym przypadku okazuje się, że należy wykonać następujące czynności:(custom-set-faces `(default ((t (:background "gray13")))))
John J. Camilleri