Java applets and ConfigureRequest

Leon Bottou leon at bottou.org
Tue Dec 9 00:22:44 GMT 2003


On Monday 08 December 2003 11:49 am, Lubos Lunak wrote:
> See ICCCM, section 4.1.5. Synthetic configure notify events are supposed
> be relative to root window, and QXEmbed does it right. Not that it actually
> matters, as QXEmbed blocks are configure requests  (I think it should honor
> size changes, and also handle min/max sizes).

I actually had a look.  ICCCM says:
" The (x,y) coordinates will be in the root coordinate system adjusted for the
   border width the client requested, irrespective of any reparenting ... "
and layer
" the coordinates will reflect the actual border width of the window 
  (which the window manager might have changed)"

QXEmbed does not adjust for the border width.
Therefore it does it right when the border width is zero.
Lubos says that QXEmbed is allowed to enforce a zero border width policy.
But QXEmbed does not en does not do this.  It solely calls XResizeWindow.

The simplest fix would be to replace all the two XResizeWindow by 
XConfigureWindow to enforce the position, the size, and a zero border width.
For additional safety, another call to XConfigureWindow should probably 
be made when we receive a ConfigureRequest message, before sending 
the synthetic notification.

Lubos, does this seem correct to you?

- L.





More information about the kfm-devel mailing list