19457 Commits

Author SHA1 Message Date
Alessandro Astone
65d38939e2 shell/network-agent: Do not query keyring in greeter mode
When trying to connect to a network from gdm, it doesn't make sense to query
secrets from the gdm user since it's a system user.

Furthermore, gdm runs an isolated dbus-session per gnome-shell instance
(for multi-seat setups). Instead, gnome-keyring-daemon is started by systemd
and so it registers on the _main_ dbus session of the gdm user session.
Then, gnome-shell tries to dbus-activate another gnome-keyring-daemon on its
isolated bus, but gnome-keyring-daemon refuses to start as it sees another
instance already running, exposed at $XDG_RUNTIME_DIR/keyring/control.
After a 25s timeout, gnome-shell aborts the request without ever prompting
for a new password.

Because it is both problematic and pointless to query secrets in this case,
let's avoid it altogether and just prompt the user for the network password.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3646>
2025-02-26 16:06:05 +00:00
Allan Day
fb289fa05d data: Reorganize default apps
* Remove obsolete apps
* Add new core apps
* Deduplicate apps which were in both the grid and a folder
* Split system tools out of the utilities folder
* Rearrange the dash a little

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3642>
2025-02-26 13:09:16 +00:00
Florian Müllner
c0e3dfd166 data: Add "System" default folder
The "Utilities" folder is potentially getting quite crowded,
so set up an additional "System" folder. It will be populated
in a follow-up commit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3642>
2025-02-26 13:09:16 +00:00
Florian Müllner
0c3e5adbf3 ci: Bump mutter image
Mutter depends on a newer wayland-protocols version now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3649>
2025-02-26 13:50:41 +01:00
Quentin PAGÈS
e6e44f2221 Update Occitan translation 2025-02-25 01:50:20 +00:00
twlvnn kraftwerk
78bbb11ad5 Update Bulgarian translation 2025-02-24 18:27:25 +00:00
Yosef Or Boczko
169d01c8f7 Update Hebrew translation 2025-02-24 15:03:54 +00:00
Yuri Chornoivan
b815fd757c Update Ukrainian translation 2025-02-23 20:13:24 +00:00
Asier Sarasua Garmendia
8ba5ca5a9c Update Basque translation 2025-02-23 20:08:38 +00:00
Yuri Chornoivan
2b97986ae9 Update Ukrainian translation 2025-02-23 19:56:34 +00:00
Danial Behzadi
9824db55d3 Update Persian translation 2025-02-23 17:26:29 +00:00
Daniel Rusek
936aa7ae9b Update Czech translation 2025-02-23 16:06:40 +00:00
Andika Triwidada
42c4f5677d Update Indonesian translation 2025-02-23 11:18:21 +00:00
Ekaterine Papava
0bd948d11a Update Georgian translation 2025-02-23 05:56:41 +00:00
Aefgh Threenine
0aa3f9932e Update Thai translation
(cherry picked from commit 7fac4fa45b999572ff11d732f640e305e5ba746c)
2025-02-22 14:02:01 +00:00
Aefgh Threenine
cafcf29487 Update Thai translation
(cherry picked from commit c2b341aa824c733edcd708536857bb4c00e31b2d)
2025-02-22 13:55:59 +00:00
Piotr Drąg
8083064d7d Update Polish translation 2025-02-22 12:51:57 +01:00
Aurimas Černius
3f46676f07 Update Lithuanian translation 2025-02-21 20:18:59 +00:00
Sebastian Wick
11d05c4aea Adjust to MetaCursor changes 2025-02-18 22:20:41 +01:00
Florian Müllner
6bf52dae1d ci: Replace Cantarell with Adwaita fonts in toolbox image
The default changed, so follow suit. The fonts aren't packaged
in Fedora yet, so use git for now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3639>
2025-02-18 12:41:13 +00:00
Florian Müllner
606ad70461 ci: Include nautilus in toolbox image
It now provides the FileChooser portal implementation, so include
it to not break open/save dialogs in apps.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3639>
2025-02-18 12:41:13 +00:00
Jordi Mas
e7ddd0c036 Update Catalan translation 2025-02-17 07:21:24 +01:00
Jordi Mas i Hernandez
375566c7fd Update Catalan translation 2025-02-15 12:03:27 +00:00
Jordi Mas i Hernandez
54d2bb2009 Update Catalan translation 2025-02-15 12:01:09 +00:00
Florian Müllner
2c714645d3 main: Don't set stage key focus to stage itself
Moving the key focus to the stage should be done by unsetting
the key focus, not by setting it to the stage itself.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3633>
2025-02-14 20:23:48 +01:00
Florian Müllner
a8d4c679eb searchController: Adjust to Clutter.Stage.get_key_focus() change
The method is now a plain getter of the `key-focus` property,
so handle the case where it returns null.

See https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4256

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3633>
2025-02-14 20:22:59 +01:00
AsciiWolf
33ea672605 data: Add org.gnome.Sysprof to Utilities
Sysprof is pre-installed on Ubuntu and possibly some other distributions,
and can be confusing for regular users. Let's add it to the curated list.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3616>
2025-02-14 14:57:43 +00:00
Sabri Ünal
fb1ed02d79 Update Turkish translation 2025-02-14 11:12:21 +00:00
Florian Müllner
852a0a89ac appDisplay: Filter apps in default folder
We currently create the default folder with the corresponding
app list, regardless of whether the apps are actually part of
the default install or not.

This matters when a user explicitly install such an app later,
as it will be hidden away in the folder rather than appended
to the app grid as expected.

To avoid that, only add currently-installed apps to the folder
when creating it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3632>
2025-02-13 19:59:17 +00:00
Florian Müllner
38c6293f4f data: Generate dash/app-grid defaults from text files
Defining default apps as serialized GVariants isn't very human-friendly,
which likely contributes to the fact that the lists are in parts horribly
outdated (Books! Cheese! Screenshot! gedit!).

Instead, generate the lists at build time from simple text files, which
should be much easier to update.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3632>
2025-02-13 19:59:17 +00:00
Keyu Tao
33354c718f windowPreview: Adjust WindowPreview stack when stackAbove overlay shown
When there are 3 or more windows in WorkspaceLayout, showing or hiding
window preview overlay in some certain orders could cause
inconsistencies in windows' vertical arrangement.

Let's take window A, B, C as an example. Initially, A is above B and B
is above C in workspace layout like this: A -> B -> C.

After opening activities, user could:

1. Move cursor to B preview, which would move B above all in layout:
   B -> A -> C
2. Move cursor from B to C preview. When C's showOverlay() is called
   before B's hideOverlay(), _restack() would move C above all and don't
   change B's arrangement:
   C -> B -> A
3. Finally, move cursor away from C's preview:
   B -> A -> C

In this case, when user closes Activities, they would see window
stacking wrong for a while.

This commit adds some extra logic in _restack, checking the
_stackAbove's _stackAbove when this._stackAbove._overlayShown is true.
Though it's still not guaranteed to be always consistent as there could
be several WindowPreview with _overlayShown as true if pointer moves
really fast, this helps avoid glitches in many cases.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4638.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3460>
2025-02-13 12:38:19 +00:00
Florian Müllner
5115236703 loginManager: Get user proxy for UID
Using the user object at `/org/freedesktop/login1/User/self` is
convenient, but has the caveat that login1 does not emit the
`PropertiesChanged` signal for the object.

That is indeed logical, as for signal emissions there is no
sender that can be used to resolve `self`.

The new TimeLimitsManager depends on change notifications for
user properties, so stop using the `self` shorthand and instead
create the User proxy for the user's UID.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8185
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3636>
2025-02-13 11:31:34 +00:00
Florian Müllner
a719b7039e loginManager: Create session proxy asynchronously
Most of the function is already asynchronous, except for the
initialization of the returned proxy. gjs' D-Bus wrapper gained
some convenience API a while ago that makes this trivial enough,
so use it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3636>
2025-02-13 11:31:34 +00:00
Sebastian Wick
a7cc1e626a keyboard: Rely on tecla to figure out the current layout
Tecla shows the current layout, and keeps track of layout changes, if no
arguments are passed to it. This is exactly the behavior we want for the
"Show Keyboard Layout" button.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3635>
2025-02-13 03:58:23 +00:00
Florian Müllner
317bfd6ce1 ci: Bump mutter image
This pulls in a newer gjs, so we can test against the upcoming
version instead of the last stable release.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3637>
2025-02-13 04:45:42 +01:00
Florian Müllner
4265b9c73f st: Add getter/setters for (almost) all properties
Traditionally, getter/setter functions have been considered a
C convenience, and we therefore didn't bother to add them for
many properties that are only consumed from JS.

However now that gjs optimizes property accesses by calling the
appropriate getter/setter instead, it makes sense to add them.

Leave out ScrollView's [vh]scrollbar-policy properties, as they
have a combined `set_policy()` setter that is consistent with
GTK's ScrolledWindow.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3620>
2025-02-12 13:11:11 +00:00
Florian Müllner
dc1298565d st: Annotate getters/setters
Some properties have getters and setters that don't follow the
usual naming scheme, and they are therefore not recognized
automatically. Annotate the properties so that g-ir-scanner
picks up the methods.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3620>
2025-02-12 13:11:11 +00:00
Florian Müllner
4092882005 st/adjustment: Remove return value from private setters
Nothing is using the return value, so the methods can just follow
the usual pattern for setters.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3620>
2025-02-12 13:11:11 +00:00
Florian Müllner
01824a6d4e shell: Add getter/setters for all properties
Traditionally, getter/setter functions have been considered a
C convenience, and we therefore didn't bother to add them for
many properties that are only consumed from JS.

However now that gjs optimizes property accesses by calling the
appropriate getter/setter instead, it makes sense to add them.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3620>
2025-02-12 13:11:11 +00:00
Florian Müllner
51b5358b71 shell: Fix return values in precondition guards
Make sure values returned via `g_return_val_if_fail()` are of
the expected type.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3620>
2025-02-12 13:11:11 +00:00
Florian Müllner
73928c9b29 st: Use consistent type for properties/getters
gjs now optimizes property accesses if possible, by calling the
corresponding getter/setter method. For this to work, the method
not only has to exist (obviously), but also match the type of
the corresponding property.

Both `Label` and `Entry` currently define their `clutter-text`
property as `Clutter.Text`, while the corresponding getter
returns the more generic `Clutter.Actor`.

Fix that so that both property and getter use the more specific type.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3620>
2025-02-12 13:11:11 +00:00
Florian Müllner
f79e5ad42b shell/global: Use consistent type for properties/getters
gjs now optimizes property accesses if possible, by calling the
corresponding getter/setter method. For this to work, the method
not only has to exist (obviously), but also match the type of
the corresponding property.

For some reason the `Global.stage` property is defined as
`Clutter.Actor` instead of `Clutter.Stage`, which is returned
by the getter.

Fix that so that both property and getter use the more specific type.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3620>
2025-02-12 13:11:11 +00:00
Julian Sparber
ef4af961bf messageList: Floor preferred height of LabelExpanderLayout
This fixes the flickering when expanding/collapsing an expandable
message inside a NotificationMessageGroup.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3012>
2025-02-11 11:30:29 +00:00
Julian Sparber
b4113b1ee2 messageList: Highlight expanded group
The new design requires that other messages and groups are faded when the user
has a group expanded. This introduces a new GLSL shader to provide the
desired effect. The new shader is used for the already existing scroll
fade and the previous one is removed. The two fades need to work together to
ensure that resulting fade looks good.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3012>
2025-02-11 11:30:29 +00:00
Julian Sparber
a795dfb2ff messageList: Center expanded notification group in view
Ensure that when the user expends a group, it is scrolled to and centered
in the in the `MessageListView`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3012>
2025-02-11 11:30:29 +00:00
Julian Sparber
aac7c125ce messageTray: Increase max messages per source to 10
After introducing message grouping by source we can safely show much
more messages per source.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3012>
2025-02-11 11:30:29 +00:00
Julian Sparber
47de83a922 messageList: Make notification groups expandable/collapsible
This implements the new expand/collapse feature for notification groups
according to the new notification designs [1].

[1] 9e2bed6f37/notifications-calendar/notifications-grouping.png

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3012>
2025-02-11 11:30:29 +00:00
Julian Sparber
dae4179b3d messageList: Add grouped notifications to MessageView
This makes use of the NotificationMessageGroup widget introduced in the
previous commit to add notifications to the MessageView.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3012>
2025-02-11 11:30:29 +00:00
Julian Sparber
219cd88c82 messageList: Add notification group
This add a widget for the new notification grouping
according to the new designs [1], but the expand behavior will be added
in a future commit.

[1] 9e2bed6f37/notifications-calendar/notifications-grouping.png

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3012>
2025-02-11 11:30:29 +00:00
Julian Sparber
0ac129bbd6 messageList: Prepare MessageView for notification groups
We need to track message order separate from the widget children order,
because of how notification groups will add a cover over other messages
when a notification group is expanded that will prevent interaction with
any message other then the expanded notification group.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3012>
2025-02-11 11:30:29 +00:00