The problem: I found it's tiredsome to move my eyeballs up and down from where my cursor is to the bottom echo area.

The question: is it possible to make the echo area dynamically allocated close to my cursor, like tooltips? I searched for packages but not able to find one. I don't believe it's a new idea and someone must've done it.

  • What if you echo several screenfulls of text?
    – wvxvw
    Dec 31 '14 at 13:56
  • @wvxvw, There could be a fallback mechanism. I've implemented exactly this for specific cases. I'm curious if there's a generic solution already.
    – abo-abo
    Dec 31 '14 at 14:09
  • 2
    It's possible if you use a dedicated frame. It is from a package named oneonone. In the comment section, it is written that 1on1-minibuffer-frame-flag is non-nil (the default value), then the minibuffer is shown in its own frame.
    – Tu Do
    Dec 31 '14 at 14:11
  • 1
    Closely related to this question. That one's about minibuffer input, but it has a positive answer so you may be able to adapt it.
    – Malabarba
    May 16 '15 at 10:02

The echo area explicitly uses the minibuffer window, so unless that changes the answer is "no, it's not possible" (or at minimum not very practical).

Refer to https://stackoverflow.com/questions/10063410/is-it-possible-to-separate-minibuffer-and-echo-area-in-emacs

  • But if I intercepted message to display it in an overlay instead of the echo area?
    – abo-abo
    Dec 31 '14 at 14:16
  • Sure, if you only want this for message. There are many other functions which output to the echo area, however; I don't believe it's a trivial issue. As per the linked Q&A, have a look at the manual to get some idea of the scope.
    – phils
    Dec 31 '14 at 14:18
  • 1
    Note in particular that there are many C functions which bypass message and instead directly call one of the C functions which implement messaging underneath.
    – phils
    Dec 31 '14 at 14:28
  • It's sad. I was thinking to use an overlay + some codes to redirect the messagebuffer.
    – wangii
    Jan 1 '15 at 18:56
  • You can have a small frame that contains only a minibuffer window. The only difficulty is poping it up whenever the echo area is displaying anything.
    – Malabarba
    May 16 '15 at 10:03

As @TuDo's comment indicates (and he can change it to an answer if he likes, in which case I'll remove this answer), you can at least use a standalone minibuffer frame, and you can position it where you like.

One advantage over the default setup is that you have only a single place to look, always, for output messages (echo area) and for input editing (minibuffer).

You could even cause its position to change dynamically - for example, to be close to where the current input focus is.

One On One Emacs can help. Out of the box, it lets you decide where to put the minibuffer frame, but to reposition it dynamically you will need to do a little extra.

(EmacsWiki is currently down, but you can download oneonone.el from MELPA also.)

  • Presumably you mean this page on the wiki? I'm not sure, but your link doesn't work. May 15 '15 at 22:30
  • @WilfredHughes: Thanks, I fixed the link.
    – Drew
    May 16 '15 at 1:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.