Sostituisci in modo permanente il colore di sfondo del tema Emacs


9

Voglio usare il billw del tema Emacs , tranne che con un colore di sfondo diverso. Ho il seguente nel mio .emacsfile:

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

Tuttavia, questo non sembra cambiare il colore di sfondo all'avvio; Devo eseguire manualmente set-background-color "gray12"il minibuffer all'inizio di ogni sessione.

Qualche aiuto con questo? Ho provato a creare il mio tema personalizzato basato sull'output di color-theme-printma questo ha causato più problemi di quanti ne valga la pena ...

Risposte:


5

La color-theme-billwfunzione utilizza internamente la color-theme-install-frame-paramsfunzione per modificare i parametri del frame. Quindi puoi modificare i parametri del frame allo stesso modo come segue:

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

Modificare i parametri del frame usando alist PARAMETERS.

Se color-theme-is-globalè diverso da zero, tutti i frame vengono modificati utilizzando modify-frame-parameterse PARAMETERSvengono anteposti a default-frame-alist. Il valore di initial-frame-alistnon è modificato. Se color-theme-is-globalè zero, viene modificato solo il frame selezionato. Se color-theme-is-cumulativeè zero, i parametri del frame vengono ripristinati da color-theme-original-frame-alist.

Se i parametri del frame corrente hanno un parametro minibuffercon valore only, i parametri del frame non sono installati, poiché ciò indica un frame del minibuffer dedicato.


3

Posiziona il cursore (" punto " nel linguaggio GNU Emacs) nel punto in cui vuoi impostare lo "sfondo". Preferibilmente dove non è visualizzato alcun testo. Quindi entra M-x describe-face.

Emacs ti dirà la faccia da strega (tutto ciò che GNU Emacs può mostrare ha una "faccia") che stai guardando. Molto probabilmente "predefinito". Quindi nella parte inferiore della finestra, fai clic su "puoi personalizzare questa faccia".

Ora sei "in personalizza ". (è solo una sorta di procedura guidata per ottenere / impostare valori da / a ~ / .emacs ) Impostare il colore di sfondo desiderato, quindi fare clic su "Salva per sessioni future".

Ecco qui. Ora guarda il fondo del tuo ~ / .emacs, dentro (custom-set-faces ...), questa è la tua definizione del viso.

A proposito , il tema del colore è ora in qualche modo integrato GNU Emacs 24 . Ho questo nel mio .emacs:

(custom-set-variables

...stuff...

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

...stuff...)

2
In questo caso, si scopre che è necessario eseguire le seguenti operazioni:(custom-set-faces `(default ((t (:background "gray13")))))
John J. Camilleri,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.