From: Drew Adams <drew.adams@oracle.com>
To: Juanma Barranquero <lekktu@gmail.com>
Cc: martin rudalics <rudalics@gmx.at>,
Emacs developers <emacs-devel@gnu.org>
Subject: RE: How to restore the layout?
Date: Mon, 1 Jul 2013 11:03:37 -0700 (PDT) [thread overview]
Message-ID: <b5fd6f62-79f9-4b6f-822e-46e6371f6dbb@default> (raw)
In-Reply-To: <CAAeL0ST2=tj8=-AjPkAEgRsL1=NK7S93ZyNh-iZTsmu71PyoOg@mail.gmail.com>
> > My guess is that, for the reasons I gave earlier (must set up during
> > startup), someone using a standalone minibuffer frame will already have
> > set it up, including its position and size, before trying to restore a
> > desktop. Users will neither want nor need a desktop to record and
> > restore a standalone minibuffer frame.
>
> In many cases, the user will already have set up other frames
"Already" when? You mean before restoring a desktop? If so, agreed.
That was my point, wrt the minibuffer frame: a user will already have it
set up, before trying to restore a desktop.
> in precise detail, the initial one for example (until now, I usually set
> my initial frame with specific size & position). But if she moves the
> frame and saves Emacs, she will expect the frame to restore
Restore when?
> at the new position, not the one in initial-frame-alist.
Sorry, I don't follow you. Restore how - via a desktop?
I don't see `initial-frame-alist' entering the discussion anyway, but that
might be because I don't make any use of it. I use only `default-frame-alist'.
I guess if I wanted to see the initial frame with different properties from
`default-frame-alist' then I would do something like this:
(setq default-frame-alist nil
initial-frame-alist '((background-color . "Whatever")))
default-frame-alist <whatever I wanted different>)
> I don't really see why moving a minibuffer-only frame from its default
> position should be different (other that because it is harder to implement
> correctly, of course ;-).
It's not clear to me what you mean by restoring, or when that happens.
Typically, a user with a standalone minibuffer will (must?) set it up when Emacs starts, from the command line or the init file. If s?he then moves that frame
for some reason, I would NOT assume that s?he wants the next Emacs session to
remember the last position/size of that frame. I would assume that the same
startup code would be used to configure the frame anew the same way.
IOW, I would assume that if a user wants to change what the standalone minibuffer
frame looks like, s?he would do that in the startup code.
Perhaps you are suggesting something like this: A user might want different
desktops that have different standalone minibuffer properties (e.g. size, position).
If so, yes, I can see that possibility. But I would advise leaving handling
that possibility for later, as it's not obvious in that case how to deal with
the various problems I reported to you (separately). There needs to be (IMO,
AFAIK) at most one standalone minibuffer.
Perhaps one solution would be to go ahead and (as you have done so far, I
believe) record the standalone minibuffer frame, but when it comes to restoring
from a desktop, do NOT try to restore it if there already is a standalone
minibuffer frame.
Or perhaps, if there is already a minibuffer frame, just MODIFY its parameters
based on the recorded ones from the desktop - as opposed to creating a new
minibuffer frame.
In any case, I think you need to avoid trying to create another minibuffer frame.
And avoiding that might just eliminate some of the problems I saw. (Dunno.)
> > My suggestion is to record & restore only the frames that do not have
> > an `only' value for frame parameter `minibuffer'. No one will miss the
> > "feature" of recording & restoring a standalone minibuffer frame.
>
> I've tested that and it works, but it is a bit jarring. Your frame
> will restore at the same place it was saved, but the new minibuffer
> frame is restored all over the place.
What "new minibuffer frame"? My suggestion was to NOT record or restore
a minibuffer frame. So restoring a desktop should not be creating any "new
minibuffer frame".
> Of course, if you set up minibuffer-frame-alist for a specific position,
> it will be recreated there, which is still jarring if you've moved the main
> frame.
It's hard to talk about this and follow each other, with just descriptions.
I suggest we take it off list for a while and we stick to easy-to-follow
recipes.
> That said, as a last resort I can live with not saving the
> minibuffer-only frame and document clearly that the user is reponsible
> of its appearance *and* position and should set minibuffer-frame-alist
> correctly when using desktop-restore-frames.
I'd suggest that we start with that. See my other suggestions above, for
possible use afterward. IOW, we might be able to (optionally) accommodate
save/restore of a minibuffer-only frame, if the restore operation avoided
trying to create a new standalone minibuffer frame when one already exists.
> > That is at least the first behavior to try out for your prototype, IMO.
>
> Already tested. Now let me try with saving&restoring the
> minibuffer-only frame; I can fall back to your proposal easily enough.
Great. Good to hear that at least the simple solution works. (That should
be enough for my own use.)
> > Every beast is a strange beast. Every Emacs feature that one is not
> > used to using seems strange at first.
>
> You're talking about UI. I can understand why you do think that they
> are not that strange (or stranger than any other setup). I was talking
> about implementation. From a cursory look at frames.el and other code,
> I'd say minibuffer-only frames add a lot of complexity.
I see. Yes, I mistakenly thought you were talking about a user point of view.
> Individual tastes and diversity are wonderful things. From using
> minibuffer-only frames for a few minutes, I wouldn't touch them with a
> ten foot pole. Multi-frame setups yes, they are nice and, as Stephen
> said, in many cases is easier to deal with many open frames than
> switch between Emacs windows. But I fail entirely to see the appeal of
> having the minibuffer in another frame. Which is not to say that I
> won't work hard on make them work with this feature ;-)
Thanks for the last part. ;-)
As to the missing appeal:
1. Single place to look for all user command input and echoed messages.
No matter what frame might be selected, your visual focus for commands and
messages is always the same.
2. Long, long minibuffer - full-screen width.
And in my case, expands to any number of lines. (I use the minibuffer for
lots of stuff, including sometimes large sexps.)
3. Less wasted screen real estate. This (minor) advantage would go away
if Emacs showed a minibuffer only for the selected frame. No need for each
frame to show a minibuffer/echo area, even if it cannot currently be used.
However, if Emacs did dynamicaly show/hide minibuffers in frames that way,
it might be distracting/disorienting. In any case, I would prefer the
single-location, permanent, standalone minibuffer frame solution.
next prev parent reply other threads:[~2013-07-01 18:03 UTC|newest]
Thread overview: 264+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-22 13:45 How to restore the layout? Angelo Graziosi
2013-06-22 23:01 ` Xue Fuqiao
2013-06-23 10:24 ` Angelo Graziosi
2013-06-23 8:26 ` martin rudalics
2013-06-23 10:35 ` Angelo Graziosi
2013-06-24 17:05 ` martin rudalics
2013-06-24 17:23 ` Juanma Barranquero
2013-06-24 17:30 ` Eli Zaretskii
2013-06-24 17:52 ` Juanma Barranquero
2013-06-24 18:18 ` Eli Zaretskii
2013-06-24 18:33 ` Stephen Berman
2013-06-24 18:33 ` Stephen Berman
2013-06-24 20:10 ` Juanma Barranquero
2013-06-24 20:11 ` Juanma Barranquero
2013-06-24 20:22 ` Jambunathan K
2013-06-24 20:28 ` Juanma Barranquero
2013-06-24 20:57 ` martin rudalics
2013-06-24 22:47 ` Juanma Barranquero
2013-06-24 23:38 ` Juri Linkov
2013-06-24 23:43 ` Juanma Barranquero
2013-06-25 6:03 ` Juri Linkov
2013-06-25 16:05 ` Juanma Barranquero
2013-06-25 6:46 ` martin rudalics
2013-06-25 15:32 ` Juanma Barranquero
2013-06-25 16:32 ` Stefan Monnier
2013-06-25 16:38 ` martin rudalics
2013-06-25 17:21 ` Juanma Barranquero
2013-06-25 21:36 ` Angelo Graziosi
2013-06-25 21:40 ` Juanma Barranquero
2013-06-26 0:52 ` chad
2013-06-26 14:03 ` chad
2013-06-26 17:21 ` Juanma Barranquero
2013-06-26 18:27 ` martin rudalics
2013-06-26 23:05 ` Juanma Barranquero
2013-06-27 2:35 ` Stefan Monnier
2013-06-27 2:57 ` Juanma Barranquero
2013-06-27 4:30 ` Stefan Monnier
2013-06-27 8:55 ` Juanma Barranquero
2013-06-27 15:20 ` Stefan Monnier
2013-06-27 15:23 ` Juanma Barranquero
2013-06-27 8:05 ` martin rudalics
2013-06-27 9:00 ` Juanma Barranquero
2013-06-27 9:38 ` martin rudalics
2013-06-27 21:02 ` Juanma Barranquero
2013-06-28 6:34 ` martin rudalics
2013-06-28 11:53 ` Juanma Barranquero
2013-06-28 14:02 ` martin rudalics
2013-06-27 13:29 ` Angelo Graziosi
2013-06-27 14:05 ` Juanma Barranquero
2013-06-27 14:31 ` Angelo Graziosi
2013-06-27 14:45 ` Juanma Barranquero
2013-06-27 18:27 ` martin rudalics
2013-06-27 20:30 ` Juanma Barranquero
2013-06-27 20:49 ` martin rudalics
2013-06-27 20:52 ` Juanma Barranquero
2013-06-27 21:00 ` martin rudalics
2013-06-27 21:03 ` Juanma Barranquero
2013-06-27 23:33 ` Juanma Barranquero
2013-06-28 6:07 ` Eli Zaretskii
2013-06-28 8:17 ` Jan Djärv
2013-06-28 11:54 ` Juanma Barranquero
2013-06-28 11:48 ` Juanma Barranquero
2013-06-28 17:55 ` Eli Zaretskii
2013-06-28 18:15 ` Stefan Monnier
2013-06-28 17:22 ` Stefan Monnier
2013-06-28 17:51 ` Juanma Barranquero
2013-06-28 19:36 ` Stefan Monnier
2013-06-29 0:54 ` Juanma Barranquero
2013-06-29 8:29 ` martin rudalics
2013-06-29 22:06 ` Juanma Barranquero
2013-06-30 9:35 ` martin rudalics
2013-06-30 10:32 ` Juanma Barranquero
2013-06-30 12:55 ` martin rudalics
2013-06-30 17:55 ` Juanma Barranquero
2013-07-01 6:48 ` martin rudalics
2013-07-04 20:41 ` Angelo Graziosi
2013-07-04 21:34 ` Juanma Barranquero
2013-07-04 23:10 ` Angelo Graziosi
2013-07-04 23:19 ` Juanma Barranquero
2013-07-05 7:45 ` martin rudalics
2013-07-05 9:37 ` Juanma Barranquero
2013-07-05 14:02 ` Angelo Graziosi
2013-07-05 14:55 ` Juanma Barranquero
2013-07-05 15:02 ` Angelo Graziosi
2013-07-05 15:10 ` Juanma Barranquero
2013-07-05 15:30 ` martin rudalics
2013-07-05 15:39 ` Juanma Barranquero
2013-07-05 15:54 ` martin rudalics
2013-07-05 16:02 ` Juanma Barranquero
2013-07-05 17:03 ` martin rudalics
2013-07-05 17:06 ` Juanma Barranquero
2013-07-05 17:37 ` martin rudalics
2013-07-06 14:32 ` Juanma Barranquero
2013-07-07 10:57 ` martin rudalics
2013-07-05 15:21 ` martin rudalics
2013-07-05 15:26 ` Juanma Barranquero
2013-07-05 15:39 ` martin rudalics
2013-07-05 15:40 ` Juanma Barranquero
2013-07-05 15:55 ` martin rudalics
2013-07-05 17:04 ` Angelo Graziosi
2013-07-05 17:09 ` Juanma Barranquero
2013-07-05 7:45 ` martin rudalics
2013-07-05 10:07 ` Angelo Graziosi
2013-07-05 12:58 ` martin rudalics
2013-07-05 13:13 ` Jan Djärv
2013-07-05 13:41 ` Angelo Graziosi
2013-07-05 14:42 ` martin rudalics
2013-07-05 18:22 ` Eli Zaretskii
2013-07-05 20:30 ` Angelo Graziosi
2013-07-06 8:47 ` martin rudalics
2013-07-06 9:10 ` Angelo Graziosi
2013-07-06 10:44 ` martin rudalics
2013-07-06 11:04 ` Angelo Graziosi
2013-07-06 13:06 ` martin rudalics
2013-07-06 13:18 ` Eli Zaretskii
2013-07-06 13:43 ` martin rudalics
2013-07-06 13:53 ` Eli Zaretskii
2013-07-07 10:56 ` martin rudalics
2013-07-06 14:27 ` Angelo Graziosi
2013-07-06 18:57 ` Drew Adams
2013-07-07 10:57 ` martin rudalics
2013-07-07 11:32 ` Juanma Barranquero
2013-07-07 12:46 ` martin rudalics
2013-07-07 15:53 ` Drew Adams
2013-07-08 6:47 ` martin rudalics
2013-07-08 13:56 ` Drew Adams
2013-07-08 17:29 ` Juanma Barranquero
2013-07-09 9:08 ` martin rudalics
2013-07-09 9:07 ` martin rudalics
2013-07-09 15:32 ` Drew Adams
2013-07-10 7:20 ` martin rudalics
2013-07-10 13:50 ` Drew Adams
2013-07-06 9:13 ` Juanma Barranquero
2013-07-06 10:44 ` martin rudalics
2013-07-06 14:39 ` Juanma Barranquero
2013-07-05 7:44 ` martin rudalics
2013-06-29 8:51 ` Stephen Leake
2013-06-29 18:00 ` chad
2013-06-29 18:12 ` Eli Zaretskii
2013-06-29 22:36 ` Juanma Barranquero
2013-06-30 15:27 ` Stephen Leake
2013-06-30 18:12 ` Juanma Barranquero
2013-06-28 8:13 ` Jan Djärv
2013-06-28 8:31 ` martin rudalics
2013-06-28 8:46 ` Jan Djärv
[not found] ` <51CD5489.10902@g>
2013-06-28 9:16 ` martin rudalics
2013-06-28 10:01 ` Jan Djärv
2013-06-28 10:19 ` martin rudalics
2013-06-28 10:26 ` Jan Djärv
2013-06-28 11:50 ` martin rudalics
2013-06-29 8:47 ` Stephen Leake
2013-06-29 22:26 ` Juanma Barranquero
2013-06-30 15:25 ` Stephen Leake
2013-06-30 18:09 ` Juanma Barranquero
2013-06-28 12:46 ` Eli Zaretskii
2013-06-28 14:03 ` martin rudalics
2013-06-28 14:58 ` Eli Zaretskii
2013-06-28 15:06 ` Juanma Barranquero
2013-06-28 17:53 ` Eli Zaretskii
2013-06-29 0:49 ` Juanma Barranquero
2013-06-28 15:22 ` Jan Djärv
2013-06-28 15:32 ` Juanma Barranquero
2013-06-28 15:53 ` Jan Djärv
2013-06-28 12:05 ` Juanma Barranquero
2013-06-28 13:06 ` Eli Zaretskii
2013-06-28 13:22 ` Juanma Barranquero
2013-06-28 14:51 ` Eli Zaretskii
2013-06-28 15:22 ` Juanma Barranquero
2013-06-28 17:52 ` Eli Zaretskii
2013-06-29 0:47 ` Juanma Barranquero
2013-06-29 8:39 ` Stephen Leake
2013-06-29 22:18 ` Juanma Barranquero
2013-06-29 23:48 ` Drew Adams
2013-06-30 10:16 ` Juanma Barranquero
2013-06-30 16:30 ` Drew Adams
2013-06-30 18:15 ` Juanma Barranquero
2013-06-30 7:51 ` Jan Djärv
2013-06-30 9:35 ` martin rudalics
2013-06-30 10:01 ` Jan Djärv
2013-06-30 10:11 ` martin rudalics
2013-06-30 10:34 ` Juanma Barranquero
2013-06-30 10:29 ` Juanma Barranquero
2013-06-30 12:55 ` martin rudalics
2013-06-30 18:03 ` Juanma Barranquero
2013-06-30 21:32 ` Jan Djärv
2013-07-01 0:28 ` Juanma Barranquero
2013-07-01 3:31 ` Juanma Barranquero
2013-07-01 6:50 ` martin rudalics
2013-07-01 10:38 ` Juanma Barranquero
2013-07-02 10:38 ` martin rudalics
2013-07-02 16:32 ` Juanma Barranquero
2013-07-03 9:27 ` martin rudalics
2013-07-03 10:36 ` Juanma Barranquero
2013-07-03 12:42 ` martin rudalics
2013-07-03 14:20 ` Juanma Barranquero
2013-07-03 14:32 ` Juanma Barranquero
2013-07-04 9:35 ` martin rudalics
2013-07-03 14:08 ` Drew Adams
2013-07-08 2:50 ` Juanma Barranquero
2013-07-08 6:47 ` martin rudalics
2013-07-08 12:13 ` Juanma Barranquero
2013-07-01 14:11 ` Drew Adams
2013-07-01 14:40 ` Juanma Barranquero
2013-07-01 16:03 ` Drew Adams
2013-07-01 16:37 ` Juanma Barranquero
2013-07-01 18:03 ` Drew Adams [this message]
2013-07-02 0:25 ` Juanma Barranquero
2013-07-02 3:46 ` Drew Adams
2013-07-02 17:32 ` Juanma Barranquero
2013-07-02 19:40 ` Drew Adams
2013-07-03 9:03 ` Juanma Barranquero
2013-07-03 9:34 ` martin rudalics
2013-07-03 10:38 ` Juanma Barranquero
2013-07-03 12:42 ` martin rudalics
2013-07-03 14:35 ` Juanma Barranquero
2013-07-04 9:35 ` martin rudalics
2013-07-04 14:17 ` Juanma Barranquero
2013-07-05 7:43 ` martin rudalics
2013-07-05 9:35 ` Juanma Barranquero
2013-07-03 14:08 ` Drew Adams
2013-07-03 14:54 ` Juanma Barranquero
2013-07-03 9:27 ` martin rudalics
2013-07-03 14:08 ` Drew Adams
2013-07-03 9:27 ` martin rudalics
2013-07-03 10:37 ` Juanma Barranquero
2013-07-03 14:08 ` Drew Adams
2013-07-03 15:16 ` Juanma Barranquero
2013-07-03 17:01 ` Drew Adams
2013-06-30 15:23 ` Stephen Leake
2013-06-30 15:34 ` Eli Zaretskii
2013-06-28 14:03 ` martin rudalics
2013-06-28 15:12 ` Juanma Barranquero
2013-06-28 10:22 ` Eli Zaretskii
2013-06-28 11:50 ` martin rudalics
2013-06-28 12:11 ` Juanma Barranquero
2013-06-28 12:24 ` Angelo Graziosi
2013-06-28 13:02 ` Eli Zaretskii
2013-06-28 14:07 ` martin rudalics
2013-06-28 14:59 ` Eli Zaretskii
2013-06-28 12:08 ` Juanma Barranquero
2013-06-28 13:07 ` Eli Zaretskii
2013-06-28 13:29 ` Juanma Barranquero
2013-06-28 14:53 ` Eli Zaretskii
2013-06-28 15:24 ` Juanma Barranquero
2013-06-29 8:03 ` Stephen Leake
2013-06-29 8:11 ` Eli Zaretskii
2013-06-30 15:29 ` Stephen Leake
2013-06-30 15:39 ` Eli Zaretskii
2013-06-28 12:00 ` Juanma Barranquero
2013-06-28 12:31 ` Jan Djärv
2013-06-28 13:18 ` Juanma Barranquero
2013-06-28 14:26 ` Jan Djärv
2013-06-28 15:19 ` Juanma Barranquero
2013-06-28 14:03 ` martin rudalics
2013-06-28 15:13 ` Jan Djärv
2013-06-28 15:14 ` Juanma Barranquero
2013-06-28 14:02 ` martin rudalics
2013-06-28 15:10 ` Juanma Barranquero
2013-06-28 16:17 ` martin rudalics
2013-06-29 8:41 ` Stephen Leake
2013-06-28 13:29 ` Drew Adams
2013-06-25 3:22 ` Stephen J. Turnbull
2013-06-24 17:38 ` martin rudalics
2013-06-23 12:28 ` Juanma Barranquero
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=b5fd6f62-79f9-4b6f-822e-46e6371f6dbb@default \
--to=drew.adams@oracle.com \
--cc=emacs-devel@gnu.org \
--cc=lekktu@gmail.com \
--cc=rudalics@gmx.at \
/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).