From: Juri Linkov <juri@jurta.org>
To: martin rudalics <rudalics@gmx.at>
Cc: 1806@emacsbugs.donarmstrong.com
Subject: bug#1806: dired-pop-to-buffer in wrong place
Date: Wed, 07 Jan 2009 19:47:59 +0200 [thread overview]
Message-ID: <87aba3qb5g.fsf@jurta.org> (raw)
In-Reply-To: <4964CB72.1090605@gmx.at> (martin rudalics's message of "Wed, 07 Jan 2009 16:34:10 +0100")
> Usually this worked correctly due to the fact that directory buffers
> were sufficiently high. But for `pop-up-frames' non-nil addicts this
> was not necessarily the right behavior.
>
> Anyway, I suppose you mean something like
>
> (defun dired-pop-to-buffer (buf)
> (let* ((split-height-threshold 8)
> split-width-threshold
> (buffer (get-buffer-create buf))
> (window (window--try-to-split-window (selected-window))))
> (if window
> (progn
> (select-window window)
> (set-window-buffer window buffer))
> (pop-to-buffer buffer))
> (when dired-shrink-to-fit
> (fit-window-to-buffer nil nil 1))))
Thank you, this works almost ideally. The only problem I've encountered
is that sometimes it resizes existing windows:
+------------+------------+ +------------+------------+
| | | | | |
| | | | | |
| dired | other2 | | dired | other2 |
| | | | | |
| | | +------------+ |
| | | | file list | |
| | | ===> +------------+ |
+------------+ | | | |
| | | | | |
| other1 | | | other1 | |
| | | | | |
| | | | | |
+------------+------------+ +------------+------------+
Please notice how the upper border of the lower window (other1)
was moved up. I think it should keep the existing configuration
and create a new window at the cost of space from the original
dired buffer like this:
+------------+------------+ +------------+------------+
| | | | | |
| | | | | |
| dired | other | | dired | other |
| | | | | |
| | | | | |
| | | +------------+ |
| | | | file list | |
+------------+ | ===> +------------+ |
| | | | | |
| other | | | other | |
| | | | | |
| | | | | |
+------------+------------+ +------------+------------+
As I can see currently `fit-window-to-buffer' always takes space
from the bottom window, but we need it from the top window.
>> Please see the code in calendar.el that creates such standard layout
>> for non-wide-screen configurations (i.e. when there is no right window).
>> I think we should keep exactly the same logic for wide-screen configurations,
>> i.e. treating the creation of such small low windows as if there is no
>> existing side window.
>
> Would the above code handle that?
I believe it would handle these cases. Maybe it is possible to create
a single function e.g. `pop-to-buffer-below' that will display a new window
below from the current window taking its space.
--
Juri Linkov
http://www.jurta.org/emacs/
next prev parent reply other threads:[~2009-01-07 17:47 UTC|newest]
Thread overview: 166+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-06 15:29 bug#1806: dired-pop-to-buffer in wrong place Juri Linkov
2009-01-06 17:33 ` martin rudalics
2009-01-06 17:54 ` Juri Linkov
2009-01-06 18:25 ` martin rudalics
2009-01-06 21:09 ` Juri Linkov
2009-01-07 10:27 ` martin rudalics
2009-01-07 12:09 ` Juri Linkov
2009-01-07 15:34 ` martin rudalics
2009-01-07 17:47 ` Juri Linkov [this message]
2009-01-07 20:00 ` martin rudalics
2009-01-08 7:42 ` martin rudalics
2009-01-08 22:55 ` Juri Linkov
2009-01-09 9:30 ` martin rudalics
2009-01-13 23:46 ` Juri Linkov
2009-01-14 14:20 ` martin rudalics
2009-01-14 18:00 ` Stefan Monnier
2009-01-14 21:55 ` martin rudalics
2009-01-14 22:19 ` Stefan Monnier
2009-01-15 10:36 ` martin rudalics
2009-01-15 14:59 ` Stefan Monnier
2009-01-15 22:59 ` Juri Linkov
2009-01-16 2:19 ` Stefan Monnier
2009-01-20 15:59 ` martin rudalics
2009-01-21 2:51 ` Stefan Monnier
2009-04-28 22:58 ` Juri Linkov
2009-04-29 7:13 ` martin rudalics
2009-04-29 9:54 ` Juri Linkov
2009-04-29 12:39 ` martin rudalics
2009-04-30 11:47 ` Juri Linkov
2009-04-29 15:28 ` Stefan Monnier
2009-04-30 9:06 ` martin rudalics
2009-04-30 18:29 ` Stefan Monnier
2009-05-01 10:04 ` martin rudalics
2009-05-01 17:24 ` Stefan Monnier
2009-05-02 6:59 ` martin rudalics
2009-05-04 13:52 ` Stefan Monnier
2009-05-04 16:40 ` martin rudalics
2009-05-02 11:48 ` Juri Linkov
2009-05-02 13:09 ` martin rudalics
2009-05-02 13:54 ` Juri Linkov
2009-05-02 18:53 ` martin rudalics
2009-05-02 20:57 ` Juri Linkov
2009-05-02 22:39 ` Juri Linkov
2009-05-03 7:50 ` martin rudalics
2009-05-03 11:46 ` Juri Linkov
2009-05-03 19:02 ` martin rudalics
2009-05-05 7:04 ` martin rudalics
2009-05-17 19:54 ` Juri Linkov
2009-05-18 8:11 ` martin rudalics
2009-05-18 10:59 ` Roland Winkler
2009-05-18 12:14 ` martin rudalics
2009-05-18 15:04 ` Roland Winkler
2009-05-18 19:44 ` Stefan Monnier
2009-05-19 0:09 ` Juri Linkov
2009-05-18 8:11 ` martin rudalics
2009-05-18 18:49 ` Glenn Morris
2009-05-19 0:19 ` Juri Linkov
2009-10-03 2:20 ` Glenn Morris
2009-10-05 21:45 ` Juri Linkov
2009-10-05 22:27 ` Stephen Berman
2009-10-06 2:53 ` Glenn Morris
2009-10-06 8:17 ` Stephen Berman
2009-10-06 22:38 ` Juri Linkov
2009-10-06 2:52 ` Glenn Morris
2009-10-06 3:55 ` Stefan Monnier
2009-10-06 7:22 ` Glenn Morris
2009-10-06 8:19 ` Stefan Monnier
2009-10-07 2:58 ` Glenn Morris
2009-10-07 5:54 ` Stefan Monnier
2009-10-06 8:56 ` martin rudalics
2009-10-06 16:19 ` Glenn Morris
2009-10-06 16:46 ` Stefan Monnier
2009-10-06 22:38 ` Juri Linkov
2009-10-07 2:58 ` Glenn Morris
2009-10-12 20:32 ` Juri Linkov
2009-10-12 22:57 ` Glenn Morris
2009-10-13 22:37 ` Juri Linkov
2009-10-14 20:35 ` Juri Linkov
2009-10-15 5:39 ` martin rudalics
2009-10-15 22:29 ` Juri Linkov
2009-10-16 0:30 ` Stefan Monnier
2009-10-16 7:05 ` martin rudalics
2009-10-16 13:09 ` Stefan Monnier
2009-10-16 13:25 ` martin rudalics
2009-10-16 15:37 ` Stefan Monnier
2009-10-16 16:35 ` martin rudalics
2009-10-16 20:41 ` Stefan Monnier
2009-10-17 9:03 ` martin rudalics
2009-10-18 1:40 ` Stefan Monnier
2009-10-18 10:24 ` martin rudalics
2009-10-18 14:45 ` Stefan Monnier
2009-10-18 15:34 ` martin rudalics
2009-10-19 2:08 ` Stefan Monnier
2009-10-19 7:36 ` martin rudalics
2009-10-19 14:01 ` Stefan Monnier
2009-10-19 15:16 ` martin rudalics
2009-10-19 18:35 ` Stefan Monnier
2009-10-20 7:35 ` martin rudalics
2009-10-20 13:30 ` Stefan Monnier
2009-10-20 15:14 ` martin rudalics
2009-10-20 19:45 ` Stefan Monnier
2009-10-16 7:05 ` martin rudalics
2009-10-16 9:38 ` Juri Linkov
2009-10-16 12:04 ` martin rudalics
2009-10-16 16:10 ` Glenn Morris
2009-10-16 13:15 ` Stefan Monnier
2009-10-06 18:26 ` Glenn Morris
2009-10-06 22:38 ` Juri Linkov
2009-05-19 0:18 ` Juri Linkov
2009-05-19 2:04 ` Stefan Monnier
2009-01-14 23:37 ` Juri Linkov
2009-01-15 10:37 ` martin rudalics
2009-01-15 23:00 ` Juri Linkov
2009-01-16 14:52 ` martin rudalics
2009-01-14 21:28 ` Juri Linkov
2009-01-14 22:01 ` martin rudalics
2009-01-14 23:16 ` Stefan Monnier
[not found] ` <jwv63kpg30v.fsf-monnier+emacsbugreports@gnu.org>
2009-01-08 19:25 ` martin rudalics
2009-01-08 22:59 ` Juri Linkov
[not found] ` <jwvy6xl9mz4.fsf-monnier+emacsbugreports@gnu.org>
2009-01-09 9:30 ` martin rudalics
2009-01-09 17:19 ` Stefan Monnier
2009-01-14 14:20 ` martin rudalics
2009-01-14 18:00 ` Stefan Monnier
2011-10-04 22:57 ` Glenn Morris
2011-10-04 23:55 ` Juri Linkov
2011-10-05 22:13 ` Chong Yidong
2011-10-05 23:23 ` Juri Linkov
2011-10-06 2:03 ` Chong Yidong
2011-10-06 15:20 ` Juri Linkov
2011-10-10 20:51 ` Juri Linkov
2009-01-08 14:31 ` Roland Winkler
2009-01-08 11:52 ` Carsten Dominik
2009-01-08 19:25 ` martin rudalics
2009-01-06 22:07 ` Stefan Monnier
2009-01-06 23:27 ` Juri Linkov
2009-01-07 4:23 ` Stefan Monnier
2012-09-22 13:24 ` martin rudalics
2012-09-22 23:54 ` Juri Linkov
2012-09-23 9:22 ` martin rudalics
2012-09-24 8:22 ` Juri Linkov
2012-09-24 9:40 ` martin rudalics
2012-09-25 8:05 ` Juri Linkov
2012-09-25 9:59 ` martin rudalics
2012-09-26 6:24 ` Juri Linkov
2012-09-26 8:48 ` martin rudalics
2012-09-26 10:10 ` Juri Linkov
2012-09-26 11:03 ` martin rudalics
2012-09-27 8:01 ` Juri Linkov
2012-09-27 17:32 ` martin rudalics
2012-09-27 19:24 ` Juri Linkov
2012-09-28 6:32 ` martin rudalics
2012-09-28 9:38 ` Juri Linkov
2012-09-28 13:14 ` martin rudalics
2012-09-28 15:27 ` Juri Linkov
2012-09-30 10:47 ` martin rudalics
2012-09-30 13:40 ` Juri Linkov
2012-10-03 23:29 ` Juri Linkov
2012-10-04 3:55 ` Drew Adams
2012-10-04 7:45 ` martin rudalics
2012-10-04 14:04 ` Drew Adams
2012-10-04 7:44 ` martin rudalics
2012-10-04 8:51 ` Juri Linkov
2012-10-04 13:17 ` martin rudalics
2012-09-26 3:16 ` Chong Yidong
2012-09-26 8:48 ` martin rudalics
2012-09-26 11:22 ` 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=87aba3qb5g.fsf@jurta.org \
--to=juri@jurta.org \
--cc=1806@emacsbugs.donarmstrong.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).