Gibt es einen universellen "After-Theme-Load" -Haken?
7
Ich möchte mehrere Gesichtsvariablen für jedes Thema in meiner persönlichen Init-Datei festlegen. Gibt es einen Haken, mit dem ich sicherstellen kann, dass er themenunabhängig ist?
Ich bin mir nicht sicher, ob ein Hook das richtige Timing hat, aber würde es für Sie funktionieren, die Gesichtsvariablen in Ihrer Init-Datei nach dem Aufruf von einfach festzulegen load-theme? Ich habe in der Vergangenheit etwas Ähnliches gemacht, weil einige Themen das so färbten fill-column-indicator, dass es fast unsichtbar wurde. Deshalb habe ich es einfach so eingestellt, dass es unabhängig vom Thema immer eine bestimmte Farbe hat.
Elethan
1
@elethan das funktioniert gut. Ich nahm load-themean, dass es wie ein Modus funktioniert und einen Haken benötigt. Es ist sinnvoll, dass das Thema zwischen den Modi global ist und beim Laden alle Variablen festlegt. Ich hatte Angst, eine undefinierte Variable zu setzen, obwohl ich gerade darüber nachgedacht hatte. Könnten Sie es als Antwort erneut eingeben?
Lookyhooky
Bitte poste die Antwort selbst - es sieht so aus, als würde elethan sie nicht posten. Und dann akzeptieren Sie bitte die gepostete Antwort.
Drew
Vielleicht möchten Sie eine Erweiterungsanfrage einreichen, um eine hinzuzufügen after-load-them-hook? Verwenden Sie M-x report-emacs-bugdazu.
Drew
Antworten:
0
Es gibt keine after-theme-load-hook. Das Thema wird direkt danach geladen (load-theme 'theme-name). Ändern Sie einfach die gewünschten Themenvariablen nach dem load-themeFunktionsaufruf.
Dies ist keine zufriedenstellende Lösung IMO. Wenn Sie dies interaktiv in Ihrer Emacs-Sitzung tun, müssen Sie das Beratungssystem verwenden, um Variablen automatisch festzulegen, nachdem das Ladethema aufgerufen wurde. Normalerweise und sicherlich in diesem Fall ist die Notwendigkeit, das Beratungssystem zu verwenden, ein Beweis für einen fehlenden Haken.
Imalison
Es scheint übertrieben, Ratschläge zum Thema Laden zu definieren, um nur ein paar benutzerdefinierte Schriftarten zu erhalten. Obwohl ich damit einverstanden bin, werden die Anpassungen überschrieben, wenn das Ladethema interaktiv aufgerufen wird. Aber ich wechsle nicht oft die Themen und es war kein Problem.
load-theme
? Ich habe in der Vergangenheit etwas Ähnliches gemacht, weil einige Themen das so färbtenfill-column-indicator
, dass es fast unsichtbar wurde. Deshalb habe ich es einfach so eingestellt, dass es unabhängig vom Thema immer eine bestimmte Farbe hat.load-theme
an, dass es wie ein Modus funktioniert und einen Haken benötigt. Es ist sinnvoll, dass das Thema zwischen den Modi global ist und beim Laden alle Variablen festlegt. Ich hatte Angst, eine undefinierte Variable zu setzen, obwohl ich gerade darüber nachgedacht hatte. Könnten Sie es als Antwort erneut eingeben?after-load-them-hook
? Verwenden SieM-x report-emacs-bug
dazu.Antworten:
Es gibt keine
after-theme-load-hook
. Das Thema wird direkt danach geladen(load-theme 'theme-name)
. Ändern Sie einfach die gewünschten Themenvariablen nach demload-theme
Funktionsaufruf.quelle