Skip to content

frames/window-tracker: Select StructureNotifyMask X11 events

Marco Trevisan requested to merge 3v1n0/mutter:handle-frame-xsettings into main

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 (closed)

Downstream bug: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/2012733

/cc @carlosg

Merge request reports