2dd04f7cbe
compositor: Use subclassing macros for Module
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3520 >
2024-01-13 17:22:26 +00:00
b1bc03a314
native: Use subclassing macros for InputDeviceToolNative
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3520 >
2024-01-13 17:22:26 +00:00
a79834a1ff
x11: Use subclassing macros for InputSettingsX11
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3520 >
2024-01-13 17:22:26 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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