Re: extended WM_TRANSIENT_FOR (was Re: _NET: Disabling shading)



On Wednesday 08 of October 2003 14:40, Lubos Lunak wrote:
> On Tuesday 07 of October 2003 00:07, Gregory Merchan wrote:
> > On Wed, Oct 01, 2003 at 02:54:45PM +0200, Lubos Lunak wrote:
>
> [snip]
>
> > >  An example of a case I have problem with is a cookie dialog ("do you
> > > want to accept this cookie from site XYZ?"). Cookies are not handled
> > > by Konqueror itself, but a special kcookiejar daemon handles them in
> > > one place. As it's a separate process, WM_CLASS, window_group and
> > > similar don't work. ...
> >
> > Why not?
> >
> > Processes are mostly irrelevant at the X server because the clients may
> > come from different machines and multiple clients may come from the same
> > process.
> >
> > A single client could implement multiple applications and so its windows
> > would have different WM_CLASS.res_class hints. Likewise, multiple clients
> > could implement a single application, so their WM_CLASS hints would be
> > the same. The important thing is that the hint is set to provide the
> > window manager what data it needs.
> >
> > The ICCCM explicitly identifies the WM_HINTS.window_group hint as
> > potentially grouping windows from different clients.
> >   http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.11
>
>  That's an interesting idea, I didn't think about it this way (most
> probably because from the API side this will be ugly). I can give it a try
> and see.

 No, that wouldn't work. You overlooked the part where I said that I want the 
dialog to be transient for two different processes that are otherwise 
completely unrelated. I think it will be more obvious with a different 
example:
 KDE-3.2 will have something called KWallet, which if turned on will store all 
user's passwords etc., protected by one master password. So if I'll want to 
login in some WWW site, or read my mail, I'll get a dialog asking for the 
master password on the first access to KWallet. But if I do these two things 
at the same time (say, session restored KMail that automatically checks mail 
and Konqueror that was logged in somewhere when the session was saved), I'll 
get a dialog for two completely unrelated windows. I cannot set the dialog's 
WM_CLASS to be KMail's or Konqueror's, because I'd have to pick up only one of 
them. The same way, KMail's and Konqueror's window shouldn't be in the same 
window group. And I still will want to make that dialog transient for them 
both, otherwise I'd have a seemingly stuck window, because it would be 
waiting for a dialog that's unrelated to it.

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




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]