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