Systray III.

Lubos Lunak l.lunak at suse.cz
Fri May 27 18:17:46 BST 2005


 Hello,

 attached are final(?) patches for kdelibs/kdecore, kdelibs/kdeui, 
kdebase/kicker/applets/systemtray and kdebase/kwin implementing tray docking 
for any app, as already discussed before. I intend to commit them to CVS, so 
if somebody sees something wrong with them, like a space not conforming to 
Kicker's HACKING file ;), now it's time to complain. If it will show to be 
too confusing together with all KDE apps currently using KSystemTray, the UI 
elements related to it can be disabled for 3.5.

 So, a short summary:
- KWin has a new titlebar button that puts any window into the tray (actually 
now that I think of it, only the "KDE2" decoration currently supports it)
- the close and minimize buttons in the titlebar have their normal logical 
meaning, i.e. hiding of such apps is done simply by minimizing them, and the 
close button really closes the window, usually resulting in the application 
quiting
- it clearly doesn't quite work together with apps using KSystemTray
- it is possible to configure in the tray applet preferences what various 
mouse buttons on the tray icon do
- for additional features specific to the tray icon (although some of that 
could be actually used also e.g. by the taskbar) there's class KDockHandler 
(should it have some better name?). It acts a bit like KSystemTray except 
that it's not the actual window. You can set the menu there, tooltip, 
tray-specific icon (otherwise the window's one is used), you receive DND, 
click and wheel events there. The usage of it is something like the attached 
a.cpp .
- you can use window-specific settings (Preference tab) to set initial state 
of the docking, etc.

 Hmm, that's about it I guess.

 Also, as another step in my insidious plan to destroy the evil systray, 
attached is a patch for kicker that turns systray icons to applets (only the 
old-style systray icons, not these). With the patch it's possible to move 
things like kget and similar freely on the panel. Currently rather hackish, 
Kicker doesn't handle very well automatic adding of new applets, but it's 
good enough for showing. Just wondering what you think about it.

-- 
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: kdecore.patch.gz
Type: application/x-gzip
Size: 7274 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050527/60d4457a/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kdeui.patch.gz
Type: application/x-gzip
Size: 3566 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050527/60d4457a/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: systemtray.patch.gz
Type: application/x-gzip
Size: 6616 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050527/60d4457a/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: a.cpp
Type: text/x-c++src
Size: 1827 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050527/60d4457a/attachment.cpp>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kwin.patch.gz
Type: application/x-gzip
Size: 9950 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050527/60d4457a/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kicker.patch.gz
Type: application/x-gzip
Size: 5489 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050527/60d4457a/attachment-0004.bin>


More information about the kde-core-devel mailing list