This is a GTK2 question rather than a nim question. I hope some NIXER will disregard that and lend a hand. I have returned to a cross-platform GUI nim project after 6 months in the Javascript Wilderness. I discovered the GTK2 version of my module was exercising the check-resize callback many more times than necessary.
I have been unsuccessful in finding the documentation for the check-resize signal - such as when it is emitted and what is done to its window just prior to that. Eliding lots of detail, the signal is captured with: discard handle.signalConnect("check-resize",SIGNAL_FUNC(resizeReq),nil) where handle is the top level window reference. The call back (placed up-source) is like this: proc resizeReq(widget: gtk2.PWindow, data: Pgpointer) {.cdecl.} = #steps not shown var wid,hgt:gint widget.get_size(wid.addr.Pgint,hgt.addr.Pgint) #steps using wid and hgt to revise children in widget. Run When the user expands the window, how is the new size communicated to the window? Does the expansion do a set_size prior to sending the signal? Are these issues discussed anywhere?