unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@linkov.net>
To: martin rudalics <rudalics@gmx.at>
Cc: 36859@debbugs.gnu.org
Subject: bug#36859: Customizable fit-window-to-buffer
Date: Wed, 31 Jul 2019 23:57:14 +0300	[thread overview]
Message-ID: <87sgqmq67t.fsf@mail.linkov.net> (raw)
In-Reply-To: <6a42d2af-b17a-d2da-1c3c-655f3f2a356f@gmx.at> (martin rudalics's message of "Wed, 31 Jul 2019 11:12:46 +0200")

>> It's a nice feature when fit-window-to-buffer resizes temporary windows
>> that go away after exiting the minibuffer.
>>
>> OTOH, resizing permanent windows does more harm, because these windows
>> can be reused later for other buffers, but their size remains too narrow.
>
> What is a permanent window?

A window that remains indefinitely after finishing the current command,
and where other buffers with different number of lines might appear.

                               IIRC we only fit new windows or frames
> that go away when quit and carefully try to not resize other windows
> but the one used for splitting off the new window.  Old windows are
> fit iff they did show the same buffer before and were created for that
> buffer.  Such windows should, by concept, not be reused for showing
> another buffer.

I see that the existing windows are resized with
'shrink-window-if-larger-than-buffer'.  So not only
'fit-window-to-buffer' is involved.

Two examples of 'shrink-window-if-larger-than-buffer':
- in vc-log-internal-common;
- in vc-diff-finish.

>> I'm not asking to change the default behavior, but it should be customizable.
>
> In what sense?

I hope it would be possible to specify a special action alist entry
in 'display-buffer-alist' , e.g.

  (window-height . no-fit-window)

to override

  (window-height . fit-window-to-buffer)

This requires that more commands should use this alist in their
'display-buffer' calls instead of directly calling
'shrink-window-if-larger-than-buffer'.

Do you think this is feasible?  If not, then maybe these commands
should provide post-display hooks such as e.g. 'proced-post-display-hook'
where 'fit-window-to-buffer' is added by default, but can be removed
by customization.





  reply	other threads:[~2019-07-31 20:57 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-30 20:23 bug#36859: Customizable fit-window-to-buffer Juri Linkov
2019-07-31  9:12 ` martin rudalics
2019-07-31 20:57   ` Juri Linkov [this message]
2019-08-03  7:57     ` martin rudalics
2019-08-03 21:16       ` Juri Linkov
2019-08-04  8:00         ` martin rudalics
2019-08-04 19:27           ` Juri Linkov
2019-08-05  9:23             ` martin rudalics
2019-08-05 22:03               ` Juri Linkov
2019-08-06  9:00                 ` martin rudalics
2019-08-06 22:16                   ` Juri Linkov
2019-08-07 22:01                     ` Juri Linkov
2019-08-08  7:27                       ` martin rudalics
2019-08-08 21:39                         ` Juri Linkov

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=87sgqmq67t.fsf@mail.linkov.net \
    --to=juri@linkov.net \
    --cc=36859@debbugs.gnu.org \
    --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).