When a client binds to the a device, if obtaining a non-privileged fd
fails, instead of returning an error, put the client in a pending
queue.
Delaying the drm_fd is allowed by the protocol definition:
The compositor will send this event when the wp_drm_lease_device_v1
global is bound, although there are no guarantees as to how long
this takes [...]
A future commit will send the drm_fd events to the clients in the list
once Mutter can obtain a valid fd.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3921>
This might be possible if extended target volume is supported but
currently it isn't.
This is a requirement from the wayland color management:
"'reference_lum' may be higher than 'max_lum'. In that case reaching
the reference white output level in image content requires the
'extended_target_volume' feature support."
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4304>
This is a requirement from the wayland color management:
"With transfer_function.st2084_pq the given 'max_lum' value is
ignored, and 'max_lum' is taken as 'min_lum' + 10000 cd/m²."
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4304>
Ensure the window is placed in coordinates, before maximizing, tiling or
minimizing it. This should make the window maximized/tiled on the right
(or correctmost) monitor given the stored coordinates.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4311>
Ensure that windows get restored either in maximized and unmaximized
state. And ensure that monitors being removed result in windows
snapping back to reachable positions.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4311>
The superseded frame is always the oldest frame so it's the head of
the queue, not the tail. Aside from anything else, the call to
`meta_onscreen_native_notify_frame_complete` that follows *does* use
the head and not the tail.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4310>
`gdctl show` now prints "monitor preferences", which currently consists
of only the luminance setting.
`gdctl prefs` is introduced, where one can run e.g. `gdctl prefs
--monitor DP-1 --luminance 80.0` to set the output luminance of the
monitor connected to DP-1 to 80%.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4271>
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>
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>
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>
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>
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>
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>
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>