Wie kann ich eine interaktive Funktion zum Umschalten zwischen zwei Farbthemen erstellen?
Nach dem, was ich feststellen konnte, gibt es keine Variable, die auf das aktuell verwendete Farbthema festgelegt ist. Tatsächlich können mehrere gleichzeitig geladen werden.
Zum Umschalten müssen Sie zunächst disable-theme
das aktuell geladene Thema auswählen, damit die Themen nicht in Konflikt geraten.
Wie geht das, ohne zu wissen, welches Thema gerade geladen ist?
(car custom-enabled-themes)
Gibt das aktuell aktivierte Thema zurück.Antworten:
Ich habe es geschafft, aber ich wechsle 3 Themen (Mein eigener Kosmos, Leuven und Standard)
Sie können https://github.com/habamax/.emacs.d/blob/master/lisp/haba-appearance.el überprüfen
Auszug daraus:
Binden Sie dann einen Schlüssel an das Haba / Toggle-Thema.
Ich verwende Emacs auf 2 verschiedenen Computern und Umgebungen (Tag, später Abend), sodass das aktuelle Thema beim Beenden / Laden von Emacs gespeichert / wiederhergestellt werden kann. Welches ist praktisch :)
quelle
Ich habe einige Funktionen geschrieben, um durch eine Gruppe von Themen zu blättern.
Ich rufe
ivan/load-indexed-theme
meine Init-Datei auf, um mein Thema zu initialisieren.Ich binde
ivan/cycle-theme
an Space\im Bösen Modus. ( SpaceIst mein Anführerschlüssel.)quelle
Obwohl die vorhandenen Antworten gut funktionieren, möchte ich eine einfachere teilen:
Dadurch wird das benutzerdefinierte Standardthema nicht zuerst deaktiviert, aber das gefällt mir.
quelle
Dies ist das Modul, das ich für meine eigenen .emacs geschrieben habe, um dieses Problem zu lösen. Mein grundlegender Ansatz scheint in der Absicht der Lösung von Maxim Kim (Rotation durch eine Liste von Themen) ähnlich zu sein, aber ich denke, meine ist modularer und daher für einen Außenstehenden möglicherweise zugänglicher. Auf der anderen Seite habe ich keine von Kims Persistenzmerkmalen.
Hier ist der relevante Code, bei dem Variablendeklarationen und Paketkommentare weggelassen werden:
quelle
Ich habe dieses Setup für Fahrradthemen:
quelle
Ich weiß, dass ich etwas spät zur Party komme, aber ich habe ein Paket erstellt , um genau das zu tun, und vieles mehr.
Grundsätzlich können Sie eine Liste Ihrer bevorzugten Farbthemen definieren (was optional ist) und bequem durch die Liste navigieren.
quelle