[Kwin] Re: Embedding multible java applets and focus problems

Lubos Lunak l.lunak at suse.cz
Thu Oct 30 16:06:53 GMT 2003


On Thursday 30 of October 2003 16:40, Leon Bottou wrote:
> On Thursday 30 October 2003 08:23 am, Lubos Lunak wrote:
[snip]
> > That leaves us with only one option for XEMBED, 2-d (I think that's
> > better than 2-b, the spec doesn't seem to specify that it has to be
> > visible after reparenting to root). This will take care of all cases.
> > Systray will work, and won't quit, KControl and KVim (they're both
> > XEMBED, aren't they) will tell QXEmbed they want to quit after the
> > embedding ends, and it's done.
>
> Vimpart either uses kvim with XEMBED or gvim with XPLAIN ...
>
> Note that you cannot hide the window on a crash.
> The X11 server does not change the mapping state
> of the window when it does the save-set thing.

 Actually, see http://pdx.freedesktop.org/~keithp/xfixes/protocol , section 5. 
This extension will be part of the X implementation Keith Packard is 
currently working on. And even without it, it should result only in some 
flicker - the app will detect being reparented, and will quit soon.

> > The XPLAIN case is up to you, I don't know how exactly the
> > embedded apps are written for that case.
>
> They provide absolutely no support!
> XPLAIN is designed to embed applications that either were not designed for
> embedding, or use a toolkit that was not designed for embedding.
> They just believe they are dealing with a slightly odd window manager.
> Sending WM_DELETE_WINDOW makes good sense in this context.
>
> ===> We will have to document that setAutoDelete is
>            relevant to the XPLAIN protocol only.
>
> > Comments? I'll do the necessary changes for XEMBED if we agree on doing
> > it that way, I have part of it done already anyway for systray.
>
> There should be support on the client side of qxembed.cpp
> for detecting the reparent-to-root and doing something appropriate
> like simulating a WM_DELETE_WINDOW message, either via XSendEvent
> or by calling qApp->x11ProcessEvent().

 I think it would be better to have some specialized signal or event for this. 
I'll see after I write the code ;).

-- 
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o.  e-mail: l.lunak at suse.cz , l.lunak at kde.org
Drahobejlova 27  tel: +420 2 9654 2373
190 00 Praha 9   fax: +420 2 9654 2374
Czech Republic   http://www.suse.cz/





More information about the kfm-devel mailing list