Commit Graph

18158 Commits

Author SHA1 Message Date
Jonas Dreßler
b781b3e9fd appDisplay: Get linear index using item instead of page and position
_getLinearPosition() is a function that converts a page and position
index to the "accumulated" index that includes all pages before the
page. The function is used by _addItem() and _moveItem() for getting the
new index of an item inside the _orderedItems array.

Now when passing -1 as position to _addItem() or _moveItem(), this means
the item should be appended to the page. Right now _getLinearPosition()
returns the last item index on the page when passed -1, inserting the
item into _orderedItems at this index will actually not append it, but
insert it between the second last and last item.

To fix it, let's make the whole thing more robust by explicitly passing
an item to _getLinearPosition(). This means we simply no longer have to
assume what "-1" means. Moving the call to _getLinearPosition() to
happen after addItem() and moveItem() ensures that the new item position
is used and not the old one.

This fixes issues where the _orderedItems array gets out of order when
moving or adding items.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2348>
2023-02-01 12:56:28 +00:00
Carlos Garnacho
95e1f760cb ci: Update base image
Mutter main updated its image for a glib dependency bump. Update
gnome-shell CI too.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2618>
2023-01-31 12:54:19 +01:00
Carlos Garnacho
a30661d33e windowManager: Drop grab-op-begin signal connection
This is	done just to "reset" the gesture when a grab operation
begins.	With grab ops being based on ClutterGrab now, the gesture
will be	implicitly reset when these happen. This is unnecessary	now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2526>
2023-01-30 12:19:22 +00:00
Carlos Garnacho
a2a5d7682f swipeTracker: Drop grab-op-begin signal connection
This is	done just to "reset" the gesture when a grab operation
begins.	With grab ops being based on ClutterGrab now, the gesture
will be	implicitly reset when these happen. This is unnecessary	now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2526>
2023-01-30 12:19:22 +00:00
Carlos Garnacho
fe8201e1d2 edgeDragAction: Drop grab-op-begin signal connection
This is done just to "reset" the gesture when a grab operation
begins. With grab ops being based on ClutterGrab now, the gesture
will be implicitly reset when these happen. This is unnecessary now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2526>
2023-01-30 12:19:22 +00:00
Carlos Garnacho
4acc9f1a0f backgroundMenu: Drop grab-op-begin signal connection
This is done just to "reset" the click action when a grab operation
begins. With grab ops being based on ClutterGrab now, the action
will be implicitly reset when these happen. This is unnecessary now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2526>
2023-01-30 12:19:22 +00:00
Carlos Garnacho
05de06f5c2 panel,windowMenu: Update to meta_window_begin_grab_op() API change
Add device/sequence parameters.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2526>
2023-01-30 12:19:22 +00:00
Carlos Garnacho
0e969cab91 windowMenu: Update for removal of frame_action argument
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2526>
2023-01-30 12:19:22 +00:00
Carlos Garnacho
f32ffbf19b panel: Update for removal of frame_action argument
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2526>
2023-01-30 12:19:22 +00:00
Carlos Garnacho
64d07ff7cd panel: Use MetaWindow API to begin grab operation on window
Move away from MetaDisplay API.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2526>
2023-01-30 12:19:22 +00:00
Carlos Garnacho
238a17c6b5 overview: Port to Meta.Display.is_grabbed()
The get_grab_op() method is disappearing, replaced by this
new method.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2526>
2023-01-30 12:19:22 +00:00
Carlos Garnacho
ac42eb62f8 Revert "windowMenu: Do actions requiring grab once ungrabbed"
This reverts commit 2b3ab3ecec.

Since the window menu no longer uses a MetaDisplay grab, but directly
a ClutterGrab, this is ineffective. But also, grabs are stackable, so
it's fine to push the window operation grab first and then dismiss the
window menu grab, even when MetaDisplay grabs get ported to using
ClutterGrab underneath. We now can just grab right away, so do that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2526>
2023-01-30 12:19:22 +00:00
Fran Dieguez
426efb75ee Update Galician translation 2023-01-30 08:07:15 +00:00
Kukuh Syafaat
bfbbcb6e54 Update Indonesian translation 2023-01-30 04:57:03 +00:00
Quentin PAGÈS
02af9168b4 Update Occitan translation 2023-01-29 14:58:21 +00:00
Jordi Mas
6acac63f2c Update Catalan translation 2023-01-28 07:17:31 +01:00
Florian Müllner
957ee35ca2 schemas: Consistently use child schemas
Currently only the org.gnome.shell.keybindings schema is marked
as child schema. There's no harm with that, it's just nice to be
consistent, and having schemas show up in `gsettings list-children`
is a nice, touch.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2617>
2023-01-27 22:16:59 +00:00
Yuri Chornoivan
c87732976f Update Ukrainian translation 2023-01-27 20:43:04 +00:00
Florian Müllner
3ddb6555dd subprojects/gvc: Update to latest master
Pull in a couple of bug fixes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2616>
2023-01-27 12:53:33 +00:00
Florian Müllner
3de828cc60 Revert "status/volume: Clear device menus when unsetting stream"
Device additions/removals are tracked by GvcMixerControl, which
doesn't change when unsetting the stream. So clearing the menu
manually was a workaround, not a fix.

It's also worth noting that I failed to reproduce the original
issue again, so it's possible that we were working around a
pipewire bug that has since been fixed.

This reverts commit 1b62b7ea0a.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2616>
2023-01-27 12:53:33 +00:00
Hugo Carvalho
0957675ce4 Update Portuguese translation 2023-01-26 15:19:06 +00:00
Florian Müllner
9811472e03 osk-layouts: Replace "SS" extra key with "ẞ"
The on-screen keyboard only handles a single keyval per key, so the
current upper-case version of the German "ß" ends up as "S" instead
of the expected "SS".

It is possible to change the keyboard code to emulate multiple key
presses/releases for that particular case, but then luckily a proper
upper-case form exists nowadays: "ẞ".

That seems more appropriate for a single key than a dedicated "SS"
key, so replace it in all layouts that include it. Anybody who prefers
the traditional "SS" can easily tap "S" twice.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2612>
2023-01-25 14:11:35 +00:00
Vasil Pupkin
afeb3df1e3 Update Belarusian translation 2023-01-25 09:53:05 +00:00
Ekaterine Papava
1898dc5eaf Update Georgian translation 2023-01-25 06:57:50 +00:00
Emin Tufan Çetin
76782caca1 Update Turkish translation 2023-01-24 23:44:55 +00:00
Heiko Hösch
35e2ac7a2a status/network: Work around xgettext ignoring translated strings
xgettext quits parsing, when the "<"-operator follows the "++"-operator
directly.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5820
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2613>
2023-01-24 18:20:35 +00:00
Alessandro Bono
f323d85fc3 screenShield: Add API to add/remove credential managers
Extensions that provide a credential manager can (un)register themself
so that the screen shield gets activated right after a user is
authenticated.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2399>
2023-01-23 20:37:46 +00:00
Alessandro Bono
b1ac1b47cd gdmUtil: Add API to add/remove credential managers
Extensions don't need to poke at the internal this._credentialManagers
variable in order to add their own credential manager.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2399>
2023-01-23 20:37:46 +00:00
Alessandro Bono
8e081a14d5 gdmUtil: Collect services that determine the username in one place
Doing so, extensions don't need to reimplement entirely the
AuthPrompt.reset() function just for adding their own credential
service in the foreground service check.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2399>
2023-01-23 20:37:46 +00:00
Alessandro Bono
9671eb3ad8 credentialManager: Remove unused parameter
Since 26235bbe54 is unused.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2399>
2023-01-23 20:37:46 +00:00
Philip Withnall
a9e6e44ef8 tools: Drop gnome-shell-overrides-migration.sh
The tool was added in 2018 to migrate to per-desktop overrides from the
old overrides system.

5 years later, everyone who’s going to migrate probably has migrated, so
we can delete the script and remove a process running on every login.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2611>
2023-01-23 16:38:36 +00:00
Sabri Ünal
be8b23efb7 Update Turkish translation 2023-01-22 19:14:47 +00:00
Ekaterine Papava
00d3e88478 Update Georgian translation 2023-01-20 16:47:30 +00:00
Vasil Pupkin
6258cd53ca Update Belarusian translation 2023-01-20 15:57:31 +00:00
Fabio Tomat
514c1f6777 Update Friulian translation 2023-01-18 22:16:31 +00:00
Alessandro Bono
325755e1c3 dash: Connect before destroying
Since commit 7bd98f3f5f animateOutAndDestroy() destroys
the placeholder right away when animations are disabled. Connect to the destroy signal
before calling the function.

This fixes the following error:
Gjs-CRITICAL **: 16:51:35.195: Object .Gjs_ui_dash_DragPlaceholderItem (0x55b9a946da20),
has been already disposed — impossible to connect to any signal on it. This might be
caused by the object having been destroyed from C code using something such as destroy(),
dispose(), or remove() vfuncs.
== Stack trace for context 0x55b9a70d08f0 ==
 #0   7ffe161bd070 b   resource:///org/gnome/shell/ui/dash.js:835 (df3d61d32e0 @ 98)
 #1   7ffe161bd170 b   resource:///org/gnome/shell/ui/dash.js:901 (df3d61d33d0 @ 779)
 #2   7ffe161bd290 b   resource:///org/gnome/shell/ui/dnd.js:562 (3d4da0cfd420 @ 909)
 #3   7ffe161bd360 b   self-hosted:1115 (3d4da0c7ef10 @ 407)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2604>
2023-01-17 13:58:06 +00:00
Alessandro Bono
771b3bada2 accessDialog: Don't add an empty body
According to the org.freedesktop.impl.portal.Access documentation
the body may be an empty string[1]. Take into account this case.

[1] d7cfc16a6d/data/org.freedesktop.impl.portal.Access.xml (L38)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2607>
2023-01-17 13:51:54 +00:00
Jakub Steiner
ad0dc55c07 data: Update page icons
- The narrow page icons have a 'stretched font' aesthetic about them. Update them to use the
  old square-ish glyph.
- Similar style updates happened in Software (banner pager).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2596>
2023-01-17 13:21:57 +00:00
Alessandro Bono
ec6ab60e62 appDisplay: Don't assume this._placeholder always exists
Dropping a icon from the dash to the application grid will set this._placeholder
to null. However the AppIcon is still used to represent the application in the
application grid. If we click on it we emit a pressed event. Stop assuming
that this._placeholder is still valid in the callback, use the icon parameter
instead.

This fixes the following error:
```
Gjs-CRITICAL **: 18:22:39.003: JS ERROR: TypeError: this._placeholder is null
_ensurePlaceholder/<@resource:///org/gnome/shell/ui/appDisplay.js:1477:17
vfunc_button_press_event@resource:///org/gnome/shell/ui/appDisplay.js:3121:27
```

Fixes: 6fc93b78bc
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6317
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2606>
2023-01-16 20:24:26 +00:00
Bruce Cowan
24ae085496 Update British English translation
(cherry picked from commit a1b83429777dda5b176e77be377e2715369a0c95)
2023-01-15 11:11:20 +00:00
sunflowerskater
1c1b3e5e6e quickSettings: Add separator before the "Power Settings" entry
There is no separator before the "Power Settings" entry in the "Power Profiles" menu,
unlike all other quick settings menus.

Add that separator for consistency.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2559#note_1641102

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2602>
2023-01-13 21:29:38 -03:00
sunflowerskater
37c0906755 quickSettings: Add a "Power Settings" entry to the Power Profiles submenu
This change adds the shortcut so it can be accessible by devices without a battery and to keep consistency with other submenus like the Wi-Fi submenu and the upcoming Bluetooth submenu (Teams/Design/os-mockups#178).

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6111

Part of <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2559>

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2559>
2023-01-13 18:16:29 +00:00
sunflowerskater
ed364e4e41 keyboard: Add "Keyboard Settings" menu entry
The keyboard popover doesn't have a shortcut to open the Keyboard panel from the Settings app.

This commit adds this menu entry to improve usability.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2600>
2023-01-13 16:05:25 +00:00
Sabri Ünal
4eda055b09 Update Turkish translation 2023-01-11 18:49:07 +00:00
Jonas Dreßler
617997412e screencastService: Handle case where no videos directory exists
The videos directory doesn't necessarily have to exist, users are free to
delete it. Right now we don't handle this case and screencasting fails.

Let's handle it and fall back to the users home directory instead when
xdg-videos doesn't exist.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2594>
2023-01-11 16:51:30 +00:00
Aleksandr Melman
d74dbee41b Update Russian translation 2023-01-10 13:12:07 +00:00
Sam Hewitt
a4f7cfdff4 lockscreen: Style cleanup for lock and login
- increase the font size of clock elements
- increase the size of user avatars
- combines lock and login scss into one file
- clean up the css for avatars
- adjust the blur parameters of the screen shield

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2564>
2023-01-06 11:29:31 +00:00
Yosef Or Boczko
b4075ca539 Update Hebrew translation 2023-01-05 11:51:16 +00:00
Sabri Ünal
aaadc3abfd Update Turkish translation 2023-01-02 13:58:19 +00:00
Bilal Elmoussaoui
1da29b04ef padOsd: Replace Gtk accelerator API usage with Mutter
In order to drop the direct dependency of GTK from Mutter in a Wayland
only build.
The consumer and the producer of the events must be Mutter

Depends on https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2407

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2575>
2023-01-02 13:26:49 +01:00