Emacs-Schriftarteinstellungen funktionieren in neuen Frames nicht

12

Ich versuche mich mit Emacs vertraut zu machen. Ich habe das Emacs Starter Kit installiert . Jetzt versuche ich, Schriftarten anzupassen. In habe ~/.emacs.d/init.elich (set-frame-font "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1"). Es funktioniert gut, bis ich es tue C-x 5 2. Der neue Rahmen wird mit Schriftarten erstellt, die sich vor meiner Anpassung auf dem System befanden. Wie überschreibe ich dieses Verhalten, um nur Schriftarten zu verwenden, die ich in init.el angegeben habe? Sollte ich wahrscheinlich eine ~/.emacsDatei für solche Einstellungen erstellen (sie fehlt jetzt)?

Folone
quelle

Antworten:

20

set-frame-fontLegt die Schriftart des aktuellen Frames fest. Um die Standardschriftart für alle Frames festzulegen, fügen Sie die folgende Zeile in Ihre ein ~/.emacs.d/init.elund setzen Sie den fontParameter in default-frame-alist:

(add-to-list 'default-frame-alist
             '(font . "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1"))

~/.emacsist der traditionelle Speicherort für die Konfigurationsdatei von Emacs. ~/.emacs.d/init.elist ein alternativer Name mit genau der gleichen Rolle. Verwenden Sie entweder (aber nicht beide).

Für X-Anzeigen (dh auf Unix- oder Nicht-Unix-Systemen mit einem X-Server) können Sie die Schriftart auch über X-Ressourcen festlegen . Wird auf vielen Systemen ~/.Xresourcesgelesen, wenn Sie sich anmelden, und Sie können dort schreiben:

Emacs.font: -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1
Gilles 'SO - hör auf böse zu sein'
quelle
Herzlichen Glückwunsch zum 10K .
Bis auf weiteres angehalten.
Ja, endlich eine funktionierende Antwort darauf. set-default-font ...? Nein, das wäre zu einfach!
Sam Watkins
Typ M-x customize-option, geben Sie Customize variable: default-frame-alist, klicken Sie auf INS, geben Sie Parameter: fontund Value: "-outline-Droid Sans Mono-normal-normal-normal-mono-13-*-*-*-c-*-iso8859-1"(Anmerkung Umgebung "für Schriftart) auf StateundSave for Future Sessions
kwarnke
6

set-frame-fontakzeptiert zwei optionale Argumente: KEEP-SIZEund FRAMES. Wenn FRAMESein Wert ungleich Null festgelegt ist, wird die Schriftart auf zukünftige Frames angewendet.

(set-frame-font "Inconsolata-13" t t)

Ich bin mir nicht sicher, wie lange dies schon der Fall ist, aber es gilt ab Emacs 24.4.1.

ohspite
quelle