Überschreiben Sie die Hintergrundfarbe des Emacs-Themas dauerhaft

9

Ich möchte das Emacs-Thema billw verwenden , außer mit einer anderen Hintergrundfarbe. Ich habe Folgendes in meiner .emacsDatei:

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

Dies scheint jedoch die Hintergrundfarbe beim Start nicht zu ändern. Ich muss zu set-background-color "gray12"Beginn jeder Sitzung manuell im Minibuffer ausgeführt werden.

Hilfe dabei? Ich habe versucht, mein eigenes benutzerdefiniertes Thema basierend auf der Ausgabe von zu erstellen, color-theme-printaber dies verursachte mehr Probleme als es wert ist ...

John J. Camilleri
quelle

Antworten:

5

Die color-theme-billwFunktion verwendet die Funktion intern color-theme-install-frame-paramszum Ändern von Rahmenparametern. Sie können die Rahmenparameter also wie folgt ändern:

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

Ändern Sie die Rahmenparameter mit alist PARAMETERS.

Wenn dies color-theme-is-globalnicht Null ist, werden alle Frames mit geändert modify-frame-parametersund PARAMETERSvorangestellt default-frame-alist. Der Wert von initial-frame-alistwird nicht geändert. Wenn color-theme-is-globalNull ist, wird nur der ausgewählte Frame geändert. Wenn color-theme-is-cumulativenil ist, werden die Frame-Parameter von wiederhergestellt color-theme-original-frame-alist.

Wenn die aktuellen Frame-Parameter einen Parameter minibuffermit Wert haben only, werden die Frame-Parameter nicht installiert, da dies auf einen dedizierten Minibuffer-Frame hinweist.

dkim
quelle
3

Positionieren Sie Ihren Cursor (" Punkt " in der GNU Emacs-Sprache) dort, wo Sie den "Hintergrund" setzen möchten. Am besten dort, wo kein Text angezeigt wird. Dann treten Sie ein M-x describe-face.

Emacs werden Sie Hexe erzählen Gesicht (alles , was GNU Emacs angezeigt ein „Gesicht“ haben kann) Sie suchen auf. Höchstwahrscheinlich "Standard". Klicken Sie dann unten im Fenster auf "Sie können dieses Gesicht anpassen".

Sie befinden sich jetzt "in Anpassen ". (Es ist nur eine Art Assistent, um Werte von / zu Ihren ~ / .emacs abzurufen / festzulegen. ) Stellen Sie die gewünschte Hintergrundfarbe ein und klicken Sie dann auf "Für zukünftige Sitzungen speichern".

Hier hast du es. Schauen Sie sich jetzt die Unterseite Ihrer ~ / .emacs an (custom-set-faces ...). Dies ist Ihre Gesichtsdefinition.

Übrigens ist das Farbthema jetzt irgendwie in GNU Emacs 24 eingebaut . Ich habe dies in meinen .emacs:

(custom-set-variables

...stuff...

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

...stuff...)
yPhil
quelle
2
In diesem Fall stellt sich heraus, dass Sie Folgendes tun müssen:(custom-set-faces `(default ((t (:background "gray13")))))
John J. Camilleri