System tray problems in HEAD
Lubos Lunak
l.lunak at suse.cz
Mon Feb 24 12:03:04 GMT 2003
On Monday 24 of February 2003 02:20, Aaron J. Seigo wrote:
> On Sunday 23 February 2003 12:27, George Staikos wrote:
> > in HEAD, opening apps from the system tray works fine (for instance
> > clicking on the kscd or kmix tray icon opens the window). However,
> > closing the window via the system tray icon doesn't work. It works fine
> > in 3.1-branch. Did anyone change something that could affect this
> > recently? One thing I did not ice is that if I click really quickly
> > approximately 6 times it often closes the app, though not always.
KGet works fine here.
>
> ok, did a bit of poking about in the sources and the problem is this:
>
> if the window is visible (e.g. not hid()den) then checks to see if it is
> the active window. if it not the active window, then it tries to see if the
> window is simply obscured by another window in the way. it seems to try to
> assess this with the following code:
>
> KWinModule mod;
> if ( mod.stackingOrder().last() != pw->winId() )
>
> problem is that mod.stackingOrder().last() NEVER equals pw->winId... i'm
Obviously ... the topmost window in the stacking order is usually Kicker.
> not familiar with the KWin stacking code, so i don't know exactly what this
> is really supposed to do, but i assume it's trying to see if it is the
> top-most windw on the desktop. no matter what, though, it always evaluates
> to true and the window is ALWAYS raised. even if it is plainly visible;
> even if the window in question has keyboard focus!
And why exactly is this problem? Raising a window that cannot be raised more
should be a no-op. The code in KSystemTray::toggleMinimizeRestore() looks
strange to me anyway (for example the hide()+show() combo). Does it work
better with the attached patch? That's how I think it should be done
correctly.
--
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/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ksystemtray.cpp.patch
Type: text/x-diff
Size: 1497 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20030224/fec63258/attachment.patch>
More information about the kde-core-devel
mailing list