Ustawiłem przy tym wskaźnik org-timer.
(setq-default
mode-line-format
(quote
(
;; org-timer
(:eval
(unless (not org-timer-countdown-timer)
(propertize (let* ((rtime (decode-time
(time-subtract
(timer--time org-timer-countdown-timer)
(current-time))))
(rmins (nth 1 rtime))
(rsecs (nth 0 rtime)))
(format "🕔 %d:%d" rmins rsecs))
'face '(:foreground "cyan" :weight bold)
'help-echo "org-timer")))
)))
Chcę, aby ten wskaźnik org-timer był wyświetlany tylko w linii trybu aktywnego , zamiast wszystkich linii trybu. Jak to zrobić?
redisplay
Silnik jest w stanie sprawdzić każdego okna w pewnych okolicznościach (np gdy tryb wiersza jest odświeżany naturalnie, lub gdy jest on zmuszony do odświeżenia). Gdy mode-line-format
zawiera funkcję (selected-window)
, zostanie zwrócone inne okno, gdy ponowne wyświetlanie wyświetli się w różnych oknach. Wartość tę można porównać z wcześniej zarejestrowaną wartością - np. post-command-hook
Można ją wykorzystać do zarejestrowania ostatniej znanej, selected-window
a tę wartość można później porównać z funkcją wewnątrz mode-line-format
. Tak więc używam PCH do nagrywania / przechowywania selected-window
.
org-timer
. Co powinienem zrobić? Mam nadzieję, że w bardziej ogólny sposób. Nawet to mnie zainspirowało. Czy możesz podać mi dokładniejszy przykład kodu? Ponieważ znalazłem inny zestaw 'face
, ale muszę zmienić wyświetlany ciąg.