mutter/src/wayland
Carlos Garnacho 7b232d9f65 wayland: Keep track of the "input focus" on MetaWaylandSeat
This is the unified focus (key, IM, pads, ...) for the focus window.
Just like MetaWaylandPointer and others keep track of the "current"
surface, this is the "current" surface for those (not necessarily
the focused surface, e.g. in the case of compositor grabs).

Since this unified focus will exist regardless of keyboard
capabilities (e.g. even if just for "logical" focus like IM/clipboard
that does not depend on input devices), it does not make sense
to trigger a focus sync on keyboard capability changes, the focus
is staying the same, we however need to focus the keyboard interface
to the already existing focus when the capability is enabled.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3511>
2024-01-12 14:39:17 +00:00
..
protocol wayland: Add X11 interop service client protocol 2023-02-13 15:34:24 +00:00
meta-cursor-sprite-wayland.c cursor-sprite: Register all cursor sprites with the cursor tracker 2021-12-22 16:22:08 +00:00
meta-cursor-sprite-wayland.h wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-pointer-confinement-wayland.c region: Move RegionBuilder to Mtk 2024-01-09 18:47:34 +00:00
meta-pointer-confinement-wayland.h Update license access method 2023-08-30 08:48:23 +02:00
meta-pointer-lock-wayland.c Port to MtkRegion 2023-11-03 11:27:52 +00:00
meta-pointer-lock-wayland.h Update license access method 2023-08-30 08:48:23 +02:00
meta-selection-source-wayland-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-selection-source-wayland.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-activation.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-activation.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-actor-surface.c region: Move RegionBuilder to Mtk 2024-01-09 18:47:34 +00:00
meta-wayland-actor-surface.h wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-buffer.c wayland-buffer: Enable YCbCr support for wayland shm 2023-12-20 23:51:14 +00:00
meta-wayland-buffer.h Port to MtkRegion 2023-11-03 11:27:52 +00:00
meta-wayland-client-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-client.c docs: Remove remaining SECTIONs 2024-01-09 15:23:04 +00:00
meta-wayland-cursor-surface.c wayland/surface: Track committed and applied scale separately 2023-12-18 21:56:59 +00:00
meta-wayland-cursor-surface.h wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-data-device-primary.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-data-device-primary.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-data-device.c wayland: Use MetaWaylandCompositor API to drive focus synchronization 2024-01-12 14:39:17 +00:00
meta-wayland-data-device.h Remove unused meta_wayland_data_device_is_dnd_surface 2023-08-12 19:53:46 +00:00
meta-wayland-data-offer-primary.c wayland: Do not trigger focus sync when destroying data offers 2023-09-06 10:55:55 +00:00
meta-wayland-data-offer-primary.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
meta-wayland-data-offer.c wayland: Do not trigger focus sync when destroying data offers 2023-09-06 10:55:55 +00:00
meta-wayland-data-offer.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-data-source-primary.c wayland: Add support for wayland-protocols primary selection protocol 2020-05-13 18:27:46 +02:00
meta-wayland-data-source-primary.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
meta-wayland-data-source.c cleanup: Stop translating nick/blurb for pspecs 2023-07-19 11:33:59 +00:00
meta-wayland-data-source.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-dma-buf.c wayland: Fix building without native backend 2024-01-03 14:46:41 +01:00
meta-wayland-dma-buf.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-dnd-surface.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-dnd-surface.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-egl-stream.c cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
meta-wayland-egl-stream.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
meta-wayland-filter-manager.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-filter-manager.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-fractional-scale.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-fractional-scale.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-gtk-shell.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-gtk-shell.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-idle-inhibit.c tree-wide: Fix spelling of "inhibition" 2023-12-06 16:01:36 +00:00
meta-wayland-idle-inhibit.h wayland: Implement idle inhibit protocol 2023-08-26 20:19:22 +02:00
meta-wayland-inhibit-shortcuts-dialog.c cleanup: Use g_clear_signal_handler() where possible 2019-11-21 15:02:27 +00:00
meta-wayland-inhibit-shortcuts-dialog.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-inhibit-shortcuts.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-inhibit-shortcuts.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-input-device.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-input-device.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-keyboard.c wayland: Keep track of the "input focus" on MetaWaylandSeat 2024-01-12 14:39:17 +00:00
meta-wayland-keyboard.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-legacy-xdg-foreign.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-legacy-xdg-foreign.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-outputs.c mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
meta-wayland-outputs.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-pointer-constraints.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-pointer-constraints.h Port to MtkRegion 2023-11-03 11:27:52 +00:00
meta-wayland-pointer-gesture-hold.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-pointer-gesture-hold.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-pointer-gesture-pinch.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-pointer-gesture-pinch.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-pointer-gesture-swipe.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-pointer-gesture-swipe.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-pointer-gestures.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-pointer-gestures.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-pointer.c wayland/surface: Rename output/protocol_state to applied/committed_state 2023-11-15 10:55:21 +00:00
meta-wayland-pointer.h wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-popup.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-popup.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-presentation-time-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-presentation-time.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-private.h wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-region.c wayland: Rename peek_cairo_region to peek_region 2023-11-03 11:27:52 +00:00
meta-wayland-region.h wayland: Rename peek_cairo_region to peek_region 2023-11-03 11:27:52 +00:00
meta-wayland-seat.c wayland: Keep track of the "input focus" on MetaWaylandSeat 2024-01-12 14:39:17 +00:00
meta-wayland-seat.h wayland: Keep track of the "input focus" on MetaWaylandSeat 2024-01-12 14:39:17 +00:00
meta-wayland-shell-surface.c wayland/surface: Rename output/protocol_state to applied/committed_state 2023-11-15 10:55:21 +00:00
meta-wayland-shell-surface.h mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
meta-wayland-single-pixel-buffer.c cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
meta-wayland-single-pixel-buffer.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-subsurface.c wayland/surface: Rename output/protocol_state to applied/committed_state 2023-11-15 10:55:21 +00:00
meta-wayland-subsurface.h wayland/subsurface: Drop unapplied subsurface state on unmap 2023-11-08 09:47:57 +00:00
meta-wayland-surface-private.h wayland/surface: Track committed and applied scale separately 2023-12-18 21:56:59 +00:00
meta-wayland-surface.c region: Move RegionBuilder to Mtk 2024-01-09 18:47:34 +00:00
meta-wayland-tablet-cursor-surface.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-cursor-surface.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-manager.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-manager.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-tablet-pad-group.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-pad-group.h Remove unused meta_wayland_tablet_pad_group_lookup_resource 2023-08-12 19:53:46 +00:00
meta-wayland-tablet-pad-ring.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-pad-ring.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-tablet-pad-strip.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-pad-strip.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-tablet-pad.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-pad.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-tablet-seat.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-seat.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-tablet-tool.c wayland/surface: Rename output/protocol_state to applied/committed_state 2023-11-15 10:55:21 +00:00
meta-wayland-tablet-tool.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-tablet.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-text-input.c wayland/text-input: Pass char based offset to ClutterInputFocus 2023-12-20 19:31:05 +00:00
meta-wayland-text-input.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-touch.c wayland/surface: Rename output/protocol_state to applied/committed_state 2023-11-15 10:55:21 +00:00
meta-wayland-touch.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-transaction.c wayland/surface: Rename output/protocol_state to applied/committed_state 2023-11-15 10:55:21 +00:00
meta-wayland-transaction.h wayland/subsurface: Drop unapplied subsurface state on unmap 2023-11-08 09:47:57 +00:00
meta-wayland-types.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-versions.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-viewporter.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-viewporter.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-window-configuration.c mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
meta-wayland-window-configuration.h mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
meta-wayland-x11-interop.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-x11-interop.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-xdg-foreign-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-xdg-foreign.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-xdg-foreign.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-xdg-shell.c wayland: Use MetaWaylandCompositor API to drive focus synchronization 2024-01-12 14:39:17 +00:00
meta-wayland-xdg-shell.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland.c wayland: Hook focus synchronization to MetaDisplay signals 2024-01-12 14:39:17 +00:00
meta-wayland.h wayland: Move Wayland focus synchronization code out of core 2024-01-12 14:39:17 +00:00
meta-window-wayland.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
meta-window-wayland.h mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
meta-window-xwayland.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
meta-window-xwayland.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-xwayland-dnd-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-xwayland-dnd.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
meta-xwayland-grab-keyboard.c wayland: Use MetaWaylandCompositor API to drive focus synchronization 2024-01-12 14:39:17 +00:00
meta-xwayland-grab-keyboard.h Update license access method 2023-08-30 08:48:23 +02:00
meta-xwayland-private.h xwayland: Add EI portal support to the Xwayland manager 2023-10-09 07:36:52 +00:00
meta-xwayland-surface.c mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
meta-xwayland-surface.h Update license access method 2023-08-30 08:48:23 +02:00
meta-xwayland.c wayland: Use MetaWaylandCompositor API to drive focus synchronization 2024-01-12 14:39:17 +00:00
meta-xwayland.h Update license access method 2023-08-30 08:48:23 +02:00