Commit Graph

16535 Commits

Author SHA1 Message Date
Carlos Garnacho
c12f085530 ibusManager: Check existence of IBus systemd units before manual start
IBus is moving to being a systemd managed service in GNOME sessions
(see https://github.com/ibus/ibus/pull/2377). Since there will be a
transition period, and we still have to support non-systemd sessions,
check for this existence at runtime.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2171>
2022-02-11 23:51:24 +00:00
Carlos Garnacho
352c9695f3 shell: Add call to check the existence of a systemd unit
These checks will be handy while handling ibus-daemon startup, since
this is going to move to a systemd service soon.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2171>
2022-02-11 23:51:24 +00:00
Carlos Garnacho
adc58ea743 shell: Refactor internal calls to systemd service
Add some parameters to make these calls useful beyond starting
and stopping units. We will need to query the existence of units
for starters.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2171>
2022-02-11 23:51:24 +00:00
Sam Hewitt
4b56acb775 calendarMenu: Fix several visual issues with calendar and notifications
- drop card style from calendar
- remove focus ability from non-interactive calendar elements
- flesh out the styles for the calendar grid
- fix margin and padding issue with login screen calendar
- update no-notifications icon
- add padding to media player buttons
- catch a couple other minor style papercuts

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2161>
2022-02-11 23:23:05 +00:00
Florian Müllner
57b819ae2d calendar: Reindent code
We are about to touch some code that still uses the legacy indentation
style.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2161>
2022-02-11 23:23:05 +00:00
Alexander Mikhaylenko
de485c8f47 shellDBus: Add ScreenTransition()
Settings will use this when switching between light and dark styles.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2070>
2022-02-12 02:54:57 +05:00
Alexander Mikhaylenko
03e307f328 Revert "background: Mark pattern backgrounds as loaded"
This reverts commit fdac0602db.

The commit was fixing a crash, which cannot longer be reproduced, but also
introduced a noticeable white flash when switching wallpapers. This will
become even more noticeable when we try to uniformly transition the whole
screen.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2070>
2022-02-12 02:54:01 +05:00
Alexander Mikhaylenko
ad830fad1e network: Update Settings appid
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2175>
2022-02-11 17:33:34 +00:00
Alexander Mikhaylenko
07f28ceb39 shellDBus: Update Settings appid
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2175>
2022-02-11 17:33:34 +00:00
Florian Müllner
5442266f28 js: Simplify promisify() calls
If the finish function isn't specified, promisify will now try
to use the async name without '_async'/'_begin' suffix (if any)
and '_finish' appended.

Everything except IBus uses a variation of that pattern, so there's
quite a bit of boilerplate we get to remove…

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2174>
2022-02-11 16:24:01 +00:00
Florian Müllner
928f3288e9 js: Stop using Gio._LocalFilePrototype
gjs now supports overriding interface methods, so promisify()
works on Gio.File itself, not just the LocalFilePrototype cludge.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2174>
2022-02-11 16:24:01 +00:00
Razze
55a37ac992 Let users use the other mouse button to switch
As users can have different primary mouse buttons (left vs right) it
might happen, that a user with a different
preference wants to switch. Currently they need
to use the mouse button, that the current
user prefers.

This change enables users to use either the left or right button.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1972>
2022-02-11 12:33:25 +00:00
Leônidas Araújo
d682810519 Update Brazilian Portuguese translation 2022-02-10 20:27:38 +00:00
Florian Müllner
78c7d5ba0c status/location: Track enabled state
More fallout from commit e3a1d84992: We are tracking the agent's
:max-accuracy-level property that we don't use, but not :enabled.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5043

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2170>
2022-02-10 13:19:57 +00:00
Florian Müllner
5628849a40 status/location: Use correct enabled state
Commit e3a1d84992 split out the agent from the indicator, but kept
using a local 'enabled' property with no connection at all to the
actual state.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5043

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2170>
2022-02-10 13:19:57 +00:00
Florian Müllner
d7d484a8cd dbusServices: Allow to persist services via environment
Auto-shutdown prevents debugging a service with tools like
d-feet, so allow turning it off with an environment variable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2169>
2022-02-10 13:14:45 +00:00
Florian Müllner
9a2505f18c shell: Specify G_PARAM_EXPLICIT_NOTIFY where appropriate
Like we did in ST, opt out of g_object_set()'s implicit change
notifications, so that notify is only emitted when a property
*actually* changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2168>
2022-02-10 13:09:37 +00:00
Florian Müllner
17719352f3 shell: Use g_object_notify_by_pspec() where possible
It's slightly more efficient not having to do property lookups. While
that is unlikely to be a concern for the properties in question, it's
still good practice and makes the code base a bit more consistent.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2168>
2022-02-10 13:09:37 +00:00
Florian Müllner
e3a3f79200 shell/app: Remove unused property ID
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2168>
2022-02-10 13:09:37 +00:00
Florian Müllner
5a23c96bd9 st: Specify G_PARAM_EXPLICIT_NOTIFY where appropriate
We are now consistently calling notify() when a property does change.

With that we can opt out of g_object_set()'s implicit change notifications,
so that notify is only emitted when a property *actually* changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2168>
2022-02-10 13:09:37 +00:00
Florian Müllner
bfb52aaf9d st: Use g_object_notify_by_pspec() where possible
It's slightly more efficient not having to do property lookups. While
that is unlikely to be a concern for the properties in question, it's
still good practice and makes the code base a bit more consistent.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2168>
2022-02-10 13:09:37 +00:00
Florian Müllner
76e5e22dac st: Add static setters
Even where properties can only be set via g_object_set(), separate
setters help with code organization and consistency with other
properties.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2168>
2022-02-10 13:09:37 +00:00
Florian Müllner
6a6b7eb341 st/scroll-view: Add missing notify call
Another property where changes aren't notified when going through
the public setter.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2168>
2022-02-10 13:09:37 +00:00
Florian Müllner
621c8606df st/entry: Add missing notify calls
Whoops, at the moment changes of most properties are only notified
when going through g_object_set() and not when using the public
setters.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2168>
2022-02-10 13:09:37 +00:00
Marek Černocký
a79e0aa9b4 Updated Czech translation 2022-02-09 21:35:52 +01:00
Hugo Carvalho
88338c2043 Update Portuguese translation 2022-02-09 18:37:10 +00:00
Fran Dieguez
f8fcb58cc6 Update Galician translation 2022-02-09 18:36:56 +00:00
Yuri Chornoivan
16928897fd Update Ukrainian translation 2022-02-09 18:36:11 +00:00
Luming Zh
3d3b5270a1 Update Chinese (China) translation 2022-02-09 18:34:59 +00:00
Kukuh Syafaat
a152b6f8cf Update Indonesian translation 2022-02-09 18:34:22 +00:00
Carlos Garnacho
c13d44439f popupMenu: Avoid intermediate focus changes on menu switch
Currently when switching from a popup menu to another in the same
manager, we first show the new menu, then hide the old menu and
remove its grab, then create a new grab for the just shown menu.

This briefly ungrabbed moment will still trigger keyboard focus
changes, that might have other visible effects. In order to fix
this, change the grabbing order so first the new grab is created
then the old one is dismissed. This ensures focus moves from the
old menu to the new menu without gaps in between.

Since a grab is tied to an active menu, but close/grab are now
slightly decoupled, also ensure closing a menu only tears down its
own grab. This is necessary for correct accounting while doing the
grab shuffling.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5039
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2166>
2022-02-09 16:44:08 +00:00
Florian Müllner
00e41383c7 dbusServices/screencast: Removed unused properties
Those have been superseded by corresponding state enums.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2165>
2022-02-09 13:00:04 +01:00
Bastien Nocera
0531fc54e5 status/bluetooth: Fix wedged state
Fix a state where toggling the main Bluetooth switch in the header will
always show the "Bluetooth Off" menu header with "Turn Off" as the only
option.

To reproduce, with Bluetooth enabled and working, run
"hciconfig hci0 down" as root, and check the status menu.

See gnome-bluetooth!102 and gnome-control-center!1148

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4857
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2055>
2022-02-08 23:16:46 +00:00
Bastien Nocera
4a480a78af status/bluetooth: Port to new GListModel API
The GtkTreeView API was removed, and replaced with a GListModel API.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4748
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2055>
2022-02-08 23:16:46 +00:00
Sebastian Wick
170f3ee089 glsl-effect: Allow to set uniform matrices
Add support for setting a uniform matrix on GLSLEffect because the color
vision deficiency simulation extension requires it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2164>
2022-02-08 21:55:31 +01:00
Florian Müllner
e07bc62fbd dbusServices/extensions: Give extensions access to the prefs window
The current preference API - buildPrefsWidget() - predates client-side
decorations. While extension authors have been finding ways around
the limitation of not having access to the window/titlebar, the change
to the new Adwaita API seems like a good time for an updated API that
officially provides that access (as far as allowed by libadwaita).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2012>
2022-02-08 19:11:19 +00:00
Florian Müllner
285ebe020c dbusServices/extensions: Stop setting a default size
Adw.PreferencesWindow already sets an appropriate default.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2012>
2022-02-08 19:11:19 +00:00
Florian Müllner
cd9532c678 dbusServices/extensions: Use default style class
libadwaita provides a series of style classes as part of its API.
Use those instead of meddling manually with the font size.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2012>
2022-02-08 19:11:19 +00:00
Florian Müllner
7a8b636028 dbusServides/extensions: Use Adw.PreferencesWindow
Adapt the new GNOME platform API for the upcoming 42. This makes
sure that we get the latest version of the stylesheet, as well as
support for the new dark mode.

Using the dedicated preference API also gives extensions with more
complex preferences an easier and standardized way for implementing
multi-page preferences.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2012>
2022-02-08 19:11:19 +00:00
Florian Müllner
089fd315dd dbusServices/extensions: Simplify actions handling
GTK4 has dedicated API for widget-specific actions, make use of that
instead of explicitly managing an action group.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2012>
2022-02-08 19:11:19 +00:00
Florian Müllner
ae92c1c4eb dbusServices/extensions: Split error page from window
The error UI comprises the bits that are actually custom. Splitting them
out from the off-the-shelf window makes it easier to replace the dialog
with libadwaita's dedicated preference window.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2012>
2022-02-08 19:11:19 +00:00
Florian Müllner
073dbc3a04 dbusServices/extensions: Split out prefs dialog
We're about to make changes to the UI, so this seems to be a good
time to split GUI and service code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2012>
2022-02-08 19:11:19 +00:00
Florian Müllner
c071c3ed4c dbus-services/extensions: Remove outdated requires
We are using GTK4, not GTK3 >= 3.20 ...

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2012>
2022-02-08 19:11:19 +00:00
Mohammed Sadiq
9f76d121cc osk: Remove a duplicate key from Malayalam
The same key has been included as the first item on the third row

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2162>
2022-02-08 18:50:28 +00:00
Bastien Nocera
b83b22bc58 powerProfiles: Remove support for power-profiles-daemon < 0.9.0
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2101>
2022-02-08 11:21:44 +00:00
Olivier Fourdan
5b8a32ca71 main: Raise the NOFILE limit if a Wayland compositor
When being run as a Wayland compositor, raise the NOFILE limit to
mitigate the risk of running out of file descriptors.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2117>
2022-02-08 08:25:25 +00:00
Olivier Fourdan
9862ee9b25 shell/app: Restore NOFILE limit
Restore the nofile limit when launching apps so that they do not
inherit from the Shell's own limit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2117>
2022-02-08 08:25:25 +00:00
Olivier Fourdan
1bb05c33be shell: Restore NOFILE limit before restarting
When restarting Shell, make sure to restore the original nofile limit so
that the new instance starts with the original value.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2117>
2022-02-08 08:25:25 +00:00
Olivier Fourdan
3fc7357e3f util: Restore the NOFILE limit before spawning apps
Make sure the restore the original NOFILE limit prior to run the
commands so those don't inherit from the raised value.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2117>
2022-02-08 08:25:25 +00:00
Olivier Fourdan
bafacdf629 ibusManager: Restore the NOFILE limit
Use GLib's spawn_async() instead of Gio.SubprocessLauncher() which does
not support the child setup function to start ibus-daemon.

This way we can restore the NOFILE limit prior to run the ibus-daemon.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2117>
2022-02-08 08:25:25 +00:00