just a note: doing this "properly" should involve Actions, not widgets.
it is unfortunate that neither GTK's own documentation, along with
most stuff I've read on GUI programming, doesn't emphasize the concept
of Actions as a more basic element of GUI programs.