OK, this is a pain... it turns out that GTK+ 3 forces a minimum size of 85x27 px for any child button in a buttonbox. In GTK+ 2 this could be overridden by directly setting the child_min_width/height members of GtkButtonBox but that option has now been removed.
The easiest solution is just to use a Gtk::Box instead of Gtk::ButtonBox. This will set the minimum child width to be just the natural size of the buttons. The disadvantage is that the buttons will (by default) spread apart homogeneously rather than having the +/- buttons tightly together at one side, and the raise/lower/top/bottom buttons tightly together at the other. I guess we could try fiddling about with packing boxes inside boxes to get the same effect.
OK, this is a pain... it turns out that GTK+ 3 forces a minimum size of 85x27 px for any child button in a buttonbox. In GTK+ 2 this could be overridden by directly setting the child_min_ width/height members of GtkButtonBox but that option has now been removed.
The easiest solution is just to use a Gtk::Box instead of Gtk::ButtonBox. This will set the minimum child width to be just the natural size of the buttons. The disadvantage is that the buttons will (by default) spread apart homogeneously rather than having the +/- buttons tightly together at one side, and the raise/lower/ top/bottom buttons tightly together at the other. I guess we could try fiddling about with packing boxes inside boxes to get the same effect.