emacs-devel
[Top][All Lists]
Advanced

[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: Wed, 14 Oct 2020 22:15:06 +0000
User-agent: Alpine 2.22 (NEB 394 2020-01-19)


Hi Drew,

I just realized (thanks to Stefan's last email on this list) that my patch introduces a regression for those who (like him) use miniwindow-only frames.

To correct that regression, ...

display the message at the end of the active minibuffer if it is either on the same frame as the current window, or if it is in a miniwindow-only frame.

That takes care of that regression, but it doesn't take care of the problem for minibuffer-only frames that it aims to solve otherwise.

This is another reason why echo display in the mode-line is a half-measure. I'm in the same boat as Stefan on this: I use a standalone minibuffer frame. And I don't want any `message' output shown in the minibuffer.


I gave you a (rough) draft that shows how this can be done yesterday. I copy it here again:

(progn
  (select-frame (make-frame '((minibuffer . nil) (name . "Drew's Echo Area"))))
  (set-frame-height nil 1)
  (set-frame-parameter nil 'tool-bar-lines nil)
  (set-frame-parameter nil 'menu-bar-lines nil)
  (switch-to-buffer " *Drew's Echo Area*")
  (setq-local mode-line-format nil)
  (setq cursor-in-non-selected-windows nil))

(defun set-minibuffer-message (message)
  (with-current-buffer (get-buffer " *Drew's Echo Area*")
    (setq-local inhibit-read-only t)
    (erase-buffer)
    (insert message))
  t)

It's only a rough draft, but it seems to work quite well already.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]