[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#38181: Actual height of mode-line not taken into account
From: |
martin rudalics |
Subject: |
bug#38181: Actual height of mode-line not taken into account |
Date: |
Sat, 16 Nov 2019 20:30:11 +0100 |
> Again, the mode-line-prettifiers are not the ones who create new buffers
> and then call fit-buffer-to-window. It's arbitrary other packages that
> do that. An optional argument therefore would not help because when one
> of the prettifier modes is active, then each and every third-party
> caller of fit-buffer-to-window would have to pass that optional
> argument.
I see. Maybe a function 'set-default-mode-line-format' would be
useful here. Anyway: At the time you prettify a mode line or show a
new buffer in a window with a to be prettified mode line, would doing
an immediate redisplay work around future problems?
> This is the advice I currently use:
>
> (defvar-local moody--size-hacked-p nil)
>
> (defun moody-redisplay (&optional _force &rest _ignored)
> (unless moody--size-hacked-p
> (setq moody--size-hacked-p t)
> (redisplay t)))
>
> (advice-add 'fit-window-to-buffer :before #'moody-redisplay)
>
> Of course fit-buffer-to-window itself could be changed to do that and it
> could also be taught to only do so iff the user opted in to doing it.
If we don't want 'fit-window-to-buffer' to do that always we'd need
some variable, either buffer local or even a window parameter, that
'fit-window-to-buffer' would inspect once and reset immediately in
order to perform only the redisplay call that's really needed.
> Creating and displaying a new buffer and creating and resizing a new
> window surely *already* causes a "redisplay" without the programmer
> having to explicitly call `redisplay'. So if we explicitly tell
> fit-window-to-buffer to redisplay, then that means that we are
> redisplaying twice, right?
I think so. Maybe 'fit-window-to-buffer' could use the string
returned by 'format-mode-line' instead and calculate its height
without redisplaying anything.
martin
- bug#38181: Actual height of mode-line not taken into account, (continued)
- bug#38181: Actual height of mode-line not taken into account, martin rudalics, 2019/11/16
- bug#38181: Actual height of mode-line not taken into account, Eli Zaretskii, 2019/11/16
- bug#38181: Actual height of mode-line not taken into account, martin rudalics, 2019/11/17
- bug#38181: Actual height of mode-line not taken into account, Eli Zaretskii, 2019/11/17
- bug#38181: Actual height of mode-line not taken into account, martin rudalics, 2019/11/17
- bug#38181: Actual height of mode-line not taken into account, Eli Zaretskii, 2019/11/17
- bug#38181: Actual height of mode-line not taken into account, martin rudalics, 2019/11/18
- bug#38181: Actual height of mode-line not taken into account, Eli Zaretskii, 2019/11/18
- bug#38181: Actual height of mode-line not taken into account, martin rudalics, 2019/11/18
- bug#38181: Actual height of mode-line not taken into account, Jonas Bernoulli, 2019/11/17
- bug#38181: Actual height of mode-line not taken into account,
martin rudalics <=