Tôi thiết lập một chỉ báo hẹn giờ tối đa trong dòng chế độ với điều này.
(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")))
)))
Tôi muốn chỉ báo bộ đếm thời gian tối đa này chỉ được hiển thị trong dòng chế độ hoạt động , thay vì tất cả các dòng chế độ. Làm thế nào để làm nó?
Xem: emacs.stackexchange.com/a/22682/2287
—
luật
@lawlist Không thể hiểu mã của bạn. Không biết làm thế nào để áp dụng vào trường hợp của tôi.
—
stardiviner
Các
—
luật
redisplay
động cơ có khả năng kiểm tra từng cửa sổ dưới hoàn cảnh nhất định (ví dụ, khi chế độ dòng được làm mới một cách tự nhiên, hoặc khi nó bị buộc phải làm mới). Khi mode-line-format
chứa hàm (selected-window)
, một cửa sổ khác sẽ được trả về khi hiển thị lại các cửa sổ khác nhau. Giá trị đó có thể được so sánh với giá trị được ghi trước - ví dụ: giá trị post-command-hook
có thể được sử dụng để ghi lại selected-window
giá trị đã biết cuối cùng và giá trị đó sau đó có thể được so sánh với một hàm bên trong mode-line-format
. Vì vậy, tôi sử dụng PCH để ghi / lưu trữ selected-window
.
@lawlist Tôi đã kiểm tra mã của bạn, nhưng không tìm thấy cách sử dụng chung cho trường hợp của tôi. Nếu tôi thay đổi sang điều khác thay vì
—
stardiviner 17/8/2016
org-timer
. Tôi nên làm gì? Tôi hy vọng một cách tổng quát hơn. Thậm chí nó đã truyền cảm hứng cho tôi. Bạn có thể cho tôi ví dụ mã chính xác hơn? Bởi vì tôi thấy nó được đặt khác nhau 'face
, nhưng tôi cần thay đổi chuỗi hiển thị.
Tôi đã không thử điều này, nhưng câu hỏi này có vẻ tương tự như câu hỏi này: emacs.stackexchange.com/q/13842/115
—
Kaushal Modi