unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Gregory Heytings <ghe@sdf.org>
Cc: acm@muc.de, Eli Zaretskii <eliz@gnu.org>,
	emacs-devel@gnu.org, monnier@iro.umontreal.ca, juri@linkov.net
Subject: RE: Where to show message output while inputting [was: New multi-command facility displays in the wrong echo area]
Date: Tue, 13 Oct 2020 13:38:10 -0700 (PDT)	[thread overview]
Message-ID: <95909e9d-07d8-41de-96a5-fe13cbec3131@default> (raw)
In-Reply-To: <alpine.NEB.2.22.394.2010132128270453.16731@sdf.lonestar.org>

> > The same problem will exist if you move output (`message' echoes) to the
> > mode-line: you won't be able to see the mode-line info and the message
> > at the same time.
> 
> That's obviously a problem that will exist in any possible solution to
> that problem: the message will hide something.  

Not if the area used for echoes (output) is
separate from the area used for the minibuffer
(prompt and input).

Well yes, a previous message in the output area
is overwritten.  But it's logged in *Messages*.
The point here is to separate input and output
areas, so output doesn't hide prompt or input.

> The question is then: what
> is the "something" that can be hidden with the least possible risk?  IMO
> the mode-line is, in this context, the least important element, and it can
> be temporarily right-shifted.  Eldoc does this, too.

I said the same thing regarding importance, if
the candidates are only the mode-line and the
minibuffer.

But there are other possibilities.  (I mentioned
using the last line(s) of some window as one.)

But we need not overwrite - or displace at all,
if we show the output in its own area - at least
when there would otherwise be a conflict with the
minibuffer/echo area.  I mentioned "popping up"
such an output area as needed.

Shifting existing stuff around could be distracting
or annoying for some users.  A dedicated area for
output wouldn't have that problem, but it would
sacrifice real estate when nothing is being output.

Whatever we do, it would be good to let users get
different behavior as an option. 

> > Or we could choose to echo in a separate area only when needed.  E.g.,
> > we might use the same area for echo and minibuffer whenever there's no
> > conflict (no overlap in time), and show echoes in some other place (e.g.
> > pop-up) in the rarer cases when needed.
> 
> That's exactly what my proposed solution does.  The same area is used when
> there's no conflict, and the "pop-up" uses the space on the left of the
> mode-line, which is temporarily right-shifted.

Yes, I know.  And I mentioned that I prefer that
to appending output to the minibuffer input.

But that's one of the half measures.  It still
occludes or displaces something.  If the right
end of the mode-line gets truncated because the
content is right-shifted, then the truncated
part is "lost" (hidden).

There are half measures and full measures for
the general problem.  The use-the mode-line
half-measure is better than the one that's been
put in place for Emacs 27, IMO.

> > "Pop up" here could mean temporarily overwriting
> > the mode-line, as Gregory suggested.
> 
> No, the mode-line is not temporarily overwritten, it is temporarily
> right-shifted.  Usually (when the message is not too long) the leftmost
> part of the mode-line remains visible.

Got it.  (I meant that, but spoke imprecisely.)

IMO we can do still better.  But your suggestion
beats what we have now.  And it beats what we had
before Emacs 27 - at least in terms of not losing
or obscuring user input.

[IMO what we had before Emacs 27 is better than
what we have now, but on n'arrete pas le progres.]



  reply	other threads:[~2020-10-13 20:38 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-13 17:31 Where to show message output while inputting [was: New multi-command facility displays in the wrong echo area] Drew Adams
2020-10-13 18:39 ` Where to show message output while inputting Kévin Le Gouguec
2020-10-13 19:42 ` Where to show message output while inputting [was: New multi-command facility displays in the wrong echo area] Gregory Heytings via Emacs development discussions.
2020-10-13 20:38   ` Drew Adams [this message]
2020-10-13 20:59     ` Gregory Heytings via Emacs development discussions.
     [not found]       ` <2bedd6ef-c49a-4e0e-b0e4-4e3c6b8b79ce@default>
2020-10-13 21:55         ` Gregory Heytings via Emacs development discussions.
2020-10-14 14:39       ` Eli Zaretskii
2020-10-14 14:58         ` Gregory Heytings via Emacs development discussions.
2020-10-14 17:27           ` Stefan Monnier
2020-10-14 21:22             ` Gregory Heytings via Emacs development discussions.
2020-10-15  1:52               ` Stefan Monnier
     [not found] ` <87eelo6iio.fsf@blind.guru>
2020-10-24 17:31   ` Drew Adams

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=95909e9d-07d8-41de-96a5-fe13cbec3131@default \
    --to=drew.adams@oracle.com \
    --cc=acm@muc.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=ghe@sdf.org \
    --cc=juri@linkov.net \
    --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).