systray [2]: transparent icons: let systray window responsible
for background
Kirill K. Smirnov
lich at math.spbu.ru
Tue Jan 2 08:17:06 CST 2007
> "Kirill K. Smirnov" <lich at 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?
More information about the wine-devel
mailing list