Development/Architecture/KDE3/Docking Into the Panel's System Tray
cleanup confusing sections and fix sections which contain a todo
A tray window is a small window (typically 24x24 pixel) that docks into the system tray in the desktop panel. It usually displays an icon or an animated icon there. The icon serves as representative for the application, similar to a taskbar button, but consumes less screen space.
A CD Player and a Notes application inside the panel's system tray.
When the user clicks with the left mouse button on the icon, the main application window is shown/raised and activated. With the right mouse button, she gets a popupmenu with application specific commands, including "Minimize/Restore" and "Quit".
Having an icon on the system tray is a useful technique for daemon-like applications that may run for some time without user interaction but have to be there immediately when the user needs them. Examples are kppp, kisdn, kscd, kmix or knotes. With kppp and kisdn, the docked icon even provides real-time information about the network status.
With the KSystemTray in libkdeui, KDE provides a very simple API to add system tray items from your application. See the KSystemTray documentation in the KDE 3.1 API Reference for further details.
The mechanism works for non-KDE applications just as well. See the description of the system tray docking protocol for details.