[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: New multi-command facility displays in the wrong echo area.
From: |
Gregory Heytings |
Subject: |
Re: New multi-command facility displays in the wrong echo area. |
Date: |
Tue, 13 Oct 2020 19:27:28 +0000 |
User-agent: |
Alpine 2.22 (NEB 394 2020-01-19) |
Hi Eli,
Thanks for your comments.
(defvar minibuffer-message-mode-line-string nil)
(setq minibuffer-message-clear-timeout 3)
This seem to make the message clear automatically after a 3-sec timeout?
If so, this is also a change in behavior wrt what 'message' does: the
current behavior is to clear the message only when an input event comes
in, the timeout is optional and off by default.
Indeed, sorry, I forgot to remove that line (which I used to test the
function) before sending my mail. It can of course be removed.
Here is a slightly improved version of the code, which removes the
(minibuffer-message-mode-line-string ...) from mode-line-format when
clearing the minibuffer message.
(defvar minibuffer-message-mode-line-string nil)
(defvar minibuffer-message-buffer nil)
(defun clear-minibuffer-message ()
(when (not noninteractive)
(when (timerp minibuffer-message-timer)
(cancel-timer minibuffer-message-timer)
(setq minibuffer-message-timer nil))
(setq minibuffer-message-mode-line-string nil)
(if (bufferp minibuffer-message-buffer)
(with-current-buffer minibuffer-message-buffer
(let ((mls (and (listp mode-line-format)
(assq 'minibuffer-message-mode-line-string
mode-line-format))))
(if mls (setq mode-line-format (remq mls mode-line-format))))))))
(defface minibuffer-message-face
`((t (:background ,(face-attribute 'default :background)
:foreground ,(face-attribute 'default :foreground)))) "")
(defun set-minibuffer-message (message)
(when (and (not noninteractive)
(window-live-p (active-minibuffer-window))
(eq (window-frame) (window-frame (active-minibuffer-window))))
(progn
(when (numberp minibuffer-message-clear-timeout)
(setq minibuffer-message-timer
(run-with-timer minibuffer-message-clear-timeout nil
#'clear-minibuffer-message)))
(with-current-buffer
(window-buffer
(or (window-in-direction 'above (minibuffer-window))
(minibuffer-selected-window)
(get-largest-window)))
(clear-minibuffer-message)
(when (and mode-line-format
(not (and (listp mode-line-format)
(assq 'minibuffer-message-mode-line-string
mode-line-format))))
(setq minibuffer-message-buffer (current-buffer))
(setq mode-line-format
(list "" '(minibuffer-message-mode-line-string
(" " (:propertize minibuffer-message-mode-line-string
face minibuffer-message-face) " "))
mode-line-format)))
(setq minibuffer-message-mode-line-string message)
(force-mode-line-update))
t)))
- Re: New multi-command facility displays in the wrong echo area., (continued)
- Re: New multi-command facility displays in the wrong echo area., Eli Zaretskii, 2020/10/12
- Re: New multi-command facility displays in the wrong echo area., Gregory Heytings, 2020/10/12
- Re: New multi-command facility displays in the wrong echo area., Eli Zaretskii, 2020/10/12
- Re: New multi-command facility displays in the wrong echo area., Gregory Heytings, 2020/10/12
- Re: New multi-command facility displays in the wrong echo area., Eli Zaretskii, 2020/10/12
- Re: New multi-command facility displays in the wrong echo area., Gregory Heytings, 2020/10/12
- Re: New multi-command facility displays in the wrong echo area., Eli Zaretskii, 2020/10/13
- Re: New multi-command facility displays in the wrong echo area.,
Gregory Heytings <=
- Re: New multi-command facility displays in the wrong echo area., Gregory Heytings, 2020/10/13
- RE: New multi-command facility displays in the wrong echo area., Drew Adams, 2020/10/12
- Re: New multi-command facility displays in the wrong echo area., Eli Zaretskii, 2020/10/12
- Re: New multi-command facility displays in the wrong echo area., Juri Linkov, 2020/10/12
- Re: New multi-command facility displays in the wrong echo area., Eli Zaretskii, 2020/10/12
- Re: New multi-command facility displays in the wrong echo area., Gregory Heytings, 2020/10/14
- Message not available
- RE: New multi-command facility displays in the wrong echo area., Gregory Heytings, 2020/10/14
- Re: New multi-command facility displays in the wrong echo area., Stefan Monnier, 2020/10/14
- Re: New multi-command facility displays in the wrong echo area., Eli Zaretskii, 2020/10/16
- Re: New multi-command facility displays in the wrong echo area., Eli Zaretskii, 2020/10/16