Могу ли я показать часы в эхо-области?

9

Большую часть времени моя область эха остается пустой, в то время как модельная строка каждого из моих окон отображает много избыточной избыточной информации (текущее время, загрузка системы и различные другие независящие от буфера фрагменты информации).

Могу ли я отобразить текущее время (выровненное по правому краю) в эхо-области (когда оно не используется?)

Клеман
источник
1
Я делаю это почти с помощью minibuffer-lineпакета, за исключением того, что он выровнен по левому краю.
Каушал Моди
1
Связанный: emacs.stackexchange.com/q/7563/2355
Константин

Ответы:

3

Вы можете использовать minibuffer-lineпакет от GNU ELPA для этого.

(require 'minibuffer-line)
(setq minibuffer-line-format '((:eval
                                (let ((time-string (format-time-string "%l:%M %b %d %a")))
                                  (concat
                                   (make-string (- (frame-text-cols)
                                                   (string-width time-string)) ? )
                                   time-string)))))
(minibuffer-line-mode)
Каушал Моди
источник
Спасибо! Этот пакет, кажется, работает, запустив таймер и обновляя область эха каждые 60 секунд. Это означает, что когда сообщение отображается в эхо-области, часы возвращаются в течение 60 секунд ... Я думаю, я мог бы уменьшить задержку таймера, но это не звучит оптимально.
Климент
Часы возвращаются для меня, как только область эха не должна показывать ничего другого. Я использую этот пакет с тех пор, как он был опубликован; никогда не нужно было ждать, пока время появится снова.
Каушал Моди
@ Clément Я считаю, что обновление происходит каждую минуту в *Minibuf-0*буфере. И этот буфер автоматически отображается в области эха, как только в этой области ничего не отображается. Ссылка:C-h i g (elisp) Intro to Minibuffers
Каушал Моди
Я полагаю, это конфликтует с eldoc-modeтогда? В буфере lisp перемещение точки (defunв пустую область и обратно в нее скрывает сообщение eldoc, но затем мне нужно подождать, пока не истечет целая минута, прежде чем текст строки минибуфера возвращается. OOTH, перемещение точки мышью, кажется, работает.
Климент
@ Clément Теперь, когда вы упомянули об этом, я тоже это вижу. Я никогда не обращал такого пристального внимания на это. Переключение буфера также возвращает текст строки минибуфера.
Каушал Моди