Regression in 3.22.23: GDK_WINDOW_STATE_TILED flag is never set
Originally reported against 3.22.x, but the remaining issue is GTK4.
Link to original bug (#789357)
Description
gnome-terminal has special cases for when it is maximized or tiled (half-maximized) to turn off the character-cell-based resizing logic (Bug #760944).
Since GTK+ 3.22.23 and Mutter 3.26.1, these special cases are ineffective, because GTK+ now sets 0-4 hints like GDK_WINDOW_STATE_TOP_TILED instead of a single hint GDK_WINDOW_STATE_TILED. The plain TILED state is now deprecated, and as far as I can see it is never activated. This is a regression for apps that were relying on it (see Bug #789356 for the effects this has on gnome-terminal, which are quite annoying).
If all four edges are considered to be TILED, then the deprecated TILED state should certainly be activated. This would make existing/older versions of gnome-terminal (and similar character-cell-based apps) fill their assigned space.
If between 1 and 3 edges are considered to be TILED, I'm not sure whether the deprecated TILED state should be set or not. I think the conservative answer would probably be to set it.
I've opened Bug #789356 in gnome-terminal as well as opening this bug, because I suspect the most robust fix would be to address this at both ends: fix the regression in GTK+, and stop relying on the deprecated state flag in gnome-terminal.