"Kirill K. Smirnov" lich@math.spbu.ru writes:
@@ -366,6 +366,7 @@ static void systray_dock_window( Display
wine_tsx11_lock(); XSendEvent( display, systray_window, False, NoEventMask,
&ev );
XSetWindowBackgroundPixmap(display, data->whole_window,
ParentRelative);
wine_tsx11_unlock();
This won't really do what you want. You have to set the window shape if you want the background to be properly transparent.
Now I understand, that the problem is more hard than I think before.
1) The code I sent is the solution... unless the application change icon. In this case new icon is painted over and produces a mixture.
2) If I set window shape to 'AND' bitmap of icon (do I correctly understand you?) then what to do with full transparent icons? E.g. some applications (qip) flashes the icons by changing the icon with full transparent icon and back. a) Will window with NULL shape be created? b) if a) is true, then when I click on null icon will I get any events?
For some time I wonder, why kde icons looks good even when they are changing??? The answer is kde applications use KSystemTray directly without XEMBED.
xmule to achieve the same goal, removes the icon from systray and adds new one (as I understand it, I may wrong). Shall we use the same mechanism?
Any other suggestion?
"Kirill K. Smirnov" lich@math.spbu.ru writes:
- If I set window shape to 'AND' bitmap of icon (do I correctly
understand you?) then what to do with full transparent icons? E.g. some applications (qip) flashes the icons by changing the icon with full transparent icon and back. a) Will window with NULL shape be created? b) if a) is true, then when I click on null icon will I get any events?
No, you'd have to click while the icon is shown. I don't think there's any way to make a window transparent for output but not for input. Not sure it's a big problem though.