mutter/clutter/clutter
Carlos Garnacho 09101e36f8 wayland: Handle pointer focus inhibition at the Clutter level
The MetaWaylandPointer used to put this together through
MetaCursorTracker cursor visibility, and ClutterSeat-level
inhibition API, applying the pointer focus changes due to
visibility logically to Wayland clients.

In order to make this work over all Clutter widgetry
instead of just Wayland clients, make the ClutterSeat-level
inhibition API control this feature at the ClutterStage picking
level, and leave/enter the seat pointer as appropriate.

By default, the seat pointer has (un)focus inhibited. The
MetaCursorTracker has been made another player in unfocus
inhibition, simply asking for the pointer to get its focus
while the cursor is visible.

This in practice means that picking code may return a NULL
actor, some asserts and preconditions had to be changed to
handle this, plus some test code slightly.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3420>
2024-02-13 01:01:48 +01:00
..
cally cally/text: Use macros for subclassing boilerplate 2024-01-10 09:37:38 +01:00
clutter-action-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-action.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-action.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-actor-box-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-actor-box.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-actor-meta-private.h actor-meta-group: Use macros for subclassing boilerplate 2024-01-10 09:32:47 +01:00
clutter-actor-meta.c actor-meta-group: Use macros for subclassing boilerplate 2024-01-10 09:32:47 +01:00
clutter-actor-meta.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-actor-private.h cleanup: Remove unused callbacks 2024-02-08 13:32:51 +00:00
clutter-actor.c clutter: Don't display actor names on paint volumes 2024-02-09 10:37:52 +00:00
clutter-actor.h cleanup: Remove unused callbacks 2024-02-08 13:32:51 +00:00
clutter-align-constraint.c align-constraint: Use macros for subclassing boilerplate 2024-01-10 09:19:05 +01:00
clutter-align-constraint.h align-constraint: Use macros for subclassing boilerplate 2024-01-10 09:19:05 +01:00
clutter-animatable.c docs: Update more links to gi-docgen 2024-01-09 15:23:04 +00:00
clutter-animatable.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-backend-private.h clutter/backend: Remove 'finish_init()' vfunc 2023-12-05 14:39:25 +00:00
clutter-backend.c docs: Update more links to gi-docgen 2024-01-09 15:23:04 +00:00
clutter-backend.h clutter: Prefer using ClutterTextDirection 2024-01-22 15:02:33 +00:00
clutter-base-types.c docs: Remove remaining SECTIONs 2024-01-09 15:23:04 +00:00
clutter-bin-layout.c docs/clutter: Drop no longer applicable examples links 2024-01-12 11:40:20 +00:00
clutter-bin-layout.h Revert "clutter: Mark BinLayout as final" 2024-01-10 11:31:13 +01:00
clutter-bind-constraint.c bind-constraint: Use macros for subclassing boilerplate 2024-01-10 09:19:14 +01:00
clutter-bind-constraint.h bind-constraint: Use macros for subclassing boilerplate 2024-01-10 09:19:14 +01:00
clutter-binding-pool.c cleanup: Remove unused callbacks 2024-02-08 13:32:51 +00:00
clutter-binding-pool.h cleanup: Remove unused callbacks 2024-02-08 13:32:51 +00:00
clutter-blur-effect.c blur-effect: Use macros for subclassing boilerplate 2024-01-10 09:28:08 +01:00
clutter-blur-effect.h blur-effect: Use macros for subclassing boilerplate 2024-01-10 09:28:08 +01:00
clutter-blur-private.h clutter: Pass 'radius' to public blur APIs instead of 'sigma' 2023-12-14 18:12:55 +00:00
clutter-blur.c docs: Remove remaining SECTIONs 2024-01-09 15:23:04 +00:00
clutter-box-layout.c clutter: Mark BoxLayout as derivable 2024-01-10 11:52:51 +01:00
clutter-box-layout.h clutter: Mark BoxLayout as derivable 2024-01-10 11:52:51 +01:00
clutter-brightness-contrast-effect.c brightness-contrast-effect: Use macros for subclassing boilerplate 2024-01-10 09:31:54 +01:00
clutter-brightness-contrast-effect.h brightness-contrast-effect: Use macros for subclassing boilerplate 2024-01-10 09:31:54 +01:00
clutter-click-action.c clutter: Drop CLUTTER_PARAM_* defines 2023-12-13 11:20:04 +00:00
clutter-click-action.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-clone.c clone: Use macros for subclassing boilerplate 2024-01-10 09:34:58 +01:00
clutter-clone.h clone: Use macros for subclassing boilerplate 2024-01-10 09:34:58 +01:00
clutter-color-state.c clutter: Drop CLUTTER_PARAM_* defines 2023-12-13 11:20:04 +00:00
clutter-color-state.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-color-static.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
clutter-color.c docs: Update more links to gi-docgen 2024-01-09 15:23:04 +00:00
clutter-color.h clutter: Move autoptr cleanup function defintion 2024-01-10 09:29:47 +01:00
clutter-colorize-effect.c colorize-effect: Use macros for subclassing boilerplate 2024-01-10 09:25:03 +01:00
clutter-colorize-effect.h colorize-effect: Use macros for subclassing boilerplate 2024-01-10 09:25:03 +01:00
clutter-constraint-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-constraint.c docs/clutter: Drop no longer applicable examples links 2024-01-12 11:40:20 +00:00
clutter-constraint.h constraint: Use macros for subclassing boilerplate 2024-01-10 09:16:52 +01:00
clutter-content-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-content.c docs: Update more links to gi-docgen 2024-01-09 15:23:04 +00:00
clutter-content.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-context-private.h context: Make ClutterContext a GObject and move to separate file 2023-12-05 14:39:25 +00:00
clutter-context.c context: Make ClutterContext a GObject and move to separate file 2023-12-05 14:39:25 +00:00
clutter-context.h context: Make ClutterContext a GObject and move to separate file 2023-12-05 14:39:25 +00:00
clutter-damage-history.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-damage-history.h Port to MtkRegion 2023-11-03 11:27:52 +00:00
clutter-debug.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-deform-effect.c deform-effect: Use macros for subclassing boilerplate 2024-01-10 09:27:42 +01:00
clutter-deform-effect.h deform-effect: Use macros for subclassing boilerplate 2024-01-10 09:27:42 +01:00
clutter-desaturate-effect.c desaturate-effect: Use macros for subclassing boilerplate 2024-01-10 09:31:22 +01:00
clutter-desaturate-effect.h desaturate-effect: Use macros for subclassing boilerplate 2024-01-10 09:31:22 +01:00
clutter-easing.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-easing.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-effect-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-effect.c docs: Update more links to gi-docgen 2024-01-09 15:23:04 +00:00
clutter-effect.h effect: Use macros for subclassing boilerplate 2024-01-10 09:16:14 +01:00
clutter-enum-types.c.in build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-enum-types.h.in cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-enums.h clutter/flow-layout: Use Orientation enum 2024-02-09 18:03:09 +01:00
clutter-event-private.h clutter: Add ClutterModifierSet argument to key event constructor 2023-11-08 08:07:41 +00:00
clutter-event.c clutter: Drop clutter_event_new() from public headers 2024-01-12 14:39:17 +00:00
clutter-event.h clutter: Drop clutter_event_new() from public headers 2024-01-12 14:39:17 +00:00
clutter-feature.c docs: Remove remaining SECTIONs 2024-01-09 15:23:04 +00:00
clutter-fixed-layout.c clutter: Mark FixedLayout as derivable 2024-01-10 12:55:02 +01:00
clutter-fixed-layout.h clutter: Mark FixedLayout as derivable 2024-01-10 12:55:02 +01:00
clutter-flatten-effect.c flatten-effect: Use macros for subclassing boilerplate 2024-01-10 09:30:23 +01:00
clutter-flatten-effect.h flatten-effect: Use macros for subclassing boilerplate 2024-01-10 09:30:23 +01:00
clutter-flow-layout.c clutter/flow-layout: Use Orientation enum 2024-02-09 18:03:09 +01:00
clutter-flow-layout.h clutter/flow-layout: Use Orientation enum 2024-02-09 18:03:09 +01:00
clutter-frame-clock.c clutter/frame-clock: Add a state for when scheduled "now" 2024-02-10 16:16:19 +00:00
clutter-frame-clock.h clutter/frame-clock: Store output name 2023-12-06 16:12:58 +00:00
clutter-frame-private.h clutter/frame: Export clutter_frame_get_result() 2024-01-26 19:03:02 +00:00
clutter-frame.c clutter/frame-clock,wayland: Calculate frame deadline during scheduling 2024-01-22 15:39:48 +00:00
clutter-frame.h clutter/frame-clock,wayland: Calculate frame deadline during scheduling 2024-01-22 15:39:48 +00:00
clutter-gesture-action.c clutter: Drop CLUTTER_PARAM_* defines 2023-12-13 11:20:04 +00:00
clutter-gesture-action.h clutter: Drop GestureAction.get_threshold_trigger_egde 2023-11-09 15:07:30 +00:00
clutter-grab.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
clutter-graphene.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-graphene.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
clutter-grid-layout.c grid-layout: Use macros for subclassing boilerplate 2024-01-10 09:28:47 +01:00
clutter-grid-layout.h grid-layout: Use macros for subclassing boilerplate 2024-01-10 09:28:47 +01:00
clutter-image.c docs/clutter: Drop no longer applicable examples links 2024-01-12 11:40:20 +00:00
clutter-image.h clutter: Replace cairo_rectangle_int_t with MtkRectangle 2023-08-30 16:46:13 +02:00
clutter-input-device-private.h cleanup: Fix various typos 2023-08-12 20:13:37 +00:00
clutter-input-device-tool.c input-device-tool: Use macros for subclassing boilerplate 2024-01-10 09:30:34 +01:00
clutter-input-device-tool.h input-device-tool: Use macros for subclassing boilerplate 2024-01-10 09:30:34 +01:00
clutter-input-device.c clutter: Drop CLUTTER_PARAM_* defines 2023-12-13 11:20:04 +00:00
clutter-input-device.h clutter/input-device: Move autocleanup macro 2024-01-10 09:37:15 +01:00
clutter-input-focus-private.h clutter: Drop unused private functions/defines 2023-12-13 11:20:04 +00:00
clutter-input-focus.c clutter: Drop unused private functions/defines 2023-12-13 11:20:04 +00:00
clutter-input-focus.h Update license access method 2023-08-30 08:48:23 +02:00
clutter-input-method-private.h clutter: Drop unused private functions/defines 2023-12-13 11:20:04 +00:00
clutter-input-method.c cleanup: Make clutter includes consistent 2024-01-05 14:22:22 +01:00
clutter-input-method.h cleanup: Make clutter includes consistent 2024-01-05 14:22:22 +01:00
clutter-input-only-action.c clutter/input-only-action: Don't override finalize with dispose 2023-11-20 12:10:52 +01:00
clutter-input-only-action.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
clutter-input-only-actor.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-input-only-actor.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
clutter-input-pointer-a11y-private.h Update license access method 2023-08-30 08:48:23 +02:00
clutter-input-pointer-a11y.c context: Make ClutterContext a GObject and move to separate file 2023-12-05 14:39:25 +00:00
clutter-interval.c interval: Use macros for subclassing boilerplate 2024-01-10 09:29:44 +01:00
clutter-interval.h interval: Use macros for subclassing boilerplate 2024-01-10 09:29:44 +01:00
clutter-keyframe-transition.c keyframe-transition: Use macros for subclassing boilerplate 2024-01-10 09:23:16 +01:00
clutter-keyframe-transition.h keyframe-transition: Use macros for subclassing boilerplate 2024-01-10 09:23:16 +01:00
clutter-keymap-private.h Update license access method 2023-08-30 08:48:23 +02:00
clutter-keymap.c clutter: Prefer using ClutterTextDirection 2024-01-22 15:02:33 +00:00
clutter-keymap.h clutter: Prefer using ClutterTextDirection 2024-01-22 15:02:33 +00:00
clutter-keyname-table.h clutter: Generate keynames table 2022-12-22 15:13:54 +01:00
clutter-keysyms-table.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-keysyms-update.pl cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
clutter-keysyms.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
clutter-keyval.c clutter/keyval: Fix keyval_name() transfer annotation 2023-11-14 16:28:09 +00:00
clutter-keyval.h clutter/keyval: Fix keyval_name() transfer annotation 2023-11-14 16:28:09 +00:00
clutter-layout-manager.c docs: Update more links to gi-docgen 2024-01-09 15:23:04 +00:00
clutter-layout-manager.h clutter/layout-manager: Consume Actors not Containers 2023-11-14 09:57:39 +00:00
clutter-layout-meta.c clutter: Drop CLUTTER_PARAM_* defines 2023-12-13 11:20:04 +00:00
clutter-layout-meta.h clutter/layout-meta: Become one with ClutterChildMeta 2023-11-14 10:27:51 +00:00
clutter-macros.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
clutter-main.c clutter/main: Move struct where it is used 2024-02-09 18:03:05 +01:00
clutter-main.h clutter: Change clutter_do_event() name/signature 2023-08-08 03:58:42 +02:00
clutter-marshal.list clutter: Add va_marshallers for stage signals 2023-08-24 16:04:27 +00:00
clutter-mutter.h context: Make ClutterContext a GObject and move to separate file 2023-12-05 14:39:25 +00:00
clutter-offscreen-effect.c offscreen-effect: Use macros for subclassing boilerplate 2024-01-10 09:24:20 +01:00
clutter-offscreen-effect.h offscreen-effect: Use macros for subclassing boilerplate 2024-01-10 09:24:20 +01:00
clutter-page-turn-effect.c page-turn-effect: Use macros for subclassing boilerplate 2024-01-10 09:27:46 +01:00
clutter-page-turn-effect.h page-turn-effect: Use macros for subclassing boilerplate 2024-01-10 09:27:46 +01:00
clutter-paint-context-private.h Port to MtkRegion 2023-11-03 11:27:52 +00:00
clutter-paint-context.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-paint-context.h clutter: Move autoptr cleanup function defintion 2024-01-10 09:29:47 +01:00
clutter-paint-node-private.h clutter: Drop unused private functions/defines 2023-12-13 11:20:04 +00:00
clutter-paint-node.c clutter: Prefer using ClutterTextDirection 2024-01-22 15:02:33 +00:00
clutter-paint-node.h clutter: Move autoptr cleanup function defintion 2024-01-10 09:29:47 +01:00
clutter-paint-nodes.c clutter: Pass 'radius' to public blur APIs instead of 'sigma' 2023-12-14 18:12:55 +00:00
clutter-paint-nodes.h clutter: Pass 'radius' to public blur APIs instead of 'sigma' 2023-12-14 18:12:55 +00:00
clutter-paint-volume-private.h clutter: Remove unnused private functions 2023-12-19 12:44:35 +00:00
clutter-paint-volume.c clutter: Remove unnused private functions 2023-12-19 12:44:35 +00:00
clutter-pan-action.c pan-action: Use macros for subclassing boilerplate 2024-01-10 09:20:07 +01:00
clutter-pan-action.h pan-action: Use macros for subclassing boilerplate 2024-01-10 09:20:07 +01:00
clutter-pick-context-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-pick-context.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-pick-context.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-pick-stack-private.h Port to MtkRegion 2023-11-03 11:27:52 +00:00
clutter-pick-stack.c clutter/pick-stack: Add an allocation check to calculate_clear_area () 2023-12-01 15:36:32 +00:00
clutter-private.h clutter/main: Move struct where it is used 2024-02-09 18:03:05 +01:00
clutter-property-transition.c property-transition: Use macros for subclassing boilerplate 2024-01-10 09:22:19 +01:00
clutter-property-transition.h property-transition: Use macros for subclassing boilerplate 2024-01-10 09:22:19 +01:00
clutter-rotate-action.c rotate-action: Use macros for subclassing boilerplate 2024-01-10 09:20:09 +01:00
clutter-rotate-action.h rotate-action: Use macros for subclassing boilerplate 2024-01-10 09:20:09 +01:00
clutter-scroll-actor.c docs/clutter: Drop no longer applicable examples links 2024-01-12 11:40:20 +00:00
clutter-scroll-actor.h scroll-actor: Use macros for subclassing boilerplate 2024-01-10 09:35:33 +01:00
clutter-seat-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
clutter-seat.c clutter: Drop remaining params nick/blurbs 2023-12-13 11:20:04 +00:00
clutter-seat.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
clutter-settings-private.h clutter: Drop unused private functions/defines 2023-12-13 11:20:04 +00:00
clutter-settings.c settings: Use macros for subclassing boilerplate 2024-01-10 09:18:30 +01:00
clutter-settings.h settings: Use macros for subclassing boilerplate 2024-01-10 09:18:30 +01:00
clutter-shader-effect.c shader-effect: Use macros for subclassing boilerplate 2024-01-10 09:26:20 +01:00
clutter-shader-effect.h shader-effect: Use macros for subclassing boilerplate 2024-01-10 09:26:20 +01:00
clutter-shader-types.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-shader-types.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-snap-constraint.c snap-constraint: Use macros for subclassing boilerplate 2024-01-10 09:19:18 +01:00
clutter-snap-constraint.h snap-constraint: Use macros for subclassing boilerplate 2024-01-10 09:19:18 +01:00
clutter-stage-manager-private.h stage-manager: Use macros for subclassing boilerplate 2024-01-10 09:30:21 +01:00
clutter-stage-manager.c stage-manager: Use macros for subclassing boilerplate 2024-01-10 09:30:21 +01:00
clutter-stage-manager.h stage-manager: Use macros for subclassing boilerplate 2024-01-10 09:30:21 +01:00
clutter-stage-private.h clutter: Remove unnused private functions 2023-12-19 12:44:35 +00:00
clutter-stage-view-private.h clutter: Drop unused private functions/defines 2023-12-13 11:20:04 +00:00
clutter-stage-view.c clutter/stage-view: Remove superfluous return in void function 2024-01-02 13:54:38 +00:00
clutter-stage-view.h clutter/stage-view: Rename offscreen pipeline vfunc 2023-12-06 13:45:03 +00:00
clutter-stage-window.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-stage-window.h Remove unused _clutter_stage_window_set_title 2023-10-26 09:49:29 +00:00
clutter-stage.c wayland: Handle pointer focus inhibition at the Clutter level 2024-02-13 01:01:48 +01:00
clutter-stage.h stage: Use macros for subclassing boilerplate 2024-01-10 09:34:24 +01:00
clutter-swipe-action.c swipe-action: Use macros for subclassing boilerplate 2024-01-10 09:21:14 +01:00
clutter-swipe-action.h swipe-action: Use macros for subclassing boilerplate 2024-01-10 09:21:14 +01:00
clutter-tap-action.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-tap-action.h tap-action: Use macros for subclassing boilerplate 2024-01-10 09:20:31 +01:00
clutter-text-buffer.c text-buffer: Use macros for subclassing boilerplate 2024-01-10 09:21:05 +01:00
clutter-text-buffer.h text-buffer: Use macros for subclassing boilerplate 2024-01-10 09:21:05 +01:00
clutter-text.c clutter: Prefer using ClutterTextDirection 2024-01-22 15:02:33 +00:00
clutter-text.h text: Use macros for subclassing boilerplate 2024-01-10 09:37:13 +01:00
clutter-texture-content.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
clutter-texture-content.h clutter: Replace cairo_rectangle_int_t with MtkRectangle 2023-08-30 16:46:13 +02:00
clutter-timeline-private.h clutter: Drop unused private functions/defines 2023-12-13 11:20:04 +00:00
clutter-timeline.c timeline: Use macros for subclassing boilerplate 2024-01-10 09:11:56 +01:00
clutter-timeline.h timeline: Use macros for subclassing boilerplate 2024-01-10 09:11:56 +01:00
clutter-transition-group.c transition-group: Use macros for subclassing boilerplate 2024-01-10 09:15:51 +01:00
clutter-transition-group.h transition-group: Use macros for subclassing boilerplate 2024-01-10 09:15:51 +01:00
clutter-transition.c transition: Use macros for subclassing boilerplate 2024-01-10 09:15:47 +01:00
clutter-transition.h transition: Use macros for subclassing boilerplate 2024-01-10 09:15:47 +01:00
clutter-types.h text: Use macros for subclassing boilerplate 2024-01-10 09:37:13 +01:00
clutter-util.c clutter: Prefer using ClutterTextDirection 2024-01-22 15:02:33 +00:00
clutter-virtual-input-device.c clutter: Drop CLUTTER_PARAM_* defines 2023-12-13 11:20:04 +00:00
clutter-virtual-input-device.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
clutter-zoom-action.c zoom-action: Use macros for subclassing boilerplate 2024-01-10 09:11:52 +01:00
clutter-zoom-action.h zoom-action: Use macros for subclassing boilerplate 2024-01-10 09:11:52 +01:00
clutter.h clutter: Move ClutterCanvas to gnome-shell 2024-01-17 11:58:47 +01:00
gen-keyname-table.pl clutter: Generate keynames table 2022-12-22 15:13:54 +01:00
keynames.txt clutter: Generate keynames table 2022-12-22 15:13:54 +01:00
meson.build clutter: Move ClutterCanvas to gnome-shell 2024-01-17 11:58:47 +01:00