I also tried a few things. First, as far as I understood, parent-
relative background is not set with NULL, there is a special pattern
that should be used instead:

--- a/xfce4-panel/plugins/systray/systray-socket.c
+++ b/xfce4-panel/plugins/systray/systray-socket.c
@@ -139,7 +139,7 @@ systray_socket_realize (GtkWidget *widget)
   else if (gtk_widget_get_visual (widget) ==
            gdk_window_get_visual (gdk_window_get_parent (window)))
     {
-      gdk_window_set_background_pattern (window, NULL);
+      gdk_window_set_background_pattern (window, 
gdk_x11_get_parent_relative_pattern());

       socket->parent_relative_bg = TRUE;
     }

This alone, of course, does not help, since the visuals of the window
and its parent are different: systray manager uses 24-bit visual on my
system, but all its parents, including the pannel and the plugin wrapper
("wrapper-2.0" window) use 32-bit RGBA visuals. I've hacked
systray_manager_set_visual function to use RGBA visual, too (what
gdk_screen_get_rgba_visual(screen) returns, if that's not NULL) -- and I
believe this is the right thing to do -- but  it confuses
systray_socket_new which sees that the visual supports alpha channel and
thinks we have compositing.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1797417

Title:
  Background of system tray icons not drawn properly

To manage notifications about this bug go to:
https://bugs.launchpad.net/xfce4-panel/+bug/1797417/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to