New XEmbed classes

Leon Bottou leonb at nec-labs.com
Fri Nov 14 21:42:54 GMT 2003


I just had a look.  

There are nice things here. 
I particularly like:
- the code to accept/reject a client is cool.
- the way tab-focus wrap around is detected
- the support for the _XEMBED_INFO property

I spotted a few problems as well:
- See the recent discussion on kfm-devel about the use of XAddToSaveSet and the termination of embedding.  
  QXEmbed is not well defined in that respect.
- Not all items in the focusData lists are focusable.  
  See recent changes in qxembed.cpp.

There is a deeper issue regarding client support:
* QXEmbed tries to make all toplevel windows support XEMBED.
  If it was a part of Qt, all Qt applications would then be embeddable.
* The new XEmbed class define a class for XEMBED client windows.
  The main window must then inherit this class to make an embeddable application.
  This is closer to what is done in GTK.

Personally I prefer the first option.  
But I can understand other tastes.

Lately I added a lot of documentation and fixes into QXEmbed.
Please feel free to look at it.  I cannot be certain that I documented
all the pitfalls, but I discussed a lot of them.

There might be GPL-code versus pure-trolltech-code issues.
Were this to become a problem, I would be glad to
relicense my changes under a BSD-like license or make 
adequate arrangements.  The other contributors can be 
retrieved in the CVS log.  





More information about the kde-core-devel mailing list