unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Daniel Mendler <mail@daniel-mendler.de>,
	Daniel Mendler <daniel@mendler.net>, Eli Zaretskii <eliz@gnu.org>
Cc: "acm@muc.de" <acm@muc.de>,
	"kevin.legouguec@gmail.com" <kevin.legouguec@gmail.com>,
	"arstoffel@gmail.com" <arstoffel@gmail.com>,
	"monnier@iro.umontreal.ca" <monnier@iro.umontreal.ca>,
	"emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: RE: [External] : Re: Indicate better the current use of the echo area / minibuffer [was: Controlling Isearch from minibuffer]
Date: Thu, 13 May 2021 19:36:00 +0000	[thread overview]
Message-ID: <SA2PR10MB44745A577314EAB4E13CD1BDF3519@SA2PR10MB4474.namprd10.prod.outlook.com> (raw)
In-Reply-To: <79b1d1e6-e530-d4b4-cdde-a98b2dda3f60@daniel-mendler.de>

> > This thread is about the current (longstanding)
> > design of Isearch, which is NOT minibuffer-based.
> >
> > And it's also about the echo area and minibuffer
> > (independently of any concern with Isearch).
> 
> Of course, my intention was to hijack "your" thread.

No, of course not.  But the fact is that there was
a flood of immediate responses that had nothing to
do with the question this thread posed.  Those
contributions are welcome elsewhere.

> Just to make it clear - my mail is related to your colorful
> echo/minibuffer proposal as follows: If Isearch would not use the echo
> area as it currently does, there would not even exist a need for an
> indicator to make anything more clear.

Isearch does use the echo area.  That's the point.
There's a separate thread about a proposal to not
have it do so, as a user choice.  But given that it
does, and it will (at least as a user choice), any
ideas?

And no, there's still the same need to distinguish
the double use of the same area for echo/output and
minibuffer/input.

Users have been at least as confused about those two
sharing the same area as they have been about Isearch
sharing it.  We have some hacks (`minibuffer-message'
for example) that try to finesse that problem.  The
problem exists independently of Isearch.

> But please tell me about the different indication modes you have
> implemented in your packages. You have a color for the minibuffer and a
> color if Isearch is active? Then you change color based on the
> recursion level. Are there indicators for other states?

I described what I do, and I mentioned that it's used
with a standalone minibuffer frame.  I mentioned the
possibility of changing the background in some way
only as one way to indicate state change in the area
itself; that's all.

But what I do or don't do is irrelevant.  I posed an
open question: how might we make more clear to users
which state that area is in, to help them?  That
question is what's raised in this thread.  Ideas?

> I have written a tiny package, which displays a 
> "recursion indicator" in the mode line...

Great!  Welcome.

> Currently it displays an arrow per recursion level and a
> special symbol if a recursive minibuffer session is active.

I mentioned what I have that helps wrt recursive
edit levels (library rec-edit.el) - there's no need
to repeat that description.

And I mentioned what I use to distinguish recursive
minibuffer levels - with a standalone minibuffer
frame.

I suggested that Emacs might do something similar in
that screen area somehow (without a standalone frame).
I specifically asked for other suggestions.  I'm not
aware that the problem has been posed or considered
directly before.

> It makes sense to extend this with more states, like Isearch.
> For Isearch I am using a separate indicator in the mode line:
> ...

That's relevant to this discussion.  I gave some
reasons why I think it's better to put an indication
in the area itself, rather than the mode-line.  But
your suggestion is appropriate.

We of course already have an Isearch indicator in
the mode-line.  But it's relatively simple (just a
minor-mode lighter).

For the particular _state_ of Isearch (not just the
fact that Isearch is in progress, which I think is
better shown somehow in the area itself), and FWIW,
I change the mode-line lighter and parts of the
prompt in various ways to show that too:

* Case-sensitivity is indicated by the lighter changing
  between all uppercase (insensitive) and capitalized
  (sensitive).  For non-regexp search that's `ISEARCH'
  versus `Isearch'.

* Whether search is literal or regexp is also indicated
  with the lighter.  `R*SEARCH' versus `R*search', for
  regexp search (instead of `ISEARCH' versus `Isearch').
  (`R*' to suggest regexp by `*'.  Only 1 char more.)

* Wraparound is indicated by the lighter changing face:
  faces `isearchp-wrapped' and `isearchp-overwrapped'.

  By default the wrapped face just adds a blue overline,
  and the overwrapped face uses a red overline and
  underline, the latter being wavy.  (The same faces are
  used in the prompt.)

* Multi-search is indicated by face `isearchp-multi' in
  the prompt.

(Different pieces of the search prompt get different
faces.  E.g. `failing', `pending', `over', `wrapped',
`regexp', `multi'.)

None of those mode-line indications is super prominent.
They're more there as a reminder, if you bother to look
at the mode-line to see the state.

  reply	other threads:[~2021-05-13 19:36 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-12 23:47 Indicate better the current use of the echo area / minibuffer [was: Controlling Isearch from minibuffer] Drew Adams
2021-05-13  6:28 ` Eli Zaretskii
2021-05-13 14:11   ` [External] : " Drew Adams
2021-05-13 14:41     ` Daniel Mendler
2021-05-13 15:24       ` Alan Mackenzie
2021-05-13 16:12         ` Daniel Mendler
2021-05-13 16:21         ` Augusto Stoffel
2021-05-13 16:44         ` Eli Zaretskii
2021-05-13 16:16       ` Daniel Martín
2021-05-13 16:33         ` Daniel Mendler
2021-05-13 17:41       ` Drew Adams
2021-05-13 18:07         ` Daniel Mendler
2021-05-13 19:36           ` Drew Adams [this message]
2021-05-14 21:02             ` John Yates
2021-05-14 21:55               ` Drew Adams
2021-05-15  7:57               ` martin rudalics
2021-05-15 19:46                 ` Drew Adams
2021-05-14 18:16           ` Juri Linkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=SA2PR10MB44745A577314EAB4E13CD1BDF3519@SA2PR10MB4474.namprd10.prod.outlook.com \
    --to=drew.adams@oracle.com \
    --cc=acm@muc.de \
    --cc=arstoffel@gmail.com \
    --cc=daniel@mendler.net \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=kevin.legouguec@gmail.com \
    --cc=mail@daniel-mendler.de \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).