From e8840da00c82dc64e4b731ceb3d34ec36f849c2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 20 Sep 2023 13:30:42 +0200 Subject: [PATCH 01/12] doap: Actually remove defunct mailing list Fixes: e405d09c ("DOAP: Remove defunct mailing list; add Discourse") --- gnome-shell-extensions.doap | 1 - 1 file changed, 1 deletion(-) diff --git a/gnome-shell-extensions.doap b/gnome-shell-extensions.doap index 5a7183a5..b38e8cc3 100644 --- a/gnome-shell-extensions.doap +++ b/gnome-shell-extensions.doap @@ -18,7 +18,6 @@ Most extensions can be installed by configuring --prefix=$HOME/.local, and will be picked automatically at next login. - From 4fbd878208aaeff86fbb6bdb66f21f9a0d59d8e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 26 Sep 2023 14:21:00 +0200 Subject: [PATCH 02/12] lint: Sync with gnome-shell gnome-shell itself no longer requires parameter descriptions in doc comments (just type annotations). The requirement makes even less sense for extensions, so sync up the configuration. Part-of: --- lint/eslintrc-shell.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lint/eslintrc-shell.yml b/lint/eslintrc-shell.yml index 6b2ddb12..d066f2e9 100644 --- a/lint/eslintrc-shell.yml +++ b/lint/eslintrc-shell.yml @@ -12,6 +12,12 @@ rules: - error - smart prefer-arrow-callback: error + jsdoc/require-param-description: off + jsdoc/require-jsdoc: + - error + - exemptEmptyFunctions: true + publicOnly: + esm: true globals: global: readonly parserOptions: From 2510bb362557918e4e0df083a5add688462d0494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sun, 24 Sep 2023 18:31:39 +0200 Subject: [PATCH 03/12] extensions: Stop using run_dispose() It is considered bad practice, and mainly a lazy way of disconnecting signal handlers without tracking individual handler IDs. We can do better by using connectObject(), which provides the same level of convenience without the dodginess of getting behind the garbage collector's back. Part-of: --- extensions/auto-move-windows/extension.js | 10 ++++------ extensions/places-menu/placeDisplay.js | 10 ++++------ extensions/user-theme/extension.js | 5 +++-- extensions/user-theme/prefs.js | 2 +- extensions/window-list/extension.js | 10 ++++++---- 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/extensions/auto-move-windows/extension.js b/extensions/auto-move-windows/extension.js index 06a75fe1..4f972cd7 100644 --- a/extensions/auto-move-windows/extension.js +++ b/extensions/auto-move-windows/extension.js @@ -22,7 +22,8 @@ class WindowMover { this._appSystem.connectObject('installed-changed', () => this._updateAppData(), this); - this._settings.connect('changed', this._updateAppConfigs.bind(this)); + this._settings.connectObject('changed', + this._updateAppConfigs.bind(this), this); this._updateAppConfigs(); } @@ -58,11 +59,8 @@ class WindowMover { destroy() { this._appSystem.disconnectObject(this); - - if (this._settings) { - this._settings.run_dispose(); - this._settings = null; - } + this._settings.disconnectObject(this); + this._settings = null; this._appConfigs.clear(); this._updateAppData(); diff --git a/extensions/places-menu/placeDisplay.js b/extensions/places-menu/placeDisplay.js index 07007dfc..930f92c6 100644 --- a/extensions/places-menu/placeDisplay.js +++ b/extensions/places-menu/placeDisplay.js @@ -141,8 +141,8 @@ class RootInfo extends PlaceInfo { return; this._proxy = obj; - this._proxy.connect('g-properties-changed', - this._propertiesChanged.bind(this)); + this._proxy.connectObject('g-properties-changed', + this._propertiesChanged.bind(this), this); this._propertiesChanged(obj); }); } @@ -161,10 +161,8 @@ class RootInfo extends PlaceInfo { } destroy() { - if (this._proxy) { - this._proxy.run_dispose(); - this._proxy = null; - } + this._proxy?.disconnectObject(this); + this._proxy = null; super.destroy(); } } diff --git a/extensions/user-theme/extension.js b/extensions/user-theme/extension.js index 69a02cf1..fd7a7b43 100644 --- a/extensions/user-theme/extension.js +++ b/extensions/user-theme/extension.js @@ -21,12 +21,13 @@ const SETTINGS_KEY = 'name'; export default class ThemeManager extends Extension { enable() { this._settings = this.getSettings(); - this._settings.connect(`changed::${SETTINGS_KEY}`, this._changeTheme.bind(this)); + this._settings.connectObject(`changed::${SETTINGS_KEY}`, + this._changeTheme.bind(this), this); this._changeTheme(); } disable() { - this._settings?.run_dispose(); + this._settings?.disconnectObject(); this._settings = null; Main.setThemeStylesheet(null); diff --git a/extensions/user-theme/prefs.js b/extensions/user-theme/prefs.js index b386a2be..9b4cf951 100644 --- a/extensions/user-theme/prefs.js +++ b/extensions/user-theme/prefs.js @@ -36,7 +36,7 @@ class UserThemePrefsWidget extends Adw.PreferencesGroup { this._actionGroup.add_action( this._settings.create_action('name')); - this.connect('destroy', () => this._settings.run_dispose()); + this.connect('destroy', () => (this._settings = null)); this._rows = new Map(); this._addTheme(''); // default diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js index a071afff..2247dbb8 100644 --- a/extensions/window-list/extension.js +++ b/extensions/window-list/extension.js @@ -844,8 +844,8 @@ class WindowList extends St.Widget { this._dndWindow = null; this._settings = settings; - this._settings.connect('changed::grouping-mode', - () => this._groupingModeChanged()); + this._settings.connectObject('changed::grouping-mode', + () => this._groupingModeChanged(), this); this._grouped = undefined; this._groupingModeChanged(); } @@ -1092,7 +1092,8 @@ class WindowList extends St.Widget { this._stopMonitoringDrag(); - this._settings.run_dispose(); + this._settings.disconnectObject(); + this._settings = null; let windows = global.get_window_actors(); for (let i = 0; i < windows.length; i++) @@ -1144,8 +1145,9 @@ export default class WindowListExtension extends Extension { if (!this._windowLists) return; - this._settings.disconnectObject(this); Main.layoutManager.disconnectObject(this); + this._settings.disconnectObject(this); + this._settings = null; this._windowLists.forEach(windowList => { windowList.hide(); From b64cb0f195c25e92c86179b4439cd919339160ac Mon Sep 17 00:00:00 2001 From: Kristjan SCHMIDT Date: Wed, 27 Sep 2023 20:47:58 +0000 Subject: [PATCH 04/12] Update Esperanto translation --- po/eo.po | 103 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 56 insertions(+), 47 deletions(-) diff --git a/po/eo.po b/po/eo.po index 9afcca41..1588f51f 100644 --- a/po/eo.po +++ b/po/eo.po @@ -3,39 +3,48 @@ # This file is distributed under the same license as the gnome-shell-extensions package. # Ryan LORTIE , 2013. # Daniel PUENTES , 2015. -# Kristjan SCHMIDT , 2011-2019. # Carmen Bianca BAKKER , 2021. +# Kristjan SCHMIDT , 2011-2023. # msgid "" msgstr "" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2021-03-27 20:14+0000\n" -"PO-Revision-Date: 2021-03-29 17:24+0200\n" -"Last-Translator: Carmen Bianca BAKKER \n" +"POT-Creation-Date: 2023-08-05 15:58+0000\n" +"PO-Revision-Date: 2023-09-27 22:47+0200\n" +"Last-Translator: Kristjan SCHMIDT \n" "Language-Team: Esperanto \n" "Language: eo\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -"X-Generator: Gtranslator 3.38.0\n" +"X-Generator: Gtranslator 42.0\n" "X-Project-Style: gnome\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" msgstr "GNOME-klasika" -#: data/gnome-classic.desktop.in:4 +#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 +#: data/gnome-classic-xorg.desktop.in:4 msgid "This session logs you into GNOME Classic" msgstr "Ĉi tiu seanco ensalutas vin GNOME-klasiken" -#: extensions/apps-menu/extension.js:113 +#: data/gnome-classic-wayland.desktop.in:3 +msgid "GNOME Classic on Wayland" +msgstr "GNOME-klasika je Vajlando" + +#: data/gnome-classic-xorg.desktop.in:3 +msgid "GNOME Classic on Xorg" +msgstr "GNOME-klasika je Xorg" + +#: extensions/apps-menu/extension.js:121 msgid "Favorites" msgstr "Plej ŝatataj" -#: extensions/apps-menu/extension.js:367 +#: extensions/apps-menu/extension.js:378 msgid "Applications" msgstr "Aplikaĵoj" @@ -51,26 +60,26 @@ msgstr "" "Listo de ĉenoj, ĉiu enhavas aplikaĵan identigilon ('desktop' dosiernomo), " "sevkita per dupunkto kaj la laborspaca numero" -#: extensions/auto-move-windows/prefs.js:35 +#: extensions/auto-move-windows/prefs.js:155 msgid "Workspace Rules" msgstr "Laborspacaj reguloj" -#: extensions/auto-move-windows/prefs.js:237 +#: extensions/auto-move-windows/prefs.js:309 msgid "Add Rule" msgstr "Aldoni regulon" #. TRANSLATORS: %s is the filesystem name -#: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 +#: extensions/drive-menu/extension.js:122 +#: extensions/places-menu/placeDisplay.js:213 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Elĵeto de volumo “%s” malsukcesis:" -#: extensions/drive-menu/extension.js:128 +#: extensions/drive-menu/extension.js:141 msgid "Removable devices" msgstr "Demeteblaj aparatoj" -#: extensions/drive-menu/extension.js:152 +#: extensions/drive-menu/extension.js:163 msgid "Open Files" msgstr "Malfermi dosierojn" @@ -102,31 +111,31 @@ msgstr "" "estas meti ĝin malsupre). Si vi ŝanĝas ĉi agordon tiam vi devas restartigi " "la ŝelon." -#: extensions/places-menu/extension.js:89 -#: extensions/places-menu/extension.js:92 +#: extensions/places-menu/extension.js:85 +#: extensions/places-menu/extension.js:88 msgid "Places" msgstr "Lokoj" -#: extensions/places-menu/placeDisplay.js:46 +#: extensions/places-menu/placeDisplay.js:53 #, javascript-format msgid "Failed to launch “%s”" msgstr "Malsukcesis lanĉi “%s”" -#: extensions/places-menu/placeDisplay.js:61 +#: extensions/places-menu/placeDisplay.js:68 #, javascript-format msgid "Failed to mount volume for “%s”" msgstr "Ne eblis munti datumportilon por “%s”" -#: extensions/places-menu/placeDisplay.js:148 -#: extensions/places-menu/placeDisplay.js:171 +#: extensions/places-menu/placeDisplay.js:128 +#: extensions/places-menu/placeDisplay.js:151 msgid "Computer" msgstr "Komputilo" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:328 msgid "Home" msgstr "Domo" -#: extensions/places-menu/placeDisplay.js:404 +#: extensions/places-menu/placeDisplay.js:373 msgid "Browse Network" msgstr "Foliumi reton" @@ -146,47 +155,47 @@ msgstr "Etosnomo" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "La nomo de la etoso, malfermigi de ~/.themes/name/gnome-shell" -#: extensions/window-list/extension.js:98 +#: extensions/window-list/extension.js:71 msgid "Close" msgstr "Fermi" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:98 msgid "Unminimize" msgstr "Malminimumigi" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:98 msgid "Minimize" msgstr "Minimumigi" -#: extensions/window-list/extension.js:125 +#: extensions/window-list/extension.js:105 msgid "Unmaximize" msgstr "Malmaksimumigi" -#: extensions/window-list/extension.js:125 +#: extensions/window-list/extension.js:105 msgid "Maximize" msgstr "Maksimumigi" -#: extensions/window-list/extension.js:432 +#: extensions/window-list/extension.js:468 msgid "Minimize all" msgstr "Minimumigi ĉiujn" -#: extensions/window-list/extension.js:438 +#: extensions/window-list/extension.js:474 msgid "Unminimize all" msgstr "Malminimumigi ĉiujn" -#: extensions/window-list/extension.js:444 +#: extensions/window-list/extension.js:480 msgid "Maximize all" msgstr "Maksimumigi ĉiujn" -#: extensions/window-list/extension.js:452 +#: extensions/window-list/extension.js:488 msgid "Unmaximize all" msgstr "Malmaksimumigi ĉiujn" -#: extensions/window-list/extension.js:460 +#: extensions/window-list/extension.js:496 msgid "Close all" msgstr "Fermi ĉiujn" -#: extensions/window-list/extension.js:737 +#: extensions/window-list/extension.js:776 msgid "Window List" msgstr "Fenestra listo" @@ -203,7 +212,7 @@ msgstr "" "Validaj valoroj estas “neniam”, “aŭtomate” kaj ĉiam”." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20 -#: extensions/window-list/prefs.js:100 +#: extensions/window-list/prefs.js:76 msgid "Show windows from all workspaces" msgstr "Montri la fenestrojn de ĉiuj laborspacoj" @@ -222,41 +231,41 @@ msgid "" msgstr "" "Ĉu montri la fenestroliston en ĉiuj konektitaj ekranoj aŭ nur en la ĉefa." -#: extensions/window-list/prefs.js:29 +#: extensions/window-list/prefs.js:32 msgid "Window Grouping" msgstr "Fenestra grupigo" -#: extensions/window-list/prefs.js:58 +#: extensions/window-list/prefs.js:37 msgid "Never group windows" msgstr "Neniam grupigi fenestrojn" -#: extensions/window-list/prefs.js:59 +#: extensions/window-list/prefs.js:38 msgid "Group windows when space is limited" msgstr "Grupigi fenestrojn kiam spaco limitas" -#: extensions/window-list/prefs.js:60 +#: extensions/window-list/prefs.js:39 msgid "Always group windows" msgstr "Ĉiam grupigi fenestrojn" -#: extensions/window-list/prefs.js:94 +#: extensions/window-list/prefs.js:63 msgid "Show on all monitors" msgstr "Montri en ĉiuj ekranoj" -#: extensions/window-list/workspaceIndicator.js:249 -#: extensions/workspace-indicator/extension.js:255 +#: extensions/window-list/workspaceIndicator.js:248 +#: extensions/workspace-indicator/extension.js:252 msgid "Workspace Indicator" msgstr "Laborspaco Indikilo" -#: extensions/workspace-indicator/prefs.js:34 -msgid "Workspace Names" -msgstr "Laborspacaj nomoj" - -#: extensions/workspace-indicator/prefs.js:67 +#: extensions/workspace-indicator/prefs.js:65 #, javascript-format msgid "Workspace %d" msgstr "Laborspaco %d" -#: extensions/workspace-indicator/prefs.js:208 +#: extensions/workspace-indicator/prefs.js:132 +msgid "Workspace Names" +msgstr "Laborspacaj nomoj" + +#: extensions/workspace-indicator/prefs.js:258 msgid "Add Workspace" msgstr "Aldoni laborspacon" From 092b268823746d58a5fea737d9f1234d71a8058d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 28 Sep 2023 21:40:35 +0200 Subject: [PATCH 05/12] drive-menu: Remove left-over signal connection The handler itself was removed in commit 3bfaf6f88a01, so the code now fails. Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/455 Fixes: 3bfaf6f8 ("js: Use connectObject()") Part-of: --- extensions/drive-menu/extension.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/extensions/drive-menu/extension.js b/extensions/drive-menu/extension.js index f377a164..a0f72723 100644 --- a/extensions/drive-menu/extension.js +++ b/extensions/drive-menu/extension.js @@ -39,8 +39,6 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem { this.mount = mount; - this.connect('destroy', this._onDestroy.bind(this)); - let ejectIcon = new St.Icon({ icon_name: 'media-eject-symbolic', style_class: 'popup-menu-icon', From b9d2a445b2b9ff3dea771acd557b7f7c55eced7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 29 Sep 2023 21:33:04 +0200 Subject: [PATCH 06/12] workspace-indicator: Initialize preview visibility Otherwise we can end up showing windows that shouldn't be visible if none of the properties we track for updates changes. Part-of: --- extensions/workspace-indicator/extension.js | 1 + 1 file changed, 1 insertion(+) diff --git a/extensions/workspace-indicator/extension.js b/extensions/workspace-indicator/extension.js index a0b5a2aa..0df9e038 100644 --- a/extensions/workspace-indicator/extension.js +++ b/extensions/workspace-indicator/extension.js @@ -49,6 +49,7 @@ class WindowPreview extends St.Button { }, 'notify::minimized', this._updateVisible.bind(this), this); + this._updateVisible(); global.display.connectObject('notify::focus-window', this._onFocusChanged.bind(this), this); From f576f1b1b67cf78be8d63353ee795f68cfa67446 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 29 Sep 2023 21:35:33 +0200 Subject: [PATCH 07/12] window-list: Initialize preview visibility Otherwise we can end up showing window previews in the workspace thumbnail that shouldn't be visible, if none of the properties we track for updates changes. Part-of: --- extensions/window-list/workspaceIndicator.js | 1 + 1 file changed, 1 insertion(+) diff --git a/extensions/window-list/workspaceIndicator.js b/extensions/window-list/workspaceIndicator.js index 310f5e63..64e2071f 100644 --- a/extensions/window-list/workspaceIndicator.js +++ b/extensions/window-list/workspaceIndicator.js @@ -43,6 +43,7 @@ class WindowPreview extends St.Button { }, 'notify::minimized', this._updateVisible.bind(this), this); + this._updateVisible(); global.display.connectObject('notify::focus-window', this._onFocusChanged.bind(this), this); From fb858ed0e48221e934acf2120eaf4a205bb7dce7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 9 Oct 2023 15:26:25 +0200 Subject: [PATCH 08/12] window-list: Complete move to connectObject() Commit 3bfaf6f88a0 removed the explicit disconnect, but forgot to use connectObject() to connect the handler. Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/459 Fixes: 3bfaf6f8 ("js: Use connectObject()") Part-of: --- extensions/window-list/extension.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js index 2247dbb8..d39fab97 100644 --- a/extensions/window-list/extension.js +++ b/extensions/window-list/extension.js @@ -828,8 +828,8 @@ class WindowList extends St.Widget { }, this); this._windowSignals = new Map(); - this._windowCreatedId = global.display.connect( - 'window-created', (dsp, win) => this._addWindow(win)); + global.display.connectObject( + 'window-created', (dsp, win) => this._addWindow(win), this); Main.xdndHandler.connectObject( 'drag-begin', () => this._monitorDrag(), From 7d296d2fd27b037df208009bb8e59421381502fe Mon Sep 17 00:00:00 2001 From: Brage Fuglseth Date: Thu, 12 Oct 2023 20:28:03 +0000 Subject: [PATCH 09/12] =?UTF-8?q?Update=20Norwegian=20Bokm=C3=A5l=20transl?= =?UTF-8?q?ation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- po/nb.po | 383 +++++++++++++++++++++++++++---------------------------- 1 file changed, 188 insertions(+), 195 deletions(-) diff --git a/po/nb.po b/po/nb.po index 66114ec1..524fc9a9 100644 --- a/po/nb.po +++ b/po/nb.po @@ -6,178 +6,81 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell-extensions 3.26.x\n" -"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=extensions\n" -"POT-Creation-Date: 2017-10-04 18:03+0000\n" -"PO-Revision-Date: 2017-11-06 13:40+0100\n" -"Last-Translator: Kjartan Maraas \n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" +"issues\n" +"POT-Creation-Date: 2023-08-05 15:58+0000\n" +"PO-Revision-Date: 2023-10-12 22:27+0200\n" +"Last-Translator: Brage \n" "Language-Team: Norwegian bokmål \n" "Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.5.4\n" +"X-Generator: Poedit 3.4\n" -#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 +#: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" msgstr "Klassisk GNOME" -#: data/gnome-classic.desktop.in:4 +#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 +#: data/gnome-classic-xorg.desktop.in:4 msgid "This session logs you into GNOME Classic" msgstr "Denne økten logger inn i klassisk GNOME" -#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7 -msgid "Attach modal dialog to the parent window" -msgstr "Fest modal dialog til opphavsvindu" +#: data/gnome-classic-wayland.desktop.in:3 +msgid "GNOME Classic on Wayland" +msgstr "Klassisk GNOME med Wayland" -#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8 -#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25 -#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33 -#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41 -msgid "" -"This key overrides the key in org.gnome.mutter when running GNOME Shell." -msgstr "" -"Denne nøkkelen overstyrer nøkkelen i org.gnome.mutter når GNOME Shell kjører." +#: data/gnome-classic-xorg.desktop.in:3 +msgid "GNOME Classic on Xorg" +msgstr "Klassisk GNOME med Xorg" -#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16 -msgid "Arrangement of buttons on the titlebar" -msgstr "Plassering av knapper på tittellinjen" - -#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17 -msgid "" -"This key overrides the key in org.gnome.desktop.wm.preferences when running " -"GNOME Shell." -msgstr "" -"Denne nøkkelen overstyrer nøkkelen i org.gnome.desktop.wm.preferences når " -"GNOME Shell kjører." - -#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24 -msgid "Enable edge tiling when dropping windows on screen edges" -msgstr "" -"Del opp skjermkantene i fliser når brukeren drar og slipper vinduer på dem" - -#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32 -msgid "Workspaces only on primary monitor" -msgstr "Arbeidsområder kun på hovedskjerm" - -#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40 -msgid "Delay focus changes in mouse mode until the pointer stops moving" -msgstr "Vent med å endre fokus i mus-modus til pekeren holdes i ro" - -#: extensions/alternate-tab/prefs.js:20 -msgid "Thumbnail only" -msgstr "Kun miniatyr" - -#: extensions/alternate-tab/prefs.js:21 -msgid "Application icon only" -msgstr "Kun programikon" - -#: extensions/alternate-tab/prefs.js:22 -msgid "Thumbnail and application icon" -msgstr "Miniatyr og programikon" - -#: extensions/alternate-tab/prefs.js:38 -msgid "Present windows as" -msgstr "Vis vinduer som" - -#: extensions/alternate-tab/prefs.js:69 -msgid "Show only windows in the current workspace" -msgstr "Vis kun vinduer i aktivt arbeidsområde" - -#: extensions/apps-menu/extension.js:41 -msgid "Activities Overview" -msgstr "Aktivitetsoversikt" - -#: extensions/apps-menu/extension.js:141 +#: extensions/apps-menu/extension.js:121 msgid "Favorites" msgstr "Favoritter" -#: extensions/apps-menu/extension.js:436 +#: extensions/apps-menu/extension.js:378 msgid "Applications" -msgstr "Programmer" +msgstr "Apper" #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6 msgid "Application and workspace list" -msgstr "Liste med programmer og arbeidsområder" +msgstr "Liste over apper og områder" #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7 msgid "" "A list of strings, each containing an application id (desktop file name), " "followed by a colon and the workspace number" msgstr "" -"En liste med strenger som inneholder en ID for et program (navn på .desktop-" -"fil), fulgt av et kolon og arbeidsområdenummeret" +"En liste hvor hvert element inneholder en app-ID (navn på skrivebordsfil), " +"fulgt av et kolon og et områdenummer" -#: extensions/auto-move-windows/prefs.js:60 -msgid "Application" -msgstr "Program" +#: extensions/auto-move-windows/prefs.js:155 +msgid "Workspace Rules" +msgstr "Områderegler" -#: extensions/auto-move-windows/prefs.js:69 -#: extensions/auto-move-windows/prefs.js:127 -msgid "Workspace" -msgstr "Arbeidsområde" - -#: extensions/auto-move-windows/prefs.js:85 +#: extensions/auto-move-windows/prefs.js:309 msgid "Add Rule" msgstr "Legg til regel" -#: extensions/auto-move-windows/prefs.js:106 -msgid "Create new matching rule" -msgstr "Lag en ny regel for treff" - -#: extensions/auto-move-windows/prefs.js:111 -msgid "Add" -msgstr "Legg til" - #. TRANSLATORS: %s is the filesystem name -#: extensions/drive-menu/extension.js:107 +#: extensions/drive-menu/extension.js:122 +#: extensions/places-menu/placeDisplay.js:213 #, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Utløsing av stasjon «%s» feilet:" +msgstr "Løsning av lagringsenheten “%s” mislyktes:" -#: extensions/drive-menu/extension.js:125 +#: extensions/drive-menu/extension.js:141 msgid "Removable devices" -msgstr "Avtagbare enheter" +msgstr "Flyttbare enheter" -#: extensions/drive-menu/extension.js:150 +#: extensions/drive-menu/extension.js:163 msgid "Open Files" -msgstr "Åpne fil" - -#: extensions/example/extension.js:17 -msgid "Hello, world!" -msgstr "Hallo verden!" - -#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5 -msgid "Alternative greeting text." -msgstr "Alternativ velkomsttekst." - -#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6 -msgid "" -"If not empty, it contains the text that will be shown when clicking on the " -"panel." -msgstr "" -"Hvis denne ikke er tom, inneholder den tekst som vises når brukeren klikker " -"på panelet." - -#: extensions/example/prefs.js:30 -msgid "Message" -msgstr "Melding" - -#. TRANSLATORS: Example is the name of the extension, should not be -#. translated -#: extensions/example/prefs.js:43 -msgid "" -"Example aims to show how to build well behaved extensions for the Shell and " -"as such it has little functionality on its own.\n" -"Nevertheless it’s possible to customize the greeting message." -msgstr "" -"Example har som hensikt å vise hvordan du kan bygge godt fungerende " -"utvidelser til Gnome-skallet, og byr dermed på lite funksjonalitet i seg " -"selv.\n" -"Hvis du likevel har lyst, kan du tilpasse velkomstmeldingen." +msgstr "Åpne filer" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5 msgid "Use more screen for windows" -msgstr "Bruk mer skjerm til vinduer" +msgstr "Bruk mer av skjermen til vinduer" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6 msgid "" @@ -185,14 +88,14 @@ msgid "" "aspect ratio, and consolidating them further to reduce the bounding box. " "This setting applies only with the natural placement strategy." msgstr "" -"Prøv å bruke mer skjermplass for å plassere miniatyrvinduer ved å tilpasse " -"dem til skjermens høyde- og breddeforhold, og slå dem sammen ytterligere for " -"å redusere avgrensingsboksen. Denne innstillinga gjelder bare med naturlig " -"plassering-strategien." +"Prøv å bruke mer av skjermen til miniatyrvinduer ved å tilpasse dem til " +"skjermens høyde- og breddeforhold, og ved å samle dem tettere sammen for å " +"redusere tomrom. Denne innstillingen virker bare når naturlig plassering er " +"i bruk." #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 msgid "Place window captions on top" -msgstr "Plasser vindutekster i toppen" +msgstr "Plasser vindustekster i toppen" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 msgid "" @@ -200,103 +103,97 @@ msgid "" "shell default of placing it at the bottom. Changing this setting requires " "restarting the shell to have any effect." msgstr "" -"Hvis verdien av denne er «true» (sann), plasseres vindutekster i toppen av " -"gjeldende miniatyr og overstyrer skallets standard bunnplassering. Hvis du " -"endrer denne innstillinga, må du starte skallet på nytt for at den skal tre " -"i kraft." +"Hvis denne innstillingen er slått på, plasseres vindustekster på toppen av " +"sine respektive miniatyrbilder i stedet for på bunnen. For at denne " +"innstillingen skal tre i kraft, må GNOME Shell startes på nytt." -#: extensions/places-menu/extension.js:78 -#: extensions/places-menu/extension.js:81 +#: extensions/places-menu/extension.js:85 +#: extensions/places-menu/extension.js:88 msgid "Places" msgstr "Steder" -#: extensions/places-menu/placeDisplay.js:65 -#, javascript-format -msgid "Failed to mount volume for “%s”" -msgstr "Klarte ikke å montere volum for «%s»" - -#: extensions/places-menu/placeDisplay.js:78 +#: extensions/places-menu/placeDisplay.js:53 #, javascript-format msgid "Failed to launch “%s”" -msgstr "Klarte ikke å starte «%s»" +msgstr "Oppstart av “%s” mislyktes" -#: extensions/places-menu/placeDisplay.js:137 -#: extensions/places-menu/placeDisplay.js:160 +#: extensions/places-menu/placeDisplay.js:68 +#, javascript-format +msgid "Failed to mount volume for “%s”" +msgstr "Klarte ikke å montere dataområde for “%s”" + +#: extensions/places-menu/placeDisplay.js:128 +#: extensions/places-menu/placeDisplay.js:151 msgid "Computer" msgstr "Datamaskin" -#: extensions/places-menu/placeDisplay.js:303 +#: extensions/places-menu/placeDisplay.js:328 msgid "Home" msgstr "Hjem" -#: extensions/places-menu/placeDisplay.js:347 +#: extensions/places-menu/placeDisplay.js:373 msgid "Browse Network" msgstr "Bla gjennom nettverk" #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7 msgid "Cycle Screenshot Sizes" -msgstr "Bla gjennom størrelser på skjermdump" +msgstr "Bla gjennom skjermbildestørrelser" #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11 msgid "Cycle Screenshot Sizes Backward" -msgstr "Bla gjennom størrelser på skjermdump baklengs" +msgstr "Bla gjennom skjermbildestørrelser baklengs" #: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5 msgid "Theme name" -msgstr "Navn på tema" +msgstr "Stilnavn" #: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6 msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" -msgstr "Navn på tema som skal lastes fra ~/.themes/name/gnome-shell" +msgstr "Navn på stil, som vil bli lastet fra ~/.themes/{navn}/gnome-shell" -#: extensions/window-list/extension.js:110 +#: extensions/window-list/extension.js:71 msgid "Close" msgstr "Lukk" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:98 msgid "Unminimize" msgstr "Gjenopprett" -#: extensions/window-list/extension.js:130 +#: extensions/window-list/extension.js:98 msgid "Minimize" msgstr "Minimer" -#: extensions/window-list/extension.js:136 +#: extensions/window-list/extension.js:105 msgid "Unmaximize" -msgstr "Gjenopprett" +msgstr "Demaksimer" -#: extensions/window-list/extension.js:137 +#: extensions/window-list/extension.js:105 msgid "Maximize" msgstr "Maksimer" -#: extensions/window-list/extension.js:420 +#: extensions/window-list/extension.js:468 msgid "Minimize all" msgstr "Minimer alle" -#: extensions/window-list/extension.js:428 +#: extensions/window-list/extension.js:474 msgid "Unminimize all" msgstr "Gjenopprett alle" -#: extensions/window-list/extension.js:436 +#: extensions/window-list/extension.js:480 msgid "Maximize all" msgstr "Maksimer alle" -#: extensions/window-list/extension.js:445 +#: extensions/window-list/extension.js:488 msgid "Unmaximize all" -msgstr "Gjenopprett alle" +msgstr "Demaksimer alle" -#: extensions/window-list/extension.js:454 +#: extensions/window-list/extension.js:496 msgid "Close all" msgstr "Lukk alle" -#: extensions/window-list/extension.js:678 -#: extensions/workspace-indicator/extension.js:30 -msgid "Workspace Indicator" -msgstr "Arbeidsområdeindikator" - -#: extensions/window-list/extension.js:842 +#: extensions/window-list/extension.js:776 msgid "Window List" -msgstr "Vinduliste" +msgstr "Vindusliste" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12 msgid "When to group windows" @@ -307,50 +204,146 @@ msgid "" "Decides when to group windows from the same application on the window list. " "Possible values are “never”, “auto” and “always”." msgstr "" -"Avgjør når vinduer fra samme program skal grupperes i vindulista. Mulige " -"verdier er «never» (aldri), «auto» og «always» (alltid)." +"Avgjør når vinduer som tilhører samme app skal grupperes i vindulista. " +"Mulige verdier er “never” (aldri), “auto” og “always” (alltid)." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20 -msgid "Show the window list on all monitors" -msgstr "Vis vindulisten på alle skjermer" +#: extensions/window-list/prefs.js:76 +msgid "Show windows from all workspaces" +msgstr "Vis vinduer fra alle områder" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21 +msgid "Whether to show windows from all workspaces or only the current one." +msgstr "Om det skal vises vinduer fra alle områder eller bare det nåværende." + +#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 +msgid "Show the window list on all monitors" +msgstr "Vis vinduslisten på alle skjermer" + +#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28 msgid "" "Whether to show the window list on all connected monitors or only on the " "primary one." msgstr "" -"Hvorvidt vindulisten skal vises på alle tilkoblede skjermer eller bare " -"primærskjerm." +"Om vinduslisten skal vises på alle tilkoblede skjermer eller bare " +"hovedskjermen." #: extensions/window-list/prefs.js:32 msgid "Window Grouping" -msgstr "Gruppering av vinduer" +msgstr "Vindusgruppering" -#: extensions/window-list/prefs.js:50 +#: extensions/window-list/prefs.js:37 msgid "Never group windows" msgstr "Aldri grupper vinduer" -#: extensions/window-list/prefs.js:51 +#: extensions/window-list/prefs.js:38 msgid "Group windows when space is limited" msgstr "Grupper vinduer når det er begrenset med plass" -#: extensions/window-list/prefs.js:52 +#: extensions/window-list/prefs.js:39 msgid "Always group windows" msgstr "Alltid grupper vinduer" -#: extensions/window-list/prefs.js:75 +#: extensions/window-list/prefs.js:63 msgid "Show on all monitors" msgstr "Vis på alle skjermer" -#: extensions/workspace-indicator/prefs.js:141 -msgid "Workspace Names" -msgstr "Navn på arbeidsområder" +#: extensions/window-list/workspaceIndicator.js:248 +#: extensions/workspace-indicator/extension.js:252 +msgid "Workspace Indicator" +msgstr "Områdeindikator" -#: extensions/workspace-indicator/prefs.js:157 -msgid "Name" -msgstr "Navn" - -#: extensions/workspace-indicator/prefs.js:198 +#: extensions/workspace-indicator/prefs.js:65 #, javascript-format msgid "Workspace %d" -msgstr "Arbeidsområde %d" +msgstr "Område %d" + +#: extensions/workspace-indicator/prefs.js:132 +msgid "Workspace Names" +msgstr "Områdenavn" + +#: extensions/workspace-indicator/prefs.js:258 +msgid "Add Workspace" +msgstr "Legg til område" + +#~ msgid "Attach modal dialog to the parent window" +#~ msgstr "Fest modal dialog til opphavsvindu" + +#~ msgid "" +#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell." +#~ msgstr "" +#~ "Denne nøkkelen overstyrer nøkkelen i org.gnome.mutter når GNOME Shell " +#~ "kjører." + +#~ msgid "Arrangement of buttons on the titlebar" +#~ msgstr "Plassering av knapper på tittellinjen" + +#~ msgid "" +#~ "This key overrides the key in org.gnome.desktop.wm.preferences when " +#~ "running GNOME Shell." +#~ msgstr "" +#~ "Denne nøkkelen overstyrer nøkkelen i org.gnome.desktop.wm.preferences når " +#~ "GNOME Shell kjører." + +#~ msgid "Enable edge tiling when dropping windows on screen edges" +#~ msgstr "" +#~ "Del opp skjermkantene i fliser når brukeren drar og slipper vinduer på dem" + +#~ msgid "Workspaces only on primary monitor" +#~ msgstr "Arbeidsområder kun på hovedskjerm" + +#~ msgid "Delay focus changes in mouse mode until the pointer stops moving" +#~ msgstr "Vent med å endre fokus i mus-modus til pekeren holdes i ro" + +#~ msgid "Thumbnail only" +#~ msgstr "Kun miniatyr" + +#~ msgid "Application icon only" +#~ msgstr "Kun programikon" + +#~ msgid "Thumbnail and application icon" +#~ msgstr "Miniatyr og programikon" + +#~ msgid "Present windows as" +#~ msgstr "Vis vinduer som" + +#~ msgid "Activities Overview" +#~ msgstr "Aktivitetsoversikt" + +#~ msgid "Application" +#~ msgstr "Program" + +#~ msgid "Create new matching rule" +#~ msgstr "Lag en ny regel for treff" + +#~ msgid "Add" +#~ msgstr "Legg til" + +#~ msgid "Hello, world!" +#~ msgstr "Hallo verden!" + +#~ msgid "Alternative greeting text." +#~ msgstr "Alternativ velkomsttekst." + +#~ msgid "" +#~ "If not empty, it contains the text that will be shown when clicking on " +#~ "the panel." +#~ msgstr "" +#~ "Hvis denne ikke er tom, inneholder den tekst som vises når brukeren " +#~ "klikker på panelet." + +#~ msgid "Message" +#~ msgstr "Melding" + +#~ msgid "" +#~ "Example aims to show how to build well behaved extensions for the Shell " +#~ "and as such it has little functionality on its own.\n" +#~ "Nevertheless it’s possible to customize the greeting message." +#~ msgstr "" +#~ "Example har som hensikt å vise hvordan du kan bygge godt fungerende " +#~ "utvidelser til Gnome-skallet, og byr dermed på lite funksjonalitet i seg " +#~ "selv.\n" +#~ "Hvis du likevel har lyst, kan du tilpasse velkomstmeldingen." + +#~ msgid "Name" +#~ msgstr "Navn" From eff6f6ef88797ba7851a0e56d8717e2b835a0112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 24 Oct 2023 13:15:42 +0200 Subject: [PATCH 10/12] screenshot-window-sizer: Use built-in support for reversed bindings Mutter has had explicit support for reversed bindings for a while now. Use that, as it's more reliably than examining the modifiers manually. Close https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/467 Part-of: (cherry picked from commit f530acbf9e5270cd216f0354594fa7ed2927c697) --- extensions/screenshot-window-sizer/extension.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/extensions/screenshot-window-sizer/extension.js b/extensions/screenshot-window-sizer/extension.js index 497a861c..dfcf4e3f 100644 --- a/extensions/screenshot-window-sizer/extension.js +++ b/extensions/screenshot-window-sizer/extension.js @@ -65,10 +65,7 @@ export default class ScreenshotWindowSizerExtension extends Extension { * @param {Meta.KeyBinding} binding - the key binding */ _cycleScreenshotSizes(display, window, binding) { - // Probably this isn't useful with 5 sizes, but you can decrease instead - // of increase by holding down shift. - let modifiers = binding.get_modifiers(); - let backwards = (modifiers & Meta.VirtualModifier.SHIFT_MASK) !== 0; + const backwards = binding.is_reversed(); // Unmaximize first if (window.get_maximized() !== 0) From 7f192d0208cbee80292ce8937a960dd5280520f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 24 Oct 2023 14:40:27 +0200 Subject: [PATCH 11/12] screenshot-window-sizer: Handle wrapping around backwards The mod takes care of wrapping at the top, but not when decrementing 0. Fix this by using Array.prototype.at(), which handles negative indexes. Close https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/467 Part-of: (cherry picked from commit dd8ee2931ab9e40f16f00f869780ee80d58e65f8) --- extensions/screenshot-window-sizer/extension.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/screenshot-window-sizer/extension.js b/extensions/screenshot-window-sizer/extension.js index dfcf4e3f..f011accf 100644 --- a/extensions/screenshot-window-sizer/extension.js +++ b/extensions/screenshot-window-sizer/extension.js @@ -96,7 +96,7 @@ export default class ScreenshotWindowSizerExtension extends Extension { // get the next size up or down from ideal let newIndex = (nearestIndex + (backwards ? -1 : 1)) % scaledSizes.length; - let [newWidth, newHeight] = scaledSizes[newIndex]; + let [newWidth, newHeight] = scaledSizes.at(newIndex); // Push the window onscreen if it would be resized offscreen let newX = outerRect.x; From f27b239f5566ad587e09e8607d8efc0ac5ba532b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 1 Nov 2023 00:28:14 +0100 Subject: [PATCH 12/12] Bump version to 45.1 Update NEWS. --- NEWS | 12 ++++++++++++ meson.build | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index fa6a9eec..8c493511 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,15 @@ +45.1 +==== +* workspace-indicator: Fix initial preview visibility [Florian; !280] +* screenshot-window-sizer: Fix cycling between sizes backwards [Florian; !284] +* Misc. bug fixes and cleanups [Florian; !276, !275, !278, !281] + +Contributors: + Florian Müllner + +Translators: + Kristjan SCHMIDT [eo], Brage Fuglseth [nb] + 45.0 ==== diff --git a/meson.build b/meson.build index 495b97e9..f70c07d5 100644 --- a/meson.build +++ b/meson.build @@ -3,7 +3,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later project('gnome-shell-extensions', - version: '45.0', + version: '45.1', meson_version: '>= 0.58.0', license: 'GPL2+' )