Subject: bug#45737: 27.1.50; Assertion failure in window_box_height

From: Eli Zaretskii <[email-masked]>
Date: Sat, 09 Jan 2021 21:02:09 +0200

> Cc: [email-masked]
> From: martin rudalics <[email-masked]>
> Date: Sat, 9 Jan 2021 19:48:32 +0100
> 
>  > Can you help me understand why this would mean zero-height windows?
>  > What I had in mind was to constraint resizing so that the min-window
>  > is always at least 1-line high.
> 
> It depends on what you have in mind with "constraint resizing".
> 
> - We can constraint the frame size via size hints so a user can never
>    make the frame smaller than needed to make all its windows visible.
>    Whether this works with other window managers depends to be seen, is
>    not general practice with practically all other applications I know of
>    and, as mentioned before, doesn't really work on Windows.  And we
>    would have to make it optional to avoid offending any users.
> 
> - Otherwise we'd have to constraint the size of normal windows since
>    'window-safe-min-height' gives them always at least one frame line and
>    if a frame contains two windows above each other and shrinks to two
>    lines, these lines will be filled up already.  So the display engine
>    and/or the windows code would have to "skip" these windows to allow
>    showing the minibuffer window instead.  For me skipping a window is
>    tantamount to giving it "zero height".

I'm okay with the frame resetting itself back to a safe size, if the
WM cannot be hinted.  The main point is not to reduce the frame size
to dimensions that don't allow us to keep a mini-window of at least
one line.