33450 Commits

Author SHA1 Message Date
Jonas Ådahl
8cae2e7b08 debug-control: Remove output luminance knob
It was replaced with an actual setting and is no longer used.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4271>
2025-02-27 13:13:42 +01:00
Jonas Ådahl
7ae038a62d color-device: Get output luminance from MetaSettings
This makes it per output, and not a debug utility.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4271>
2025-02-27 13:13:17 +01:00
Jonas Ådahl
bdf1ff0360 settings: Add output luminance settings to org.gnome.mutter
This aims to allow configuring the output luminance currently used via
the color state shaders. It will replace the output luminance property
of the debug control API.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4271>
2025-02-27 11:35:22 +00:00
Jonas Ådahl
5b6519b4d4 monitor: Allow passing const monitor specs to equals()
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4271>
2025-02-27 11:35:22 +00:00
Jonas Ådahl
7fa41a6f97 monitor: Make spec clone function take a const pointer
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4271>
2025-02-27 11:35:22 +00:00
Jonas Ådahl
ad77344809 output: Declare color mode type in backend types
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4271>
2025-02-27 11:35:22 +00:00
Jonas Ådahl
463eb3993b settings: Remove stray newline
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4271>
2025-02-27 11:35:22 +00:00
Jonas Ådahl
e0b44bdc03 settings: Fix include order
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4271>
2025-02-27 11:35:22 +00:00
Jordi Mas i Hernandez
8a59d8a05d Update Catalan translation 2025-02-27 06:38:12 +00:00
Rafael Fontenelle
9acb170493 Update Brazilian Portuguese translation 2025-02-27 01:41:56 +00:00
Hugo Carvalho
f7edee6826 Update Portuguese translation 2025-02-27 01:35:40 +00:00
Daniel van Vugt
df555f4828 tests: Fall back if there's no seat_id for the current session_id
Such as in an ssh login.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3875

Fixes: 98b347b204 ("dbusmock/logind: Mock logind and remove KVM special handling")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4299>
2025-02-27 01:15:06 +00:00
Quentin PAGÈS
b2c5d441c9 Update Occitan translation 2025-02-26 23:48:22 +00:00
Aurimas Černius
ff64868b7e Update Lithuanian translation 2025-02-26 21:02:34 +00:00
Mattia Formichetti
9fe83c736c schemas: Center windows by default
Now that the requirements to do this are met, we can finally
center new windows by default.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2123
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1662
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/246
Closes: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1898442
Closes: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1298263
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4294>
2025-02-26 10:13:22 +00:00
Mattia Formichetti
a673adebab core/stack: Simplify compare_window_position
compare_window_position calls into meta_window_stack_position_compare
with inverted inputs instead of duplicating the logic.
This comes at the cost of an extra meta_stack_ensure_sorted which should
be culled out.
To ensure this, need_resort is reset before the sorting process starts.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4183>
2025-02-26 10:03:18 +00:00
Mattia Formichetti
02e3eb8de8 core: Drop meta_stack_windows_cmp and derived functions
Since these will not be used from now on, we can finally clean up
meta_stack_windows_cmp, window_stack_cmp and meta_display_stack_cmp.
Now the only comparison function is meta_window_stack_position_compare.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4183>
2025-02-26 10:03:18 +00:00
Mattia Formichetti
cddfd875bc core: Port to meta_window_stack_position_compare
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4183>
2025-02-26 10:03:18 +00:00
Mattia Formichetti
11d0a4b5b3 core/stack: Introduce meta_window_stack_position_compare
This moves the implementation to window.c for a more general comparison
function to be used throughout the code base.
It will be used in the successive commits.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4183>
2025-02-26 10:03:18 +00:00
Mattia Formichetti
a34b9276b4 core/stack: Export meta_stack_ensure_sorted
We export stack_ensure_sorted as meta_stack_ensure_sorted; it will be
needed in the next commit since the general comparison function will move
to window.c

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4183>
2025-02-26 10:03:18 +00:00
Mattia Formichetti
e1cf5352a6 core/stack: Get workspace_manager from display whenever possible
Simplifies meta_stack_update_layer and meta_stack_update_transient

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4183>
2025-02-26 10:03:18 +00:00
Mattia Formichetti
e591850206 core/stack: Reformat stack.c
This commit only reformats stack.c, mostly following uncrustify's output.
No functional change intended.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4183>
2025-02-26 10:03:18 +00:00
Keyu Tao
57698c2689 wayland/text-input: Reset focus state when destroying text_input
When closing some wayland apps using text-input-v3, text_input_destructor
could remove resource in focus_resource_list without resetting focus.

This could be an issue if, the focus is on a wayland app not using text-
input-v3 after closing those. Text committing would fail, and the
candidate window would always show on previous entry.

This commit adds check in text_input_destructor, resetting focus if
necessary.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4776
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4164>
2025-02-26 09:44:50 +00:00
José Expósito
54c606ed8e gdctl: Allow to lease monitors
Add a new option (--for-lease-monitor) to allow to set a monitor that is
not part of any logical monitor as available for lease.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4300>
2025-02-26 08:34:56 +00:00
José Expósito
70de6901dc gdctl: Fix transform example
The text reads "transformed by 270 degrees" but the corresponding flag
is missing.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4300>
2025-02-26 08:34:56 +00:00
Joan Torres
5a984292a5 tests/clutter: Add color-state-transform test
The steps for this test:
  * For each testing color create an actor and assign the color to it.
  * Create a src_color_state and set it to all actors.
  * Create a target_color_state and set it to the stage_view.
  * Wait for paint.
  * Read the color for each actor which will be different after the
    color-state transformation.
  * Do the same transformation on CPU for each test color.
  * Validate that the resulting colors match.

In the future this test will be extended to compare transformations
between color_state_params and color_state_icc.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4230>
2025-02-25 18:28:49 +00:00
Joan Torres
9022b39a50 clutter/color-state: Add do_transform method
This is a CPU-based transformation method that performs the
same transformation implemented on GPU shaders.

The transformation gets an array of pixels in RGB float format and
returns an array of pixels transformed.

This will be used in the next commit to compare the results
between CPU and GPU, validating the shader implementations.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4230>
2025-02-25 18:28:49 +00:00
Joan Torres
ca977ce2bb clutter/color-state-params: Avoid implicit cast from int to float
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4230>
2025-02-25 18:28:49 +00:00
Joan Torres
593eb66b36 clutter/color-state-params: Fix bt709 snippet
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4230>
2025-02-25 18:28:49 +00:00
Jonas Ådahl
1d88f82d0d gdctl: Use Dimenison.__str__() to print mode dimension
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4302>
2025-02-25 12:22:48 +00:00
Jonas Ådahl
078ba5ea88 gdctl: Make MonitorMode.dimension an actual Dimension
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4302>
2025-02-25 12:22:48 +00:00
Jonas Ådahl
c9c7768418 gdctl: Add __str__(self) for Dimension too
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4302>
2025-02-25 12:22:48 +00:00
Jonas Ådahl
414156d0a1 gdctl: Fix printing Position
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4302>
2025-02-25 12:22:48 +00:00
Jonas Ådahl
edb91a3cc6 udev: Don't ignore drm devices with mismatching seat when headless
The seat we'll have is not a real seat, so lets not filter out drm
devices when running headlessly.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3912
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4281>
2025-02-25 08:21:17 +00:00
Sebastian Wick
b7e6f6d144 cogl: Get the authority for vertex/fragment_snippets_state_equal
They expect the authority of the pipeline, which is not necessarily the
pipeline we're operating on.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3924
Fixes: 5e98ee5dbe ("cogl: Add pipeline hooks to user program pipelines")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4298>
2025-02-25 03:27:27 +00:00
Sebastian Wick
d8512767ea color-device: Update the color device on force-hdr debug-control changes
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4298>
2025-02-25 03:27:27 +00:00
Sebastian Wick
74f8e83154 wayland/color-management: Enable support for EXT_LINEAR tf
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4291>
2025-02-25 02:40:17 +00:00
Sebastian Wick
8fb2a8a4b8 wayland/color-management: Expose the protocol by default
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4291>
2025-02-25 02:40:17 +00:00
Sebastian Wick
4fe1e41ab3 wayland/color-management: Update to upstream wp_color_management_v1
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4291>
2025-02-25 02:40:17 +00:00
Sebastian Wick
b1ef99bf23 build: Reorder wayland protocol alphabetically
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4291>
2025-02-25 02:40:17 +00:00
Lukáš Tyrychtr
5eaed6e3f3 core: Let the MetaA11yManager handle keyboard events
Plumb the MetaA11yManager into key event handling. This manager
is partly in control of keyboard event propagation, depending on
the screen readers connected.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4217>
2025-02-25 02:14:46 +00:00
Lukáš Tyrychtr
a817d7c137 core: Add a debug control override to disable the a11y manager ACL
This commit adds another way how to disable the a11y manager ACL in development.
Setting the unsafe mode might not be as straightforward as setting an
environment variable for the session, and you can control it invidually too.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4217>
2025-02-25 02:14:46 +00:00
Lukáš Tyrychtr
1c34794b13 backends: Add D-Bus access control helper
Track unique DBus senders and allow only thse which own a (at least so far)
pre-defined set of well known DBus names.

Carlos Garnacho: Renamed to a more generic helper, use g_bus_watch_name().

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4217>
2025-02-25 02:14:46 +00:00
Lukáš Tyrychtr
20c9b8cf0c backends: Add a11y interface methods to subscribe to key event input
This adds a pair of methods to signal an interest in receiving
all key events without grabbing them, e. g. the previously expected behavior
by screen readers.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4217>
2025-02-25 02:14:46 +00:00
Lukáš Tyrychtr
800981c40c backends: Add method to pass key events to screen readers
Accessibility shortcuts and keyboard grabs need to be consumed,
and key events propagated to screen readers. Add a function that
does it all at once.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4217>
2025-02-25 02:14:46 +00:00
Lukáš Tyrychtr
45f6bed780 backends/native: Propagate a11y modifiers from MetaA11yManager
Listen to changes in MetaA11yManager configured modifiers, and propagate
these along to the MetaSeatNative. This lets the backend keep track of
configuration changes in a11y modifiers.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4217>
2025-02-25 02:14:46 +00:00
Lukáš Tyrychtr
1498724774 backends: Add MetaA11yManager method to get configured a11y modifiers
The ::a11y-modifiers-change method allows tracking for changes in the
configured modifiers, add this method to allow backends to get the
modifiers so that they can be passed along the lower layers.

Carlos Garnacho: Turn into a method instead of a signal argument, turn
into an array+length instead of a hashtable.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4217>
2025-02-25 02:14:46 +00:00
Lukáš Tyrychtr
0bcda4ecf4 backends: Implement A11y monitor interface
Implement the org.freedesktop.a11y.KeyboardMonitor interface,
allowing screen readers to interact with Mutter and grab
shortcuts or full keyboard interaction.

Carlos Garnacho: Move setup to ::constructed.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4217>
2025-02-25 02:14:46 +00:00
Lukáš Tyrychtr
f4ce1e8a46 backends: Manage MetaA11yManager in MetaBackend
The MetaBackend will own the MetaA11yManager, being actually
put to use in backend implementations.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4217>
2025-02-25 02:14:46 +00:00
Lukáš Tyrychtr
c0c4524452 backends: Add MetaA11yManager
This a11y manager will handle key event emission to screen
readers and other ATs. This initial commit only introduces
the object.

Carlos Garnacho: Make the object take a ::backend property

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4217>
2025-02-25 02:14:46 +00:00