18981 Commits

Author SHA1 Message Date
Alice Mikhaylenko
e75839bd5d checkBox: Reimplement styles in CSS
Stop using SVG assets other than the actual check icon. This will help
making it recolorable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2717>
2024-06-20 13:30:57 +02:00
Sam Hewitt
92063e5e46 style: Fix background color issue with menuitems
- fix missing submenu bg colors
- add submenu color definitions

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7570
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3311>
2024-06-20 10:15:04 +00:00
Florian Müllner
2f30f5b5f4 ci: Bump mutter image
Pull in an up-to-date gsettings-desktop-schemas for the new
`accent-color` setting.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3375>
2024-06-19 20:18:45 +02:00
Georges Basile Stavracas Neto
a96868d1b0 st: Switch to render nodes
Switch to render nodes. Most of the changes follow the pattern of
replacing a cogl_framebuffer_draw_*() call by (1) creating a paint
node, and (2) calling the corresponding clutter_paint_node_add_*()
API.

StWidget now overrides ClutterActor.paint_node(), instead of paint.
All subclasses that overrided the paint vfunc also are changed to
override paint_node.

The entry point for CSS rendering, st_widget_paint_background(), now
receives a root ClutterPaintNode, and propagates it to the rendering
machinery.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1538>
2024-06-18 16:59:38 +02:00
Bilal Elmoussaoui
0cdddaa4a7 ui/animation: Fix a de-ClutterColor fallout
Fixes: 7f0b1e98c ("cleanup: Adapt to removed ClutterColor")
Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7722

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3371>
2024-06-14 19:07:30 +02:00
Alessandro Bono
258ad57b87 gdm/util: Cleanup CredentialManager on successful verification
CredentialManagers emit a user-authenticated signal with a token
upon a successful authentication. This marks the service as preempting
and will be used for the next login/unlock request. However, the
preempting service is not cleaned after a successful verification.
As a consequence, it will be picked on a second unlock request.

This doesn't happen after a succesful login request because there
is a transition from the gnome-shell process owened by GDM to the
one owned by the user.

Clean the preempting service on a successful verification, like we
do when the PAM conversation stops.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3291>
2024-06-13 21:56:36 +00:00
Alessandro Bono
5877de6c3b gdm/util: Simplify code
This avoids iterating and checking if a service is foreground
multiple times.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3291>
2024-06-13 21:56:36 +00:00
Balló György
1c6d76907c extensions-app: Substitute gettext package in metainfo
The gettext domain name can be configured in meson options, but defaults
to 'gnome-shell' if it's built as a submodule.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3368>
2024-06-13 18:34:56 +00:00
Bilal Elmoussaoui
7f0b1e98cf cleanup: Adapt to removed ClutterColor
It was replaced by CoglColor

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3142>
2024-06-13 18:29:13 +00:00
Florian Müllner
55027bb084 shell/app: Remove some dead code
`g_desktop_app_info_launch_uris_as_manager_with_fds()` was added
in GIO 2.57.2. We now depend on at least 2.79.2, so we no longer
need a fallback path for the case the function isn't available.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3361>
2024-06-13 18:21:01 +00:00
Florian Müllner
f0c14bdef3 ci: Also store gvc subproject in artifacts
After the subproject moved to a meson wrap, its checkout is no
longer managed by gitlab.

While meson will take care of checking out required submodules
during setup, this will not happen for `test` or `dist`, so store
the checked out code in artifacts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3370>
2024-06-13 19:25:50 +02:00
Florian Müllner
9b20c96691 ci: De-duplicate build artifacts
Add an explicit dependency on the `build` job for `dist-tarball`,
so its artifacts are pulled in without re-exporting them from
the `distinfo` job.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3370>
2024-06-13 19:22:41 +02:00
Florian Müllner
92f78a2a06 ci: Use !reference tag for pipeline guard
It's a bit more flexible than yaml anchors, and already used in
mutter for the same purpose.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3370>
2024-06-13 18:17:55 +02:00
Florian Müllner
a9cb754d62 ci: Bump mutter image
Mutter now depends on a newer wayland-server versions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3369>
2024-06-13 14:36:44 +02:00
Bilal Elmoussaoui
f155eb7576 tests: Adapt to Clutter.Color.to_pixel removal
By using the to_string representation instead

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3367>
2024-06-12 16:09:43 +00:00
Bilal Elmoussaoui
d911b6689c ui/background: Update default bg color
To match system_base_color from the theme
See
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3367#note_2137704
for context

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3367>
2024-06-12 16:09:43 +00:00
Bilal Elmoussaoui
4b3bbc50ff cleanup: Prefer using Color struct constructor
Instead of Color.from_pixel or Color.new as both would be removed
to simplify the Color API

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3367>
2024-06-12 16:09:43 +00:00
Bilal Elmoussaoui
cbf1d372f1 shell/screenshot: Don't use region type where rect is enough
New API added in
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3801

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3366>
2024-06-11 01:12:00 +02:00
Sebastian Wick
2d5307c01d ci/toolbox: Install glib debuginfo package
With this package, gdb is able to resolve GTypes and adds a few other
nice features. Let's install it by default.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3365>
2024-06-10 12:53:58 +02:00
Jonas Dreßler
c576f82bdf overviewControls: Make sure thumbnails expandFraction is bound to visibility
We set the expand-fraction property of the workspace thumbnails on changes
to their should-show property. The should-show property defaults to true, and
the expand-fraction property defaults to 1. The should-show property gets
updated in the constructor of the ThumbnailsBox though, and it might become
false (that is the case when starting up the shell) during construction.

In this case we're not yet listening to "notify::should-show" in the
ControlsManager, and therefore forget to update the expand-fraction
accordingly. Fix that and ensure the expandFraction is always set to the value
we expect after hiding or showing the thumbnails (we call _updateThumbnailsBox()
from _update(), which we call in the constructor).

This should be the proper fix for the problem that 9bf550da8 (which caused
the workspace thumbnails to never show) originally tried to fix.

Fixes: 9bf550da88 ("overviewControls: Set expandFraction for ws thumbnails to 0 when hidden")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7668
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3323>
2024-06-08 02:40:38 +00:00
Jonas Dreßler
5aa89fa9e6 portalHelper: Use default_size instead of set_size_request for size
GtkWidget.set_size_request() enforces a minimum size, while
GtkWidget.set_default_size() simply sets the default size.

The docs of set_size_request() say "In most cases,
gtk_window_set_default_size() is a better choice for toplevel windows", and
in our case it doesn't seem necessary to prohibit the window from having a
smaller size, so switch to using the default_width and default_height
properties.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3307>
2024-06-07 23:36:21 +02:00
Jordan Petridis
cbe7c4a677 Revert "ci: Temporarily disable flatpak jobs"
This reverts commit 3e160d7b3151483915b5016b6af0b1445479823b

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3359>
2024-06-06 09:34:11 +00:00
Jakub Steiner
efbb219338 data: App icon for captive portal
- Provide a custom app icon for the Captive Portal,
  only exposed in the overview.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3357>
2024-06-05 15:36:58 +00:00
Carlos Garnacho
5c69bb067f keyboard: Disable unredirection when the OSK is shown
The OSK might be wanted over fullscreen windows triggering
unredirection, and the unredirection should be temporarily
overridden in that case.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7692
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3356>
2024-06-05 15:26:02 +00:00
Florian Müllner
3e160d7b31 ci: Temporarily disable flatpak jobs
The template currently fails with the deployed gitlab/podman.

Let's not block all merge requests on a job that is only relevant
to the Extensions app, so disable it temporarily until the issue
is sorted.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3358>
2024-06-05 17:05:13 +02:00
Florian Müllner
bc10359f68 ci: Add missing dependency
The job that publishes the flatpak depends on the job that builds
the flatpak ...

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3358>
2024-06-05 13:41:53 +00:00
Marco Trevisan (Treviño)
9abad7f25f shell-util: Pass the mutter context to the spawn child setup function
This was the type the function expected, but we were actually passing
the global context to it.

This didn't crash for some reason, but indeed it was wrong and we didn't
catch it because mutter side had not type-checks either

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3355>
2024-05-31 16:46:14 +02:00
Jonas Ådahl
22a38c25f2 ci: Don't set GIT_SUBMODULE_STRATEGY anymore
We don't use submodules anymore, so no point configuring the submodule
strategy to use.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3353>
2024-05-31 00:29:09 +02:00
Jonas Ådahl
5649ad6752 Switch to fetching gvc via a meson subproject
Hopefully this will avoid the accidental subprojects/gvc changes.

Developers need to switch from doing

    git submodule update

to

    meson subprojects update

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3353>
2024-05-31 00:29:09 +02:00
Leleat
0f30bfdd53 dbusServices/extensions: Await prefs.fillPreferencesWindow
There are cases where it makes sense to have fillPreferencesWindow be
async, so await it. One such case is when using .ui files from resources
with (GTK) templates. When extension developers load the resource in
`fillPreferencesWindow` and then import the js file that registers the
classes, there will be an error at the moment that there is no UI
provided. Similarly, make getPreferencesWidget async optionally.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3348>
2024-05-28 18:43:53 +00:00
Philip Withnall
8176d6b51c messageTray: Ensure _updateDatetimeId idle callback is cancelled
If the idle callback is not explicitly removed when the notification is
destroyed, it may be invoked after destruction, and try to modify the
notification after it’s been freed.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3352>
2024-05-28 18:06:32 +00:00
Philip Withnall
37e49e8a22 shell-camera-monitor: Fix warning about strict aliasing
Changing type when casting a double pointer is not strictly allowed in
C. In order to fix compilation with `-fstrict-aliasing`, don’t use
`g_clear_pointer()` for clearing this pointer where the type expected by
the destroy notify function does not match the type stored in the
`ShellCameraMonitor` struct.

This introduces no functional changes.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3351>
2024-05-28 17:39:46 +00:00
Mister Smör
245d55488b docs: Fix typo in link to meta-docs
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3349>
2024-05-28 17:31:15 +00:00
Florian Müllner
d99a1d5457 ci: Bump ci-fairy template
The new version allows @users.noreply email addresses by default,
which seems like something we should allow at least for small
drive-by contributions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3350>
2024-05-28 16:52:10 +00:00
Hugo Carvalho
80961f9af2 Update Portuguese translation 2024-05-28 09:13:00 +00:00
Jose Riha
350f688825 Update Slovak translation
(cherry picked from commit 5c2f9fd94883cf37af4117ad75823f7b76366736)
2024-05-27 20:45:12 +00:00
Artur S0
6814e7ecfb Update Russian translation 2024-05-27 10:22:50 +00:00
Georges Basile Stavracas Neto
4e449536f8 st/scroll-view-fade: Cleanup unecessary vfunc override
It does exactly what ClutterOffscreenEffect does these days.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3347>
2024-05-26 15:55:56 +02:00
Bilal Elmoussaoui
37fd461759 build: Make use of the x11 dependency
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3344>
2024-05-25 10:29:28 +02:00
Bilal Elmoussaoui
c0c4572ed5 build: Remove unnused dependencies
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3344>
2024-05-25 10:28:51 +02:00
Marco Trevisan (Treviño)
64edd7940d js/environment: Always use Shell.util_spawn_async functions if possible
If no child setup is provided then all the shell extensions that use
GLib.spawn_async should actually use the shell spawning utils since we
are supposed to always restore the default nofile rlimit on launched
children.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3293>
2024-05-24 22:48:53 +00:00
Marco Trevisan (Treviño)
494be30764 js/environment: Add GLib spawn async overrides warning when using child setup
Using child setup functions is unsafe in gjs code so let's warn if this
happens so that extensions using a similar codepath are warned.

This could be also part of gjs, but we provide a shell override since we
have alternatives to log about.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3293>
2024-05-24 22:48:53 +00:00
Marco Trevisan (Treviño)
26e8fb90fb js: Use Shell.util_spawn_async functions to launch external processes
As explained in previous commits, it's not safe to use JS code in child
function callbacks, so let's use the safer version of it.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6698
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3293>
2024-05-24 22:48:53 +00:00
Marco Trevisan (Treviño)
781010be66 shell-util: Add async-signal-safe wrappers for GLib.spawn_async implementations
In the shell code we often use GLib.spawn_async to launch processes
with a GSpawnChildSetupFunc implementation in JavaScript to reset the
mutter nofile rlimit in the new child process.

However, this is highly unsafe to do because this implies that the child
setup function code is executed in gjs where a lot of allocations are
done and even more not-async-signal-safe code is executed, in fact
leading to dead-locks as reported in the past.

To prevent this, declare a new functions that do the same of the GLib
counterpart but without providing a GSpawnChildSetupFunc that is instead
implemented in the C-side doing the cleanup that mutter requires without
allocations or async-signal-unsafe code.

Helps: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6698
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3293>
2024-05-24 22:48:53 +00:00
Marco Trevisan (Treviño)
dcb5956dea shell-app: Do not allocate memory during GSpawnChildSetupFunc
The child context setup function used as launch GSpawnChildSetupFunc
uses g_object_get that internally potentially allocates memory, making
it not async-signal-safe and so not something that is safe to use in
between fork and exec, so just use the simpler getter here.

Note that the current implementation of app_child_setup() is safe
already as sd_journal_stream_fd, dup2 and close are so.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3293>
2024-05-24 22:48:53 +00:00
Florian Müllner
1fbfb93cbd ci: Hook up release-module
In the future, the module will automate uploading the release
tarball. We already use the CI pipeline to generate the tarball,
so it's easy to hook up the module and provide some testing
before the module goes into production.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3340>
2024-05-24 21:42:01 +00:00
Florian Müllner
27445a1c98 ci: Use meson introspect to generate artifact path
We currently assume that the `CI_COMMIT_TAG` variable matches the
version component of the generated dist tarball.

That is usually correct, but sometimes errors happen and a wrong
tag is pushed, and the real release uses something like "46.0-real".

Account for that by building the artifact path from `meson introspect`
and exporting it as environment variable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3340>
2024-05-24 21:42:01 +00:00
Bilal Elmoussaoui
e6618d093d window/menu: Remove move titlebar onscreen action
A feature that works for server side decorated windows only that
only adds slightly more convenience over the regular "move" action that
is still there.
Keeping it around would complicate some cleanups in upstream Mutter
so just drop it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3332>
2024-05-24 15:21:03 +02:00
Michael Evans
f30ffc7f76 keyboard: Add za-extended keyboard layout
Adds an extended variant of the za keyboard layout based on the za.json
and us-extended.json layouts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3309>
2024-05-23 15:06:17 +00:00
Sebastian Keller
559d38c259 style: Don't use different offset for the HC app grid running indicator
The offset in high contrast mode was moving the dot too close to the
text making the spacing between the text, dot and hover highlight appear
visually unbalanced. Also it was making it more likely to overlap
descenders in the text.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3245>
2024-05-22 19:02:42 +00:00