System tray.

Havoc Pennington hp at redhat.com
Sun Sep 22 16:43:29 BST 2002


Zack Rusin <zack at kde.org> writes: 
> Well, I like that idea too. But there would have to be a way to specify 
> what kind of a balloon tooltip widget we want to see - pure and simply, 
> looking almost like a tooltip or one with an OK (or similar) and close 
> buttons, something along the lines of:
> http://kopete.kde.org/img/shots/05/desktop1.png
> But then we would have to propagate the button clicks back to the
> app.

Right, basically if you want to have arbitrary widgets in there it's
going to either get really complicated (a big markup language and
response protocol), or we need to just have the app pop up the
balloon.

In Windows XP there doesn't seem to be a way to do buttons. RealPlayer
for example makes its own little window that happens to be next to the
systray, but it isn't a real systray balloon I don't think. The actual
systray balloons are more limited.

Here are some links:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/Shell/reference/functions/shell_notifyicon.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/Shell/programmersguide/shell_int/shell_int_programming/taskbar.asp

The messages you can get from the balloon are:

          o NIN_BALLOONSHOW - Sent when the balloon is shown (balloons
          are queued).
          o NIN_BALLOONHIDE - Sent when the balloon
          disappears\x{2014}when the icon is deleted, for
          example. This message is not sent if the balloon is
          dismissed because of a timeout or mouse click by the user.
          o NIN_BALLOONTIMEOUT - Sent when the balloon is dismissed
          because of a timeout.
          o NIN_BALLOONUSERCLICK - Sent when the balloon is dismissed because
          the user clicked the mouse. 

For all the balloons that XP itself puts up, the action seems to be
taken if you just click the balloon anywhere (other than the close
button).

To me there's some value to using an XP-like API because I think the
XP UI for this is nice, and toolkits could present a cross-platform
interface for the feature.

> By the way, do you guys implement message handling in Gnome or just 
> docking?

I have a broken implementation of the message balloon stuff (it
doesn't work right yet... I get messages stuck and that sort of
thing). This is all for GNOME 2.2 in future, so we're still pretty
flexible on the GNOME end. The two GNOME people that have expressed an
opinion liked the balloon stuff in the protocol, but it was only two
people.

Havoc




More information about the kde-core-devel mailing list