@@ -132,23 +132,23 @@ public class Gala.Background.BackgroundWindow : Gtk.Window, PantheonWayland.Exte
132132 }
133133
134134 private void make_background_x11 () {
135- var monitor = (Gdk . X11. Monitor ) Gdk . Display . get_default (). get_monitors (). get_item (monitor_index);
136-
137- var geom = monitor. geometry;
138-
139135 unowned var xdisplay = ((Gdk . X11. Display ) display). get_xdisplay ();
140136
141- unowned var x_window = ((Gdk . X11. Surface ) get_surface ()). get_xid ();
137+ unowned var xwindow = ((Gdk . X11. Surface ) get_surface ()). get_xid ();
142138
143139 var atom = xdisplay. intern_atom (" _NET_WM_WINDOW_TYPE" , false );
144140 var dock_atom = xdisplay. intern_atom (" _NET_WM_WINDOW_TYPE_DESKTOP" , false );
145141
146142 // (X.Atom) 4 is XA_ATOM
147143 // 32 is format
148144 // 0 means replace
149- xdisplay. change_property (x_window, atom, (X . Atom ) 4 , 32 , 0 , (uchar[]) dock_atom, 1 );
145+ xdisplay. change_property (xwindow, atom, (X . Atom ) 4 , 32 , 0 , (uchar[]) dock_atom, 1 );
146+
147+ var mutter_prop = xdisplay. intern_atom (" _MUTTER_HINTS" , false );
148+
149+ var mutter_prop_value = " monitor-index=%d " . printf (monitor_index);
150150
151- xdisplay. move_window (x_window, geom . x, geom . y );
151+ xdisplay. change_property (xwindow, mutter_prop, X . XA_STRING , 8 , 0 , (uchar[]) mutter_prop_value, mutter_prop_value . length );
152152 }
153153
154154 private static void action_launch (SimpleAction action , Variant ? variant ) {
0 commit comments