From: Dmitry Gutov <dgutov@yandex.ru>
To: martin rudalics <rudalics@gmx.at>, Robert Pluim <rpluim@gmail.com>
Cc: "Jean-Christophe Helary"
<jean.christophe.helary@traduction-libre.org>,
"Richard Stallman" <rms@gnu.org>,
"Andreas Röhler" <andreas.roehler@online.de>,
"Emacs developers" <emacs-devel@gnu.org>,
"Karl Fogel" <kfogel@red-bean.com>,
homeros.misasa@gmail.com, tkk@misasa.okayama-u.ac.jp,
"Sergey Organov" <sorganov@gmail.com>,
"Stefan Monnier" <monnier@iro.umontreal.ca>,
"Arthur Miller" <arthur.miller@live.com>,
"Eli Zaretskii" <eliz@gnu.org>,
"Drew Adams" <drew.adams@oracle.com>,
"Stefan Kangas" <stefankangas@gmail.com>
Subject: Re: GNU Emacs raison d'etre
Date: Thu, 21 May 2020 03:15:14 +0300 [thread overview]
Message-ID: <71896546-9110-3b00-1b12-40bc60c181e3@yandex.ru> (raw)
In-Reply-To: <4518e4d3-f33a-256f-bb8e-342050bc59c7@gmx.at>
On 20.05.2020 12:06, martin rudalics wrote:
> >> Right. In a "normal" session you have to create a minibuffer-only
> frame
> >> first and then delete the normal frame to get uniform behavior. Emacs
> >> does not offer a function to remove the minibuffer window from a normal
> >> frame so this is the best you can get.
> >
> > Any chance to change the latter in Emacs 28? Is that difficult?
>
> It's hairy and that's why people never tried to change the ritual of
> setting up an initial frame with a minibuffer window. Likely to make
> sure that if things go wrong anywhere, there's always at least one
> minibuffer window you can act upon or that displays vital information
> about what went wrong during setup.
I get the idea, but Emacs is not a whole computer, to try to keep
running at all costs. The config can be fixed, and Emacs can usually be
restarted. So whatever the original reasons are, a user option could
still be doable.
> Note that producing the minibuffer-less + minibuffer-only setup is
> accomplished by 'frame-notice-user-settings' which deletes the initial
> minibuffer-equipped frame in a hair-raising fashion in order to make
> sure that at least one minibuffer window is available at any time.
I've also noticed that initial blink during startup, but didn't know
what to attribute it to. Would be great to be able to avoid it.
> > It would improve the starting experience quite a bit.
>
> The startup experience of general minibuffer-only frame setups or that
> of the setup with a minibuffer-only child frame? I think these are today
> also affected by other parameters like, for example, whether you put
> these specifications into an early init file or the normal one.
The startup experience of pop-up-mini-mode. I can imagine two main
scenarios:
- The user installs the package and turns the mode one. If we can't
disable the minibuffer, maybe just enable the rest of the functionality,
and describe minibuffer-disabling-on-init functionality separately? It
could even just be a line we'd tell the users to put in their init script.
Alternatively, since you described what happens currently,
pop-up-mini-mode could try to remember the current window configuration,
create a new frame on the same position without a minibuffer, restore
the window configuration there, and delete the original frame. Or is
that something that could only happen during startup?
- pop-up-mini-mode is enabled in the user's init script. Is that worse
than early init? We could try to document the early init as the best option.
> > The main remaining annoyance is the blink when the child frame is
> resized/repositioned.
>
> You would have to tell me more about that blink. If it's due to the
> setting of 'x-gtk-resize-child-frames', there's nothing I can do about
> it. If it's due to the delay implied by 'pop-up-mini-hide-if-empty',
> try to experiment with that.
My x-gtk-resize-child-frames value is 'resize-mode.
Blinking happens when it's resized. But not every single time.
Here's what I do:
1. src/emacs -Q --eval "(setq x-gtk-resize-child-frames 'resize-mode)"
-l ~/.emacs.d/site-lisp/pop-up-mini.el
2. M-x ido-mode.
3. C-x C-f, type 'e'. If you're inside Emacs source directory, the
completions should span 2-3 lines. When the child frame is resized, it
will blink. Sometimes it looks like the mode-line quickly moves up and
back (or at least _something_ grey moves like that).
Instead of ido-mode, fido-mode can be used with similar effect. Though
blinking seems less frequent with it.
Another issue: when the child frame covers the scroll bar, it renders
some junk on it.
> > So how do you feel about a package in GNU ELPA?
>
> Not really enthusiastic. The historical constraints of how to set up
> and use the minibuffer window are too restrictive IMHO so what you see
> here is just a workaround. Maybe things will change in a couple of
> years.
Do you mean the child frame problems?
A package could declare that it only works on Emacs 28+, BTW.
> > If we can move the settings into the definition of pop-up-mini-mode,
> > it should be quite usable. And also do something with the scenario
> > where someone installs it, turns on the mode, and simply stares at the
> > error.
>
> What's so bad about that error? It simply tells what is missing. If
> you provide such a frame, things should work, even in parallel with the
> already existing minibuffer window.
I didn't understand what I needed to do from it, and I'm a fairly
experienced user. When doing a package, we usually try to cater to even
less experienced users. Not always succeed, but try to.
BTW, here's a today's thread on Reddit with similar complaints by users:
https://www.reddit.com/r/emacs/comments/gmsnoy/minibufferecho_area_ergonomics/
One suggestion option is this package:
https://github.com/muffinmad/emacs-mini-frame.
There are a few others with this goal as well. But none of them try to
hide the minibuffer (or know that it's possible, looks like). They only
create a child frame with an "effective" minibuffer, and position it to
their liking. Whereas the minibuffer line is left untouched, and is only
used as echo area.
next prev parent reply other threads:[~2020-05-21 0:15 UTC|newest]
Thread overview: 273+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-08 8:26 Making Emacs popular again with a video Nathan Colinet
2020-05-08 10:39 ` Arthur Miller
2020-05-10 20:48 ` Nathan Colinet
2020-05-08 10:41 ` Stefan Kangas
2020-05-10 16:18 ` Nathan Colinet
2020-05-08 11:33 ` Eli Zaretskii
2020-05-10 20:32 ` Nathan Colinet
2020-05-11 22:59 ` Stefan Kangas
2020-05-09 7:50 ` Andreas Röhler
2020-05-10 20:57 ` Nathan Colinet
2020-05-12 3:12 ` Richard Stallman
2020-05-12 7:04 ` Arthur Miller
2020-05-12 13:59 ` Dmitry Gutov
2020-05-12 14:47 ` Arthur Miller
2020-05-12 16:08 ` Drew Adams
2020-05-13 4:01 ` Richard Stallman
2020-05-13 8:49 ` Arthur Miller
2020-05-14 5:14 ` Richard Stallman
2020-05-14 10:22 ` Arthur Miller
2020-05-14 10:55 ` Robert Pluim
2020-05-15 3:25 ` Richard Stallman
2020-05-15 7:55 ` Arthur Miller
2020-05-15 10:11 ` Eli Zaretskii
2020-05-15 10:43 ` Arthur Miller
2020-05-15 11:23 ` Eli Zaretskii
2020-05-15 19:15 ` H. Dieter Wilhelm
2020-05-15 18:41 ` H. Dieter Wilhelm
2020-05-22 19:09 ` Ben McGinnes
[not found] ` <E1jcLVP-0003SB-II@fencepost.gnu.org>
2020-05-24 19:16 ` Ben McGinnes
2020-05-14 14:13 ` Eli Zaretskii
2020-05-14 7:38 ` Tim Cross
2020-05-14 7:51 ` Andreas Röhler
2020-05-14 14:18 ` Eli Zaretskii
2020-05-14 15:36 ` Tim Cross
2020-05-13 10:43 ` Stefan Kangas
2020-05-12 8:23 ` Andreas Röhler
2020-05-13 3:55 ` Richard Stallman
2020-05-13 8:18 ` Andreas Röhler
2020-05-13 10:53 ` Stefan Kangas
2020-05-13 16:20 ` Drew Adams
2020-05-14 2:18 ` (emacs) Intro [was: Making Emacs popular again with a video] excalamus--- via Emacs development discussions.
2020-05-14 12:04 ` Dmitry Gutov
2020-05-14 21:31 ` excalamus--- via Emacs development discussions.
2020-05-15 0:46 ` Dmitry Gutov
[not found] ` <d28fe30d-c192-8022-b758-d8b7019e49b5@yandex.ru-M7KnL6R----2>
2020-05-17 19:11 ` excalamus--- via Emacs development discussions.
2020-05-19 14:14 ` excalamus--- via Emacs development discussions.
[not found] ` <d66793e5-07f9-4dd9-928d-e7e8c342b781@default>
[not found] ` <M7iByNw--3-2@tutanota.com>
2020-05-21 18:18 ` excalamus--- via Emacs development discussions.
[not found] ` <M7sSK-m--3-2@tutanota.com-M7sSUVm--3-2>
2020-05-28 1:21 ` excalamus--- via Emacs development discussions.
2020-05-28 7:08 ` Eli Zaretskii
2020-05-28 7:41 ` Andreas Röhler
2020-05-28 10:23 ` Stefan Kangas
2020-05-29 2:39 ` excalamus--- via Emacs development discussions.
2020-05-29 7:28 ` Eli Zaretskii
2020-05-29 7:40 ` Stefan Kangas
2020-05-29 15:14 ` Stefan Monnier
2020-05-30 1:39 ` Richard Stallman
2020-05-14 22:14 ` Karl Fogel
2020-05-15 3:17 ` Richard Stallman
2020-05-15 6:36 ` Andreas Röhler
2020-05-12 12:57 ` GNU Emacs raison d'etre excalamus--- via Emacs development discussions.
2020-05-13 16:18 ` Karl Fogel
2020-05-13 16:28 ` Drew Adams
2020-05-13 19:39 ` Andreas Röhler
2020-05-13 20:05 ` Karl Fogel
2020-05-13 20:52 ` Dmitry Gutov
2020-05-13 22:04 ` Karl Fogel
2020-05-13 22:55 ` Dmitry Gutov
2020-05-14 4:56 ` Karl Fogel
2020-05-14 16:37 ` Drew Adams
2020-05-14 22:11 ` excalamus--- via Emacs development discussions.
2020-05-15 3:16 ` Richard Stallman
2020-05-15 21:42 ` Karl Fogel
2020-05-15 22:14 ` Arthur Miller
2020-05-16 0:03 ` Dmitry Gutov
2020-05-15 22:41 ` Drew Adams
2020-05-20 21:47 ` Karl Fogel
2020-05-20 22:35 ` Drew Adams
2020-05-21 0:35 ` Karl Fogel
2020-05-16 2:43 ` Eduardo Ochs
2020-05-18 3:46 ` Richard Stallman
2020-05-18 11:26 ` Dmitry Gutov
2020-05-16 8:05 ` Yuri Khan
2020-05-16 10:36 ` Eli Zaretskii
2020-05-16 10:46 ` Yuri Khan
2020-05-17 1:28 ` Dmitry Gutov
2020-05-17 1:39 ` Dmitry Gutov
2020-05-17 1:40 ` Dmitry Gutov
2020-05-17 1:59 ` Jean-Christophe Helary
2020-05-17 2:52 ` Stefan Kangas
2020-05-17 9:32 ` Joost Kremers
2020-05-17 11:07 ` Arthur Miller
2020-05-18 3:43 ` transient Richard Stallman
2020-05-18 6:58 ` transient Joost Kremers
2020-05-18 11:29 ` transient Dmitry Gutov
2020-05-18 18:41 ` transient Howard Melman
2020-05-18 19:35 ` transient John Yates
2020-05-18 19:57 ` transient Howard Melman
2020-05-19 5:38 ` transient Drew Adams
2020-05-19 14:00 ` transient Arthur Miller
2020-05-20 3:14 ` transient Michael Heerdegen
2020-05-19 22:04 ` transient Stefan Kangas
2020-05-19 22:53 ` transient Drew Adams
2020-05-19 4:02 ` which-key Richard Stallman
2020-05-17 7:09 ` GNU Emacs raison d'etre Drew Adams
2020-05-20 21:36 ` Karl Fogel
2020-05-20 21:57 ` Drew Adams
2020-05-20 22:00 ` Karl Fogel
2020-05-20 22:07 ` Dmitry Gutov
2020-05-21 8:03 ` tomas
2020-05-21 9:33 ` Arthur Miller
2020-05-21 10:04 ` tomas
2020-05-24 14:05 ` Arthur Miller
2020-05-21 16:20 ` xristos
2020-05-24 13:45 ` Arthur Miller
2020-05-24 16:52 ` xristos
2020-05-24 17:00 ` Eli Zaretskii
2020-05-24 18:31 ` Philip K.
2020-05-25 17:34 ` João Távora
2020-05-26 4:14 ` Richard Stallman
2020-05-26 11:32 ` João Távora
2020-05-27 3:08 ` Richard Stallman
2020-05-27 5:01 ` Drew Adams
2020-05-29 12:59 ` Arthur Miller
2020-06-23 3:59 ` Richard Stallman
2020-05-21 17:07 ` Karl Fogel
2020-05-23 20:36 ` Dmitry Gutov
2020-05-14 6:26 ` tomas
2020-05-14 6:16 ` Andreas Röhler
2020-05-15 3:18 ` Richard Stallman
2020-05-16 0:56 ` Tak Kunihiro
2020-05-16 6:50 ` Eli Zaretskii
2020-05-16 9:10 ` Sergey Organov
2020-05-16 10:38 ` Eli Zaretskii
2020-05-16 12:24 ` Sergey Organov
2020-05-16 12:29 ` Eli Zaretskii
2020-05-16 12:34 ` Sergey Organov
2020-05-16 12:46 ` Dmitry Gutov
2020-05-16 13:57 ` Sergey Organov
2020-05-16 19:35 ` Dmitry Gutov
2020-05-16 20:05 ` Stefan Kangas
2020-05-16 20:34 ` Dmitry Gutov
2020-05-16 20:44 ` Bob Newell
2020-06-24 15:37 ` Ricardo Wurmus
2020-05-16 23:12 ` Drew Adams
2020-05-16 23:18 ` Drew Adams
2020-05-16 23:47 ` Stefan Kangas
2020-05-17 1:14 ` Drew Adams
2020-05-17 3:13 ` Stefan Kangas
2020-05-17 6:49 ` Drew Adams
2020-05-17 7:02 ` Jean-Christophe Helary
2020-05-17 7:11 ` Drew Adams
2020-05-17 9:07 ` Jean-Christophe Helary
2020-05-17 10:20 ` Marcin Borkowski
2020-05-17 11:07 ` Jean-Christophe Helary
2020-05-17 15:25 ` Eli Zaretskii
2020-05-17 15:48 ` Jean-Christophe Helary
2020-05-17 17:06 ` Stefan Monnier
2020-05-17 17:31 ` Arthur Miller
2020-05-17 18:57 ` Drew Adams
2020-05-17 20:03 ` Arthur Miller
2020-05-18 8:32 ` martin rudalics
2020-05-18 11:39 ` Dmitry Gutov
2020-05-18 13:02 ` martin rudalics
2020-05-18 13:38 ` Dmitry Gutov
2020-05-18 16:31 ` Robert Pluim
2020-05-18 23:14 ` Dmitry Gutov
2020-05-19 8:41 ` martin rudalics
2020-05-20 1:01 ` Dmitry Gutov
2020-05-20 9:06 ` martin rudalics
2020-05-21 0:15 ` Dmitry Gutov [this message]
2020-05-21 9:07 ` martin rudalics
2020-05-21 23:16 ` Dmitry Gutov
2020-05-22 9:31 ` martin rudalics
2020-05-25 2:37 ` Dmitry Gutov
2020-05-26 8:06 ` martin rudalics
2020-06-05 2:40 ` pop-up-mini-mode, was " Dmitry Gutov
2020-05-19 8:40 ` martin rudalics
2020-05-20 0:40 ` Dmitry Gutov
2020-05-20 9:04 ` martin rudalics
2020-05-20 13:28 ` Dmitry Gutov
2020-05-20 14:45 ` Eli Zaretskii
2020-05-20 14:56 ` Dmitry Gutov
2020-05-20 16:12 ` Eli Zaretskii
2020-05-20 17:45 ` martin rudalics
2020-05-20 18:09 ` Eli Zaretskii
2020-05-20 18:16 ` Eli Zaretskii
2020-05-20 18:24 ` Dmitry Gutov
2020-05-20 18:33 ` Eli Zaretskii
2020-05-20 18:56 ` Eli Zaretskii
2020-05-20 19:22 ` Dmitry Gutov
2020-05-20 19:53 ` tomas
2020-05-20 21:22 ` Dmitry Gutov
2020-05-21 7:43 ` tomas
2020-05-21 2:28 ` Eli Zaretskii
2020-05-21 22:19 ` Dmitry Gutov
2020-05-22 7:28 ` Eli Zaretskii
2020-05-22 12:16 ` Dmitry Gutov
2020-05-20 23:07 ` martin rudalics
2020-05-21 13:11 ` Eli Zaretskii
2020-05-21 17:55 ` martin rudalics
2020-05-18 15:57 ` Drew Adams
2020-05-19 8:41 ` martin rudalics
2020-05-21 18:19 ` Suppressing beginning/end-of-buffer error messages (WAS: GNU Emacs raison d'etre) Noam Postavsky
2020-05-22 9:30 ` martin rudalics
2020-05-22 12:46 ` Noam Postavsky
[not found] ` <11bfe86b-131c-4f55-5125-c269a73e360d@gmx.at>
2020-05-23 11:10 ` Noam Postavsky
2020-05-17 18:36 ` GNU Emacs raison d'etre Drew Adams
2020-05-17 21:04 ` Stefan Monnier
2020-05-17 21:48 ` Drew Adams
2020-05-17 18:38 ` Dmitry Gutov
2020-05-17 21:17 ` Stefan Monnier
2020-05-17 21:37 ` Dmitry Gutov
2020-05-18 8:33 ` martin rudalics
2020-05-18 11:37 ` Dmitry Gutov
2020-05-17 21:57 ` Drew Adams
2020-05-17 18:28 ` Drew Adams
2020-05-17 17:59 ` Drew Adams
2020-05-17 18:07 ` Dmitry Gutov
2020-05-17 7:54 ` Sergey Organov
2020-05-17 11:37 ` Dmitry Gutov
2020-05-17 18:11 ` Drew Adams
2020-05-16 23:01 ` Arthur Miller
2020-05-17 2:55 ` Richard Stallman
2020-05-28 4:12 ` Karl Fogel
2020-05-28 5:51 ` Eduardo Ochs
2020-05-28 6:13 ` Drew Adams
2020-05-28 14:12 ` excalamus--- via Emacs development discussions.
2020-05-28 14:42 ` Jean-Christophe Helary
2020-05-28 16:34 ` Drew Adams
2020-05-29 14:44 ` Jean-Christophe Helary
2020-05-28 15:00 ` Philip K.
2020-05-28 15:13 ` João Távora
2020-05-28 16:04 ` T.V Raman
[not found] ` <p914ks0kpui.fsf@google.com-M8R14r9----2>
2020-05-28 16:12 ` excalamus--- via Emacs development discussions.
2020-05-28 16:46 ` T.V Raman
2020-05-28 17:34 ` Karl Fogel
2020-05-28 18:11 ` andres.ramirez
[not found] ` <877dwwezfr.fsf@red-bean.com-M8RLd3p--3-2>
2020-05-28 18:28 ` excalamus--- via Emacs development discussions.
2020-05-29 1:12 ` Karl Fogel
2020-05-30 1:44 ` Richard Stallman
2020-05-30 2:02 ` Jean-Christophe Helary
2020-05-30 9:13 ` Arthur Miller
2020-05-30 16:43 ` Alfred M. Szmidt
2020-05-31 7:07 ` Richard Stallman
2020-06-08 17:37 ` REmacs was " T.V Raman
2020-06-01 7:29 ` Meaning behind Control-G Lars Brinkhoff
2020-06-01 7:56 ` Lars Brinkhoff
2020-06-01 9:06 ` Lars Brinkhoff
2020-06-01 13:44 ` Stefan Monnier
2020-06-02 1:51 ` Paul Eggert
2020-06-02 5:58 ` Lars Brinkhoff
2020-06-02 13:50 ` Stefan Monnier
2020-06-02 15:38 ` Drew Adams
2020-06-02 11:46 ` John Yates
2020-07-10 12:13 ` GNU Emacs raison d'etre Lars Brinkhoff
2020-07-10 14:28 ` Drew Adams
2020-07-11 2:16 ` Richard Stallman
2020-05-28 16:41 ` FW: " Drew Adams
2020-05-28 17:37 ` Stefan Monnier
2020-05-28 20:33 ` Perry E. Metzger
2020-05-28 23:44 ` T.V Raman
2020-05-29 3:04 ` Richard Stallman
2020-05-13 19:46 ` T.V Raman
2020-05-13 21:00 ` Dmitry Gutov
2020-05-13 21:02 ` excalamus--- via Emacs development discussions.
2020-05-13 22:22 ` H. Dieter Wilhelm
2020-05-14 4:20 ` Karl Fogel
2020-05-14 0:04 ` John Wiegley
2020-05-14 5:08 ` Richard Stallman
2020-05-14 20:29 ` Karl Fogel
[not found] <64c4b2e4-3c07-0ad4-bcdf-39e95cae8a57.ref@aol.com>
2020-08-09 17:11 ` Clive Tovero
2020-08-10 1:26 ` Alexandre Garreau
[not found] <c0ffdaa1-90cc-2bb3-d2e0-93c7115df969.ref@aol.com>
2020-08-10 2:49 ` Clive Tovero
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=71896546-9110-3b00-1b12-40bc60c181e3@yandex.ru \
--to=dgutov@yandex.ru \
--cc=andreas.roehler@online.de \
--cc=arthur.miller@live.com \
--cc=drew.adams@oracle.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=homeros.misasa@gmail.com \
--cc=jean.christophe.helary@traduction-libre.org \
--cc=kfogel@red-bean.com \
--cc=monnier@iro.umontreal.ca \
--cc=rms@gnu.org \
--cc=rpluim@gmail.com \
--cc=rudalics@gmx.at \
--cc=sorganov@gmail.com \
--cc=stefankangas@gmail.com \
--cc=tkk@misasa.okayama-u.ac.jp \
/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).