Ich möchte einige Informationen (die Änderungen im Laufe der Zeit) in den Modus Linie anhängen Format und dann im Titel verwenden.
Mein Gedanke ist, dass ich einmal pro Minute das Frame-Titel-Format auf das Modus-Zeilen-Format + Pomodoro-Anzahl einstellen würde.
Etwas in der Art von:
(defun runOnceAMinute ()
(setq frame-title-format (concat mode-line-format my/PomodoroCount))
)
Aber ich kann nicht genau herausfinden, wie.
BEARBEITEN
Ich müsste die Zeichenfolge aktualisieren, die ich anhänge. ZB würde sich die Pomodoro-Zahl nach jedem Pomodoro erhöhen.
EDIT 2
Ich habe es zum Laufen gebracht, indem ich die mode-line-format
Variable bearbeitet und das eval-Konstrukt verwendet habe:
("%e" ......... "[Pomodorors: " (:eval (number-to-string my/pomCount)) "]")
Dies ist nicht Drews ursprüngliche Antwort, aber Drew erwähnte sie in seinem Kommentar.
mode-line-format
wurde in den letzten Jahren vereinfacht, um (mehr oder weniger) nur eine kleine Liste anderer Variablen zu erstellen; Daher ändern Sie normalerweise eine dieser untergeordneten Variablen (oder einen weiteren Nachkommen) und nicht sichmode-line-format
selbst. SieheC-h v mode-line-format
und dann auf ähnliche WeiseC-h v
alle Komponentenvariablen, die Sie kennenlernen möchten.(..... "HI" )
und dies wird angezeigt. Aber wenn ich eine Ganzzahl drucken möchte, wird sie nicht angezeigt?(.... (number-to-string my/count))
irgendwelche Ideen warum?C-h v mode-line-format
sorgfältig: Es beschreibt das Verhalten der verschiedenen Konstrukte, die Sie verwenden können, und es ist etwas kompliziert. Weitere Einzelheiten finden Sie im Handbuch:C-h i g (elisp) Mode Line Format
(defun my-eval-string (string) "Evaluate elisp code stored in a string." (eval (car (read-from-string string)))) ;; pomodoro (doom-modeline-def-segment pomodoro "pomodoro segment" (my-eval-string "pomodoro-mode-line-string"))
Antworten:
Hänge es an
global-mode-string
. Wenn Ihre Zeichenfolge im Moduszeilenformat zum Anhängen lautetmy-string
:[Wenn Sie es stattdessen vorab anhängen
global-mode-string
möchten, entfernen Sie das'APPEND
optionale Argument und kehren die Reihenfolge der letzten Liste um :(list my-string global-mode-string)
.]quelle
mode-line-misc-info
(dieglobal-mode-string
standardmäßig als Mitglied hat).global-mode-string
Verwenden Sie dann anstelle einer konstanten Zeichenfolge(:eval...
. Das ist wirklich eine andere Frage.(..... (:eval (number-to-string my/pc)))
wobei mein / pc eine Ganzzahl ist, die ich vorher festgelegt habe. Aber die Nummer wird nicht in der Moduszeile angezeigt?Sollte die obigen Daten an Ihre Moduszeile anhängen.
quelle