From 20e2adc4fc0549a394a18cf207ad32b42b142d4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Mon, 3 Apr 2023 20:59:16 +0200 Subject: frames/window-tracker: Select StructureNotifyMask X11 events The window tracker is filtering XEvents manually as it only requires a subset of the ones that Gdk listens to in the root window, and this is nice, but we were restricting the set a bit too much because due to this we were not notified when an xsettings manager was available, and thus in case gsd-xsettings was launched after meta-window-tracker (a normal scenario under X11), no xsetting was actually applied to the decoration windows. As per this, the default settings were used for everything and never updated, until a restart of the window-tracker. In order to be able to monitor the XSettings changes at startup, we also need to select the StructureNotifyMask as gtk always do by default. See also: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.11.1/gdk/x11/gdkscreen-x11.c#L947-950 Fixes: #2580 Part-of: --- src/frames/meta-window-tracker.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/frames/meta-window-tracker.c b/src/frames/meta-window-tracker.c index 39de518f6..e241e568e 100644 --- a/src/frames/meta-window-tracker.c +++ b/src/frames/meta-window-tracker.c @@ -341,6 +341,7 @@ meta_window_tracker_constructed (GObject *object) XSelectInput (xdisplay, xroot, KeyPressMask | PropertyChangeMask | + StructureNotifyMask | SubstructureNotifyMask); g_signal_connect (display, "xevent", -- cgit v1.2.1