I did eventually sort out the problem by diligent grepping through
system sources. For those who want to know, if you have a Poplog
composite widget residing in a shell widget, you can arrange
for the composite widget to be notified of the resizing of the
shell widget by
XptAddCallback(composite,
XtN xpwCallback,
Callback_resize_comp,
false,
identfn);
And the following callback provides useful information:
define Callback_resize_comp(w,client,call);
"rscallback"=>
(exacc ^int call) =>
[%XptWidgetCoords(w)%] =>
enddefine;
The widget coordinates give info about the NEW resized widget.
Incidentally, this callback is activated TWICE for a resize -
I'm still mystified about when. The "call" argument differs
between the two activations, that's all. No doubt I need
to read the X manuals.
You can then craft this callback to do what's appropriate.
Robin.
|