Emacs Automatisches Laden von Farbthemen nach Uhrzeit

8

Kann ich Emacs das Thema automatisch laden lassen? oder einen bestimmten Befehl zur angepassten Zeit ausführen? Sag, was ich will, ist M-x load-theme RET solarized-light , wenn ich um 9:00 Uhr im Büro bin und M-x laod-theme RET solarized-dark , wenn ich wieder zu Hause bin und um 20:00 Uhr auf Emacs weitermache.

    
liuminzhao 07.02.2013, 20:40
quelle

4 Antworten

6

Um die Antwort von @Anton Kovalenko zu erweitern, können Sie die aktuelle Uhrzeit mit current-time-string elisp-Funktion und Extrahieren der aktuellen Uhrzeit in Stunden.

Wenn Sie eine vollständige Implementierung schreiben möchten, könnten Sie etwas wie ( Warnung, nicht debugged ) tun:

%Vor%

Weitere Informationen zu den verwendeten Funktionen finden Sie in den folgenden Abschnitten des emacs-Handbuchs:

Dan 07.02.2013, 20:56
quelle
7

Eine andere (sehr elegante) Lösung ist theme-changer .

Wenn Sie einen bestimmten Ort und Tag / Nacht-Farbthemen verwenden, bietet diese Datei eine Änderungsthema-Funktion, die das passende Thema je nachdem, ob es Tag oder Nacht ist, auswählt. Es wird weiterhin Themen bei Sonnenaufgang und Sonnenuntergang wechseln. Zu installieren:

Legen Sie den Ort fest:

%Vor%

Geben Sie die Tag- und Nachtthemen an:

%Vor%

Das Projekt wird auf Github gehostet und kann über melpa installiert werden.

    
Alexander Poslavsky 22.03.2014 19:44
quelle
5

Sie können dieses Code-Snippet verwenden, um das zu tun, was Sie wollen.

%Vor%

Passen Sie die Variable install-theme-loading-times wie gewünscht an:

%Vor%     
Trey Jackson 07.02.2013 21:07
quelle
2

Sie können mit run-with-timer function beginnen:

%Vor%

Planen Sie eine Funktion, die jede Minute oder so ausgeführt wird und überprüft aktuelle Zeit und ggf. load-theme aufrufen (nicht wechseln Thema jede Minute, auch wenn es das aktuelle Thema neu lädt).

    
Anton Kovalenko 07.02.2013 20:47
quelle

Tags und Links