[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: resize_mini_window question

From: Ergus
Subject: Re: resize_mini_window question
Date: Fri, 18 Sep 2020 17:56:38 +0200

On Fri, Sep 18, 2020 at 11:30:58AM -0400, Stefan Monnier wrote:
I see 3 possible clean solutions:

1) Modify resize_mini_window to use the minibuffer's font size to
calculate the height when Vmax_mini_window_height is an int. (don't know
if it is possible to access the minibuffer font size from there or if
this could produce some undesired side effect)

I don't think this will work reliably, e.g. even if your minibuffer only
has N lines of text, line wrapping different fonts used for different
scripts, plus overlays and text-properties applied to specific parts of
the minibuffer's content will make that computation fail to give the
desired result.

I think that in minibuffer this is not the most frequent case but I get
your point.

At least if we do check buffer-face-mode-remapping from C could give a
more accurate value. But maybe it doesn't worth it.

3) Just force the text to fit ignoring that the number of real visible
lines will be different than max-mini-window-height.

It might not even be possible anyway if the minibuffer's content uses up
more space than available in the frame.

(This will be seen as ignoring the max-mini-window-height)

Indeed, which is another problem with this option.

2) Modify the documentation of max-mini-window-height to specify that if
an integer, it specifies a number of lines respecting to the frame's
default font, not the minibuffer's visible lines.

That sounds good.  It's not sufficient to fix the problem in
`icomplete-vertical` obviously, so `icomplete-vertical` would need to
be changed.  Maybe it could check the `window-end` to detect when the
minibuffer's content is larger than what fits and shorten
it accordingly?

Yes I know. The problem with this was that in my case the user could be
expecting to see as many lines as specified in max-mini-window-height as
an integer.

The external package used to force an enlarge-window but I feel that
this is somehow a workaround.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]