systray icon questions

Kirill K. Smirnov lich at
Fri Dec 29 02:33:34 CST 2006

> Unfortunately, yes. The way the helper window is currently implemented,
> if you remove the WS_CAPTION style, the icon won't be centered when it
> gets docked (in GNOME at least.) I tried that when I put together the
> systray tooltips patch. Ultimately it caused more problems than it
> solved, so I gave up on it. But, it would be really great if you could
> figure it out. :)

I've tried kde, fluxbox and xfce4 (and fvwm, but it lacks systray).
Now I can see that xfce4 suffers from it. I did not noticed that before.

So, I suppose a new patch (attached). Does it work correct with 
GNOME? In xfce is OK.

Thanks for pointing the path!

-- Kirill K. Smirnov
-------------- next part --------------
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 1430563..f7c34b0 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -71,10 +71,10 @@ inline static BOOL is_window_managed( HW
     DWORD style, ex_style;
-    if (!managed_mode) return FALSE;
     /* tray window is always managed */
     ex_style = GetWindowLongW( hwnd, GWL_EXSTYLE );
     if (ex_style & WS_EX_TRAYWINDOW) return TRUE;
+    if (!managed_mode) return FALSE;
     /* child windows are not managed */
     style = GetWindowLongW( hwnd, GWL_STYLE );
     if (style & WS_CHILD) return FALSE;
diff --git a/programs/explorer/systray.c b/programs/explorer/systray.c
index 7fc66fd..4780b15 100644
--- a/programs/explorer/systray.c
+++ b/programs/explorer/systray.c
@@ -247,7 +247,7 @@ static void add_icon(NOTIFYICONDATAW *ni
     /* create the adaptor window */
     icon->window = CreateWindowEx(WS_EX_TRAYWINDOW, adaptor_classname,
-                                  WS_CLIPSIBLINGS | WS_CAPTION,
+                                  WS_CLIPSIBLINGS,
                                   CW_USEDEFAULT, CW_USEDEFAULT,
                                   rect.right - rect.left,
                                   rect.bottom -,

More information about the wine-devel mailing list