Anular permanentemente el color de fondo del tema Emacs

9

Quiero usar el tema de Emacs billw , excepto con un color de fondo diferente. Tengo lo siguiente en mi .emacsarchivo:

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

Sin embargo, esto no parece cambiar el color de fondo al inicio; Necesito funcionar manualmente set-background-color "gray12"en el minibuffer al comienzo de cada sesión.

¿Alguna ayuda con esto? Intenté crear mi propio tema personalizado basado en la salida de, color-theme-printpero esto causó más problemas de lo que vale ...

John J. Camilleri
fuente

Respuestas:

5

La color-theme-billwfunción utiliza internamente la color-theme-install-frame-paramsfunción para cambiar los parámetros del marco. Por lo tanto, puede cambiar los parámetros del marco de la misma manera de la siguiente manera:

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

Cambie los parámetros del marco usando alist PARAMETERS.

Si color-theme-is-globalno es nulo, todos los marcos se modifican usando modify-frame-parametersy PARAMETERSse anteponen a default-frame-alist. El valor de initial-frame-alistno se modifica. Si color-theme-is-globales nulo, solo se modifica el marco seleccionado. Si color-theme-is-cumulativees nulo, los parámetros del marco se restauran desde color-theme-original-frame-alist.

Si los parámetros de cuadro actuales tienen un parámetro minibuffercon valor only, entonces los parámetros de cuadro no están instalados, ya que esto indica un cuadro de minibúfer dedicado.

dkim
fuente
3

Coloque el cursor (" punto " en el lenguaje GNU Emacs) donde desea establecer el "fondo". Preferiblemente donde no se muestra texto. Entonces entra M-x describe-face.

Emacs le dirá cara de bruja (todo lo que GNU Emacs puede mostrar tiene una "cara") que está mirando. Muy probablemente "por defecto". Luego, en la parte inferior de la ventana, haga clic en "puede personalizar esta cara".

Ahora estás "en personalizar ". (es solo una especie de asistente para obtener / establecer valores de / a su ~ / .emacs ) Establezca el color de fondo que desee, luego haga clic en "guardar para futuras sesiones".

Ahí tienes. Ahora mire la parte inferior de sus ~ / .emacs, adentro (custom-set-faces ...), esta es su definición de cara.

Por cierto , el tema de color ahora está de alguna manera integrado en GNU Emacs 24 . Tengo esto en mis .emacs:

(custom-set-variables

...stuff...

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

...stuff...)
yPhil
fuente
2
En este caso, resulta que debe hacer lo siguiente:(custom-set-faces `(default ((t (:background "gray13")))))
John J. Camilleri