Sebastian Wick
7e2627f5d8
wayland: Set the WaylandCompositor as wl_clients user_data
...
This makes it easier to get references to components in wayland
callbacks where the resource is inert and thus has a user_data of NULL.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3893 >
2024-08-29 23:00:34 +00:00
Sebastian Wick
63fa79c878
wayland/surface: Add double-buffered color state
...
This will be used by the color management protocol to set the color
state of a surface.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3893 >
2024-08-29 23:00:34 +00:00
Sebastian Wick
1b2d0a4d4a
debug-control: Add property for toggling color management protocol
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3893 >
2024-08-29 23:00:34 +00:00
Jonas Ådahl
fe0371641f
docs/debugging: Update CI reproduction steps
...
No need to manually deal with pipewire or runtime directories anymore.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3987 >
2024-08-29 22:04:44 +00:00
Jonas Ådahl
3248798978
ci: Rely on socket activated PipeWire
...
The D-Bus test environment helper now handles socket activated PipeWire,
so no need to launch it from the outside.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3986 >
2024-08-29 21:23:48 +00:00
Bilal Elmoussaoui
0104fbe577
actor/x11: Remove unused shadow properties
...
The actor is an internal implementation detail and nothing changes
the value of those properties
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3979 >
2024-08-29 18:17:19 +00:00
Bilal Elmoussaoui
3bc2ab7a6a
x11/shadow-factory: Remove unused APIs
...
As it is a private type now, clean up unused bits
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3979 >
2024-08-29 18:17:19 +00:00
Bilal Elmoussaoui
255ddae7b5
compositor: Make shadow factory types x11 specific
...
As they are only used there, also make their APIs private
as they are not meant to be used externally
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3979 >
2024-08-29 18:17:19 +00:00
Bilal Elmoussaoui
926d041f84
compositor: Replace \r\n with \n
...
Zed Editor, wasn't supported editorconfig yet, causing a mess
in some of my previous commits. Fix that
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3979 >
2024-08-29 18:17:19 +00:00
Bilal Elmoussaoui
43295b80aa
backends/stage-impl: Drop no longer useful CoglContext check
...
As initializing Clutter would fail making MetaBackend to fail before creating
a MetaStage
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
9c7f196ef6
compositor/background: Get ClutterBackend from MetaBackend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
e85d12deac
compositor/window-drag: Get ClutterBackend from MetaBackend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
d584a512cb
clutter/stage: Get Context from actor state
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
b3da64c20e
clutter/pick-context: Get CoglContext from actor context
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
617a3aa58b
clutter/actor: Get Backend from associated actor context
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
f49a2a3370
backends/cursor-tracker: Get ClutterBackend from MetaBackend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
7fca771c4e
wayland/tablet-seat: Get ClutterBackend from MetaBackend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
182951dea3
compositor/actor: Get ClutterBackend from MetaBackend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
e3f4e735f5
backends/screencast: Get ClutterBackend from MetaBackend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
10f630c4a4
wayland/input: Get ClutterBackend from MetaBackend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
98c36ad1c6
input/action-mapper: Get ClutterBackend from MetaBackend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
102ca86c97
wayland/text-input: Get ClutterBackend from MetaBackend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
251d69f21a
wayland/keyboard: Get ClutterBackend from MetaBackend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
9458008863
wayland/pointer: Get ClutterBackend from MetaBackend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
370e7d3157
clutter/text: Get Backend from associated actor context
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
3152b4a3f1
clutter/stage: Get Backend & Context from the associated actor
...
Had to move the state construction from init to constructed, to ensure
that the Actor's constructor has been executed and Actor.get_context
won't return NULL
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
62da8d7aac
clutter: Get CoglContext from a CoglTexture where possible
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
5f5448b180
cogl/texture: Expose Texture.get_context
...
Would be useful for next commit
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
75c7ced752
clutter/text: Get CoglContext from the actor's associated Backend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
bc633280d9
clutter/stage: Get Backend from stage's associated context
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
da625f6dad
compositor/sync-ring: Pass around CoglContext
...
Instead of getting it from the ClutterBackend.get_default
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
5831a1a555
backends/x11: Get ClutterBackend from MetaBackend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
faa0860e9d
window: Get Backend from actor's associated context
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
b252b9585f
tests/ref-test: Get Backend from actor's associated context
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
07431d1abc
tests/clutter: Add a helper for getting the default seat
...
As it is widely used in the tests, simplifies future changes like
the previous one
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
c1e9711a83
tests: Use helper to get ClutterBackend
...
Instead of using the get_default API, which goes through
the Context.get_default that we want to get rid of
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
1abbfb5ed2
clutter/context: Create a Settings when constructed
...
Instead of removing Settings.get_default, we mark it as deprecated
as a lot of extensions seems to use it
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
8013049130
clutter: Stop using Settings.get_default
...
Instead, get it from the context. See next commit
For ClutterText, we had to switch to using constructed
as the ClutterContext will be set for the ClutterActor in the
constructor phase
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
8a71c89442
clutter/backend: Keep a back pointer to the Context
...
Will be useful in the upcoming commits
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
b02a29fee7
clutter/context: Add API to get the corresponding Settings
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Jonas Ådahl
66a45809fa
kms/impl-device: Disarm deadline timer when disabling
...
Otherwise we'll end up firing when not expected to, e.g. when the screen
is locked and monitors are all turned off.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3629
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3982 >
2024-08-29 09:23:07 +00:00
Jonas Ådahl
1d87bcaab2
kms/impl-device: Put deadline timer disarming in a helper
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3982 >
2024-08-29 09:23:07 +00:00
Florian Müllner
d017bf3af7
ci: Replace asciidoc in image
...
gnome-shell switched to rst2man to generate its man pages, so
we can drop asciidoc from the image.
It's unclear (at least to me) what's currently pulling in rst2man,
so it seems safer to explicitly pull that in ourselves.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3983 >
2024-08-29 01:42:27 +02:00
Florian Müllner
8553ca0c2f
ci: Don't explicitly pull in libdisplay-info
...
Fedora's mutter package switched to libdisplay-info a while ago,
so builddep already covers it.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3983 >
2024-08-29 00:40:38 +02:00
Florian Müllner
89a4538f48
ci: Remove unused dependency
...
libgcrypt was included in commit d3a7e9a7b5
to build a newer
version of gcr. Since the gcr dependency is satisfied by the
distro package again, we don't need its build dependencies
anymore.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3983 >
2024-08-29 00:40:21 +02:00
Georges Basile Stavracas Neto
690564277c
frames: Load libadwaita on GNOME
...
Or, optionally, when the MUTTER_FRAMES_PLATFORM_LIBRARY env var is set
to "adwaita". For debugging purposes, it is possible to disable loading
any platform library with MUTTER_FRAMES_PLATFORM_LIBRARY set to "none".
Add the CSS class "ssd-frame" to the MetaFrame (i.e. GtkWindow)
instances
as that lets libadwaita pick the right style, and won't do anything for
non-Adwaita styles.
This patch is specially careful not to link against libadwaita.
Closes https://gitlab.gnome.org/GNOME/mutter/-/issues/2830
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3981 >
2024-08-28 15:29:22 +00:00
Jonas Ådahl
fb588bcb29
tests/dbus-runner: Remove support for service launching via env vars
...
It's no longer used, as the previous usage was replaced by socket
activation.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3973 >
2024-08-28 14:57:51 +00:00
Jonas Ådahl
39ba9c4c65
ci: Run installed tests when running the dist job
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3973 >
2024-08-28 14:57:51 +00:00
Jonas Ådahl
4fe6a5fad9
tests: Install most tests
...
Tests that needs to run in a virtual machine are excluded.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3973 >
2024-08-28 14:57:51 +00:00
Jonas Ådahl
51b2a9a500
tests/dbus-runner: Launch pipewire via socket activation
...
Launching pipewire and wireplumber is racy, as there is an arbitrary
amount of time between pipewire is launched, and that the socket is
bound.
In order to eliminate this race, bind the pipewire sockets ourselves,
and launch pipewire (and wireplumber) when there is activity on the
socket. This is using the systemd method of doing socket activation,
which consists of passing the number of passed file descriptors via
$LISTEN_FDS, and the pid of the launchee via $LISTEN_PID.
The former is easy, just pass the file descriptors, but the former is
more tricky when using python, as executing code before exec() is poorly
supported and likely to be deprecated. To address this, socket
activation services are wrapped in a socket-launch.sh helper which sets
the $LISTEN_PID to itself before calling exec().
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3973 >
2024-08-28 14:57:51 +00:00