Commit Graph

32994 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
c2683a20a6 tests/dbus-runner: Use named arguments during setup
Will be a bit nice when more arguments are added.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3973>
2024-08-28 14:57:51 +00:00
6b0f7294db tests/dbus-runner: Move service launching into helper
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3973>
2024-08-28 14:57:51 +00:00
63b59dfa89 tests/dbus-runner: Avoided nested service launch lists
list = ['one']
list.append('two,three'.split(','))

results in ['one', ['two', 'three']]

while

list += 'two,three'.split(',')

results in ['one', 'two', 'three']

which is what is expected.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3973>
2024-08-28 14:57:51 +00:00