mutter does not calculate absolute coordinates in monitor but relative coordinates in workarea with GTK4
To reproduce:
- Run
env GTK_IM_MODULE=wayland gtk4-demo
in GNOME Wayland and play GtkEntry -
meta-wayland-text-input.c:text_input_set_cursor_rectangle()
receives the absolute coordinates from GTK3 and the relative coordinates from GTK4. -
meta_wayland_surface_get_absolute_coordinates()
just returns the absolute coordinates with GTK3 and tries to convert the relative coordinates in the widget to the absolute coordinates in root with GTK4.
Expected result:
meta_wayland_surface_get_absolute_coordinates()
returns the absolute coordinates in the monitor with GTK4. gnome-shell locates the right position of the IM candidate window using clutter_input_method_set_cursor_location()
with GTK4.
Actual result:
meta_wayland_surface_get_absolute_coordinates()
returns the relative coordinates in the workare with GTK4 and seems the Y value excludes the height of the gnome-shell's panel. gnome-shell does not locate the right position of the IM candidate window using clutter_input_method_set_cursor_location()
with GTK4.