System tray "close" dialog needs work
Sébastien Laoût
slaout at linux62.org
Thu Jan 6 00:48:06 GMT 2005
Le jeu 06/01/2005 à 00:19, Aaron J. Seigo a écrit :
> hrm.. .would sth like:
>
> QPoint p = systemtray->mapToGlobal(QPoint(0,0));
> if (QApplication::desktop()->screenGeometry()->contains(p))
>
> work?
Yes it works.
> i wonder even if just
>
> QApplication::desktop()->screenNumber(systemtray) == -1
>
> would work?
I tested and it doesn't work.
I have one screen: when kicker is shown, it returns 0, and when hidden
(automatically or with an hide button), it returns... 0.
> as for the KSystemTray object always returning true for isVisible(), the
> systemtray could do something like:
>
> KWin::WindowInfo info = KWin::windowInfo(emb->embeddedWinId());
> KWin::setState(emb->embeddedWinId(), info->state() | NET::Hidden)
>
> and then do the reverse on showing ...
Yes, perhapse.
But every systray managers would have to set this.
And it would solve an already solved problem (in a more beautiful way,
of course).
> Jason's suggestion to have the pixmap passed back via DCOP is likely the most
> foolproof method.
Yes, I think it is.
Or a way to raise kicker (quickly, and give kicker the time to redraw
itself...).
Don't know if GNOME taskbar can be raised programatically this way...
> as for not working in KDE, well, the user just doesn't get
> a pretty picture when they aren't in KDE?
Yes.
Until a solution, or a standard across desktops, is found.
--
Séb.
More information about the kde-core-devel
mailing list