12

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.

4
  • What if you echo several screenfulls of text?
    – wvxvw
    Commented Dec 31, 2014 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
    Commented Dec 31, 2014 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
    Commented Dec 31, 2014 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
    Commented May 16, 2015 at 10:02

2 Answers 2

3

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

5
  • But if I intercepted message to display it in an overlay instead of the echo area?
    – abo-abo
    Commented Dec 31, 2014 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
    Commented Dec 31, 2014 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
    Commented Dec 31, 2014 at 14:28
  • It's sad. I was thinking to use an overlay + some codes to redirect the messagebuffer.
    – wangii
    Commented Jan 1, 2015 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
    Commented May 16, 2015 at 10:03
5

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.)

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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