[UPDATE] RFC: XEmbed System Tray Patches

James Liggett jrliggett at cox.net
Thu Aug 10 18:30:05 CDT 2006


Attached is a major update to the XEmbed systray patches that I sent
earlier this week. After a few days of tweaking and testing the code, I
think I have found the solution to the race conditions that have plagued
previous versions of this work. While this is a major step forward, I
still need some assistance with some issues with these patches:

1. I need people to test this on any window manager they can to see if
the results that I get can be reproduced, especially on older GNOME
versions (I tested on GNOME 2.14) I was able to run a small test app
that I made over 120 times, and each time it docked perfectly, no zombie
systray adapter windows like before.

2. In order to accomplish this reliability, I've had to ensure that
systray windows are *never* mapped. According to the XEmbed specs and my
testing, we can't map systray windows ourselves--the tray has to do it,
or we get the race conditions. However, my current solution isn't
entirely correct. The problem is that systray windows aren't mapped
under *any* circumstances. While this allows the docking to work
properly, the icons don't show up at all if there's no tray to dock
with. I've been contemplating some solutions to the problem but I'm not
sure what the correct way to go about this is. My current idea is to add
a function to winex11.drv that checks to see if we have a systray
window. If the function finds one, then we don't map tray windows. If it
doesn't return one, then we map them. Would adding a function like that
to x11drv be a good idea?

Any comments/suggestions/test results highly appreciated. If you'd like
to test these, apply them in the order that they're numbered (should go
from 0001 to 0010.)

Thanks again,
James Liggett
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xembed-systray-patches-2.tar.gz
Type: application/x-compressed-tar
Size: 5422 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20060810/cbce6e7f/xembed-systray-patches-2.tar.bin


More information about the wine-devel mailing list