이것으로 모드 라인에 조직 타이머 표시기를 설정했습니다.
(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")))
)))
이 org-timer 표시기 가 모든 모드 라인 대신 활성 모드 라인 에만 표시되기를 원합니다 . 어떻게합니까?
다음을 참조하십시오 : emacs.stackexchange.com/a/22682/2287
—
Lawlist
@lawlist 코드를 이해할 수 없습니다. 제 사건에 어떻게 신청해야할지 모르겠습니다.
—
stardiviner
redisplay
엔진은 특정 상황에서 각 창을 확인 할 수 있습니다 (예를 들어, 모드 라인이 자연스럽게 새로 고칠 때, 또는이 새로 강제 경우). mode-line-format
에 함수 가 포함 된 경우 (selected-window)
, 재 표시가 다양한 창을 방문 할 때 다른 창이 리턴됩니다. 이 값은 사전 기록 된 값과 비교할 수 있습니다. 예를 들어, post-command-hook
마지막으로 알려진 selected-window
값 을 기록하는 데 사용할 수 있으며 나중에 해당 값을 내부의 함수와 비교할 수 있습니다 mode-line-format
. 그래서 PCH를 사용하여를 기록 / 저장합니다 selected-window
.
@lawlist 코드를 확인했지만 내 사례에 대한 일반적인 사용법을 찾지 못했습니다. 대신 다른 것으로 변경하면
—
stardiviner
org-timer
. 어떻게해야합니까? 더 일반적인 방법을 바랍니다. 심지어 그것은 나에게 영감을주었습니다. 좀 더 정확하게 코드 예제를 줄 수 있습니까? 설정이 다르기 때문에 'face
표시 문자열을 변경해야합니다.
나는 이것을 시도하지 않았지만이 질문은 이것과 비슷하게 보입니다 : emacs.stackexchange.com/q/13842/115
—
Kaushal Modi