(if one is compelled to hack on boxes, my suggestion is to leave
GtkBox alone but add a new nicer container like HippoCanvasBox, its
features include:
* have left/right/center/fill x/y alignment
* you only need 1 "expand" boolean, alignment replaces "fill" with
something more powerful
* support IF_FITS mode
* support children that are requested/allocated but not shown
* support setting four (painted or transparent) borders independently
* virtualize the "content" of the box vs. the the layout part,
enabling many widgets to subclass box and thus automatically be
containers with alignment and borders
* and yes, support dynamically setting orientation
Or whatever the nicer features are ... you could call the new
container GtkLayout since that name is likely old enough to be
recycled ;-)