19406 Commits

Author SHA1 Message Date
Florian Müllner
8043714478 timeLimitsManager: Fix grayscale transition
The code currently gets the `DesaturateEffect.factor` property[0]
backwards: 1.0 means fully desaturated, not full color.

The result is that we are currently "transitioning" from 1.0 to 1.0,
that is the screen is abruptly turned to grayscale with no transition.

[0] https://mutter.gnome.org/clutter/property.DesaturateEffect.factor.html

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8160
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3606>
2025-01-27 18:58:17 +01:00
Carlos Garnacho
8f53096cfa shellDBus: Allow GNOME portal to access Shell D-Bus API
This will be necessary for a global shortcuts implementation.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3598>
2025-01-27 14:09:00 +00:00
Carlos Garnacho
e53f69f9d3 shellDBus: Add AcceleratorDeactivated D-Bus signal
Add this signal to complement AcceleratorActivated, meant to happen
on the release action of shortcuts, e.g. on push-to-talk.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3598>
2025-01-27 14:09:00 +00:00
Florian Müllner
e2de46e9ac st/scroll-bar: Remove vertical property
Unlike `StBoxLayout` which is ubiquious, `StScrollBar` is hightly unlikely
to be used outside of `StScrollView`. It therefore seems unnecessary to
deprecate the `vertical` property before removing it, so do just that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3614>
2025-01-27 13:55:39 +01:00
Florian Müllner
8b8699d1d5 st/scroll-view: Set scrollbar orientation
Use the new `orientation` property instead of `vertical`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3614>
2025-01-27 13:55:39 +01:00
Florian Müllner
f4f02fe4dd st/scroll-bar: Add orientation property
Like we did for `BoxLayout`, add an `orientation` property that
better expresses the orientation (duh) and is consistent with
Clutter and GTK.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3614>
2025-01-27 13:55:39 +01:00
Florian Müllner
c5546dbe12 st/box-layout: Deprecate vertical property
BoxLayout is extremely common, so removing the old `vertical` property
in favor of `orientation` would be very disruptive. Instead, deprecate
it to indicate our intention of removing it eventually.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3614>
2025-01-27 13:55:39 +01:00
Florian Müllner
b75b4abaf0 js: Set BoxLayout orientation
Use new `orientation` property instead of `vertical`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3614>
2025-01-27 13:55:39 +01:00
Florian Müllner
01541929eb st/box-layout: Add orientation property
Using "vertical: false" to express "horizontal" has always been a
bit awkward. While we have stuck to the existing property for a long
time, transitioning to an `orientation` property like in GTK and
Clutter seems better.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3614>
2025-01-27 12:12:59 +00:00
Florian Müllner
b01d429266 st/theme-context: Make property setter public
There's no good reason to only expose the getter of a READWRITE
property.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3615>
2025-01-27 12:06:04 +00:00
Florian Müllner
794f0bcc75 st/scroll-view: Remove deprecated properties
The `hscroll` and `vscroll` properties were deprecated for GNOME 46.

We usually consider two stable cycles enough of a heads-up, so remove
them for GNOME 48.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3615>
2025-01-27 12:06:04 +00:00
Florian Müllner
094caeeeef shell/window-preview: Make window-container construct-only
It is tightly coupled to the preview, and not meant to be unset
or replaced during the lifetime of the object; size requests
and allocation assume that it exists.

Make that explicit by marking the property as construct-only.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3615>
2025-01-27 12:06:04 +00:00
Florian Müllner
0f9c13c55d windowPreview: Set window container during construction
The container is tightly coupled with the preview, and there is
never a need to replace it at a later point. Set it directly
during construction, so the underlying base class can make
this explicit by marking the property as construct-only.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3615>
2025-01-27 12:06:04 +00:00
Florian Müllner
eae1e8b170 shell/window-tracker: Simplify updating focus-app
It's a text-book use case for `g_set_object()` …

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3615>
2025-01-27 12:06:04 +00:00
Florian Müllner
e2f4a9b512 shell/workspace-background: Remove unnecessary notify
The `monitor-index` property is construct-only, so it can only
be set before the caller has an object on which to connect
the `notify` signal.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3615>
2025-01-27 12:06:04 +00:00
Florian Müllner
959888c601 shell/global: Remove unnecessary CONSTRUCT flag
There's nothing special about the `force-animations` property that
requires it to be set unconditionally during construction.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3615>
2025-01-27 12:06:04 +00:00
Florian Müllner
1c98283e09 shell/global: Remove imagedir property
The property has long lost its usefulness: It hasn't been
used since 2011, and we nowadays we use resources for any
image assets.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3615>
2025-01-27 12:06:03 +00:00
Florian Müllner
6c47cea2b9 build: Clean up handling of internal dependencies
We currently only specify the library to link with when declaring
a dependency, which means that satisfying other requirements like
dependencies or includes is left to the targets.

Move everything required by libshell/libst to the declared dependency,
so other targets only need to care about their own requirements.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3615>
2025-01-27 12:06:03 +00:00
Florian Müllner
0c20407f57 st/box-layout: Remove unnecessary notify
We already notify via the `notify::orientation` handler on the
layout manager, so there is no need to also do so from our own
setter.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3613>
2025-01-26 22:55:55 +01:00
Florian Müllner
a80e5a8c39 st/box-layout: Fix forwarding vertical changes
Our code to "forward" `notify` signals from the underlying layout
manager for the `vertical` property broke when ClutterLayoutManager
removed its own `vertical` property.

Property changes via the underlying layout manager should be rare,
but still worth fixing, so explicitly connect to `notify::orientation`
now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3613>
2025-01-26 22:55:55 +01:00
Adam Williamson
4bef27d85c data: Correct Utilities category ordering, add comments
This adds a comment to make clear that the Utilities category is
intended to be organized alphabetically by the display name of
the apps (*not* by the desktop file names), and adds comments
with the current display name of each app.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3609>
2025-01-23 16:28:04 -08:00
Adam Williamson
ca136d1c62 data: List Characters and Logs in the Utilities group
These have (Logs) or previously had (Characters) the
X-GNOME-Utilities category in their .desktop file and so showed
up in the Utilities folder (despite 152faae claiming that the
category was "completely unused"). Characters had the category
removed in
https://gitlab.gnome.org/GNOME/gnome-characters/-/commit/210eb09
in apparent expectation that it would be added to the list, but
it seems it was not.

We could restore consideration of the category, but I guess let's
just list the apps instead? I don't know if any others are
missing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3607>
2025-01-21 14:54:01 -08:00
Sam Hewitt
481625972b style: Fix fg color of user icon on dialogs
- use regular fg_color instead of OSD style

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8151
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3596>
2025-01-21 16:52:33 +00:00
Philip Withnall
4e6de4e64b timeLimitsManager: Activate wellbeing settings on clicking notification
Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8161
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3604>
2025-01-21 14:46:57 +00:00
Philip Withnall
bba85e1fcd tests: Factor out additional env vars mechanism
Make the mechanism more general, so that other tests can now specify
overrides for various defaults, if needed.

This replicates what GLib does:
https://gitlab.gnome.org/GNOME/glib/-/blob/main/glib/tests/meson.build#L475.

It introduces no functional changes in how the current set of tests run.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3605>
2025-01-21 14:32:44 +00:00
Philip Withnall
a3d4198c85 tests: Run timeLimitsManager tests in UTC
In order to keep the test code brief, all expected times and dates are
written as ISO 8601 strings in the test code, and use `Z` to specify UTC
(again, to keep things brief).

If the test is run under a significantly different timezone, the
end-of-day timestamp changes significantly, as it’s calculated by the
code-under-test using the local timezone.

Avoid that issue by requiring the `timeLimitsManager` tests to always be
run in UTC.

The previous failure could be reproduced by running `TZ=Europe/Madrid
meson test -C /opt/gnome/build/gnome-shell timeLimitsManager --verbose`
— the test for “tracks a single day’s usage early in the morning” would
fail.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3605>
2025-01-21 14:32:44 +00:00
Philip Withnall
72cb52e743 timeLimitsManager: Hide ‘limit reached’ notification when reset
If the user changes their daily limit setting so that they’ve no longer
reached their limit, remove the ‘limit reached’ notification from the
message tray, if it’s still there, when disabling greyscale mode.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8164
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3603>
2025-01-20 19:05:58 +00:00
Philip Withnall
c890a2f1e3 timeLimitsManager: Reset screen time if daily limit is changed
If the limit for the day had already been reached, the
`timeLimitsManager` was not resetting the screen time state if the daily
limit setting was then changed (and increased).

Fix that, and add a unit test for it.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8164
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3603>
2025-01-20 19:05:58 +00:00
Bilal Elmoussaoui
1471733dfd st/widget: Adapt to upstreamed accessible state tracking
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3510>
2025-01-20 14:38:06 +00:00
Bilal Elmoussaoui
44b84e458a st/image-content: Take a CoglContext on set_bytes/set_data functions
This avoids retrieving it from the global clutter backend and instead
pass things around.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3528>
2025-01-20 11:50:31 +00:00
Bilal Elmoussaoui
76f2262d9c st/texture-cache: Remove unused helper
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3528>
2025-01-20 11:50:31 +00:00
Bilal Elmoussaoui
a8496dc90f st/theme-node: Get resolution from context
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3528>
2025-01-20 11:50:30 +00:00
Bilal Elmoussaoui
eaee51ff16 st/theme-context: Keep a pointer to ClutterBackend
Allows avoiding the usage of the global one and would also be used in
the next commit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3528>
2025-01-20 11:50:30 +00:00
Bilal Elmoussaoui
f5b58cf102 st/theme-context: Drop constructor
Nothing really uses it except internally.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3528>
2025-01-20 11:50:30 +00:00
Bilal Elmoussaoui
343761e70e st/node-drawing: Pass CoglContext around
We already have access to it in most of places, just pass it around
instead of going through globals.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3528>
2025-01-20 11:50:29 +00:00
Bilal Elmoussaoui
084a1b3be7 plugin: Remove unused CoglContext field
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3528>
2025-01-20 11:50:29 +00:00
Bilal Elmoussaoui
0e92689801 Remove re-shadowed variable
Drops a call to get_default_backend

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3528>
2025-01-20 11:50:29 +00:00
Bilal Elmoussaoui
b3f5f9601b Go through global stage for getting ClutterBackend
Instead of using the default backend.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3528>
2025-01-20 11:50:29 +00:00
Bilal Elmoussaoui
fea29eb490 Get ClutterBackend/CoglContext from the Actor/Texture
Avoids going through the global backend helper.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3528>
2025-01-20 11:50:29 +00:00
Daniel van Vugt
dee6cf3f6b panel: Ensure already destroyed panels don't receive callbacks
To prevent sporadic shutdown failures:
```
** Message: 17:08:37.707: Shutting down GNOME Shell

(gnome-shell:91892): Gjs-CRITICAL **: 17:08:37.728: Object .Gjs_ui_panel_Panel (0x5b53524fb030), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
```

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3601>
2025-01-20 16:18:37 +08:00
Martin
43e39b9d02 Update Slovenian translation 2025-01-17 10:40:12 +00:00
Florian Müllner
01bef5103a ci: Bump mutter image
meta-dbus-runner now requires a newer dbusmock version, update
the image to pull it in.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3600>
2025-01-16 23:51:56 +00:00
Emilio Sepúlveda
d1cafc8d50 Update Interlingua translation 2025-01-16 19:27:11 +00:00
Rafael Fontenelle
2c5e96f96f Update Brazilian Portuguese translation 2025-01-16 02:14:22 +00:00
Quentin PAGÈS
6ceffb4b69 Update Occitan translation 2025-01-15 19:43:19 +00:00
Philip Withnall
08b06acc4c timeLimitsManager: Only stop the state machine if it’s already running
This fixes a bug which happens if screen time limits are *disabled* and
the history file
(`~/.local/share/gnome-shell/session-active-history.json`) is missing
when gnome-shell is started.

If so, the code would previously have incorrectly called
`this._stopStateMachine()` on startup, even though the state machine
wasn’t running. This adds a fake transition from ACTIVE to INACTIVE to
the history file.

If the user later (that day) enables time limits, the code assumes that
they were active from the start of the day through to that fake
transition, which is possibly sufficient time to reach the user’s limit
already. This results in the screen immediately being made greyscale as
the limit has apparently been reached.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8155
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3597>
2025-01-15 17:58:15 +00:00
Artur S0
b6e1eeb315 Update Russian translation 2025-01-15 14:16:01 +00:00
Rafael Fontenelle
e601e28475 Update Brazilian Portuguese translation
(cherry picked from commit 46f471ff67e0a19821e3b452f2d5474cb8a2793b)
2025-01-15 03:48:34 +00:00
Sam Hewitt
fa16d4dc91 style: Fix background fill on tile_buttons
- addresses issue with tiles overlapping each other in the grid

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7577
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3551>
2025-01-14 16:52:15 +00:00
Florian Müllner
b426119a7e
Bump version to 48.alpha
Update NEWS.
2025-01-13 15:48:30 +01:00