5 Stimmen

Emacs überschreibt die Hintergrundfarbe des Farbthemas in der init-Datei

Ich habe emacs installiert, ein Verzeichnis .emacs.d angelegt und eine init.el-Datei erstellt:

(require 'package)                                                              
(add-to-list 'package-archives                                                  
             '("melpa" . "http://melpa.milkbox.net/packages/") t)               
(package-initialize)                                                            

(when (not package-archive-contents)                                            
  (package-refresh-contents))                                                   

(defvar my-packages                                                             
  '(starter-kit                                                                 
    starter-kit-bindings                                                        
    starter-kit-lisp                                                            
    clojure-mode                                                                
    color-theme                                                                 
    nrepl))                                                                     

(dolist (p my-packages)                                                         
  (when (not (package-installed-p p))                                           
    (package-install p)))                                                       

(require 'color-theme)                                                          
(color-theme-initialize)                                                        
(color-theme-charcoal-black)                                                    
(color-theme-install-frame-params '((background-color . "black")))              

Wenn ich emacs öffne, erhalte ich die color-theme-charcoal-black Farben, mit seinem standardmäßigen grauen Hintergrund. Wenn ich init.el öffne und eval-buffer , wird der Hintergrund wie gewünscht schwarz.

Wie kann ich diese Wirkung erzielen, ohne dass ich eval-buffer ?

Ich habe es auch versucht:

(add-hook 'after-init-hook 
          '(lambda () (color-theme-install-frame-params 
                       '((background-color . "black"))))

Ähnlich wie bei dieser Frage: https://superuser.com/questions/481793/permanently-override-background-colour-of-emacs-theme

2voto

Nun, das ist nicht die Art, wie man ein Thema in Emacs 24 einrichtet, aber man könnte das alte Thema so patchen, dass es wie das neue funktioniert. Hier ist ein Beispiel für ein Thema, das ich für mich selbst erstellt habe, aber Sie können einfach das Thema nehmen, das Ihnen gefällt, und die Werte ersetzen. Ich habe es noch nicht fertiggestellt, aber es steht kurz vor der Fertigstellung :)

Danach speichern Sie die Datei in ~/.emacs.d/themes/charcoal-black-theme.el

und in Ihrem .emacs:

(add-to-list 'custom-theme-load-path (expand-file-name "~/.emacs.d/themes/"))
(setq custom-enabled-themes '(charcoal-black))

Nachdem Sie dies getan haben, fragt Emacs Sie, ob Sie das Verzeichnis themes und das Thema dauerhaft zu enabled themes hinzufügen wollen. Wenn Sie diese Frage bejahen, fügt er einen Code an die Datei (custom-set-variables ...)

Es folgt das Beispielthema:

http://pastebin.com/S2BHmd5s

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X