33365 Commits

Author SHA1 Message Date
Carlos Garnacho
0eaae111d3 x11: Hook up window gravity in size hints to MetaWindow gravity
Make us prefer the gravity as it happens through grab ops first, then
the gravity as specified by the client.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3972>
2025-01-29 12:44:04 +00:00
Carlos Garnacho
ca0c6bcd69 core: Set gravity based on grab op during window move/resize ops
We will basically want to follow the gravity as specified by the drag
corner/edge. Hook this up to meta_window_get_gravity().

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3972>
2025-01-29 12:44:04 +00:00
Carlos Garnacho
0928d3ec32 core: Add meta_window_get_gravity() private call
This relies on a class vmethod, so that subclasses can alter
the behavior.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3972>
2025-01-29 12:44:04 +00:00
Sebastian Wick
919b747fad build: Require logind for udev support
Our udev support depends a lot on logind and is optional. Enforce that
logind is available when udev is enabled.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4223>
2025-01-29 10:44:57 +00:00
Sebastian Wick
ef0ff602b5 backends: Only build and use MetaLauncher if we have logind
Fixes: 23c2c0853c ("launcher: Move from backends/native/ to backends/")
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3878
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4223>
2025-01-29 10:44:57 +00:00
Sebastian Wick
5152fa142b context/main: Guard logind code behind #ifdef HAVE_LOGIND
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4223>
2025-01-29 10:44:57 +00:00
Sebastian Wick
e7ca9cecea build: Rename have_libsystemd to have_logind
We really only need the logind API which can be provided either by
libsystemd or libelogind.

This also pulls out finding a logind provider from the native backend
only code because we make use of it in the generic backend code as well.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4223>
2025-01-29 10:44:57 +00:00
Sebastian Wick
98519a344f build: Make the udev build option less ambiguous
It controls it for all backends, it just is required for the native one.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4223>
2025-01-29 10:44:57 +00:00
Philip Withnall
85772a13ce ci: Bump CI to include latest gsettings-desktop-schemas
This is so we get hold of
https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/-/merge_requests/96,
which is needed for changes in gnome-shell in
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3610.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4231>
2025-01-28 14:07:07 +00:00
Daniel van Vugt
156e1b3c07 tests: Fix "fallabck" typo
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4228>
2025-01-28 00:02:14 +00:00
Sebastian Keller
0d699a74a3 clutter/tests: Remove dead wiki link from README
This page does not seem to have been archived properly when the wiki got
shut down so the link does not work anymore. There is no replacement
page in the handbook either.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4229>
2025-01-27 19:01:43 +01:00
Sebastian Keller
df760910b2 gitlab: Update wiki links in issue templates to point to handbook
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3891
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4229>
2025-01-27 18:58:38 +01:00
Alessandro Astone
87cc6633a5 tests/cursor: Set cursor theme to Adwaita
The reference images were generated using the Adwaita theme, so make sure that
the test client also draws a cursrom from the Adwaita theme rather than reading the
default theme from the environment.

Ideally the test suite would embed the cursor theme and point XCURSOR_PATH to
it, so that even if the Adwaita icon theme changes in the future the test
wouldn't suddently break; I did not implement this yet.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4225>
2025-01-21 18:23:51 +01:00
Bilal Elmoussaoui
04218ac2b5 clutter: Handle accessible focus state change on Actor side
That is where it belongs anyways and would handle some missing branches
where we wouldn't update the focus state.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4089>
2025-01-20 14:23:44 +00:00
Bilal Elmoussaoui
9d72f658af clutter: Add accessible state tracking
Currently, this has been living in StWidget, moving that to Clutter
allows us to properly track the accessibility state changes in the
actors provided inside Clutter as well as simplifying things for a
future move from Atk.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4089>
2025-01-20 14:23:44 +00:00
Michel Dänzer
a211ed553b onscreen/native: Do not use modifiers if surface should be sharable
Importing a buffer allocated with a modifier into another GPU isn't
handled correctly yet in mutter. We'll want to fix that in the future,
for now just don't use modifiers in this case though, falling back to
GBM_BO_USE_LINEAR, to prevent issues due to mis-matched tiling
parameters.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3791
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4219>
2025-01-17 15:26:02 +00:00
José Expósito
a4035fc68e docs/multi-gpu: Document mutter-device-preferred-primary
Add documentation explaining how to change the primary GPU using a udev
rule.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4218>
2025-01-17 15:06:57 +00:00
Yao Wei (魏銘廷)
78c621aa1a backends/input-mapper: Synchronize device enabled state when adding device
When device is added to the mapper, the device may not be in a
desirable state. This changeset updates the device state when
the device is added to the input-mapper.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3834
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4188>
2025-01-17 05:27:24 +00:00
Jonas Ådahl
c9d8b0b5a9 screen-cast-stream-src/virtual: Track cursor updates via frame clock
When the cursor is captured via metadata, schedule updates when the
sprite changes or position moves, so we can gather the cursor change
during dispatch.

Also use the new skipped-paint stage watch to avoid having to guess
whether something will be painted by peeking at the pending damage.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4067>
2025-01-16 01:04:14 +00:00
Jonas Ådahl
5846061449 stage: Add watch mode for 'skipped' signal
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4067>
2025-01-16 01:04:14 +00:00
Jonas Ådahl
57cd2bc4f7 stage: Move N_WATCH_MODES next to the enum
This makes it harder to forget to update.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4067>
2025-01-16 01:04:14 +00:00
Jonas Ådahl
3806c0bd44 clutter/stage: Add 'skipped-paint' signal/vfunc
This is intended to allow being notified about a stage update happening,
but painting didn't happen. This is possible today by using other
signals and keeping track of painting happened, but it saves us some
state tracking by just being told so.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4067>
2025-01-16 01:04:14 +00:00
Jonas Ådahl
127c303254 util: Remove meta_warning()
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
2d43721c09 wayland: Replace meta_warning() with g_warning()
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
6dd7b0c7cd wayland: Don't warn when there is no session manager
This is often the case when running e.g. using `dbus-run-session`.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
e88205379b workspace: Replace meta_warning() with g_warning()
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
ed02ce79e9 workspace: Replace a couple of warnings with debug log entries
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
7a3f87814b window: Replace meta_warning() with g_warning()
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
654df2b795 util: Use g_warning() when warning about log files
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
b264497e4f restart: Remove trailing whitespace
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
97d29ed684 restart: Replace meta_warning() with g_warning()
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
f2ecfc9af3 prefs: Switch meta_warning() to g_warning()
This again also makes some warning log entries engulf debug log entries
since they would always warning immediately after.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
978054a0d0 keybindings: Switch meta_warning() to g_warning()
This also makes some warning log entries engulf 'keybindings' debug log
entries since they would always warning immediately after.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
e80c4b796c window: Remove condition checking for different stacks
Different stacks hasn't been a thing since support for multiple screens
was removed, so the condition no longer has any use.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
dea81517a3 core: Replace a couple of meta_warning() with 'x11' debug logs
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
681cd5d424 debug: Remove meta_verbose()
Debug logging should always use a debug topic.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
5f75d18afb workspaces: Add and use 'workspace' debug topic
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
cd48367c14 workspace-manager: Remove some trailing whitespace
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
e0b74fee52 display: Replace X11 timestamp checking warnings with debug logs
It's cases where some client is at fault, so don't print warnings in the
journal unless asked to.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
a68b6dae6a display: Replace some meta_warning()
Some are replaced with g_warning(), some are not replaced yet, as they
will be handled differently.

One warning was turned into a META_DEBUG_DISPLAY, due to it being easily
hit in CI, while being extremely unlikely otherwise.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
3a7e75e8b3 compositor: Use g_warning() instead of meta_warning()
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
8b9dbc58f8 monitor-manager/xrandr: Use g_warning() instead of meta_warning()
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
902ea05fde cursor-renderer/native: Use g_warning() instead of meta_warning()
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
da256a20cd monitor-manager/dummy: Replace meta_warning() with g_warning()
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
63a8539683 display: Replace 'ping' debug topic with new 'display' topic
"Ping" isn't important enough for having its own debug topic, so rename
it a bit to cover more areas.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
dcb4214ee6 debug: Remove 'group', 'shape' and 'resizing' debug topics
They are no longer used.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
8170d69031 x11: Replace 'shape' debug topic usage with 'x11'
There was only one user; not enough for its own topic.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
446dcf5d08 x11: Replace 'group' debug topic usage with 'x11'
It lets us fit more useful topics within the 32 bit enum.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
98bdaaf87f wayland: Replace meta_verbose() with 'wayland' debug logs
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00
Jonas Ådahl
96347d7ea0 window: Replace meta_verbose() with 'window-state' debug logs
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
2025-01-16 00:48:42 +00:00