1
0
Fork 0
mutter-performance-source/src/x11
Carlos Garnacho a68b8e9595 x11: Do not move X11 input focus during grabs
On X11, the stage itself is backed by an XWindow, and moving the
input focus elsewhere will bypass any Clutter-level grabs.

This effectively allows newly opened windows to steal the focus
from gnome-shell itself, which is clearly undesirable. To prevent
that, only allow moving the X11 focus to a Window when no grab is
in place, just like commit 50e89e376 did for the stage focus.

But particularly the updating of x11_display->focus_xwindow is not
prevented. Since it's more consistent to the MetaDisplay/MetaX11Display
dual focus tracking and across Wayland/X11 backends, ensure the X11
input focus is actually set on the last focus Window after the
grabs are gone and windows became interactable again.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2832>
2023-02-13 12:45:37 +00:00
..
atomnames.h x11: Integrate frames client into Mutter 2022-12-01 20:10:53 +00:00
events.c x11: Avoid sloppy/mouse mode handling on Wayland 2023-02-09 14:38:39 +01:00
events.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
group-private.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
group-props.c Remove misplaced line break in g_* logging functions 2020-10-08 16:38:41 +02:00
group-props.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
group.c mutter: Add missing nullable annotation when possible 2022-04-05 14:05:23 +02:00
iconcache.c iconcache: Avoid xrender picture formats when creating cairo surface 2019-08-27 18:47:41 +03:00
iconcache.h Move X11 event, icon cache and property handling to MetaX11Display 2018-07-06 19:47:16 +02:00
meta-selection-source-x11-private.h Make MetaSelection, MetaSelectionSource and MetaMemorySelectionSource public 2019-05-02 16:31:45 +02:00
meta-selection-source-x11.c x11: Avoid GDK API in X11 selections 2023-02-10 20:43:11 +00:00
meta-startup-notification-x11.c startup-notification/x11: Let the libsn user handle API annoyances 2022-12-17 15:13:48 +01:00
meta-startup-notification-x11.h x11: Add method to launch applications, using SnLauncher 2019-01-18 17:03:57 +00:00
meta-sync-counter.c core,wayland,compositor,x11: Migrate to MetaWindowDrag 2023-01-30 10:56:29 +00:00
meta-sync-counter.h compositor: Move frame drawn x11 management to MetaSyncCounter 2022-12-01 20:10:52 +00:00
meta-x11-display-private.h x11: Do not move X11 input focus during grabs 2023-02-13 12:45:37 +00:00
meta-x11-display.c x11: Do not move X11 input focus during grabs 2023-02-13 12:45:37 +00:00
meta-x11-errors.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-x11-selection-input-stream-private.h x11: Let selection input streams create their own window 2022-01-07 02:21:28 +01:00
meta-x11-selection-input-stream.c x11: Avoid GDK API in X11 selections 2023-02-10 20:43:11 +00:00
meta-x11-selection-output-stream-private.h x11: Add X11 selection input/output streams 2019-05-02 15:40:13 +02:00
meta-x11-selection-output-stream.c x11: Do not trust there is task in error paths 2020-04-16 16:26:04 +00:00
meta-x11-selection-private.h Make MetaSelection, MetaSelectionSource and MetaMemorySelectionSource public 2019-05-02 16:31:45 +02:00
meta-x11-selection.c x11: Avoid GDK API in X11 selections 2023-02-10 20:43:11 +00:00
meta-x11-stack-private.h x11: Add MetaX11Stack object 2019-05-24 15:30:31 +00:00
meta-x11-stack.c backends: Shuffle ClutterBackendX11 code into MetaClutterBackendX11 2021-07-16 19:08:06 +02:00
mutter-Xatomtype.h mutter-Xatomtype: Fix the sizes of these structs 2015-06-23 11:46:29 -07:00
session.c x11/session: Make state tracking context aware 2022-12-17 15:13:48 +01:00
session.h x11/session: Use MetaContext to terminate instead of meta_quit() 2021-07-15 11:34:37 +02:00
window-props.c x11: Account for variable being possibly NULL 2023-01-20 22:23:55 +00:00
window-props.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
window-x11-private.h x11: Delay next resize op after sync resize until frame is painted 2022-12-01 20:10:53 +00:00
window-x11.c x11: Do not use buffer size on configure requests unless managed 2023-02-10 15:40:00 +00:00
window-x11.h x11: Add function to know whether a client X11 window has an alpha channel 2023-01-20 22:23:55 +00:00
xprops.c x11: Drop unused function 2022-12-09 16:28:33 +00:00
xprops.h x11: Drop unused function 2022-12-09 16:28:33 +00:00