help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: C-x C-f in two frames -> "user minibuffer while in


From: Drew Adams
Subject: RE: C-x C-f in two frames -> "user minibuffer while in
Date: Thu, 7 Jul 2005 08:10:07 -0700

    > Has anyone come up with any ways the recursive commands could be
    > better, or is it pretty much accepted that there's nothing that could
    > be done to improve them?

    one idea is to modify `mode-line-format' to indicate presence, level,
    or stack contents, of recursion.
      presence:       R
      level:          RRR   (or maybe R3)
      stack contents: (find-file find-file find-file)
    alternatively, borrow something from the recursive editing indicator
    (normally square braces around the major and minor mode info).

One problem is that such mode-line changes are not very noticeable. Now that
we can easily change the mode-line face, that could be used to draw more
attention to a recursive edit. Face change, especially background, is more
noticeable than simply adding/changing mode-line text, and if the
color-change is well chosen, it need not be intrusive/annoying.

I do something similar: change the minibuffer (not the mode-line)
background. Library `oneonone.el'
(http://www.emacswiki.org/elisp/oneonone.el) sets up a dedicated minibuffer
frame, and that frame's background is changed dynamically to indicate the
current state. There are 3 states: normal (inactive), awaiting user input
(active), and isearch (searching). There is no state specifically for
recursive edit (but there could be); recursive edit is reflected by the
"active" state. "Active" essentially means "not top-level".

See http://www.emacswiki.org/cgi-bin/wiki/Dedicated_Minibuffer_Frame for an
explanation and screenshots. Whenever you are in a recursive edit, not only
does the mode-line indicate this (by surrounding the mode name with
brackets, as usual: []), but the minibuffer frame background color is also
changed to indicate the "active" mode. You normally only see this color
minibuffer when Emacs is expecting input, so, if you continue to see it, it
acts as a clue to look for the brackets in the mode-line that indicate a
recursive edit. HTH, Drew.





reply via email to

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