Skip to content

st/bin: Replace custom layout code

Florian Müllner requested to merge fmuellner/gnome-shell:bin-layout into main

Quoting the main commit:

st/bin: Delegate child allocation to layout manager

Since commit ed3b8d093e16, the actor's single-child policy is
enforced even when using the generic add/remove_child() methods.

This makes it possible to follow GTK/AdwBin's lead and replace
out custom child allocation with a BinLayout, without changing
the actor's semantics in a fundamental way.

However this does change slightly how the child is allocated, as
it now only expands according to its expand properties, not when
the alignment is set to FILL.

Even after the preparations in the previous commit, some fallout
is still likely, but it will be easy to address, and the cleanup
is significant enough to justify it.

Keeping as draft for now, as some more testing would be good to catch more fallout. So far I've only tried nested, so there are likely instances that I didn't catch.

Depends on mutter!3445 (merged).

Merge request reports