From: martin rudalics <rudalics@gmx.at>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: David K?gedal <davidk@lysator.liu.se>, rms@gnu.org, emacs-devel@gnu.org
Subject: Re: display-buffer-change
Date: Sun, 09 Sep 2007 23:42:54 +0200 [thread overview]
Message-ID: <46E468DE.4070707@gmx.at> (raw)
In-Reply-To: <jwvlkbffxok.fsf-monnier+emacs@gnu.org>
>>>0 - it's not clear to me why Emacs chooses to split B rather than A.
>>>It seems unrelated to the split-height-threshold fix, so we need to look
>>>into this before being able to determine how best to fix it.
>
>
>>Fget_largest_window returns the largest window and B could be that
>>window.
>
>
> So it's not always going to behave this way, it depends on details of the
> current layout. A shift by 1 line can change the result?
If Fget_largest_window doesn't provide a suitable window Fget_lru_window
kicks in. Hence we can have all sorts of results. `display-buffer' is
very stochastic.
>>>1 - since we're in buffer/window A, it would probably be preferable to place
>>>buffer C closer rather than further, so in this case after splitting B
>>>display-buffer should prefer using the top window for C and the bottom
>>>one for B.
>
>
>>With `split-window' the new window is the lower one, we would lose all
>>associations for B if we did that.
>
>
> I know. It'a problem. Independent from the current one.
It's hardly a problem for the OP. It's a real pain for me.
>>>3 - we have window-size-fixed for that.
>
>
>>David: Could you set that for the buffer of your window B and look
>>whether it gives good results.
>
>
> I don't think that's going to help. This variable is almost never
> used/obeyed :-(
I was surprised to find out that it is checked more often than I
thought initially.
> And I don't think it'd help the OP anyway because he doesn't want to go
> a configure such things.
Maybe he would. But it's not useful in general (given the default value
of `split-height-threshold' I don't think people use that either).
> And the window shouldn't be fixed-size anyway
> (you should still be able to resize it with balance-window, for example).
100% agreement, but it was your suggestion ;-)
>>>4 - we don't have window-(un)splittable for that (there's a frame parameter
>>>to prevent splitting windows in that frame, tho).
>
>
>>Earlier I thought about splitting obey a buffer-local value for
>>`split-height-threshold'.
>
>
> That would make a lot of sense. But I don't think it'd help the OP either
> because it's too detailed a configuration.
The OP would do it. It's not useful as a general suggestion and it
might be hairy to implement. Strictly spoken, `display-buffer' would
have to - whenever it tries to split a window - check the buffer-local
value of `split-height-threshold' of the buffer displayed in that window
(or should it be the value of the buffer we want to display?). Anyway,
just try to convey this in a user manual.
>
> To get back to the OP's example scenario, starting from
>
>
>>>>+-------------+
>>>>| |
>>>>| A |
>>>>| |
>>>>+-------------+
>>>>| |
>>>>| B |
>>>>| |
>>>>+-------------+
>
>
> Why would
>
>
>>>>+-------------+
>>>>| A |
>>>>+-------------+
>>>>| C |
>>>>+-------------+
>>>>| |
>>>>| B |
>>>>| |
>>>>+-------------+
>
>
> be better than
>
>
>>>>+-------------+
>>>>| |
>>>>| A |
>>>>| |
>>>>+-------------+
>>>>| B |
>>>>+-------------+
>>>>| C |
>>>>+-------------+
>
>
> and why should it depend on B being dedicated?
I can only speculate: B is my fixed point for compiling, tracing,
debugging, observing or controlling the world. It's the area of the
screen I'm looking first when I run into troubles. I don't want it to
change size or position because I wouldn't find it at its usual place in
the shape I got used to.
More likely it's because the OP got used to the A / C / B behavior over
the years. Maybe he can tell us more.
next prev parent reply other threads:[~2007-09-09 21:42 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-27 9:32 bug of display-table & make-glyph-code levin
2007-09-04 16:45 ` Richard Stallman
2007-09-04 18:09 ` martin rudalics
2007-09-04 19:08 ` Glenn Morris
2007-09-05 5:58 ` levin
2007-09-05 7:22 ` Glenn Morris
2007-09-05 8:22 ` Du Jingwu
2007-09-05 20:02 ` Richard Stallman
2007-09-05 6:16 ` Richard Stallman
2007-09-05 7:21 ` Glenn Morris
2007-09-05 8:08 ` martin rudalics
2007-09-05 8:37 ` Glenn Morris
2007-09-05 9:58 ` martin rudalics
2007-09-05 16:44 ` Glenn Morris
2007-09-05 17:34 ` martin rudalics
2007-09-06 5:29 ` Glenn Morris
2007-09-06 8:49 ` martin rudalics
2007-09-07 1:44 ` Glenn Morris
2007-09-07 8:02 ` martin rudalics
2007-09-07 17:48 ` Glenn Morris
2007-09-08 8:52 ` martin rudalics
2007-09-08 7:00 ` Richard Stallman
2007-09-12 7:37 ` Glenn Morris
2007-09-12 8:28 ` martin rudalics
2007-10-11 23:57 ` dired-warning (was: bug of display-table & make-glyph-code) Juri Linkov
2007-10-12 7:06 ` dired-warning martin rudalics
2007-10-14 21:21 ` dired-warning Juri Linkov
2007-09-05 17:54 ` bug of display-table & make-glyph-code Eli Zaretskii
2007-09-05 8:51 ` levin
2007-09-06 4:59 ` Richard Stallman
2007-09-05 10:08 ` frame resizing under KDE (was Re: bug of display-table & make-glyph-code) Stephen Berman
2007-09-05 17:42 ` martin rudalics
2007-09-06 6:17 ` frame resizing under KDE (was Re: bug of display-table & make-glyph-code ) Levin
2007-09-06 12:01 ` frame resizing under KDE Stephen Berman
2007-09-06 1:15 ` bug of display-table & make-glyph-code Chong Yidong
2007-09-06 9:09 ` martin rudalics
2007-09-06 14:08 ` Stefan Monnier
2007-09-06 14:49 ` martin rudalics
2007-09-06 20:34 ` Stefan Monnier
2007-09-06 21:08 ` martin rudalics
2007-09-07 17:45 ` Stefan Monnier
2007-09-07 18:30 ` martin rudalics
2007-09-07 20:25 ` Stefan Monnier
2007-09-08 9:22 ` display-buffer-change (was Re: bug of display-table & make-glyph-code) martin rudalics
2007-09-09 19:33 ` display-buffer-change Stefan Monnier
2007-09-09 21:42 ` martin rudalics [this message]
2007-09-10 6:57 ` display-buffer-change David Kågedal
2007-09-10 8:31 ` display-buffer-change martin rudalics
2007-09-10 6:48 ` display-buffer-change David Kågedal
2007-09-10 8:00 ` display-buffer-change martin rudalics
2007-09-07 6:32 ` bug of display-table & make-glyph-code Richard Stallman
2007-09-06 5:00 ` Richard Stallman
2007-09-06 5:27 ` Glenn Morris
2007-09-05 9:15 ` Kim F. Storm
2007-09-05 17:38 ` martin rudalics
2007-09-05 20:43 ` Kim F. Storm
2007-09-07 5:11 ` Kenichi Handa
2007-09-07 8:47 ` Eli Zaretskii
2007-09-07 12:25 ` Kenichi Handa
2007-09-07 18:37 ` Eli Zaretskii
2007-09-08 7:00 ` Richard Stallman
2007-09-10 2:43 ` Kenichi Handa
2007-09-10 3:18 ` Eli Zaretskii
2007-09-07 19:53 ` Richard Stallman
2007-09-10 1:12 ` Richard Stallman
2007-09-10 4:15 ` Kenichi Handa
2007-09-10 5:50 ` Stefan Monnier
2007-09-10 6:29 ` Kenichi Handa
2007-09-10 11:51 ` Kim F. Storm
2007-09-10 14:20 ` Leo
2007-09-11 12:49 ` Stefan Monnier
2007-09-11 20:30 ` Richard Stallman
2007-09-11 21:50 ` Kim F. Storm
2007-09-10 19:40 ` Eli Zaretskii
2007-09-11 0:28 ` Kenichi Handa
2007-09-12 8:45 ` Richard Stallman
2007-09-11 20:31 ` Richard Stallman
2007-09-12 6:55 ` Eli Zaretskii
2007-09-13 16:30 ` Richard Stallman
2007-09-10 23:54 ` Richard Stallman
2007-09-11 0:09 ` Drew Adams
2007-09-11 0:33 ` Kenichi Handa
2007-09-11 1:24 ` Drew Adams
2007-09-06 5:00 ` Richard Stallman
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=46E468DE.4070707@gmx.at \
--to=rudalics@gmx.at \
--cc=davidk@lysator.liu.se \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=rms@gnu.org \
/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).