Skip to content

GNOME Shell/Mutter: Use client/frame geometry except for GTK 3

As described in more detail in

commit 25e867b5a9a43f503ed189e155a4c56a04cf0fcb
Author: Michael Weghorn <m.weghorn@posteo.de>
Date:   Wed Apr 3 18:33:22 2024 +0200

    KWin 6: Use client/frame geometry instead of buffer geometry except for GTK 3

, window-relative coordinates reported via AT-SPI are generally relative to the top-left corner of the window's client geometry if the window has no client side decoration and relative to the frame geometry if the window has client side decoration.

Therefore, retrieve and use that geometry for the GNOME Shell/Mutter implementation as well.

This also aligns the geometry/position handling more with with what GNOME Magnifier does, s. the discussion in [1].

With this in place, the highlighted area is now correct for gtk4-demo when using the GnomeShellWindowManager (enabled via export ACCERCISER_WINDOW_MANAGER=gnomeshell) in a GNOME Wayland session, both when run as a native Wayland application and when run on XWayland (export GDK_BACKEND=x11), while the highlighted area was slightly off without this change in place.

[1] gnome-shell#7559 (closed)

Issue: #41

Merge request reports