Bilal Elmoussaoui
b1fc022ee6
x11: Use subclassing macros for InputDeviceX11
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3520 >
2024-01-13 17:22:26 +00:00
Bilal Elmoussaoui
5387135220
x11: Use subclassing macros for InputDeviceToolX11
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3520 >
2024-01-13 17:22:26 +00:00
Bilal Elmoussaoui
4f96b43222
x11: Use subclassing macros for CursorRendererX11
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3520 >
2024-01-13 17:22:26 +00:00
Bilal Elmoussaoui
d90a938c17
core: Use subclassing macros for GestureTracker
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3520 >
2024-01-13 17:22:26 +00:00
Bilal Elmoussaoui
59bdc69544
native: Use subclassing macros for InputSettingsNative
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3520 >
2024-01-13 17:22:26 +00:00
Dallas Strouse
c8c5560916
backends/native: Main thread rt-scheduler: experimental feature no more
...
To paraphrase jadahl: we have a dedicated KMS thread now, which also
has realtime scheduling enabled unconditionally. realtime scheduling
on the main thread isn't too great of an idea, considering GC can
take a hot minute.
And to quote rmader: we most likely won't be able to make the main
thread rt as long as we use GJS and thus have GC.
So let's get rid of it! It's just been breaking things anyways.
This just ignores the setting; we'll fully remove it when GNOME 46
comes around.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3296 >
2024-01-13 15:10:31 +01:00
Simon McVittie
ecdd2aeb85
workspace: Don't crash on invalid argument to meta_workspace_index
...
Mitigates: https://gitlab.gnome.org/GNOME/mutter/-/issues/2559
Mitigates: https://bugs.debian.org/1024438
Signed-off-by: Simon McVittie <smcv@debian.org>
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2774 >
2024-01-12 15:24:14 +00:00
Corentin Noël
cb03b46a20
cogl/onscreen: Add several introspection annotations
...
Only an unowned closure is returned by the add_*_callback methods as the object
itself owns the closure.
Add array annotation when taking an array of integers.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3516 >
2024-01-12 15:04:30 +00:00
Sebastian Wick
399ffdfc88
kms/connector: Keep a ref to the KmsImplDevice instead of KmsDevice
...
The KmsImplDevice always exists as long as a KmsConnector exists. The
KmsDevice doesn't exist yet as long as the KmsImplDevice is not fully
initiallized. Going through the KmsImplDevice makes sure we always have
a valid reference and can release the device fd correctly when the
initialization fails.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3243
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3518 >
2024-01-12 14:51:14 +00:00
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
Carlos Garnacho
962eb9e054
wayland: Hook focus synchronization to MetaDisplay signals
...
Instead of letting the MetaDisplay be aware of the Wayland compositor,
and take care of updating its focus. This makes the MetaWaylandCompositor
able to track focus changes by itself, using MetaDisplay as the source
of truth.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3511 >
2024-01-12 14:39:17 +00:00
Carlos Garnacho
38421b07c7
compositor: Use MetaWaylandCompositor API to drive focus synchronization
...
Use Wayland API directly here, and avoid using MetaDisplay API that will
go away.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3511 >
2024-01-12 14:39:17 +00:00
Carlos Garnacho
a2d2e04d80
wayland: Use MetaWaylandCompositor API to drive focus synchronization
...
Keep this within the wayland code itself, and avoid poking MetaDisplay
API that will go away.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3511 >
2024-01-12 14:39:17 +00:00
Carlos Garnacho
9383171958
wayland: Move Wayland focus synchronization code out of core
...
Handle focus synchronization in MetaWaylandCompositor itself. This
is so far plumbed so that MetaDisplay still drives focus synchronization
directly.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3511 >
2024-01-12 14:39:17 +00:00
Carlos Garnacho
17d1d3abd8
compositor: Avoid special grab begin/end handling in MetaWindowDrag
...
This is already performed through the ClutterStage::is-grabbed property
being tracked. There is no need to do this ad-hoc.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3511 >
2024-01-12 14:39:17 +00:00
Carlos Garnacho
bd387a6308
clutter: Drop clutter_event_new() from public headers
...
This is a leftover of the port to immutable events, and should
not be used.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3511 >
2024-01-12 14:39:17 +00:00
Sebastian Wick
bca62e6ec2
docs/website: Add documentation pages
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3519 >
2024-01-12 13:07:02 +00:00
Sebastian Wick
da3909187f
docs/website: Call it API Reference instead of API documentation
...
Just like we do in README.md.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3519 >
2024-01-12 13:07:02 +00:00
Sebastian Wick
02007bf96e
docs/website: Pull in the entire README.md contribution section
...
Instead of linking to the same text with one sentence more, pull in the
entire text and stop linking to it.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3519 >
2024-01-12 13:07:02 +00:00
Bilal Elmoussaoui
692e1f2759
docs/clutter: Drop no longer applicable examples links
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3515 >
2024-01-12 11:40:20 +00:00
Bilal Elmoussaoui
c3cb760412
misc: Use the new mutter.gnome.org URL
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3514 >
2024-01-12 10:48:20 +00:00
Carlos Garnacho
9108f2eeec
clutter: Update picked actor on scroll events
...
On one hand this avoids crashes early after startup if the very first
pointer event is a scroll event, since the stage did not pick an actor
for the pointer device yet.
On the other hand, scroll events have some likelihood to change the
actor under the pointer even though it doesn't move. We still want to
cross towards the new actor under the pointer ASAP, without waiting
for later events.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3112
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3517 >
2024-01-11 14:23:25 +00:00
Carlos Garnacho
54e4d1df79
x11: Defer ClutterStage focus actor change until window is focused
...
If we happen to be changing focus to a window *while* taking focus
away from Clutter widgetry, we would unintendedly trigger reentrance
in a way that the old focused window remained in focus, by asking
to focus the default focus window in an untimely manner.
To handle this reentrancy, delay dropping the Clutter key focus
until the window focus changed, so that the focus change will look
up the default focused window in the workspace, and find the up to
date one.
Fixes: ae102ee301
("x11: Refactor ClutterStage key focus management")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3467 >
2024-01-10 20:56:24 +01:00
Bilal Elmoussaoui
5378b10a00
ci: Distribute the new website
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3490 >
2024-01-10 19:14:58 +00:00
Bilal Elmoussaoui
3bb42e2f66
docs: Add a website
...
Co-Authored-By: Jakub Steiner <jimmac@gmail.com>
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3490 >
2024-01-10 19:14:58 +00:00
Bilal Elmoussaoui
94f9d88371
x11: Drop error trap helpers
...
They are no longer that useful as they end up calling
mtk functions nowadays
Followup of https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3230
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3483 >
2024-01-10 13:58:18 +00:00
Florian Müllner
5564eaeb4a
ci: Check that gnome-shell can still run
...
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 broke
gnome-shell, let's try to prevent this kind of breakage in the
future by running the gnome-shell test suite during CI.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3510 >
2024-01-10 14:36:00 +01:00
Bilal Elmoussaoui
8ae87ce041
clutter: Mark FixedLayout as derivable
...
As GNOME Shell derives this type
Fixes: 5b527ac89
("fixed-layout: Use macros for subclassing
boilerplate")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3509 >
2024-01-10 12:55:02 +01:00
Bilal Elmoussaoui
38fd27b528
clutter: Mark BoxLayout as derivable
...
As it is subclassed in GNOME Shell
Fixes: 23d921080
("box-layout: Use macros for subclassing boilerplate")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3509 >
2024-01-10 11:52:51 +01:00
Bilal Elmoussaoui
8e04168fb2
Revert "clutter: Mark BinLayout as final"
...
This reverts commit 2dca60bd1c
.
As GNOME Shell subclass that layout manager 3 times in the JS code part
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3509 >
2024-01-10 11:31:13 +01:00
Bilal Elmoussaoui
2dca60bd1c
clutter: Mark BinLayout as final
...
It doesn't make sense to subclass a layout manager
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:37:38 +01:00
Bilal Elmoussaoui
56023e3110
cally/text: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:37:38 +01:00
Bilal Elmoussaoui
cdcf32620a
cally/stage: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:37:38 +01:00
Bilal Elmoussaoui
22d77c9ba4
cally/root: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:37:37 +01:00
Bilal Elmoussaoui
befb21cbb2
cally/clone: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:37:37 +01:00
Bilal Elmoussaoui
4483d3ee96
cally/actor: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:37:36 +01:00
Bilal Elmoussaoui
105c8583ee
cally/util: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:37:19 +01:00
Bilal Elmoussaoui
566b14e48d
clutter/input-device: Move autocleanup macro
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:37:15 +01:00
Bilal Elmoussaoui
3679c82482
text: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:37:13 +01:00
Bilal Elmoussaoui
9409604820
scroll-actor: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:35:33 +01:00
Bilal Elmoussaoui
fbef2afb37
clone: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:34:58 +01:00
Bilal Elmoussaoui
d07056992b
stage: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:34:24 +01:00
Bilal Elmoussaoui
62482c2ac0
clutter/actor: Move autocleanup functions
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:32:49 +01:00
Bilal Elmoussaoui
35b9d24cae
actor-meta-group: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:32:47 +01:00
Bilal Elmoussaoui
c40be814c1
brightness-contrast-effect: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:31:54 +01:00
Bilal Elmoussaoui
5fecb069a0
desaturate-effect: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:31:22 +01:00
Bilal Elmoussaoui
0c46978188
input-device-tool: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:30:34 +01:00
Bilal Elmoussaoui
acb2c4b6be
flatten-effect: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:30:23 +01:00
Bilal Elmoussaoui
4a2f7a51e3
stage-manager: Use macros for subclassing boilerplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:30:21 +01:00
Bilal Elmoussaoui
4425636219
clutter: Move autoptr cleanup function defintion
...
So we can drop the header file
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3387 >
2024-01-10 09:29:47 +01:00