From 0bfbd6738e5581876a5d90a9bf922b0ef4f9b341 Mon Sep 17 00:00:00 2001 From: BoF ButterflyOfFire Date: Tue, 16 Sep 2025 17:52:19 +0000 Subject: [PATCH 01/27] Update Kabyle translation --- po/kab.po | 190 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 119 insertions(+), 71 deletions(-) diff --git a/po/kab.po b/po/kab.po index 700531e0..8808a558 100644 --- a/po/kab.po +++ b/po/kab.po @@ -2,51 +2,52 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# ButterflyOfFire , 2024. +# ButterflyOfFire , 2024-2025. # msgid "" msgstr "" "Project-Id-Version: unnamed project\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2024-03-12 11:27+0000\n" -"PO-Revision-Date: 2024-03-23 07:16+0100\n" -"Last-Translator: sa\n" -"Language-Team: Kabyle <>\n" +"POT-Creation-Date: 2025-09-14 20:09+0000\n" +"PO-Revision-Date: 2025-09-16 18:51+0100\n" +"Last-Translator: ButterflyOfFire \n" +"Language-Team: Kabyle\n" "Language: kab\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: Poedit 3.4.2\n" +"X-Generator: Gtranslator 48.0\n" "X-DL-Team: kab\n" "X-DL-Module: gnome-shell-extensions\n" "X-DL-Branch: main\n" "X-DL-Domain: po\n" "X-DL-State: Translating\n" +"X-DL-Lang: kab\n" -#: data/gnome-classic.desktop.in:3 +#: data/gnome-classic.desktop.in:2 msgid "GNOME Classic" msgstr "GNOME aklasiki" -#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 -#: data/gnome-classic-xorg.desktop.in:4 +#: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3 +#: data/gnome-classic-xorg.desktop.in:3 msgid "This session logs you into GNOME Classic" msgstr "Tiɣimit-agi ak-teqqen ɣer GNOME aklasiki" -#: data/gnome-classic-wayland.desktop.in:3 +#: data/gnome-classic-wayland.desktop.in:2 msgid "GNOME Classic on Wayland" msgstr "GNOME aklasiki ɣef Wayland" -#: data/gnome-classic-xorg.desktop.in:3 +#: data/gnome-classic-xorg.desktop.in:2 msgid "GNOME Classic on Xorg" msgstr "GNOME aklasiki ɣef Xorg" -#: extensions/apps-menu/extension.js:126 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "Inurifen" -#: extensions/apps-menu/extension.js:397 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "Isnasen" @@ -62,17 +63,17 @@ msgstr "" "Tabdart n yiɣewwaren, yal yiwet tesɛa id n usnas (isem n ufaylu n desktop), " "ad ḍefrent snat n tenqiḍin akked wuḍḍun n tallunt n umahil" -#: extensions/auto-move-windows/prefs.js:159 +#: extensions/auto-move-windows/prefs.js:156 msgid "Workspace Rules" msgstr "Ilugan n tallunt n umahil" -#: extensions/auto-move-windows/prefs.js:314 +#: extensions/auto-move-windows/prefs.js:311 msgid "Add Rule" msgstr "Rnu alugen" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:123 -#: extensions/places-menu/placeDisplay.js:218 +#: extensions/places-menu/placeDisplay.js:186 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Aḍeqqer n uḍebsi “%s” ur yeddi ara:" @@ -113,33 +114,40 @@ msgstr "" "usenfel n shel s wudem amezwer s usemselsi-s ukessar. Asenfel n uɣewwar-a " "yesra allus n usenker n shel i wakken ad yeḍru." -#: extensions/places-menu/extension.js:91 -#: extensions/places-menu/extension.js:94 +#: extensions/places-menu/extension.js:75 +#: extensions/places-menu/extension.js:78 msgid "Places" msgstr "Imeḍqan" -#: extensions/places-menu/placeDisplay.js:60 +#: extensions/places-menu/placeDisplay.js:52 #, javascript-format msgid "Failed to launch “%s”" msgstr "Asekker n “%s” ur yeddi ara" -#: extensions/places-menu/placeDisplay.js:75 +#: extensions/places-menu/placeDisplay.js:67 #, javascript-format msgid "Failed to mount volume for “%s”" msgstr "Aserkeb n ubleɣ “%s” ur yeddi ara" -#: extensions/places-menu/placeDisplay.js:135 -#: extensions/places-menu/placeDisplay.js:158 -msgid "Computer" -msgstr "Aselkim" - -#: extensions/places-menu/placeDisplay.js:333 +#: extensions/places-menu/placeDisplay.js:315 msgid "Home" msgstr "Agejdan" -#: extensions/places-menu/placeDisplay.js:378 -msgid "Browse Network" -msgstr "Snirem azeḍḍa" +#: extensions/places-menu/placeDisplay.js:321 +msgid "Recent" +msgstr "Melmi kan" + +#: extensions/places-menu/placeDisplay.js:327 +msgid "Starred" +msgstr "S yitran" + +#: extensions/places-menu/placeDisplay.js:347 +msgid "Network" +msgstr "Azeṭṭa" + +#: extensions/places-menu/placeDisplay.js:354 +msgid "Trash" +msgstr "Taqecwalt" #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14 msgid "Cycle Screenshot Sizes" @@ -161,43 +169,43 @@ msgstr "Addaden n tkatut" msgid "Swap stats" msgstr "Addaden n Swap" -#: extensions/system-monitor/extension.js:327 +#: extensions/system-monitor/extension.js:336 msgid "Upload stats" msgstr "Addaden n usali" -#: extensions/system-monitor/extension.js:341 +#: extensions/system-monitor/extension.js:350 msgid "Download stats" msgstr "Addaden n usadar" -#: extensions/system-monitor/extension.js:355 +#: extensions/system-monitor/extension.js:365 msgid "System stats" msgstr "Addaden n unagraw" -#: extensions/system-monitor/extension.js:403 +#: extensions/system-monitor/extension.js:413 msgid "Show" msgstr "Sken" -#: extensions/system-monitor/extension.js:405 +#: extensions/system-monitor/extension.js:415 msgid "CPU" msgstr "CPU" -#: extensions/system-monitor/extension.js:407 +#: extensions/system-monitor/extension.js:417 msgid "Memory" msgstr "Takatut" -#: extensions/system-monitor/extension.js:409 +#: extensions/system-monitor/extension.js:419 msgid "Swap" -msgstr "Aemmeskel" +msgstr "Asemmeskel" -#: extensions/system-monitor/extension.js:411 +#: extensions/system-monitor/extension.js:421 msgid "Upload" msgstr "Asali" -#: extensions/system-monitor/extension.js:413 +#: extensions/system-monitor/extension.js:423 msgid "Download" msgstr "Asider" -#: extensions/system-monitor/extension.js:418 +#: extensions/system-monitor/extension.js:428 msgid "Open System Monitor" msgstr "Ldi asefrak n unagraw" @@ -229,47 +237,47 @@ msgstr "Isem n usentel" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "Isem n usentel ara yettusidren si ~/.themes/name/gnome-shell" -#: extensions/window-list/extension.js:72 +#: extensions/window-list/extension.js:98 msgid "Close" msgstr "Mdel" -#: extensions/window-list/extension.js:99 +#: extensions/window-list/extension.js:125 msgid "Unminimize" msgstr "Ur simẓẓiy ara" -#: extensions/window-list/extension.js:99 +#: extensions/window-list/extension.js:125 msgid "Minimize" msgstr "Semẓi" -#: extensions/window-list/extension.js:106 +#: extensions/window-list/extension.js:130 msgid "Unmaximize" msgstr "Ur ssemɣer ara" -#: extensions/window-list/extension.js:106 +#: extensions/window-list/extension.js:130 msgid "Maximize" msgstr "Semɣer" -#: extensions/window-list/extension.js:471 +#: extensions/window-list/extension.js:720 msgid "Minimize all" msgstr "Semẓi-ten akk" -#: extensions/window-list/extension.js:477 +#: extensions/window-list/extension.js:726 msgid "Unminimize all" msgstr "Ur simẓẓiy ara kullec" -#: extensions/window-list/extension.js:483 +#: extensions/window-list/extension.js:732 msgid "Maximize all" msgstr "Semɣer-iten akk" -#: extensions/window-list/extension.js:491 +#: extensions/window-list/extension.js:740 msgid "Unmaximize all" msgstr "Ur ssemɣer ara kullec" -#: extensions/window-list/extension.js:499 +#: extensions/window-list/extension.js:748 msgid "Close all" msgstr "Mdel-iten akk" -#: extensions/window-list/extension.js:773 +#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Tabdart n yisfuyla" @@ -286,7 +294,7 @@ msgstr "" "Azalen yellan: “never”, “auto” akked “always”." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 -#: extensions/window-list/prefs.js:79 +#: extensions/window-list/prefs.js:74 msgid "Show windows from all workspaces" msgstr "Sken isfuyla si meṛṛa tallunin n umahil" @@ -308,43 +316,83 @@ msgstr "" "Ma yella ad ttwaseknen yisfuyla si meṛṛa tallunin n umahil neɣ ala ɣef " "uzwaran." -#: extensions/window-list/prefs.js:35 +#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41 +msgid "Show workspace previews in window list" +msgstr "Sken-d tiskanin n tallunin n umahil deg yiwet n tebdart n usfalu" + +#: extensions/window-list/prefs.js:41 msgid "Window Grouping" msgstr "Asegrew n yisfuyla" -#: extensions/window-list/prefs.js:40 +#: extensions/window-list/prefs.js:46 msgid "Never group windows" msgstr "Werǧin ad tesgerweḍ isfuyla" -#: extensions/window-list/prefs.js:41 +#: extensions/window-list/prefs.js:47 msgid "Group windows when space is limited" msgstr "Segrew isfuyla ticki tallunt txuṣ" -#: extensions/window-list/prefs.js:42 +#: extensions/window-list/prefs.js:48 msgid "Always group windows" msgstr "Yalas ssegraw isfuyla" -#: extensions/window-list/prefs.js:66 +#: extensions/window-list/prefs.js:68 msgid "Show on all monitors" msgstr "Sken ɣef yigdilen meṛṛa" -#: extensions/window-list/workspaceIndicator.js:255 -#: extensions/workspace-indicator/extension.js:261 +#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12 +msgid "Show workspace previews in top bar" +msgstr "Sken-d tiskanin n tallunin n umahil deg ufeggag n ufella" + +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "Sit ɣef %s iwakken ad tesnifleḍṭ" + +#: extensions/workspace-indicator/workspaceIndicator.js:518 +msgid "Settings" +msgstr "Iɣewwaren" + +#: extensions/workspace-indicator/workspaceIndicator.js:598 msgid "Workspace Indicator" msgstr "Anamal n wadeg n umahil" -#: extensions/workspace-indicator/prefs.js:69 -#, javascript-format -msgid "Workspace %d" -msgstr "Tallunt n umahil %d" +#: extensions/workspace-indicator/workspacePrefs.js:20 +msgid "Indicator" +msgstr "Anamal" -#: extensions/workspace-indicator/prefs.js:136 -msgid "Workspace Names" -msgstr "Ismawen n tallunin n umahil" +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "Tiskanin" -#: extensions/workspace-indicator/prefs.js:262 -msgid "Add Workspace" -msgstr "Rnu tallunt n umahil" +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" +msgstr "Isem n tallunt n umahil" -#~ msgid "Applications" -#~ msgstr "Isnasen" +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "Tiddin" + +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "Asmussan" + +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "Ad ikkes s wudem awurman tallunin n umahil" + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Amḍan usbiḍ" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "" + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "Alḍan n tallunin n umahil" + +#: extensions/workspace-indicator/workspacePrefs.js:128 +msgid "Workspaces" +msgstr "Tallunt n umahil" From 9ce153437cf8527829285909ad7e4eae5d7d603c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 15 Oct 2025 00:43:37 +0200 Subject: [PATCH 02/27] reuse: Replace multi-line string with string list The latest version of the reuse tool no longer supports multi-line strings, so use a string list instead. Part-of: --- REUSE.toml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/REUSE.toml b/REUSE.toml index 6385d86b..e917c8f6 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -8,9 +8,10 @@ SPDX-PackageDownloadLocation = "https://gitlab.gnome.org/GNOME/gnome-shell-exten [[annotations]] path = "NEWS" -SPDX-FileCopyrightText = """ -2011 Giovanni Campagna -2013 Florian Müllner """ +SPDX-FileCopyrightText = [ + "2011 Giovanni Campagna ", + "2013 Florian Müllner " +] SPDX-License-Identifier = "CC-BY-SA-4.0" [[annotations]] From 4f7b9de4a2a1884b3502197b2261f545859e76ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 20 Oct 2025 14:48:35 +0200 Subject: [PATCH 03/27] workspace-indicator: Use visible property to control edit mode Using a 0 opacity and making the inactive actor non-reactive works, but is less obvious than properly hiding it. Part-of: --- extensions/workspace-indicator/workspaceIndicator.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js index b2e79508..eefdd189 100644 --- a/extensions/workspace-indicator/workspaceIndicator.js +++ b/extensions/workspace-indicator/workspaceIndicator.js @@ -417,7 +417,7 @@ class EditableMenuItem extends PopupMenu.PopupBaseMenuItem { this._entry = new St.Entry({ opacity: 0, - reactive: false, + visible: false, }); stack.add_child(this._entry); @@ -466,7 +466,7 @@ class EditableMenuItem extends PopupMenu.PopupBaseMenuItem { } _switchActor(from, to) { - to.reactive = true; + to.visible = from.visible = true; to.ease({ opacity: 255, duration: 300, @@ -478,7 +478,7 @@ class EditableMenuItem extends PopupMenu.PopupBaseMenuItem { duration: 300, mode: Clutter.AnimationMode.EASE_OUT_QUAD, onComplete: () => { - from.reactive = false; + from.visible = false; }, }); } From 40068b2359b4935ae3d93615416177aef63bd623 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 25 Oct 2025 12:05:46 +0200 Subject: [PATCH 04/27] ci: Consistently use dashes in job/stage names We currently have a mix of dashes and underscores, with the former being predominantly used by newer jobs, so settle on that. Part-of: --- .gitlab-ci.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7b1a15f4..e2068b7e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,7 +16,7 @@ include: tarball-artifact-path: "$TARBALL_ARTIFACT_PATH" stages: - - pre_review + - pre-review - prepare - review - build @@ -30,7 +30,7 @@ variables: MESON_BUILD_DIR: build TARBALL_ARTIFACT_PATH: "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz" -.pipeline_guard: &pipeline_guard +.pipeline-guard: &pipeline_guard rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_COMMIT_TAG' @@ -38,15 +38,15 @@ variables: - if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/' - when: 'manual' -.prereview_req: &prereview_req +.prereview-req: &prereview_req needs: - - check_commit_log + - check-commit-log - check-merge-request -check_commit_log: +check-commit-log: extends: - .fdo.ci-fairy - stage: pre_review + stage: pre-review script: - if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ; then @@ -65,7 +65,7 @@ check_commit_log: check-merge-request: extends: - .fdo.ci-fairy - stage: pre_review + stage: pre-review script: - if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ; then @@ -82,14 +82,14 @@ check-merge-request: junit: check-merge-request-report.xml check-reuse: - stage: pre_review + stage: pre-review image: name: fsfe/reuse:latest entrypoint: [""] script: - reuse lint -js_check: +js-check: stage: review <<: *prereview_req script: @@ -106,7 +106,7 @@ eslint: reports: junit: "$LINT_LOG" -potfile_js_check: +potfile-js-check: stage: review <<: *prereview_req script: From f6ed0ef74b8ab2cb9fa6bb54f05d4bd7bcd29463 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 25 Oct 2025 11:59:36 +0200 Subject: [PATCH 05/27] ci: Use !reference tag for pipeline/prereview guards It's a bit more flexible than yaml anchors, and already used in mutter and gnome-shell for the same purpose. Part-of: --- .gitlab-ci.yml | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e2068b7e..bbe0c404 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -30,7 +30,7 @@ variables: MESON_BUILD_DIR: build TARBALL_ARTIFACT_PATH: "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz" -.pipeline-guard: &pipeline_guard +.pipeline-guard: rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_COMMIT_TAG' @@ -38,7 +38,7 @@ variables: - if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/' - when: 'manual' -.prereview-req: &prereview_req +.prereview-req: needs: - check-commit-log - check-merge-request @@ -54,7 +54,8 @@ check-commit-log: else echo "Not a merge request" ; fi - <<: *pipeline_guard + rules: + - !reference [.pipeline-guard, rules] artifacts: expire_in: 1 week paths: @@ -73,7 +74,8 @@ check-merge-request: else echo "Not a merge request" ; fi - <<: *pipeline_guard + rules: + - !reference [.pipeline-guard, rules] artifacts: expire_in: 1 week paths: @@ -91,13 +93,15 @@ check-reuse: js-check: stage: review - <<: *prereview_req + needs: + - !reference [.prereview-req, needs] script: - gjs-check-syntax eslint: stage: review - <<: *prereview_req + needs: + - !reference [.prereview-req, needs] variables: LINT_LOG: "eslint-report.xml" script: @@ -108,7 +112,8 @@ eslint: potfile-js-check: stage: review - <<: *prereview_req + needs: + - !reference [.prereview-req, needs] script: - gjs-check-potfiles artifacts: @@ -117,7 +122,8 @@ potfile-js-check: build-bundles: stage: build - <<: *prereview_req + needs: + - !reference [.prereview-req, needs] script: - ./export-zips.sh artifacts: @@ -137,7 +143,8 @@ dist-bundles: fedora-build: stage: build - <<: *prereview_req + needs: + - !reference [.prereview-req, needs] script: - meson setup "$MESON_BUILD_DIR" --werror -Dextension_set=all -Dclassic_mode=true - meson compile -C "$MESON_BUILD_DIR" From ef285ea96b583e30719e9ebafddc21d2b82a000f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 25 Oct 2025 12:15:35 +0200 Subject: [PATCH 06/27] ci: Drop check-merge-request job The job is broken due to permission changes in GitLab, and it seems what is checked for is now the default, making the job less useful, thus drop it. Related: https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/81 Part-of: --- .gitlab-ci.yml | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bbe0c404..8c66a0ff 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,7 +41,6 @@ variables: .prereview-req: needs: - check-commit-log - - check-merge-request check-commit-log: extends: @@ -63,26 +62,6 @@ check-commit-log: reports: junit: commit-message-junit-report.xml -check-merge-request: - extends: - - .fdo.ci-fairy - stage: pre-review - script: - - if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ; - then - ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request-report.xml ; - else - echo "Not a merge request" ; - fi - rules: - - !reference [.pipeline-guard, rules] - artifacts: - expire_in: 1 week - paths: - - check-merge-request-report.xml - reports: - junit: check-merge-request-report.xml - check-reuse: stage: pre-review image: From 57b7f526dff171261cca40b9cad6824f740f2e74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sun, 26 Oct 2025 13:23:27 +0100 Subject: [PATCH 07/27] js: Use const declarations where possible It is useful to indicate clearly that a value is read-only, and we have already been doing so for new code for a long time. But in order to actually enforce this, we have to adjust all existing code. Luckily the change is trivial enough to do (thanks to `eslint --fix`), so do it now. Part-of: --- extensions/apps-menu/extension.js | 76 +++++++------- extensions/auto-move-windows/extension.js | 16 +-- extensions/drive-menu/extension.js | 24 ++--- .../native-window-placement/extension.js | 29 +++--- extensions/places-menu/extension.js | 6 +- extensions/places-menu/placeDisplay.js | 54 +++++----- .../screenshot-window-sizer/extension.js | 20 ++-- extensions/status-icons/extension.js | 10 +- extensions/user-theme/extension.js | 4 +- extensions/window-list/extension.js | 98 +++++++++---------- extensions/windowsNavigator/extension.js | 8 +- .../workspace-indicator/workspaceIndicator.js | 16 +-- 12 files changed, 180 insertions(+), 181 deletions(-) diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js index 7258fe33..578e2b61 100644 --- a/extensions/apps-menu/extension.js +++ b/extensions/apps-menu/extension.js @@ -48,7 +48,7 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem { this._icon.style_class = 'icon-dropshadow'; this.add_child(this._icon); - let appLabel = new St.Label({ + const appLabel = new St.Label({ text: app.get_name(), y_expand: true, y_align: Clutter.ActorAlign.CENTER, @@ -57,9 +57,9 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem { this.label_actor = appLabel; this._delegate = this; - let draggable = DND.makeDraggable(this); + const draggable = DND.makeDraggable(this); - let maybeStartDrag = draggable._maybeStartDrag; + const maybeStartDrag = draggable._maybeStartDrag; draggable._maybeStartDrag = event => { if (this._dragEnabled) return maybeStartDrag.call(draggable, event); @@ -132,7 +132,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem { } _isNavigatingSubmenu([x, y]) { - let [posX, posY] = this.get_transformed_position(); + const [posX, posY] = this.get_transformed_position(); if (this._oldX === -1) { this._oldX = x; @@ -140,8 +140,8 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem { return true; } - let deltaX = Math.abs(x - this._oldX); - let deltaY = Math.abs(y - this._oldY); + const deltaX = Math.abs(x - this._oldX); + const deltaY = Math.abs(y - this._oldY); this._oldX = x; this._oldY = y; @@ -171,7 +171,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem { // Ensure that the point P always lies below line AC so that we can // only check for triangle ABC. if (posY > y) { - let offset = posY - y; + const offset = posY - y; y = posY + this.height + offset; } @@ -294,15 +294,15 @@ class DesktopTarget extends EventEmitter { } async _markTrusted(file) { - let modeAttr = Gio.FILE_ATTRIBUTE_UNIX_MODE; - let trustedAttr = 'metadata::trusted'; - let queryFlags = Gio.FileQueryInfoFlags.NONE; - let ioPriority = GLib.PRIORITY_DEFAULT; + const modeAttr = Gio.FILE_ATTRIBUTE_UNIX_MODE; + const trustedAttr = 'metadata::trusted'; + const queryFlags = Gio.FileQueryInfoFlags.NONE; + const ioPriority = GLib.PRIORITY_DEFAULT; try { let info = await file.query_info_async(modeAttr, queryFlags, ioPriority, null); - let mode = info.get_attribute_uint32(modeAttr) | 0o100; + const mode = info.get_attribute_uint32(modeAttr) | 0o100; info.set_attribute_uint32(modeAttr, mode); info.set_attribute_string(trustedAttr, 'yes'); await file.set_attributes_async(info, queryFlags, ioPriority, null); @@ -327,7 +327,7 @@ class DesktopTarget extends EventEmitter { } handleDragOver(source, _actor, _x, _y, _time) { - let appInfo = this._getSourceAppInfo(source); + const appInfo = this._getSourceAppInfo(source); if (!appInfo) return DND.DragMotionResult.CONTINUE; @@ -335,16 +335,16 @@ class DesktopTarget extends EventEmitter { } acceptDrop(source, _actor, _x, _y, _time) { - let appInfo = this._getSourceAppInfo(source); + const appInfo = this._getSourceAppInfo(source); if (!appInfo) return false; this.emit('app-dropped'); - let desktop = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP); + const desktop = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP); - let src = Gio.File.new_for_path(appInfo.get_filename()); - let dst = Gio.File.new_for_path(GLib.build_filenamev([desktop, src.get_basename()])); + const src = Gio.File.new_for_path(appInfo.get_filename()); + const dst = Gio.File.new_for_path(GLib.build_filenamev([desktop, src.get_basename()])); try { // copy_async() isn't introspectable :-( @@ -452,9 +452,9 @@ class ApplicationsButton extends PanelMenu.Button { } _onMenuKeyPress(actor, event) { - let symbol = event.get_key_symbol(); + const symbol = event.get_key_symbol(); if (symbol === Clutter.KEY_Left || symbol === Clutter.KEY_Right) { - let direction = symbol === Clutter.KEY_Left + const direction = symbol === Clutter.KEY_Left ? Gtk.DirectionType.LEFT : Gtk.DirectionType.RIGHT; if (this.menu.actor.navigate_focus(global.stage.key_focus, direction, false)) return true; @@ -480,11 +480,11 @@ class ApplicationsButton extends PanelMenu.Button { } _loadCategory(categoryId, dir) { - let iter = dir.iter(); + const iter = dir.iter(); let nextType; while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) { if (nextType === GMenu.TreeItemType.ENTRY) { - let entry = iter.get_entry(); + const entry = iter.get_entry(); let id; try { id = entry.get_desktop_file_id(); // catch non-UTF8 filenames @@ -499,7 +499,7 @@ class ApplicationsButton extends PanelMenu.Button { } else if (nextType === GMenu.TreeItemType.SEPARATOR) { this.applicationsByCategory[categoryId].push('separator'); } else if (nextType === GMenu.TreeItemType.DIRECTORY) { - let subdir = iter.get_directory(); + const subdir = iter.get_directory(); if (!subdir.get_is_nodisplay()) this._loadCategory(categoryId, subdir); } @@ -507,11 +507,11 @@ class ApplicationsButton extends PanelMenu.Button { } scrollToButton(button) { - let appsScrollBoxAdj = this.applicationsScrollBox.get_vadjustment(); - let appsScrollBoxAlloc = this.applicationsScrollBox.get_allocation_box(); - let currentScrollValue = appsScrollBoxAdj.get_value(); - let boxHeight = appsScrollBoxAlloc.y2 - appsScrollBoxAlloc.y1; - let buttonAlloc = button.get_allocation_box(); + const appsScrollBoxAdj = this.applicationsScrollBox.get_vadjustment(); + const appsScrollBoxAlloc = this.applicationsScrollBox.get_allocation_box(); + const currentScrollValue = appsScrollBoxAdj.get_value(); + const boxHeight = appsScrollBoxAlloc.y2 - appsScrollBoxAlloc.y1; + const buttonAlloc = button.get_allocation_box(); let newScrollValue = currentScrollValue; if (currentScrollValue > buttonAlloc.y1 - 10) newScrollValue = buttonAlloc.y1 - 10; @@ -522,11 +522,11 @@ class ApplicationsButton extends PanelMenu.Button { } scrollToCatButton(button) { - let catsScrollBoxAdj = this.categoriesScrollBox.get_vadjustment(); - let catsScrollBoxAlloc = this.categoriesScrollBox.get_allocation_box(); - let currentScrollValue = catsScrollBoxAdj.get_value(); - let boxHeight = catsScrollBoxAlloc.y2 - catsScrollBoxAlloc.y1; - let buttonAlloc = button.get_allocation_box(); + const catsScrollBoxAdj = this.categoriesScrollBox.get_vadjustment(); + const catsScrollBoxAlloc = this.categoriesScrollBox.get_allocation_box(); + const currentScrollValue = catsScrollBoxAdj.get_value(); + const boxHeight = catsScrollBoxAlloc.y2 - catsScrollBoxAlloc.y1; + const buttonAlloc = button.get_allocation_box(); let newScrollValue = currentScrollValue; if (currentScrollValue > buttonAlloc.y1 - 10) newScrollValue = buttonAlloc.y1 - 10; @@ -537,7 +537,7 @@ class ApplicationsButton extends PanelMenu.Button { } _createLayout() { - let section = new PopupMenu.PopupMenuSection(); + const section = new PopupMenu.PopupMenuSection(); this.menu.addMenuItem(section); this.mainBox = new St.BoxLayout({layoutManager: new MainLayout()}); this.leftBox = new St.BoxLayout({ @@ -573,20 +573,20 @@ class ApplicationsButton extends PanelMenu.Button { // Load categories this.applicationsByCategory = {}; this._tree.load_sync(); - let root = this._tree.get_root_directory(); + const root = this._tree.get_root_directory(); let categoryMenuItem = new CategoryMenuItem(this, null); this.categoriesBox.add_child(categoryMenuItem); - let iter = root.iter(); + const iter = root.iter(); let nextType; while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) { if (nextType !== GMenu.TreeItemType.DIRECTORY) continue; - let dir = iter.get_directory(); + const dir = iter.get_directory(); if (dir.get_is_nodisplay()) continue; - let categoryId = dir.get_menu_id(); + const categoryId = dir.get_menu_id(); this.applicationsByCategory[categoryId] = []; this._loadCategory(categoryId, dir); if (this.applicationsByCategory[categoryId].length > 0) { @@ -615,7 +615,7 @@ class ApplicationsButton extends PanelMenu.Button { _displayButtons(apps) { for (let i = 0; i < apps.length; i++) { - let app = apps[i]; + const app = apps[i]; let item; if (app instanceof Shell.App) item = this._applicationsButtons.get(app); diff --git a/extensions/auto-move-windows/extension.js b/extensions/auto-move-windows/extension.js index 34decce7..acd7b9ce 100644 --- a/extensions/auto-move-windows/extension.js +++ b/extensions/auto-move-windows/extension.js @@ -28,7 +28,7 @@ class WindowMover { this._appConfigs.clear(); this._settings.get_strv('application-list').forEach(v => { - let [appId, num] = v.split(':'); + const [appId, num] = v.split(':'); this._appConfigs.set(appId, parseInt(num) - 1); }); @@ -36,15 +36,15 @@ class WindowMover { } _updateAppData() { - let ids = [...this._appConfigs.keys()]; - let removedApps = [...this._appData.keys()] + const ids = [...this._appConfigs.keys()]; + const removedApps = [...this._appData.keys()] .filter(a => !ids.includes(a.id)); removedApps.forEach(app => { app.disconnectObject(this); this._appData.delete(app); }); - let addedApps = ids + const addedApps = ids .map(id => this._appSystem.lookup_app(id)) .filter(app => app && !this._appData.has(app)); addedApps.forEach(app => { @@ -68,7 +68,7 @@ class WindowMover { return; // ensure we have the required number of workspaces - let workspaceManager = global.workspace_manager; + const workspaceManager = global.workspace_manager; for (let i = workspaceManager.n_workspaces; i <= workspaceNum; i++) { window.change_workspace_by_index(i - 1, false); workspaceManager.append_new_workspace(false, 0); @@ -78,8 +78,8 @@ class WindowMover { } _appWindowsChanged(app) { - let data = this._appData.get(app); - let windows = app.get_windows(); + const data = this._appData.get(app); + const windows = app.get_windows(); // If get_compositor_private() returns non-NULL on a removed windows, // the window still exists and is just moved to a different workspace @@ -89,7 +89,7 @@ class WindowMover { return !windows.includes(w) && w.get_compositor_private() !== null; })); - let workspaceNum = this._appConfigs.get(app.id); + const workspaceNum = this._appConfigs.get(app.id); windows.filter(w => !data.windows.includes(w)).forEach(window => { this._moveWindow(window, workspaceNum); }); diff --git a/extensions/drive-menu/extension.js b/extensions/drive-menu/extension.js index 49d5ab27..bb18b0f0 100644 --- a/extensions/drive-menu/extension.js +++ b/extensions/drive-menu/extension.js @@ -39,11 +39,11 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem { this.mount = mount; - let ejectIcon = new St.Icon({ + const ejectIcon = new St.Icon({ icon_name: 'media-eject-symbolic', style_class: 'popup-menu-icon', }); - let ejectButton = new St.Button({ + const ejectButton = new St.Button({ child: ejectIcon, style_class: 'button', }); @@ -63,7 +63,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem { if (this.mount.is_shadowed()) return false; - let volume = this.mount.get_volume(); + const volume = this.mount.get_volume(); if (volume) return volume.get_identifier('class') !== 'network'; @@ -87,7 +87,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem { } _eject() { - let unmountArgs = [ + const unmountArgs = [ Gio.MountUnmountFlags.NONE, new ShellMountOperation.ShellMountOperation(this.mount).mountOp, null, // Gio.Cancellable @@ -120,13 +120,13 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem { _reportFailure(exception) { // TRANSLATORS: %s is the filesystem name - let msg = _('Ejecting drive “%s” failed:').format(this.mount.get_name()); + const msg = _('Ejecting drive “%s” failed:').format(this.mount.get_name()); Main.notifyError(msg, exception.message); } activate(event) { - let uri = this.mount.get_root().get_uri(); - let context = global.create_app_launch_context(event.get_time(), -1); + const uri = this.mount.get_root().get_uri(); + const context = global.create_app_launch_context(event.get_time(), -1); Gio.AppInfo.launch_default_for_uri(uri, context); super.activate(event); @@ -141,7 +141,7 @@ class DriveMenu extends PanelMenu.Button { constructor() { super(0.5, _('Removable devices')); - let icon = new St.Icon({ + const icon = new St.Icon({ icon_name: 'media-eject-symbolic', style_class: 'system-status-icon', }); @@ -162,8 +162,8 @@ class DriveMenu extends PanelMenu.Button { this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); this.menu.addAction(_('Open Files'), event => { - let appSystem = Shell.AppSystem.get_default(); - let app = appSystem.lookup_app('org.gnome.Nautilus.desktop'); + const appSystem = Shell.AppSystem.get_default(); + const app = appSystem.lookup_app('org.gnome.Nautilus.desktop'); app.activate_full(-1, event.get_time()); }); @@ -178,7 +178,7 @@ class DriveMenu extends PanelMenu.Button { } _addMount(mount) { - let item = new MountMenuItem(mount); + const item = new MountMenuItem(mount); this._mounts.unshift(item); this.menu.addMenuItem(item, 0); @@ -187,7 +187,7 @@ class DriveMenu extends PanelMenu.Button { _removeMount(mount) { for (let i = 0; i < this._mounts.length; i++) { - let item = this._mounts[i]; + const item = this._mounts[i]; if (item.mount === mount) { item.destroy(); this._mounts.splice(i, 1); diff --git a/extensions/native-window-placement/extension.js b/extensions/native-window-placement/extension.js index 9daa9537..33480b72 100644 --- a/extensions/native-window-placement/extension.js +++ b/extensions/native-window-placement/extension.js @@ -29,7 +29,7 @@ class Rect { } union(rect2) { - let dest = this.copy(); + const dest = this.copy(); if (rect2.x < dest.x) { dest.width += dest.x - rect2.x; dest.x = rect2.x; @@ -47,7 +47,7 @@ class Rect { } adjusted(dx, dy, dx2, dy2) { - let dest = this.copy(); + const dest = this.copy(); dest.x += dx; dest.y += dy; dest.width += -dx + dx2; @@ -94,16 +94,16 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy { // As we are using pseudo-random movement (See "slot") we need to make sure the list // is always sorted the same way no matter which window is currently active. - let areaRect = new Rect(area.x, area.y, area.width, area.height); + const areaRect = new Rect(area.x, area.y, area.width, area.height); let bounds = areaRect.copy(); - let clones = layout.windows; + const clones = layout.windows; let direction = 0; - let directions = []; - let rects = []; + const directions = []; + const rects = []; for (let i = 0; i < clones.length; i++) { // save rectangles into 4-dimensional arrays representing two corners of the rectangular: [left_x, top_y, right_x, bottom_y] - let rect = clones[i].boundingBox; + const rect = clones[i].boundingBox; rects[i] = new Rect(rect.x, rect.y, rect.width, rect.height); bounds = bounds.union(rects[i]); @@ -120,10 +120,10 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy { overlap = false; for (let i = 0; i < rects.length; i++) { for (let j = 0; j < rects.length; j++) { - let adjustments = [-1, -1, 1, 1] + const adjustments = [-1, -1, 1, 1] .map(v => (v *= WINDOW_PLACEMENT_NATURAL_GAPS)); - let iAdjusted = rects[i].adjusted(...adjustments); - let jAdjusted = rects[j].adjusted(...adjustments); + const iAdjusted = rects[i].adjusted(...adjustments); + const jAdjusted = rects[j].adjusted(...adjustments); if (i !== j && iAdjusted.overlap(jAdjusted)) { loopCounter++; overlap = true; @@ -132,8 +132,8 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy { // Determine pushing direction let iCenter = rects[i].center(); - let jCenter = rects[j].center(); - let diff = [jCenter[0] - iCenter[0], jCenter[1] - iCenter[1]]; + const jCenter = rects[j].center(); + const diff = [jCenter[0] - iCenter[0], jCenter[1] - iCenter[1]]; // Prevent dividing by zero and non-movement if (diff[0] === 0 && diff[1] === 0) @@ -210,8 +210,7 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy { } while (overlap && loopCounter < WINDOW_PLACEMENT_NATURAL_MAX_TRANSLATIONS); // Work out scaling by getting the most top-left and most bottom-right window coords. - let scale; - scale = Math.min( + const scale = Math.min( areaRect.width / bounds.width, areaRect.height / bounds.height, 1.0); @@ -228,7 +227,7 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy { // rescale to workspace - let slots = []; + const slots = []; for (let i = 0; i < rects.length; i++) { rects[i].x = rects[i].x * scale + areaRect.x; rects[i].y = rects[i].y * scale + areaRect.y; diff --git a/extensions/places-menu/extension.js b/extensions/places-menu/extension.js index 8c1793cd..9db2222c 100644 --- a/extensions/places-menu/extension.js +++ b/extensions/places-menu/extension.js @@ -74,7 +74,7 @@ class PlacesMenu extends PanelMenu.Button { constructor() { super(0.5, _('Places')); - let label = new St.Label({ + const label = new St.Label({ text: _('Places'), y_expand: true, y_align: Clutter.ActorAlign.CENTER, @@ -86,7 +86,7 @@ class PlacesMenu extends PanelMenu.Button { this._sections = { }; for (let i = 0; i < SECTIONS.length; i++) { - let id = SECTIONS[i]; + const id = SECTIONS[i]; this._sections[id] = new PopupMenu.PopupMenuSection(); this.placesManager.connect(`${id}-updated`, () => { this._redisplay(id); @@ -110,7 +110,7 @@ class PlacesMenu extends PanelMenu.Button { } _create(id) { - let places = this.placesManager.get(id); + const places = this.placesManager.get(id); for (let i = 0; i < places.length; i++) this._sections[id].addMenuItem(new PlaceMenuItem(places[i])); diff --git a/extensions/places-menu/placeDisplay.js b/extensions/places-menu/placeDisplay.js index 3ae46523..72e859ae 100644 --- a/extensions/places-menu/placeDisplay.js +++ b/extensions/places-menu/placeDisplay.js @@ -56,7 +56,7 @@ class PlaceInfo extends EventEmitter { const source = { get_drive: () => null, }; - let op = new ShellMountOperation.ShellMountOperation(source); + const op = new ShellMountOperation.ShellMountOperation(source); try { await this.file.mount_enclosing_volume(0, op.mountOp, null); @@ -72,7 +72,7 @@ class PlaceInfo extends EventEmitter { } launch(timestamp) { - let launchContext = global.create_app_launch_context(timestamp, -1); + const launchContext = global.create_app_launch_context(timestamp, -1); this._ensureMountAndLaunch(launchContext, true).catch(logError); } @@ -83,7 +83,7 @@ class PlaceInfo extends EventEmitter { null, (file, result) => { try { - let info = file.query_info_finish(result); + const info = file.query_info_finish(result); this.icon = info.get_symbolic_icon(); this.emit('changed'); } catch (e) { @@ -112,7 +112,7 @@ class PlaceInfo extends EventEmitter { _getFileName() { try { - let info = this.file.query_info('standard::display-name', 0, null); + const info = this.file.query_info('standard::display-name', 0, null); return info.get_display_name(); } catch (e) { if (e instanceof Gio.IOErrorEnum) @@ -151,7 +151,7 @@ class PlaceDeviceInfo extends PlaceInfo { } eject() { - let unmountArgs = [ + const unmountArgs = [ Gio.MountUnmountFlags.NONE, new ShellMountOperation.ShellMountOperation(this._mount).mountOp, null, // Gio.Cancellable @@ -183,7 +183,7 @@ class PlaceDeviceInfo extends PlaceInfo { } _reportFailure(exception) { - let msg = _('Ejecting drive “%s” failed:').format(this._mount.get_name()); + const msg = _('Ejecting drive “%s” failed:').format(this._mount.get_name()); Main.notifyError(msg, exception.message); } } @@ -203,7 +203,7 @@ class PlaceVolumeInfo extends PlaceInfo { this._volume.mount(0, null, null, (volume, result) => { volume.mount_finish(result); - let mount = volume.get_mount(); + const mount = volume.get_mount(); this.file = mount.get_root(); super.launch(timestamp); }); @@ -357,8 +357,8 @@ export class PlacesManager extends EventEmitter { } _updateMounts() { - let networkMounts = []; - let networkVolumes = []; + const networkMounts = []; + const networkVolumes = []; this._places.devices.forEach(p => p.destroy()); this._places.devices = []; @@ -366,16 +366,16 @@ export class PlacesManager extends EventEmitter { this._places.network = []; /* first go through all connected drives */ - let drives = this._volumeMonitor.get_connected_drives(); + const drives = this._volumeMonitor.get_connected_drives(); for (let i = 0; i < drives.length; i++) { - let volumes = drives[i].get_volumes(); + const volumes = drives[i].get_volumes(); for (let j = 0; j < volumes.length; j++) { - let identifier = volumes[j].get_identifier('class'); + const identifier = volumes[j].get_identifier('class'); if (identifier && identifier.includes('network')) { networkVolumes.push(volumes[j]); } else { - let mount = volumes[j].get_mount(); + const mount = volumes[j].get_mount(); if (mount) this._addMount('devices', mount); } @@ -383,23 +383,23 @@ export class PlacesManager extends EventEmitter { } /* add all volumes that is not associated with a drive */ - let volumes = this._volumeMonitor.get_volumes(); + const volumes = this._volumeMonitor.get_volumes(); for (let i = 0; i < volumes.length; i++) { if (volumes[i].get_drive()) continue; - let identifier = volumes[i].get_identifier('class'); + const identifier = volumes[i].get_identifier('class'); if (identifier && identifier.includes('network')) { networkVolumes.push(volumes[i]); } else { - let mount = volumes[i].get_mount(); + const mount = volumes[i].get_mount(); if (mount) this._addMount('devices', mount); } } /* add mounts that have no volume (/etc/mtab mounts, ftp, sftp,...) */ - let mounts = this._volumeMonitor.get_mounts(); + const mounts = this._volumeMonitor.get_mounts(); for (let i = 0; i < mounts.length; i++) { if (mounts[i].is_shadowed()) continue; @@ -407,7 +407,7 @@ export class PlacesManager extends EventEmitter { if (mounts[i].get_volume()) continue; - let root = mounts[i].get_default_location(); + const root = mounts[i].get_default_location(); if (!root.is_native()) { networkMounts.push(mounts[i]); continue; @@ -416,7 +416,7 @@ export class PlacesManager extends EventEmitter { } for (let i = 0; i < networkVolumes.length; i++) { - let mount = networkVolumes[i].get_mount(); + const mount = networkVolumes[i].get_mount(); if (mount) { networkMounts.push(mount); continue; @@ -433,7 +433,7 @@ export class PlacesManager extends EventEmitter { } _findBookmarksFile() { - let paths = [ + const paths = [ GLib.build_filenamev([GLib.get_user_config_dir(), 'gtk-3.0', 'bookmarks']), GLib.build_filenamev([GLib.get_home_dir(), '.gtk-bookmarks']), ]; @@ -449,19 +449,19 @@ export class PlacesManager extends EventEmitter { _reloadBookmarks() { this._bookmarks = []; - let content = Shell.get_file_contents_utf8_sync(this._bookmarksFile.get_path()); - let lines = content.split('\n'); + const content = Shell.get_file_contents_utf8_sync(this._bookmarksFile.get_path()); + const lines = content.split('\n'); - let bookmarks = []; + const bookmarks = []; for (let i = 0; i < lines.length; i++) { - let line = lines[i]; - let components = line.split(' '); - let [bookmark] = components; + const line = lines[i]; + const components = line.split(' '); + const [bookmark] = components; if (!bookmark) continue; - let file = Gio.File.new_for_uri(bookmark); + const file = Gio.File.new_for_uri(bookmark); if (file.is_native() && !file.query_exists(null)) continue; diff --git a/extensions/screenshot-window-sizer/extension.js b/extensions/screenshot-window-sizer/extension.js index b3a3d116..1d88de0e 100644 --- a/extensions/screenshot-window-sizer/extension.js +++ b/extensions/screenshot-window-sizer/extension.js @@ -73,12 +73,12 @@ export default class ScreenshotWindowSizerExtension extends Extension { if (window.is_maximized()) window.unmaximize(); - let workArea = window.get_work_area_current_monitor(); - let outerRect = window.get_frame_rect(); + const workArea = window.get_work_area_current_monitor(); + const outerRect = window.get_frame_rect(); // Double both axes if on a hidpi display - let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; - let scaledSizes = this.SIZES.map(size => size.map(wh => wh * scaleFactor)) + const scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + const scaledSizes = this.SIZES.map(size => size.map(wh => wh * scaleFactor)) .filter(([w, h]) => w <= workArea.width && h <= workArea.height); // Find the nearest 16:9 size for the current window size @@ -86,10 +86,10 @@ export default class ScreenshotWindowSizerExtension extends Extension { let nearestError; for (let i = 0; i < scaledSizes.length; i++) { - let [width, height] = scaledSizes[i]; + const [width, height] = scaledSizes[i]; // get the best initial window size - let error = Math.abs(width - outerRect.width) + Math.abs(height - outerRect.height); + const error = Math.abs(width - outerRect.width) + Math.abs(height - outerRect.height); if (nearestIndex === undefined || error < nearestError) { nearestIndex = i; nearestError = error; @@ -97,8 +97,8 @@ 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.at(newIndex); + const newIndex = (nearestIndex + (backwards ? -1 : 1)) % scaledSizes.length; + const [newWidth, newHeight] = scaledSizes.at(newIndex); // Push the window onscreen if it would be resized offscreen let newX = outerRect.x; @@ -120,7 +120,7 @@ export default class ScreenshotWindowSizerExtension extends Extension { */ _notifySizeChange(window) { const {scaleFactor} = St.ThemeContext.get_for_stage(global.stage); - let newOuterRect = window.get_frame_rect(); + const newOuterRect = window.get_frame_rect(); let message = '%d×%d'.format( newOuterRect.width / scaleFactor, newOuterRect.height / scaleFactor); @@ -128,7 +128,7 @@ export default class ScreenshotWindowSizerExtension extends Extension { // The new size might have been constrained by geometry hints (e.g. for // a terminal) - in that case, include the actual ratio to the message // we flash - let actualNumerator = 9 * newOuterRect.width / newOuterRect.height; + const actualNumerator = 9 * newOuterRect.width / newOuterRect.height; if (Math.abs(actualNumerator - 16) > 0.01) message += ' (%.2f:9)'.format(actualNumerator); diff --git a/extensions/status-icons/extension.js b/extensions/status-icons/extension.js index c28f1386..f8816949 100644 --- a/extensions/status-icons/extension.js +++ b/extensions/status-icons/extension.js @@ -32,14 +32,14 @@ export default class SysTray { } _onTrayIconAdded(o, icon) { - let wmClass = icon.wm_class ? icon.wm_class.toLowerCase() : ''; + const wmClass = icon.wm_class ? icon.wm_class.toLowerCase() : ''; if (STANDARD_TRAY_ICON_IMPLEMENTATIONS.includes(wmClass)) return; - let button = new PanelButton(0.5, null, true); + const button = new PanelButton(0.5, null, true); - let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; - let iconSize = PANEL_ICON_SIZE * scaleFactor; + const scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + const iconSize = PANEL_ICON_SIZE * scaleFactor; icon.set({ width: iconSize, @@ -48,7 +48,7 @@ export default class SysTray { y_align: Clutter.ActorAlign.CENTER, }); - let iconBin = new St.Widget({ + const iconBin = new St.Widget({ layout_manager: new Clutter.BinLayout(), style_class: 'system-status-icon', }); diff --git a/extensions/user-theme/extension.js b/extensions/user-theme/extension.js index 7cc73e0f..9501335a 100644 --- a/extensions/user-theme/extension.js +++ b/extensions/user-theme/extension.js @@ -33,7 +33,7 @@ export default class ThemeManager extends Extension { _changeTheme() { let stylesheet = null; - let themeName = this._settings.get_string(SETTINGS_KEY); + const themeName = this._settings.get_string(SETTINGS_KEY); if (themeName) { const stylesheetPaths = getThemeDirs() @@ -43,7 +43,7 @@ export default class ThemeManager extends Extension { .map(dir => `${dir}/${themeName}.css`)); stylesheet = stylesheetPaths.find(path => { - let file = Gio.file_new_for_path(path); + const file = Gio.file_new_for_path(path); return file.query_exists(null); }); } diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js index cb885fe5..4c65b999 100644 --- a/extensions/window-list/extension.js +++ b/extensions/window-list/extension.js @@ -65,7 +65,7 @@ class DragPlaceholderItem extends DashItemContainer { * @returns {number} - the smallest stable sequence of the app's windows */ function _getAppStableSequence(app) { - let windows = app.get_windows().filter(w => !w.skip_taskbar); + const windows = app.get_windows().filter(w => !w.skip_taskbar); return windows.reduce((prev, cur) => { return Math.min(prev, cur.get_stable_sequence()); }, Infinity); @@ -251,7 +251,7 @@ class WindowTitle extends TitleWidget { } _updateIcon() { - let app = Shell.WindowTracker.get_default().get_window_app(this._metaWindow); + const app = Shell.WindowTracker.get_default().get_window_app(this._metaWindow); if (app) { this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE); } else { @@ -542,13 +542,13 @@ class BaseButton extends DashItemContainer { _openMenu(menu) { menu.open(); - let event = Clutter.get_current_event(); + const event = Clutter.get_current_event(); if (event && event.type() === Clutter.EventType.KEY_RELEASE) menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); } _minimizeOrActivateWindow(window) { - let focusWindow = global.display.focus_window; + const focusWindow = global.display.focus_window; if (focusWindow === window || focusWindow && focusWindow.get_transient_for() === window) window.minimize(); @@ -562,8 +562,8 @@ class BaseButton extends DashItemContainer { const extension = Extension.lookupByURL(import.meta.url); - let [x, y] = global.get_pointer(); - let actor = global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE, x, y); + const [x, y] = global.get_pointer(); + const actor = global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE, x, y); if (extension.someWindowListContains(actor)) actor.sync_hover(); } @@ -592,7 +592,7 @@ class BaseButton extends DashItemContainer { } _isWindowVisible(window) { - let workspace = global.workspace_manager.get_active_workspace(); + const workspace = global.workspace_manager.get_active_workspace(); return !window.skip_taskbar && (this._ignoreWorkspace || window.located_on_workspace(workspace)) && @@ -745,7 +745,7 @@ class AppContextMenu extends PopupMenu.PopupMenu { }); this.addMenuItem(this._unmaximizeItem); - let item = new PopupMenu.PopupMenuItem(_('Close all')); + const item = new PopupMenu.PopupMenuItem(_('Close all')); item.connect('activate', () => { this._appButton.getWindowList().forEach(w => { w.delete(global.get_current_time()); @@ -755,7 +755,7 @@ class AppContextMenu extends PopupMenu.PopupMenu { } open(animate) { - let windows = this._appButton.getWindowList(); + const windows = this._appButton.getWindowList(); this._minimizeItem.visible = windows.some(w => !w.minimized); this._unminimizeItem.visible = windows.some(w => w.minimized); this._maximizeItem.visible = windows.some(w => { @@ -816,7 +816,7 @@ class AppButton extends BaseButton { this.visible = true; } else if (!this._perMonitor) { // fast path: use ShellApp API to avoid iterating over all windows. - let workspace = global.workspace_manager.get_active_workspace(); + const workspace = global.workspace_manager.get_active_workspace(); this.visible = this.app.is_on_workspace(workspace); } else { this.visible = this.getWindowList().length >= 1; @@ -828,9 +828,9 @@ class AppButton extends BaseButton { } _updateIconGeometry() { - let rect = this._getIconGeometry(); + const rect = this._getIconGeometry(); - let windows = this.app.get_windows(); + const windows = this.app.get_windows(); windows.forEach(w => w.set_icon_geometry(rect)); } @@ -877,11 +877,11 @@ class AppButton extends BaseButton { } _onClicked(actor, button) { - let menuWasOpen = this._menu.isOpen; + const menuWasOpen = this._menu.isOpen; if (menuWasOpen) this._menu.close(); - let contextMenuWasOpen = this._contextMenu.isOpen; + const contextMenuWasOpen = this._contextMenu.isOpen; if (contextMenuWasOpen) this._contextMenu.close(); @@ -889,7 +889,7 @@ class AppButton extends BaseButton { if (menuWasOpen) return; - let windows = this.getWindowList(); + const windows = this.getWindowList(); if (windows.length === 1) { if (contextMenuWasOpen) return; @@ -898,8 +898,8 @@ class AppButton extends BaseButton { this._menu.removeAll(); for (let i = 0; i < windows.length; i++) { - let windowTitle = new WindowTitle(windows[i]); - let item = new PopupMenu.PopupBaseMenuItem(); + const windowTitle = new WindowTitle(windows[i]); + const item = new PopupMenu.PopupBaseMenuItem(); item.add_child(windowTitle); item._window = windows[i]; this._menu.addMenuItem(item); @@ -945,7 +945,7 @@ class WindowList extends St.Widget { this._perMonitor = perMonitor; this._monitor = monitor; - let box = new St.BoxLayout({x_expand: true, y_expand: true}); + const box = new St.BoxLayout({x_expand: true, y_expand: true}); this.add_child(box); this._windowList = new St.BoxLayout({ @@ -959,7 +959,7 @@ class WindowList extends St.Widget { this._windowList.connect('scroll-event', this._onScrollEvent.bind(this)); - let indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END}); + const indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END}); box.add_child(indicatorsBox); this._workspaceIndicator = new BottomWorkspaceIndicator({ @@ -1023,7 +1023,7 @@ class WindowList extends St.Widget { this._updateKeyboardAnchor(); }, this); - let workspaceManager = global.workspace_manager; + const workspaceManager = global.workspace_manager; workspaceManager.connectObject('notify::n-workspaces', () => this._updateWorkspaceIndicatorVisibility(), this); @@ -1093,7 +1093,7 @@ class WindowList extends St.Widget { } _onScrollEvent(actor, event) { - let direction = event.get_scroll_direction(); + const direction = event.get_scroll_direction(); let diff = 0; if (direction === Clutter.ScrollDirection.DOWN) diff = 1; @@ -1102,10 +1102,10 @@ class WindowList extends St.Widget { else return; - let children = this._windowList.get_children() + const children = this._windowList.get_children() .filter(c => c.visible); - let active = children.findIndex(c => c.active); - let newActive = Math.max(0, Math.min(active + diff, children.length - 1)); + const active = children.findIndex(c => c.active); + const newActive = Math.max(0, Math.min(active + diff, children.length - 1)); children[newActive].activate(); } @@ -1144,10 +1144,10 @@ class WindowList extends St.Widget { } _updateWorkspaceIndicatorVisibility() { - let workspaceManager = global.workspace_manager; - let hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') || + const workspaceManager = global.workspace_manager; + const hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') || workspaceManager.n_workspaces > 1; - let workspacesOnMonitor = this._monitor === Main.layoutManager.primaryMonitor || + const workspacesOnMonitor = this._monitor === Main.layoutManager.primaryMonitor || !this._mutterSettings.get_boolean('workspaces-only-on-primary'); this._workspaceIndicator.visible = hasWorkspaces && workspacesOnMonitor; @@ -1157,15 +1157,15 @@ class WindowList extends St.Widget { if (this._windowList.get_n_children() === 0) return this._windowList.get_preferred_width(-1)[1]; - let children = this._windowList.get_children(); - let [, childWidth] = children[0].get_preferred_width(-1); - let {spacing} = this._windowList.layout_manager; + const children = this._windowList.get_children(); + const [, childWidth] = children[0].get_preferred_width(-1); + const {spacing} = this._windowList.layout_manager; - let workspace = global.workspace_manager.get_active_workspace(); + const workspace = global.workspace_manager.get_active_workspace(); let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace); if (this._perMonitor) windows = windows.filter(w => w.get_monitor() === this._monitor.index); - let nWindows = windows.length; + const nWindows = windows.length; if (nWindows === 0) return this._windowList.get_preferred_width(-1)[1]; @@ -1173,7 +1173,7 @@ class WindowList extends St.Widget { } _getMaxWindowListWidth() { - let indicatorsBox = this._workspaceIndicator.get_parent(); + const indicatorsBox = this._workspaceIndicator.get_parent(); return this.width - indicatorsBox.get_preferred_width(-1)[1]; } @@ -1192,10 +1192,10 @@ class WindowList extends St.Widget { if (this._groupingMode !== GroupingMode.AUTO) return; - let maxWidth = this._getMaxWindowListWidth(); - let natWidth = this._getPreferredUngroupedWindowListWidth(); + const maxWidth = this._getMaxWindowListWidth(); + const natWidth = this._getPreferredUngroupedWindowListWidth(); - let grouped = maxWidth < natWidth; + const grouped = maxWidth < natWidth; if (this._grouped !== grouped) { this._grouped = grouped; this._populateWindowList(); @@ -1206,14 +1206,14 @@ class WindowList extends St.Widget { this._windowList.destroy_all_children(); if (!this._grouped) { - let windows = global.get_window_actors().sort((w1, w2) => { + const windows = global.get_window_actors().sort((w1, w2) => { return w1.metaWindow.get_stable_sequence() - w2.metaWindow.get_stable_sequence(); }); for (let i = 0; i < windows.length; i++) this._addWindow(windows[i].metaWindow, false); } else { - let apps = this._appSystem.get_running().sort((a1, a2) => { + const apps = this._appSystem.get_running().sort((a1, a2) => { return _getAppStableSequence(a1) - _getAppStableSequence(a2); }); @@ -1271,8 +1271,8 @@ class WindowList extends St.Widget { } _removeApp(app) { - let children = this._windowList.get_children(); - let child = children.find(c => c.app === app); + const children = this._windowList.get_children(); + const child = children.find(c => c.app === app); child?.animateOutAndDestroy(); } @@ -1283,7 +1283,7 @@ class WindowList extends St.Widget { if (this._grouped) return; - let children = this._windowList.get_children(); + const children = this._windowList.get_children(); if (children.find(c => c.metaWindow === win)) return; @@ -1306,8 +1306,8 @@ class WindowList extends St.Widget { win.disconnect(id); this._windowSignals.delete(win); - let children = this._windowList.get_children(); - let child = children.find(c => c.metaWindow === win); + const children = this._windowList.get_children(); + const child = children.find(c => c.metaWindow === win); child?.animateOutAndDestroy(); } @@ -1324,7 +1324,7 @@ class WindowList extends St.Widget { const buttons = this._windowList.get_children().filter(c => c instanceof BaseButton); const buttonPos = buttons.indexOf(source); const numButtons = buttons.length; - let boxWidth = this._windowList.width; + const boxWidth = this._windowList.width; // Transform to window list coordinates for index calculation // (mostly relevant for RTL to discard workspace indicator etc.) @@ -1446,7 +1446,7 @@ class WindowList extends St.Widget { return DND.DragMotionResult.CONTINUE; } - let hoveredWindow = dragEvent.targetActor.metaWindow; + const hoveredWindow = dragEvent.targetActor.metaWindow; if (!hoveredWindow || this._dndWindow === hoveredWindow) return DND.DragMotionResult.CONTINUE; @@ -1468,8 +1468,8 @@ class WindowList extends St.Widget { } _activateWindow() { - let [x, y] = global.get_pointer(); - let pickedActor = global.stage.get_actor_at_pos(Clutter.PickMode.ALL, x, y); + const [x, y] = global.get_pointer(); + const pickedActor = global.stage.get_actor_at_pos(Clutter.PickMode.ALL, x, y); if (this._dndWindow && this.contains(pickedActor)) this._dndWindow.activate(global.get_current_time()); @@ -1492,7 +1492,7 @@ class WindowList extends St.Widget { this._settings.disconnectObject(); this._settings = null; - let windows = global.get_window_actors(); + const windows = global.get_window_actors(); for (let i = 0; i < windows.length; i++) windows[i].metaWindow.set_icon_geometry(null); } @@ -1538,7 +1538,7 @@ export default class WindowListExtension extends Extension { this._windowLists.forEach(list => list.destroy()); this._windowLists = []; - let showOnAllMonitors = this._settings.get_boolean('show-on-all-monitors'); + const showOnAllMonitors = this._settings.get_boolean('show-on-all-monitors'); Main.layoutManager.monitors.forEach(monitor => { if (showOnAllMonitors || monitor === Main.layoutManager.primaryMonitor) diff --git a/extensions/windowsNavigator/extension.js b/extensions/windowsNavigator/extension.js index 600aae79..1dd44d57 100644 --- a/extensions/windowsNavigator/extension.js +++ b/extensions/windowsNavigator/extension.js @@ -147,7 +147,7 @@ export default class Extension { /* eslint-disable no-invalid-this */ return function () { const {layoutManager} = this._container; - for (let i in layoutManager._windowSlots) { + for (const i in layoutManager._windowSlots) { if (layoutManager._windowSlots[i]) layoutManager._windowSlots[i][WINDOW_SLOT].hideTooltip(); } @@ -212,7 +212,7 @@ export default class Extension { if (this._overviewAdjustment.value !== ControlsState.WINDOW_PICKER) return false; - let workspaceManager = global.workspace_manager; + const workspaceManager = global.workspace_manager; if ((event.get_key_symbol() === Clutter.KEY_Alt_L || event.get_key_symbol() === Clutter.KEY_Alt_R) && @@ -260,7 +260,7 @@ export default class Extension { } } - let win = this._workspaces[this._active].getWindowWithTooltip(c); + const win = this._workspaces[this._active].getWindowWithTooltip(c); this._hideTooltips(); if (win) @@ -278,7 +278,7 @@ export default class Extension { } } - let workspace = this._workspaces[c - 1]; + const workspace = this._workspaces[c - 1]; if (workspace !== undefined) workspace.metaWorkspace.activate(global.get_current_time()); diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js index eefdd189..f7b8939e 100644 --- a/extensions/workspace-indicator/workspaceIndicator.js +++ b/extensions/workspace-indicator/workspaceIndicator.js @@ -159,7 +159,7 @@ class WorkspaceThumbnail extends St.Button { this._windowPreviews = new Map(); - let workspaceManager = global.workspace_manager; + const workspaceManager = global.workspace_manager; this._workspace = workspaceManager.get_workspace_by_index(index); this._workspace.bind_property('active', @@ -209,14 +209,14 @@ class WorkspaceThumbnail extends St.Button { if (this._windowPreviews.has(window)) return; - let preview = new WindowPreview(window); + const preview = new WindowPreview(window); preview.connect('clicked', (a, btn) => this.emit('clicked', btn)); this._windowPreviews.set(window, preview); this._preview.child.add_child(preview); } _removeWindow(window) { - let preview = this._windowPreviews.get(window); + const preview = this._windowPreviews.get(window); if (!preview) return; @@ -226,9 +226,9 @@ class WorkspaceThumbnail extends St.Button { _onRestacked() { let lastPreview = null; - let windows = global.get_window_actors().map(a => a.meta_window); + const windows = global.get_window_actors().map(a => a.meta_window); for (let i = 0; i < windows.length; i++) { - let preview = this._windowPreviews.get(windows[i]); + const preview = this._windowPreviews.get(windows[i]); if (!preview) continue; @@ -238,14 +238,14 @@ class WorkspaceThumbnail extends St.Button { } _moveWindow(window) { - let monitorIndex = Main.layoutManager.findIndexForActor(this); + const monitorIndex = Main.layoutManager.findIndexForActor(this); if (monitorIndex !== window.get_monitor()) window.move_to_monitor(monitorIndex); window.change_workspace_by_index(this._index, false); } on_clicked() { - let ws = global.workspace_manager.get_workspace_by_index(this._index); + const ws = global.workspace_manager.get_workspace_by_index(this._index); if (ws) ws.activate(global.get_current_time()); } @@ -609,7 +609,7 @@ export class WorkspaceIndicator extends PanelMenu.Button { this.setMenu(new WorkspacesMenu(this)); - let container = new St.Widget({ + const container = new St.Widget({ layout_manager: new Clutter.BinLayout(), x_expand: true, y_expand: true, From 93eac46b1d9da5492ce9265c30dd15239bdf70b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sun, 26 Oct 2025 13:22:31 +0100 Subject: [PATCH 08/27] lint: Enable 'prefer-const' rule Now that all code conforms with the rule, we can enforce it to make sure we stick to it with new code. Relax the rule for destructuring, so we don't have to jump through hoops to avoid "mixed" assignments. Part-of: --- tools/eslint.config.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/eslint.config.js b/tools/eslint.config.js index 27df2ce6..7ba281c2 100644 --- a/tools/eslint.config.js +++ b/tools/eslint.config.js @@ -20,6 +20,9 @@ export default defineConfig([ afterColon: true, }], 'prefer-arrow-callback': 'error', + 'prefer-const': ['error', { + destructuring: 'all', + }], 'jsdoc/require-param-description': 'off', 'jsdoc/require-jsdoc': ['error', { exemptEmptyFunctions: true, From a8b570527416e4edf10d930a693f3fb1718c2375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 25 Oct 2025 12:25:57 +0200 Subject: [PATCH 09/27] tools: Pin git node modules Both changes in the config (like new/changes rules) and the eslint wrapper (like updating to eslint 9.x) could require changes here, and therefore require a conscious update rather than randomly breaking the CI. Part-of: --- tools/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/package.json b/tools/package.json index 440df771..0d76d3ea 100644 --- a/tools/package.json +++ b/tools/package.json @@ -8,7 +8,7 @@ "lint": "cd .. && ci-run-eslint" }, "dependencies": { - "ci-run-eslint": "git+https://gitlab.gnome.org/World/javascript/ci-run-eslint.git", - "eslint-config-gnome": "git+https://gitlab.gnome.org/World/javascript/eslint-config-gnome.git" + "ci-run-eslint": "git+https://gitlab.gnome.org/World/javascript/ci-run-eslint.git#179fcc1f095d2b579ffe454505946bcad7f6a230", + "eslint-config-gnome": "git+https://gitlab.gnome.org/World/javascript/eslint-config-gnome.git#c479d059e8d9ea99c3b53c2ea43abf7fdb05eb51" } } From 9ae6d55e0df8e903dc01934e5cb5513325572819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 25 Oct 2025 12:28:28 +0200 Subject: [PATCH 10/27] tools: Symlink node_modules in project root NPM assumes quite strongly that it manages the project as a whole and its package/lock files are located in the project root. While we somehow managed to keep the npm tooling in a subfolder, this comes at the cost of breaking imports of additional modules. This will become relevant when we update eslint to a supported version, as we want to keep using the `junit` formatter in CI, which has now been split out into a separate module. So bite the bullet and make the node_modules folder available in the project root. On the plus side, having the node_modules folder in the project root allows language servers in IDEs/editors to pick it up. Part-of: --- tools/run-eslint.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/run-eslint.sh b/tools/run-eslint.sh index 45bd267d..6d2c72c4 100755 --- a/tools/run-eslint.sh +++ b/tools/run-eslint.sh @@ -3,6 +3,10 @@ # SPDX-FileCopyrightText: 2020 Philip Chimento # SPDX-FileCopyrightText: 2025 Florian Müllner -cd $(dirname -- "$0") +srcdir=$(dirname -- "$0") + +cd $srcdir [ ! -d node_modules ] && npm clean-install +# Link in project root to make imports work properly +[ ! -e ../node_modules ] && ln -s $srcdir/node_modules ../node_modules npm run lint -- "$@" From c0df345beac29056d1e7837e77219e4fb9c8b246 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 28 Oct 2025 22:18:39 +0100 Subject: [PATCH 11/27] tools: Update ci-run-eslint We are currently still using eslint 8.x which has been unsupported for quite a while. Update the ci-run-eslint script to a version that uses the supported eslint 9.x. Part-of: --- tools/package-lock.json | Bin 61448 -> 44799 bytes tools/package.json | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/package-lock.json b/tools/package-lock.json index 25e08d2d1ebeb162d403c34c43d84e85859c5da3..d0a803a23f2aeeea31be57170bdf2bc28b148623 100644 GIT binary patch delta 2592 zcma)7YpmO58CK3^r#$`>_uO!55B!tokDt7d1&@FCwrG6?UP)xZGvCAj zeBB0^teuIoKlD#aolq{Ys^3l;o`d)(9in)UvzQj6;ZByBVxDD`6tYxwT|AAoSu|bt z>_#bB;w5unO>nANbjozOWC@cwRLj<}DruH*khu320JpZm&&t<;Pl<;kdtF%tmoKBc zmtWj_61=$ol$>`54bk+8YAy?<8?8~jkt26Wqy+c+3kgOU5vx!WO@!!HcaA{FJl*E!1wqYr19uVX zbI2J4Ty0Q9yZ~Cz8ApLe^_j`Az&UmY7)@^i_wCzBq`{TxHi-5;5B~Wy9yh!Rp4opK zh~K_N?s;u;F{&7z9&}+2l1MoP)tQ3W9dt%Qt`E0e#&WrNZKBMWHVg}fIBM7-Um2Sd zL+56eUDTK$<@Ojk-|CAC$u3OuvjCjfmt0={u(<*LZf+)0An_0ao9&>2K>pYd#$9eu=rJRD(ZLvw?~?(NG)eFS0v*>S_ zmRS~Y@P_Mm!`&*RHX=_7vsOP_gi{KWo!2PUUP#H2Z;V|p#Se`#X{P$P&f-Gj!& zr9MiR7|s?m^@76HHKkQ)gsLtmu#A?bP2Eg`OBX00gc86HsWBBDDhnam3?T^ zGu@8Yg+CPDRqj_)cf#Q9AMXHPgu(sJt>DoEJK)nhd!l_u4<^9d$B%>RjrAogD7bKR z4|wUut*g*L3u&GVs~+bvxPoJO1D$BJ#^>f{-G}tNnCh_o4nLVXXe#ZrRD~|c1DWlY zJEbtx+g00yM@(~G;B=1)Gqu80EJ>~We@g;9zkN>(MdBemt^oq~?d*+ya`V3u(fLzH z-mmP7r!Pi{vp-(}2M62Hn|Ev{mO%iWTaVr$URnp2A{4COeH*xP&nYP@W~E^hb784T z^pIMb5d+hl_^rU0DOP?_Fc#&0JIkgEwWgn(wl!hc7KW4nHIa5cY$JZaG{+VJ5h<~N zn?lbS+BDnyz_p@R?>@73`~Pjimku5UB~o3>-WlsU@z5dgo$?kqo7e(xkVy1S`?VGD zjq@nD?!pfE`WvStF$~7dN~PX4#xzW|JVe0S`9`mqX%Yk8wYvk~;7nLylhd3x~ zRLM-(%b;`vqqsa#?xYGfB}-m09mo>Bz|~o`8RJYvuU>d^4gBCq6#S@neF9tRz0L$d z(++C0k=*ahc-cqM0#gc-bETm!$a-MG?leUkqD*2_OCpSR56#HfsET{OuDGEqnx)Bf zrgK?lFc_LXIjnShPCQ{tbC2#PJ>TnC-&ogV~mSq9ar%mS60(dkaD;h6>7b zXA|1=cp{%EI(28v`~3l*$9fe5$I?9K^ouS=VkF-uMk%}^%u_1NV5&V%wP*z<1V``# zK>pVW??=@^5%tlI(e+yUTPPk}*h z8?^1O#u9wXJ{$kKy|p`;wb`+#HvZe%wY{<3AL!?Fdu(YCxUzZ(@cYj$;e6l0PhN#| ziezACgi01-YIxX>0c^3DpcJ%xTT^n_1d7+E$h$5oA@Lej7t8?TeFe6s0?pzXsW>)`xfBZ=&c7%>~4gQgGc3kQTai4HBRX0$Rp!Kq<|+^z`eh|8Ql4`&qlv`Z2g)j zd+GI+=>DgEvlV^$*`IDkKm5f%R-XDj^Nk);LQx#l&Ts|6%fBfrx|hxo1D{>&7>-HAvZsFVao4@ggLHR zD7-W-_>XJgo@e)h1-upg^2NtCmJamjpUx~D2p8%iZW~CRvxKgX4#`H9XIp83N^?mK z=bDw$Y{VDndBrH2{b5%zO--p8XohG*m?em8gXAG{rk1UMpemKA!e$zVzPy%w>Go*# Y&!1V3zVO$lSE5&6pR7g3n@=SE0|KOplmGw# delta 9323 zcmdsdYm6ILmL6JCOSWuTk|kL$%cfhBEt~FUJxSKAJr>Dgkwvmd7RlmkG2SiKgH>d) z-VYYXUXN!Nlby*tR=yLAC)tf36HI0@2x6m?A3-t`J3oRT8wBGl5Fo)OSSQ#38z4KG z1iL|i#U{7d-BQc;>?VKH0MS*qF00Nx=iKjn=PUm2e}CjR|KR9*s}1nI4GsJ}bz}E8 zj%1F2&TRs`b>;;4<73ZmxkHjXY!Y7Vw4aelU4 z)!0Q9A1+*^Irr*xC}{)3=Hc@$fp1+r|B$UH?$+m0z8fgu!-ops73M0q_V5QA7A=5^b$Y3Y@^-1Oyx=N|UJ?w!-WyK#5`y5#z9c=o?+Ko5xLm?Kzz zFC?bZomB>Mrev`;Q693(LBF2ys)a1wsy2yqo?T+nkc_3)DA%YU!YFT6O9E-LHl~PW zl#_D2oS#=cd(>QwhCR%hwHqsNCtZBw%q{Sf;Wqe(=jDwocs+}P)`jQb(K`=r37sN0 zC7DhGVUejvqFiPgbPF>wqo72eCwzNs^36dM(7kN7jS?(@v;Ly3vg3}{qEw;Jwp#^$ zC=fZ(H{xiVkye(&w876WJb&MU9Zmyh9y|el{jnS1-EZ&Z;(vPV$_5TTR&NMMExno! zmepo@IczltY}_8y8E)DSYSuWY=qwZD?k(`0%iVoPJ$~iN zzN1C~i;b&%BbVpN>O`aUVgVfzjm1bFmg*&rXVnO?qnxc*Yf;=OGs>hUgf8DCB+m2V zayPq7hpI4Hq9xWAd7(a%`Elzrjr{1!1UlwJg#d3}&TeEteC=~IxS@(~nY zZ!BnA>hQJ9cINQuHuN=I(pPW1Mvoiivcn8`Mvv=RjU2H`Y}S{#nh};pg9ak83$@!B zjwyraPBBHDGnHPzsM&BeoYhgu$+DxlkS?Qy7UDWVupMLv z2d^?$Aa-3litLc!&JA<}1@Cyzf?v6GJaNeG+gJZ&1N_PPr@_DZ0s)c;4KAbr=HGmc z!dD}iD|a&zN@uBftk>z{4C!M;=rmWw%-mwIY`rat(}F7F?F=y$3=OAakF=(Rdb+&S zDL!5qbbgsZ@?$?2v2}@-3jcQtg-ZeB3nw4AyT*@xc=-W*yJU!gr+|&^tBLu$U%!_6 zbn3%kpEWI6G4x4B^>#c-G-VyU|L&ztYzKuNfavk`?N3c`VZ86ocDMJYCh!tE7*TZa zctKXn`~qv%OD-M{>1Zb9!k$;|X&u^}+ZbJ^Y&38hoitqy+(o9@>RCv=lB#|qMC(eWAmk7y3Yt-^pl7s0VD5bLMpZ82IjUcx}sqy#yX@ZTm+Sb5p2GA z^UNpj0iJs5B3x$@X}HeRCok_W5aZCRK+r3j=nl4%|CEW5Xw3IaOpdnqCM70Xm10_08q%AL%2%XvB~lhv zkMVJaZBgPxoD>&gB^t6;u|7^$dNE?R(L6a(D$`uU(6vmnTkZC-VZlQUb7fjmHwglH z*tES=Ny z743`%d4=Q$t|D(shGl|{=Pw;a;ZB7We&_aQPEnv=KJhIDI%o|^!eC)F^Nz?CtlXeC z8cYhX=;Yg@vSyO%e3g^OuG1@ybF%MeGDZWdL<oKUVakeO+_;MT{R5WW%u@co@<0Q&fKK`#aED$PvY>M&Qu!ZMp7m-Y(D zt-94Bg7oZQ>S&9R-(PU8EQ#h9rJ%!Etr26$<)VR1(R?mYt(7cRr-QmQVkTMCsp$LJ zdkTE;y(_!Fk$LvmEi^}|l7y-VMatNOglDP(_XLTM6p@`sqMTE+B8DS?S1y5<>kooI z#eex&euvC~-;QpA6;T8k{9#xM-+A}~sGWHd@+R~p60*6+kHS;~@4tFOz_QdBr?_r5 z>eqbF5)2e+WRZb9*J^#aUBL*RP{zF~ZkkNiu)}UwE7$RepV33A))^FpcG%W(rIr=6 zZGmE4M;tSu550CXSp*2r-rl5kvO5U)$7e4e$9GT)9{$(LbKuyce+PW&f!_i<_^EyK z%I7ZcS^iGE$2WiH+yi?9km~egY9(@=ZjY_g4NdY_RTSg=VOXnoyMiWGrCC3X!Tkpd zKzWoK*6lVKcZg-WiT4UpwI>Bs7B^Wp-Q%RvgrJM1(GXpM58fz&UwhzL@Qt^wB!+;e zPMim~N*C{$@vRfb!7HVccg=V$wyh|pmv+B9vgbpW8ni>KT^N`Arf#ELNY;A;q+1Hy zVVI%xmMytesx3M~*_eAyxtO&}np3UNof6ZF-LX;8%to`K{{_XVr|DiQR9sKD%#`ju zl`^dq+__W5O?iQBTQ02DJE^vzh_GCHijo5FpFg*?|Ap=SDJj)*Qk ze0c%<_~HrhD*X`n=CRW!wq7P6HX`8X^f@?o8FIIu(T{;!C(3;P=YstA`3+g01^V20{2R$o&H7xjPxzdL9^OZvc+T zzyyAkdFD~sl6+S;_vk1NO9}$sWGY8+Hp&F!#W}JNo!hxHwR$ zNSiPdVc!3}N)7z;v!|}^<>O&frmkp18l$-2KU5zB|En^-qrq7+Pj$0WiLs{D>P~T6CFZZ9-J(Ab3t3q3I==A7@sK z9Ibof1A|TvAKswAwPAT3V-$RJ8a*%&!pJ|E5HNA?s9BJbuEV3GD*ml+P?#iTLE z_{OMCG*>p)az`^xliB4kU||=}7rjO~Ys>;mu7~n`;AJE`uGR2TpY7XKq@|p zr-jl;DmTS6<4Z!lvCuRpmV8?>JSWF9c;2qh##OJ<)Vn-Gx&-4}b$TF97}~(Km00Gv zu!lCP<=BfzKbkf|do-F5;p9Lh0pFcIcMU(BY_7g=MRlEs$xgu%pPl?nbAK{>{unfO zuj5b6&#i4wI{t#zB6&fYwKVU9^|H)i{;@(?luO!0c)vsJw?T z!qMvtgv9^Y)UYP&h7y)@SjH39othsz1#L;LZ10W2_Utv2=^(3yEnuUP*jYwasTMY} zLRhL|H6~{IY#8+#9;;$#A*dRhH!q-?)|2PyhB2!7Eo0k6^#`u9jDkx>wKN! zf3Z?ffsa2RV_wSMa&^e7d@B`FDbZCvi<*HuzkM0JFuQ)()ps%%)4Hh|`c&IPJm}RO z;xJW~8 z@r~!ehhM90>YgY{;J-oL9@F1Fa$hneI@SM}fAN6>;*%&A;L2CB7Y+szh2ripaK3U& zDEsxuYGvokQiB?_$fXXYyWZI7u8ND?pwY`>xt>$X1pSVTRO<^T-yFuu#B7e1v{lq| zk)Kz316OeC!&0j+G7hyw=Ti|@R4DS_zOri?o5xS=y9Z{$RanMh23$Ds7_{c#5N@=y zlc!&sQy80>AbE#~LdKJZrAFweUbW=TTqYOmLyr&Ge%LSPnt5!1r$xtJ1%h0hsM*(U|*_}oh^pitn( zJ1N?Nso|%ff|Szzom5FvquSI03wV+e=Mi_@%iLr$W&Pl;=~Crb}94+aiGfp%DuF?gEN? zngS_l2yXywgpG{is)4a{kfS$$ae_sV729jDK@*%gzL%ij!*5=NxcOQZzj%*(wy zZ=&?98_anotcXJ*GcrVcu!^}-*yCHnk-}C(r&ae&rzi)jUe#XN{CHLH=5r0W4N6MJx9c7OcCMtpJ{?U<#4l(qkfJS!MY zu{LGX7*7fvzBrepa=i+@(-w!aur$ZxvcdPpBZOmwLLinM1udtWaX6J%8Ig^fdUi~4 zs}?DTXchALe5O)v*m!ykq_9Xl^og+T-uNp&K6w&4U>_&eM!ocnd@AW~?v5treF9Lx zoo_rV6#A107iyS7O`I$dcEv7LSRm?5LEB>9o>ZJ(&sz*tk<~fdbV=HvHMQ0XASLLk z6gh79>4KoRv|66$^IUt;R&qj#hc8)ZfCSI({{Ef+e)KfV=RnzB=#p#sqBl<}ER-qM zfqdo@*PxM~7+K49c%m$hnt|BtidogD_sE*q9r3H0HHTbv)oY-oLRPG3A?d1(0p6ZE zg*1niG<(dOg;HM2>%^Fu7rXf(*>UD{v0BKvgr>~!I+Y*-`0({}kNomo;Qb;z0#DxB z0=a8Xzo05Eq;^|(FTQ#Ypp$tAe_ILLO@JNx*i|fZjpN{*^OstXD(>tL?!fJu`G373 zY{vir}`VL9sW7 zSuNXz!N9XQjU;$o*}A`3vt!s4zg8R1YutEVs4z^sjg6e)c-WpmX|Fi-maB4} zZFq#ivBL~zAq`3>MpP>^!mVt?L>ZkLHAGtyYJtP!2ll$KRy| zH&XUpT0s0|wBV71(5yLJ4hp|G_?yx7Q+vxv1}C}++HYO}@7ei#75t$?$~EEWF0WSkmca+@g(=oroJCjp;{V6nf{%Xb@+UxM9joO102FNA zy#a20Cza$PSbgU_cmusIbQpw*(r$|^a4N+WVzD!1i9#O{j2UTgRj0pP%H65npXkeO zX=s%fi(zIqM@m60BGP!*ajj8{>RW=Au1Y~o4@1AEEY^MLOFufbn||{LC-zn7)bDJ9 zlW*TxE78Spn#nWdP_Z>r?$+^|s)`*)?xm-(raEjpqO0~WkN7p0$@6??#94W-$tmI( zqir%h)1ta5EZA1eFuYpr%xAR)X%5#a&`;jJbu1CF0RN?{;M*z&ZohNz>55 zy{EH`@O;1BtxC?EaZ5I1@>CdfhYKeNLed(x>UKrxLFjc|+`=moRWSNuwpLVyZmVQY zmX*qwNoNqtVsmx39SGf(FTh_k?DynrLHx`;!G9eF68!W95^4lDcRzkx-hALdQcJ2D zY!26(;_^MA4VrxKWE)uvG0k*d(7nQtuE3vBFvB)cEv)(-%ABZ+eht2bY!n81kF}f< z8IrmOIgXol$v|x7(>WI}a%#|I1C{j(xsGi2r=nECq^=E7EW1m8|3^n2ysK-h-}hn& z{0Rqs|AxR(i zEch6H-v0U*cYpQ+``Gb4s*vz)P~OJQ?VUms_YT&LUt%77w`^zVjt3PDDr#iQVINEP z0^ZExGB!vp0a=-F--`@B?!zl8i diff --git a/tools/package.json b/tools/package.json index 0d76d3ea..c9fc96de 100644 --- a/tools/package.json +++ b/tools/package.json @@ -8,7 +8,8 @@ "lint": "cd .. && ci-run-eslint" }, "dependencies": { - "ci-run-eslint": "git+https://gitlab.gnome.org/World/javascript/ci-run-eslint.git#179fcc1f095d2b579ffe454505946bcad7f6a230", - "eslint-config-gnome": "git+https://gitlab.gnome.org/World/javascript/eslint-config-gnome.git#c479d059e8d9ea99c3b53c2ea43abf7fdb05eb51" + "ci-run-eslint": "git+https://gitlab.gnome.org/World/javascript/ci-run-eslint.git#f94b653606476d151439793ab8a8a93aa4a146de", + "eslint-config-gnome": "git+https://gitlab.gnome.org/World/javascript/eslint-config-gnome.git#c479d059e8d9ea99c3b53c2ea43abf7fdb05eb51", + "eslint-formatter-junit": "^9.0.1" } } From 14e847102fddb4a71b50a0b369dd6cf74f5edab5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 30 Oct 2025 15:17:11 +0100 Subject: [PATCH 12/27] auto-move-windows: Use correct namespace for DesktopAppInfo The type is platform-specific, so use the correct GioUnix namespace. Part-of: --- extensions/auto-move-windows/prefs.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/extensions/auto-move-windows/prefs.js b/extensions/auto-move-windows/prefs.js index 98e424e0..031eeb3b 100644 --- a/extensions/auto-move-windows/prefs.js +++ b/extensions/auto-move-windows/prefs.js @@ -5,6 +5,7 @@ import Adw from 'gi://Adw'; import Gio from 'gi://Gio'; +import GioUnix from 'gi://GioUnix'; import GLib from 'gi://GLib'; import GObject from 'gi://GObject'; import Gtk from 'gi://Gtk'; @@ -44,7 +45,7 @@ class Rule extends GObject.Object { 'app-info': GObject.ParamSpec.object( 'app-info', null, null, GObject.ParamFlags.READWRITE, - Gio.DesktopAppInfo), + GioUnix.DesktopAppInfo), 'workspace': GObject.ParamSpec.uint( 'workspace', null, null, GObject.ParamFlags.READWRITE, @@ -118,7 +119,7 @@ class RulesList extends GObject.Object { this.#rules = []; for (const stringRule of this.#settings.get_strv(SETTINGS_KEY)) { const [id, workspace] = stringRule.split(':'); - const appInfo = Gio.DesktopAppInfo.new(id); + const appInfo = GioUnix.DesktopAppInfo.new(id); if (appInfo) this.#rules.push(new Rule({appInfo, workspace})); else From 30347ea701456a12111ca106dac5e53c85989b9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sun, 2 Nov 2025 19:53:44 +0100 Subject: [PATCH 13/27] js: Always use SOURCE_CONTINUE/SOURCE_REMOVE in source functions The constants are more self-explanatory (and therefore readable) than plain true/false. Part-of: --- extensions/places-menu/placeDisplay.js | 2 +- extensions/window-list/extension.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/places-menu/placeDisplay.js b/extensions/places-menu/placeDisplay.js index 72e859ae..8e195366 100644 --- a/extensions/places-menu/placeDisplay.js +++ b/extensions/places-menu/placeDisplay.js @@ -267,7 +267,7 @@ export class PlacesManager extends EventEmitter { GLib.PRIORITY_DEFAULT, 100, () => { this._bookmarkTimeoutId = 0; this._reloadBookmarks(); - return false; + return GLib.SOURCE_REMOVE; }); }); diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js index 4c65b999..dad85d54 100644 --- a/extensions/window-list/extension.js +++ b/extensions/window-list/extension.js @@ -1476,7 +1476,7 @@ class WindowList extends St.Widget { this._dndWindow = null; this._dndTimeoutId = 0; - return false; + return GLib.SOURCE_REMOVE; } _onDestroy() { From d80ae21740e9170b14b115ed8e7496f97b4bdb1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sun, 2 Nov 2025 20:03:06 +0100 Subject: [PATCH 14/27] js: Always use EVENT_STOP/EVENT_PROPAGATE in event handlers The constants are more self-explanatory (and therefore readable) than plain true/false. Part-of: --- extensions/apps-menu/extension.js | 6 +++--- extensions/windowsNavigator/extension.js | 22 +++++++++++----------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js index 578e2b61..29344b8a 100644 --- a/extensions/apps-menu/extension.js +++ b/extensions/apps-menu/extension.js @@ -201,7 +201,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem { this.hover = true; if (this._isNavigatingSubmenu(event.get_coords())) - return true; + return Clutter.EVENT_STOP; this._oldX = -1; this._oldY = -1; @@ -213,7 +213,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem { if (targetActor instanceof St.Widget) targetActor.sync_hover(); - return false; + return Clutter.EVENT_PROPAGATE; } _onActiveChanged() { @@ -457,7 +457,7 @@ class ApplicationsButton extends PanelMenu.Button { const direction = symbol === Clutter.KEY_Left ? Gtk.DirectionType.LEFT : Gtk.DirectionType.RIGHT; if (this.menu.actor.navigate_focus(global.stage.key_focus, direction, false)) - return true; + return Clutter.EVENT_STOP; } return super._onMenuKeyPress(actor, event); } diff --git a/extensions/windowsNavigator/extension.js b/extensions/windowsNavigator/extension.js index 1dd44d57..e4c1a34c 100644 --- a/extensions/windowsNavigator/extension.js +++ b/extensions/windowsNavigator/extension.js @@ -210,7 +210,7 @@ export default class Extension { return function (actor, event) { const {ControlsState} = OverviewControls; if (this._overviewAdjustment.value !== ControlsState.WINDOW_PICKER) - return false; + return Clutter.EVENT_PROPAGATE; const workspaceManager = global.workspace_manager; @@ -222,7 +222,7 @@ export default class Extension { this._active = workspaceManager.get_active_workspace_index(); this._pickWindow = true; this._workspaces[workspaceManager.get_active_workspace_index()].showWindowsTooltips(); - return true; + return Clutter.EVENT_STOP; } if ((event.get_key_symbol() === Clutter.KEY_Control_L || event.get_key_symbol() === Clutter.KEY_Control_R) && @@ -232,22 +232,22 @@ export default class Extension { this._pickWorkspace = true; for (let i = 0; i < this._workspaces.length; i++) this._workspaces[i].showTooltip(); - return true; + return Clutter.EVENT_STOP; } if (global.stage.get_key_focus() !== null) - return false; + return Clutter.EVENT_PROPAGATE; // ignore shift presses, they're required to get numerals in azerty keyboards if ((this._pickWindow || this._pickWorkspace) && (event.get_key_symbol() === Clutter.KEY_Shift_L || event.get_key_symbol() === Clutter.KEY_Shift_R)) - return true; + return Clutter.EVENT_STOP; if (this._pickWindow) { if (this._active !== workspaceManager.get_active_workspace_index()) { this._hideTooltips(); - return false; + return Clutter.EVENT_PROPAGATE; } let c = event.get_key_symbol() - Clutter.KEY_KP_0; @@ -256,7 +256,7 @@ export default class Extension { if (c > 9 || c <= 0) { this._hideTooltips(); log(c); - return false; + return Clutter.EVENT_PROPAGATE; } } @@ -266,7 +266,7 @@ export default class Extension { if (win) Main.activateWindow(win, global.get_current_time()); - return true; + return Clutter.EVENT_STOP; } if (this._pickWorkspace) { let c = event.get_key_symbol() - Clutter.KEY_KP_0; @@ -274,7 +274,7 @@ export default class Extension { c = event.get_key_symbol() - Clutter.KEY_0; if (c > 9 || c <= 0) { this._hideWorkspacesTooltips(); - return false; + return Clutter.EVENT_PROPAGATE; } } @@ -283,9 +283,9 @@ export default class Extension { workspace.metaWorkspace.activate(global.get_current_time()); this._hideWorkspacesTooltips(); - return true; + return Clutter.EVENT_STOP; } - return false; + return Clutter.EVENT_PROPAGATE; }; /* eslint-enable */ }); From 377467876db47fc3304575215c858026978534ec Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Sun, 15 Oct 2023 16:49:03 +0300 Subject: [PATCH 15/27] gnome-classic: Drop xorg sessions Remove the xorg .desktop file sessions, and also the separate -wayland desktop file since we will only have a single Session now that will be a Wayland session. Mirror of the changes in gnome-session [1] [1]: https://gitlab.gnome.org/GNOME/gnome-session/-/merge_requests/98 Part-of: --- build-aux/session-post-install.py | 24 --------------- data/gnome-classic-wayland.desktop.in | 9 ------ data/gnome-classic-xorg.desktop.in | 8 ----- data/meson.build | 44 ++++++--------------------- meson.build | 9 ------ meson.options | 6 ---- 6 files changed, 9 insertions(+), 91 deletions(-) delete mode 100755 build-aux/session-post-install.py delete mode 100644 data/gnome-classic-wayland.desktop.in delete mode 100644 data/gnome-classic-xorg.desktop.in diff --git a/build-aux/session-post-install.py b/build-aux/session-post-install.py deleted file mode 100755 index cfc55c2a..00000000 --- a/build-aux/session-post-install.py +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env python3 - -# SPDX-FileCopyrightText: 2021 Neal Gompa -# -# SPDX-License-Identifier: GPL-2.0-or-later - -import os -import shutil -import sys - -if os.environ.get('DESTDIR'): - install_root = os.environ.get('DESTDIR') + os.path.abspath(sys.argv[1]) -else: - install_root = sys.argv[1] - -# FIXME: Meson is unable to copy a generated target file: -# https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0 -dst_dir = os.path.join(install_root, 'xsessions') -if not os.path.exists(dst_dir): - os.makedirs(dst_dir) - -src = os.path.join(install_root, 'wayland-sessions', 'gnome-classic.desktop') -dst = os.path.join(dst_dir, 'gnome-classic.desktop') -shutil.copyfile(src, dst) diff --git a/data/gnome-classic-wayland.desktop.in b/data/gnome-classic-wayland.desktop.in deleted file mode 100644 index 77227d18..00000000 --- a/data/gnome-classic-wayland.desktop.in +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=GNOME Classic on Wayland -Comment=This session logs you into GNOME Classic -Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session -TryExec=gnome-session -Type=Application -DesktopNames=GNOME-Classic;GNOME; -X-GDM-SessionRegisters=true -X-GDM-CanRunHeadless=true diff --git a/data/gnome-classic-xorg.desktop.in b/data/gnome-classic-xorg.desktop.in deleted file mode 100644 index 5fb338a1..00000000 --- a/data/gnome-classic-xorg.desktop.in +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Name=GNOME Classic on Xorg -Comment=This session logs you into GNOME Classic -Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session -TryExec=gnome-session -Type=Application -DesktopNames=GNOME-Classic;GNOME; -X-GDM-SessionRegisters=true diff --git a/data/meson.build b/data/meson.build index ea846e94..51a2bac7 100644 --- a/data/meson.build +++ b/data/meson.build @@ -2,42 +2,16 @@ # # SPDX-License-Identifier: GPL-2.0-or-later -have_x11 = get_option('x11') +session_desktop = 'gnome-classic.desktop' -session_desktop_base = 'gnome-classic' - -session_desktops = [ - session_desktop_base, - session_desktop_base + '-wayland', -] - -if have_x11 - session_desktops += [session_desktop_base + '-xorg'] -endif - -foreach name : session_desktops - session_desktop = name + '.desktop' - if name.endswith('-xorg') - session_instdir = xsessiondir - elif name.endswith('-wayland') - session_instdir = wlsessiondir - else -# FIXME: The same target can not be copied into two directories. - # There is a workaround in build-aux/session-post-install.py until proper - # solution arises: - # https://github.com/mesonbuild/meson/issues/2416 - session_instdir = wlsessiondir - #session_instdir = [ xesssiondir, wlsessiondir ] - endif - i18n.merge_file( - input: session_desktop + '.in', - output: session_desktop, - po_dir: '../po', - install: true, - install_dir: session_instdir, - type: 'desktop', - ) -endforeach +i18n.merge_file( + input: session_desktop + '.in', + output: session_desktop, + po_dir: '../po', + install: true, + install_dir: wlsessiondir, + type: 'desktop', +) classic_uuids = [] foreach e : classic_extensions diff --git a/meson.build b/meson.build index fa7b722f..7b866b8b 100644 --- a/meson.build +++ b/meson.build @@ -23,7 +23,6 @@ modedir = join_paths(shelldir, 'modes') schemadir = join_paths(datadir, 'glib-2.0', 'schemas') sessiondir = join_paths(datadir, 'gnome-session', 'sessions') -xsessiondir = join_paths(datadir, 'xsessions') wlsessiondir = join_paths(datadir, 'wayland-sessions') ver_arr = meson.project_version().split('.') @@ -31,8 +30,6 @@ shell_version = ver_arr[0] uuid_suffix = '@gnome-shell-extensions.gcampax.github.com' -have_x11 = get_option('x11') - classic_extensions = [ 'apps-menu', 'places-menu', @@ -88,12 +85,6 @@ endforeach if classic_mode_enabled subdir('data') - if have_x11 - meson.add_install_script( - 'build-aux/session-post-install.py', - join_paths(get_option('prefix'), datadir), - ) - endif endif subdir('extensions') diff --git a/meson.options b/meson.options index 61eb21c6..ddf62fa1 100644 --- a/meson.options +++ b/meson.options @@ -20,9 +20,3 @@ option('classic_mode', value: false, description: 'Enable installing data files for classic mode.' ) - -option('x11', - type: 'boolean', - value: false, - description: 'Enable X11 session support.' -) From bfa3e52c6e6de06cdcf8a802778c1ea94555ac07 Mon Sep 17 00:00:00 2001 From: Giannis Antypas Date: Sun, 9 Nov 2025 01:49:08 +0000 Subject: [PATCH 16/27] Update Greek translation --- po/el.po | 108 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 69 insertions(+), 39 deletions(-) diff --git a/po/el.po b/po/el.po index e61e6874..7a54beaf 100644 --- a/po/el.po +++ b/po/el.po @@ -12,9 +12,9 @@ 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: 2024-07-24 10:26+0000\n" +"POT-Creation-Date: 2024-10-16 14:41+0000\n" "PO-Revision-Date: 2024-08-12 23:29+0300\n" -"Last-Translator: Efstathios Iosifidis \n" +"Last-Translator: Giannis Antypas \n" "Language-Team: Greek, Modern (1453-) \n" "Language: el\n" "MIME-Version: 1.0\n" @@ -72,7 +72,7 @@ msgstr "Προσθήκη κανόνα" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:123 -#: extensions/places-menu/placeDisplay.js:218 +#: extensions/places-menu/placeDisplay.js:187 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Αποτυχία εξαγωγής του δίσκου «%s»:" @@ -120,28 +120,35 @@ msgstr "" msgid "Places" msgstr "Τοποθεσίες" -#: extensions/places-menu/placeDisplay.js:60 +#: extensions/places-menu/placeDisplay.js:53 #, javascript-format msgid "Failed to launch “%s”" msgstr "Αποτυχία εκκίνησης «%s»" -#: extensions/places-menu/placeDisplay.js:75 +#: extensions/places-menu/placeDisplay.js:68 #, javascript-format msgid "Failed to mount volume for “%s”" msgstr "Αποτυχία προσάρτησης τόμου για «%s»" -#: extensions/places-menu/placeDisplay.js:135 -#: extensions/places-menu/placeDisplay.js:158 -msgid "Computer" -msgstr "Υπολογιστής" - -#: extensions/places-menu/placeDisplay.js:333 +#: extensions/places-menu/placeDisplay.js:316 msgid "Home" msgstr "Προσωπικός φάκελος" -#: extensions/places-menu/placeDisplay.js:378 -msgid "Browse Network" -msgstr "Περιήγηση δικτύου" +#: extensions/places-menu/placeDisplay.js:322 +msgid "Recent" +msgstr "Πρόσφατα" + +#: extensions/places-menu/placeDisplay.js:328 +msgid "Starred" +msgstr "Επισημάνθηκαν" + +#: extensions/places-menu/placeDisplay.js:348 +msgid "Network" +msgstr "Δίκτυο" + +#: extensions/places-menu/placeDisplay.js:355 +msgid "Trash" +msgstr "Απορρίμματα" #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14 msgid "Cycle Screenshot Sizes" @@ -232,47 +239,47 @@ msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "" "Το όνομα του θέματος που θα φορτωθεί από το ~ /.themes/name/gnome-shell" -#: extensions/window-list/extension.js:72 +#: extensions/window-list/extension.js:92 msgid "Close" msgstr "Κλείσιμο" -#: extensions/window-list/extension.js:99 +#: extensions/window-list/extension.js:119 msgid "Unminimize" msgstr "Αποελαχιστοποίηση" -#: extensions/window-list/extension.js:99 +#: extensions/window-list/extension.js:119 msgid "Minimize" msgstr "Ελαχιστοποίηση" -#: extensions/window-list/extension.js:106 +#: extensions/window-list/extension.js:126 msgid "Unmaximize" msgstr "Απομεγιστοποίηση" -#: extensions/window-list/extension.js:106 +#: extensions/window-list/extension.js:126 msgid "Maximize" msgstr "Μεγιστοποίηση" -#: extensions/window-list/extension.js:471 +#: extensions/window-list/extension.js:641 msgid "Minimize all" msgstr "Ελαχιστοποίηση όλων" -#: extensions/window-list/extension.js:477 +#: extensions/window-list/extension.js:647 msgid "Unminimize all" msgstr "Αποελαχιστοποίηση όλων" -#: extensions/window-list/extension.js:483 +#: extensions/window-list/extension.js:653 msgid "Maximize all" msgstr "Μεγιστοποίηση όλων" -#: extensions/window-list/extension.js:491 +#: extensions/window-list/extension.js:661 msgid "Unmaximize all" msgstr "Απομεγιστοποίηση όλων" -#: extensions/window-list/extension.js:499 +#: extensions/window-list/extension.js:669 msgid "Close all" msgstr "Κλείσιμο όλων" -#: extensions/window-list/extension.js:773 +#: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:24 msgid "Window List" msgstr "Λίστα παραθύρου" @@ -290,7 +297,7 @@ msgstr "" "«always» (πάντα)." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 -#: extensions/window-list/prefs.js:79 +#: extensions/window-list/prefs.js:75 msgid "Show windows from all workspaces" msgstr "Εμφάνιση των παραθύρων από όλους τους χώρους εργασίας" @@ -311,44 +318,70 @@ msgstr "" "Αν θα εμφανίζεται ο κατάλογος παραθύρων όλων των συνδεμένων οθονών ή μόνο " "της κύριας οθόνης." -#: extensions/window-list/prefs.js:35 +#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41 +msgid "Show workspace previews in window list" +msgstr "Εμφάνιση προεπισκοπήσεων χώρου εργασίας στη λίστα παραθύρου" + +#: extensions/window-list/prefs.js:42 msgid "Window Grouping" msgstr "Ομαδοποίηση παραθύρου" -#: extensions/window-list/prefs.js:40 +#: extensions/window-list/prefs.js:47 msgid "Never group windows" msgstr "Να μη γίνεται ποτέ ομαδοποίηση παραθύρων" -#: extensions/window-list/prefs.js:41 +#: extensions/window-list/prefs.js:48 msgid "Group windows when space is limited" msgstr "Ομαδοποίηση παραθύρων όταν ο χώρος είναι περιορισμένος" -#: extensions/window-list/prefs.js:42 +#: extensions/window-list/prefs.js:49 msgid "Always group windows" msgstr "Να γίνεται πάντα ομαδοποίηση παραθύρων" -#: extensions/window-list/prefs.js:66 +#: extensions/window-list/prefs.js:69 msgid "Show on all monitors" msgstr "Να εμφανίζεται σε όλες τις οθόνες" -#: extensions/window-list/workspaceIndicator.js:255 -#: extensions/workspace-indicator/extension.js:261 +#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12 +msgid "Show workspace previews in top bar" +msgstr "Εμφάνιση προεπισκοπήσεων χώρου εργασίας στην επάνω μπάρα" + +#: extensions/workspace-indicator/workspaceIndicator.js:430 msgid "Workspace Indicator" msgstr "Δείκτης χώρου εργασίας" -#: extensions/workspace-indicator/prefs.js:69 +#: extensions/workspace-indicator/workspacePrefs.js:29 +msgid "Show Previews" +msgstr "Εμφάνιση προεπισκοπήσεων" + +#: extensions/workspace-indicator/workspacePrefs.js:87 #, javascript-format msgid "Workspace %d" msgstr "Χώρος εργασίας %d" -#: extensions/workspace-indicator/prefs.js:136 +#: extensions/workspace-indicator/workspacePrefs.js:154 msgid "Workspace Names" msgstr "Ονόματα χώρων εργασίας" -#: extensions/workspace-indicator/prefs.js:262 +#: extensions/workspace-indicator/workspacePrefs.js:171 msgid "Add Workspace" msgstr "Προσθήκη χώρου εργασίας" +#: extensions/workspace-indicator/workspacePrefs.js:196 +msgid "Remove" +msgstr "Αφαίρεση" + +#: extensions/workspace-indicator/workspacePrefs.js:226 +#| msgid "Workspace %d" +msgid "Workspaces" +msgstr "Χώροι εργασίας" + +#~ msgid "Computer" +#~ msgstr "Υπολογιστής" + +#~ msgid "Browse Network" +#~ msgstr "Περιήγηση δικτύου" + #~ msgid "Applications" #~ msgstr "Εφαρμογές" @@ -570,9 +603,6 @@ msgstr "Προσθήκη χώρου εργασίας" #~ msgid "Bookmarks" #~ msgstr "Σελιδοδείκτες" -#~ msgid "Network" -#~ msgstr "Δίκτυο" - #~ msgid "File System" #~ msgstr "Σύστημα αρχείων" From 2df8fc4fb2687402bb8fcb5b225571b865e3c1b7 Mon Sep 17 00:00:00 2001 From: Adrian Vovk Date: Thu, 13 Nov 2025 15:18:51 -0500 Subject: [PATCH 17/27] gnome-classic: Define a gnome-session session For one, this is simply more correct: the gnome-classic session is a different session from the default gnome session. So let's define it as such For two, this enables us to directly tell gnome-shell which shell mode to use, rather than passing it through an environment variable. In other words, this enables us to integrate with https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3960 --- REUSE.toml | 8 +++++++- data/gnome-classic.desktop.in | 2 +- data/gnome-classic.session | 2 ++ data/gnome-classic.session.conf | 3 +++ data/meson.build | 10 ++++++++++ meson.build | 7 +++++++ 6 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 data/gnome-classic.session create mode 100644 data/gnome-classic.session.conf diff --git a/REUSE.toml b/REUSE.toml index e917c8f6..768f7a7d 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -15,7 +15,13 @@ SPDX-FileCopyrightText = [ SPDX-License-Identifier = "CC-BY-SA-4.0" [[annotations]] -path = ["**.json.in", "**.desktop.in", "**.gschema.override"] +path = [ + "**.json.in", + "**.desktop.in", + "**.gschema.override", + "**.session", + "**.session.conf", +] SPDX-FileCopyrightText = "Florian Müllner " SPDX-License-Identifier = "GPL-2.0-or-later" diff --git a/data/gnome-classic.desktop.in b/data/gnome-classic.desktop.in index 269f131d..1a30f7d1 100644 --- a/data/gnome-classic.desktop.in +++ b/data/gnome-classic.desktop.in @@ -1,7 +1,7 @@ [Desktop Entry] Name=GNOME Classic Comment=This session logs you into GNOME Classic -Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session +Exec=gnome-session --session gnome-classic TryExec=gnome-session Type=Application DesktopNames=GNOME-Classic;GNOME; diff --git a/data/gnome-classic.session b/data/gnome-classic.session new file mode 100644 index 00000000..33553721 --- /dev/null +++ b/data/gnome-classic.session @@ -0,0 +1,2 @@ +[GNOME Session] +Name=GNOME Classic \ No newline at end of file diff --git a/data/gnome-classic.session.conf b/data/gnome-classic.session.conf new file mode 100644 index 00000000..441525fc --- /dev/null +++ b/data/gnome-classic.session.conf @@ -0,0 +1,3 @@ +[Unit] +Requires=gnome-session-services.target +Requires=org.gnome.Shell@classic.service \ No newline at end of file diff --git a/data/meson.build b/data/meson.build index 51a2bac7..a4fab5d7 100644 --- a/data/meson.build +++ b/data/meson.build @@ -31,3 +31,13 @@ configure_file( classic_override = '00_org.gnome.shell.extensions.classic.gschema.override' install_data(classic_override, install_dir: schemadir) + +install_data( + 'gnome-classic.session', + install_dir: sessiondir, +) + +install_data( + 'gnome-classic.session.conf', + install_dir: systemd_userunitdir / 'gnome-session@gnome-classic.target.d', +) \ No newline at end of file diff --git a/meson.build b/meson.build index 7b866b8b..d905c049 100644 --- a/meson.build +++ b/meson.build @@ -25,6 +25,13 @@ schemadir = join_paths(datadir, 'glib-2.0', 'schemas') sessiondir = join_paths(datadir, 'gnome-session', 'sessions') wlsessiondir = join_paths(datadir, 'wayland-sessions') +systemd_dep = dependency('systemd', required: false) +systemd_userunitdir = systemd_dep.get_variable( + pkgconfig: 'systemduserunitdir', + pkgconfig_define: ['prefix', get_option('prefix')], + default_value: get_option('prefix') / 'lib' / 'systemd' / 'user', +) + ver_arr = meson.project_version().split('.') shell_version = ver_arr[0] From 69c52fc031d08bed3d966d161816f7e1badf6897 Mon Sep 17 00:00:00 2001 From: Asier Saratsua Garmendia Date: Thu, 18 Dec 2025 08:50:53 +0000 Subject: [PATCH 18/27] Update Basque translation (cherry picked from commit 58f6e6f048b980225c7922d9724d78366cfb1e58) --- po/eu.po | 197 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 123 insertions(+), 74 deletions(-) diff --git a/po/eu.po b/po/eu.po index fda7c6e4..cbf93cda 100644 --- a/po/eu.po +++ b/po/eu.po @@ -5,14 +5,14 @@ # assar , 2011. # Iñaki Larrañaga Murgoitio , 2011, 2013, 2015, 2017. # Edurne Labaka , 2015. -# Asier Sarasua Garmendia , 2019, 2020, 2021, 2024. +# Asier Saratsua Garmendia , 2019, 2020, 2021, 2024, 2025. # 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: 2024-04-29 15:27+0000\n" -"PO-Revision-Date: 2024-08-25 00:42+0200\n" -"Last-Translator: Asier Sarasua Garmendia \n" +"POT-Creation-Date: 2025-12-10 17:57+0000\n" +"PO-Revision-Date: 2025-12-18 00:42+0200\n" +"Last-Translator: Asier Saratsua Garmendia \n" "Language-Team: Basque \n" "Language: eu\n" "MIME-Version: 1.0\n" @@ -21,28 +21,28 @@ msgstr "Project-Id-Version: gnome-shell-extensions master\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Project-Style: gnome\n" -#: data/gnome-classic.desktop.in:3 +#: data/gnome-classic.desktop.in:2 msgid "GNOME Classic" msgstr "GNOME Klasikoa" -#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 -#: data/gnome-classic-xorg.desktop.in:4 +#: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3 +#: data/gnome-classic-xorg.desktop.in:3 msgid "This session logs you into GNOME Classic" msgstr "Saio honek GNOME Klasikoa hasten du" -#: data/gnome-classic-wayland.desktop.in:3 +#: data/gnome-classic-wayland.desktop.in:2 msgid "GNOME Classic on Wayland" msgstr "GNOME klasikoa Wayland gainean" -#: data/gnome-classic-xorg.desktop.in:3 +#: data/gnome-classic-xorg.desktop.in:2 msgid "GNOME Classic on Xorg" msgstr "GNOME klasikoa Xorg gainean" -#: extensions/apps-menu/extension.js:126 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "Gogokoak" -#: extensions/apps-menu/extension.js:400 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "Aplikazioak" @@ -56,17 +56,17 @@ msgid "" "followed by a colon and the workspace number" msgstr "Kateen zerrenda bat, bakoitzak aplikazio-ID bat duena (mahaigainaren fitxategi-izena) eta jarraian bi puntu eta laneko arearen zenbakia dituena" -#: extensions/auto-move-windows/prefs.js:159 +#: extensions/auto-move-windows/prefs.js:156 msgid "Workspace Rules" msgstr "Laneko areen arauak" -#: extensions/auto-move-windows/prefs.js:314 +#: extensions/auto-move-windows/prefs.js:311 msgid "Add Rule" msgstr "Gehitu araua" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:123 -#: extensions/places-menu/placeDisplay.js:218 +#: extensions/places-menu/placeDisplay.js:186 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Huts egin du “%s“ unitatea egoztean:" @@ -101,33 +101,41 @@ msgid "" "restarting the shell to have any effect." msgstr "TRUE (egia) bada, leihoen epigrafeak dagokien koadro txikien gainean jarriko ditu, Shell-aren lehenespena (behean jartzearena) gainidatziz. Ezarpen hau aldatzeko eta aplikatzeko Shell berrabiarazi behar da." -#: extensions/places-menu/extension.js:91 -#: extensions/places-menu/extension.js:94 +#: extensions/places-menu/extension.js:75 +#: extensions/places-menu/extension.js:78 msgid "Places" msgstr "Lekuak" -#: extensions/places-menu/placeDisplay.js:60 +#: extensions/places-menu/placeDisplay.js:52 #, javascript-format msgid "Failed to launch “%s”" msgstr "Huts egin du '%s' abiarazteak" -#: extensions/places-menu/placeDisplay.js:75 +#: extensions/places-menu/placeDisplay.js:67 #, javascript-format msgid "Failed to mount volume for “%s”" msgstr "Huts egin du “%s“(r)en bolumena muntatzean" -#: extensions/places-menu/placeDisplay.js:135 -#: extensions/places-menu/placeDisplay.js:158 -msgid "Computer" -msgstr "Ordenagailua" - -#: extensions/places-menu/placeDisplay.js:333 +#: extensions/places-menu/placeDisplay.js:315 msgid "Home" msgstr "Karpeta nagusia" -#: extensions/places-menu/placeDisplay.js:378 -msgid "Browse Network" -msgstr "Arakatu sarea" +#: extensions/places-menu/placeDisplay.js:321 +msgid "Recent" +msgstr "Oraintsukoa" + +#: extensions/places-menu/placeDisplay.js:327 +msgid "Starred" +msgstr "Izarduna" + +#: extensions/places-menu/placeDisplay.js:347 +#| msgid "Browse Network" +msgid "Network" +msgstr "Sarea" + +#: extensions/places-menu/placeDisplay.js:354 +msgid "Trash" +msgstr "Zakarrontzia" #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14 msgid "Cycle Screenshot Sizes" @@ -157,35 +165,35 @@ msgstr "Kargaren estatistikak" msgid "Download stats" msgstr "Deskargaren estatistikak" -#: extensions/system-monitor/extension.js:364 +#: extensions/system-monitor/extension.js:365 msgid "System stats" msgstr "Sistemaren estatistikak" -#: extensions/system-monitor/extension.js:412 +#: extensions/system-monitor/extension.js:413 msgid "Show" msgstr "Erakutsi" -#: extensions/system-monitor/extension.js:414 +#: extensions/system-monitor/extension.js:415 msgid "CPU" msgstr "PUZa" -#: extensions/system-monitor/extension.js:416 +#: extensions/system-monitor/extension.js:417 msgid "Memory" msgstr "Memoria" -#: extensions/system-monitor/extension.js:418 +#: extensions/system-monitor/extension.js:419 msgid "Swap" msgstr "Trukatze-espazioa" -#: extensions/system-monitor/extension.js:420 +#: extensions/system-monitor/extension.js:421 msgid "Upload" msgstr "Kargatu" -#: extensions/system-monitor/extension.js:422 +#: extensions/system-monitor/extension.js:423 msgid "Download" msgstr "Deskargatu" -#: extensions/system-monitor/extension.js:427 +#: extensions/system-monitor/extension.js:428 msgid "Open System Monitor" msgstr "Ireki sistema-monitorea" @@ -217,47 +225,47 @@ msgstr "Gaiaren izena" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "Gaiaren izena, ~/.themes/izena/gnome-shell direktoriotik kargatzeko" -#: extensions/window-list/extension.js:72 +#: extensions/window-list/extension.js:98 msgid "Close" msgstr "Itxi" -#: extensions/window-list/extension.js:99 +#: extensions/window-list/extension.js:125 msgid "Unminimize" msgstr "Leheneratu" -#: extensions/window-list/extension.js:99 +#: extensions/window-list/extension.js:125 msgid "Minimize" msgstr "Minimizatu" -#: extensions/window-list/extension.js:106 +#: extensions/window-list/extension.js:130 msgid "Unmaximize" msgstr "Desmaximizatu" -#: extensions/window-list/extension.js:106 +#: extensions/window-list/extension.js:130 msgid "Maximize" msgstr "Maximizatu" -#: extensions/window-list/extension.js:471 +#: extensions/window-list/extension.js:720 msgid "Minimize all" msgstr "Minimizatu denak" -#: extensions/window-list/extension.js:477 +#: extensions/window-list/extension.js:726 msgid "Unminimize all" msgstr "Leheneratu denak" -#: extensions/window-list/extension.js:483 +#: extensions/window-list/extension.js:732 msgid "Maximize all" msgstr "Maximizatu denak" -#: extensions/window-list/extension.js:491 +#: extensions/window-list/extension.js:740 msgid "Unmaximize all" msgstr "Desmaximizatu denak" -#: extensions/window-list/extension.js:499 +#: extensions/window-list/extension.js:748 msgid "Close all" msgstr "Itxi denak" -#: extensions/window-list/extension.js:778 +#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Leiho-zerrenda" @@ -272,7 +280,7 @@ msgid "" msgstr "Aplikazio bereko leihoak leihoen zerrendan noiz elkartuko diren erabakitzen du. Balio erabilgarriak: “never“ (inoiz ere ez), “auto“ (automatikoa) eta “always“ (beti)." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 -#: extensions/window-list/prefs.js:79 +#: extensions/window-list/prefs.js:74 msgid "Show windows from all workspaces" msgstr "Erakutsi laneko area guztietako leihoak" @@ -294,55 +302,96 @@ msgstr "Leihoen zerrenda konektatutako pantaila guztietan edo soilik pantaila na msgid "Show workspace previews in window list" msgstr "Erakutsi laneko areen aurrebistak leihoen zerrendan" -#: extensions/window-list/prefs.js:35 +#: extensions/window-list/prefs.js:41 msgid "Window Grouping" msgstr "Leihoak elkartzea" -#: extensions/window-list/prefs.js:40 +#: extensions/window-list/prefs.js:46 msgid "Never group windows" msgstr "Ez elkartu leihoak inoiz" -#: extensions/window-list/prefs.js:41 +#: extensions/window-list/prefs.js:47 msgid "Group windows when space is limited" msgstr "Elkartu leihoak lekua mugatuta dagoenean" -#: extensions/window-list/prefs.js:42 +#: extensions/window-list/prefs.js:48 msgid "Always group windows" msgstr "Elkartu beti leihoak" -#: extensions/window-list/prefs.js:66 +#: extensions/window-list/prefs.js:68 msgid "Show on all monitors" msgstr "Erakutsi pantaila guztietan" -#: extensions/window-list/prefs.js:92 -msgid "Show workspace previews" -msgstr "Erakutsi laneko areen aurrebistak" - -#: extensions/workspace-indicator/prefs.js:30 -msgid "Show Previews In Top Bar" -msgstr "Erakutsi aurrebistak goiko barran" - -#: extensions/workspace-indicator/prefs.js:88 -#, javascript-format -msgid "Workspace %d" -msgstr "%d. laneko area" - -#: extensions/workspace-indicator/prefs.js:155 -msgid "Workspace Names" -msgstr "Laneko areen izenak" - -#: extensions/workspace-indicator/prefs.js:281 -msgid "Add Workspace" -msgstr "Gehitu laneko area" - #: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12 msgid "Show workspace previews in top bar" msgstr "Erakutsi laneko areen aurrebistak goiko barran" -#: extensions/workspace-indicator/workspaceIndicator.js:430 +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "Sakatu %s editatzeko" + +#: extensions/workspace-indicator/workspaceIndicator.js:518 +msgid "Settings" +msgstr "Ezarpenak" + +#: extensions/workspace-indicator/workspaceIndicator.js:598 msgid "Workspace Indicator" msgstr "Laneko arearen adierazlea" +#: extensions/workspace-indicator/workspacePrefs.js:20 +#| msgid "Workspace Indicator" +msgid "Indicator" +msgstr "Adierazlea" + +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "Aurrebistak" + +#: extensions/workspace-indicator/workspacePrefs.js:35 +#| msgid "Workspace Names" +msgid "Workspace Name" +msgstr "Laneko arearen izenak" + +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "Portaera" + +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "Dinamikoa" + +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "Automatikoki kentzen ditu hutsik dauden laneko areak." + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Zenbaki finkoa" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "Zehaztu laneko areen kopurua." + +#: extensions/workspace-indicator/workspacePrefs.js:89 +#| msgid "Add Workspace" +msgid "Number of Workspaces" +msgstr "Laneko areen kopurua" + +#: extensions/workspace-indicator/workspacePrefs.js:128 +#| msgid "Workspace %d" +msgid "Workspaces" +msgstr "Laneko areak" + +#~ msgid "Computer" +#~ msgstr "Ordenagailua" + +#~ msgid "Show workspace previews" +#~ msgstr "Erakutsi laneko areen aurrebistak" + +#~ msgid "Show Previews In Top Bar" +#~ msgstr "Erakutsi aurrebistak goiko barran" + #~ msgid "Applications" #~ msgstr "Aplikazioak" From 43198efbc2ba35eb3029016c62f0db13d3878c7f Mon Sep 17 00:00:00 2001 From: Hugo Carvalho Date: Tue, 30 Dec 2025 23:19:48 +0000 Subject: [PATCH 19/27] Update Portuguese translation --- po/pt.po | 133 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 82 insertions(+), 51 deletions(-) diff --git a/po/pt.po b/po/pt.po index 6a6cad1c..c269a062 100644 --- a/po/pt.po +++ b/po/pt.po @@ -16,16 +16,16 @@ msgstr "" "Project-Id-Version: 3.14\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2025-03-14 00:48+0000\n" -"PO-Revision-Date: 2025-03-29 14:52+0000\n" -"Last-Translator: Hugo Carvalho \n" +"POT-Creation-Date: 2025-11-05 13:44+0000\n" +"PO-Revision-Date: 2025-12-30 23:18+0000\n" +"Last-Translator: hugokarvalho@hotmail.com \n" "Language-Team: Portuguese (https://l10n.gnome.org/teams/pt/)\n" "Language: pt\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: Poedit 3.0.1\n" +"X-Generator: Poedit 3.8\n" "X-Project-Style: gnome\n" "X-DL-Team: pt\n" "X-DL-Module: gnome-shell-extensions\n" @@ -33,20 +33,20 @@ msgstr "" "X-DL-Domain: po\n" "X-DL-State: Translating\n" -#: data/gnome-classic.desktop.in:3 +#: data/gnome-classic.desktop.in:2 msgid "GNOME Classic" msgstr "GNOME clássico" -#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 -#: data/gnome-classic-xorg.desktop.in:4 +#: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3 +#: data/gnome-classic-xorg.desktop.in:3 msgid "This session logs you into GNOME Classic" msgstr "Esta sessão vai usar o GNOME clássico" -#: data/gnome-classic-wayland.desktop.in:3 +#: data/gnome-classic-wayland.desktop.in:2 msgid "GNOME Classic on Wayland" msgstr "GNOME clássico em Wayland" -#: data/gnome-classic-xorg.desktop.in:3 +#: data/gnome-classic-xorg.desktop.in:2 msgid "GNOME Classic on Xorg" msgstr "GNOME clássico em Xorg" @@ -70,11 +70,11 @@ msgstr "" "Uma lista de cadeias, cada uma contendo uma id de aplicação (nome do " "ficheiro desktop), seguido de dois pontos e o número da área de trabalho" -#: extensions/auto-move-windows/prefs.js:156 +#: extensions/auto-move-windows/prefs.js:157 msgid "Workspace Rules" msgstr "Regras das áreas de trabalho" -#: extensions/auto-move-windows/prefs.js:311 +#: extensions/auto-move-windows/prefs.js:312 msgid "Add Rule" msgstr "Adicionar regra" @@ -185,35 +185,35 @@ msgstr "Estatísticas de envio" msgid "Download stats" msgstr "Estatísticas de transferência" -#: extensions/system-monitor/extension.js:364 +#: extensions/system-monitor/extension.js:365 msgid "System stats" msgstr "Estatísticas do sistema" -#: extensions/system-monitor/extension.js:412 +#: extensions/system-monitor/extension.js:413 msgid "Show" msgstr "Mostrar" -#: extensions/system-monitor/extension.js:414 +#: extensions/system-monitor/extension.js:415 msgid "CPU" msgstr "CPU" -#: extensions/system-monitor/extension.js:416 +#: extensions/system-monitor/extension.js:417 msgid "Memory" msgstr "Memória" -#: extensions/system-monitor/extension.js:418 +#: extensions/system-monitor/extension.js:419 msgid "Swap" msgstr "Swap" -#: extensions/system-monitor/extension.js:420 +#: extensions/system-monitor/extension.js:421 msgid "Upload" msgstr "Envio" -#: extensions/system-monitor/extension.js:422 +#: extensions/system-monitor/extension.js:423 msgid "Download" msgstr "Transferência" -#: extensions/system-monitor/extension.js:427 +#: extensions/system-monitor/extension.js:428 msgid "Open System Monitor" msgstr "Abrir monitor do sistema" @@ -245,47 +245,47 @@ msgstr "Nome do tema" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "O nome do tema, a ser carregado de ~/.themes/name/gnome-shell" -#: extensions/window-list/extension.js:95 +#: extensions/window-list/extension.js:98 msgid "Close" msgstr "Fechar" -#: extensions/window-list/extension.js:122 +#: extensions/window-list/extension.js:125 msgid "Unminimize" msgstr "Repor" -#: extensions/window-list/extension.js:122 +#: extensions/window-list/extension.js:125 msgid "Minimize" msgstr "Minimizar" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:130 msgid "Unmaximize" msgstr "Diminuir" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:130 msgid "Maximize" msgstr "Maximizar" -#: extensions/window-list/extension.js:721 +#: extensions/window-list/extension.js:720 msgid "Minimize all" msgstr "Minimizar tudo" -#: extensions/window-list/extension.js:727 +#: extensions/window-list/extension.js:726 msgid "Unminimize all" msgstr "Repor tudo" -#: extensions/window-list/extension.js:733 +#: extensions/window-list/extension.js:732 msgid "Maximize all" msgstr "Maximizar tudo" -#: extensions/window-list/extension.js:741 +#: extensions/window-list/extension.js:740 msgid "Unmaximize all" msgstr "Diminuir tudo" -#: extensions/window-list/extension.js:749 +#: extensions/window-list/extension.js:748 msgid "Close all" msgstr "Fechar tudo" -#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23 +#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Lista de janelas" @@ -351,35 +351,69 @@ msgstr "Mostrar em todos os monitores" msgid "Show workspace previews in top bar" msgstr "Mostrar pré-visualizações de áreas de trabalho na barra superior" -#: extensions/workspace-indicator/workspaceIndicator.js:430 +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "Prima %s para editar" + +#: extensions/workspace-indicator/workspaceIndicator.js:518 +msgid "Settings" +msgstr "Definições" + +#: extensions/workspace-indicator/workspaceIndicator.js:598 msgid "Workspace Indicator" msgstr "Indicador de área de trabalho" -#: extensions/workspace-indicator/workspacePrefs.js:28 -msgid "Show Previews" -msgstr "Mostrar pré-visualizações" +#: extensions/workspace-indicator/workspacePrefs.js:20 +msgid "Indicator" +msgstr "Indicador" -#: extensions/workspace-indicator/workspacePrefs.js:86 -#, javascript-format -msgid "Workspace %d" -msgstr "Área de trabalho %d" +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "Pré-visualizações" -#: extensions/workspace-indicator/workspacePrefs.js:153 -msgid "Workspace Names" -msgstr "Nomes das áreas de trabalho" +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" +msgstr "Nome da área de trabalho" -#: extensions/workspace-indicator/workspacePrefs.js:170 -msgid "Add Workspace" -msgstr "Adicionar área de trabalho" +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "Comportamento" -#: extensions/workspace-indicator/workspacePrefs.js:195 -msgid "Remove" -msgstr "Remover" +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "Dinâmico" -#: extensions/workspace-indicator/workspacePrefs.js:225 +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "Remove automaticamente áreas de trabalho vazias." + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Número fixo" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "Especifique um número de áreas de trabalho permanentes." + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "Número de áreas de trabalho" + +#: extensions/workspace-indicator/workspacePrefs.js:128 msgid "Workspaces" msgstr "Áreas de trabalho" +#, javascript-format +#~ msgid "Workspace %d" +#~ msgstr "Área de trabalho %d" + +#~ msgid "Add Workspace" +#~ msgstr "Adicionar área de trabalho" + +#~ msgid "Remove" +#~ msgstr "Remover" + #~ msgid "Computer" #~ msgstr "Computador" @@ -513,6 +547,3 @@ msgstr "Áreas de trabalho" #~ msgid "Display" #~ msgstr "Apresentar" - -#~ msgid "Display Settings" -#~ msgstr "Definições de Visualização" From 467487c0cf78cb6cd0e50d3c10d00f45955782b4 Mon Sep 17 00:00:00 2001 From: twlvnn kraftwerk Date: Thu, 1 Jan 2026 15:56:22 +0000 Subject: [PATCH 20/27] Update Bulgarian translation --- po/bg.po | 336 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 191 insertions(+), 145 deletions(-) diff --git a/po/bg.po b/po/bg.po index dbb1e4c0..4069b6d8 100644 --- a/po/bg.po +++ b/po/bg.po @@ -1,92 +1,87 @@ -# Bulgarian translation for gnome-shell-extensions po-file. -# Copyright (C) 2014, 2015, 2017 Free Software Foundation, Inc. -# Copyright (C) 2021, 2022 Alexander Shopov . -# Copyright (C) 2024 twlvnn kraftwerk . +# Bulgarian translation for gnome-shell-extensions. +# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. -# Ivaylo Valkov , 2014. -# Alexander Shopov , 2014, 2015, 2021, 2022. -# Lyubomir Vasilev , 2017. -# twlvnn kraftwerk , 2024. + # msgid "" msgstr "" -"Project-Id-Version: gnome-shell-extensions main\n" +"Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2024-09-01 12:03+0000\n" -"PO-Revision-Date: 2024-09-02 10:49+0200\n" -"Last-Translator: twlvnn kraftwerk \n" -"Language-Team: Bulgarian \n" +"POT-Creation-Date: 2025-06-18 23:32+0000\n" +"PO-Revision-Date: 2025-06-20 09:30+1000\n" +"Last-Translator: @pacu23\n" +"Language-Team: Bulgarian\n" "Language: bg\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 46.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.0.1\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" -msgstr "Класически GNOME" +msgstr "GNOME Classic" #: 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 "Работната среда изглежда като класическия GNOME (2.x)" +msgstr "Тази сесия влизa в GNOME Classic" #: data/gnome-classic-wayland.desktop.in:3 msgid "GNOME Classic on Wayland" -msgstr "Класически GNOME в Wayland" +msgstr "GNOME Classic на Wayland" #: data/gnome-classic-xorg.desktop.in:3 msgid "GNOME Classic on Xorg" -msgstr "Класически GNOME в Xorg" +msgstr "GNOME Classic на Xorg" -#: extensions/apps-menu/extension.js:126 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "Любими" -#: extensions/apps-menu/extension.js:400 +#: extensions/apps-menu/extension.js:392 msgid "Apps" -msgstr "Програми" +msgstr "Приложения" #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12 msgid "Application and workspace list" -msgstr "Списък с програмите и работните плотове" +msgstr "Списък с приложения и работни пространства" #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13 msgid "" "A list of strings, each containing an application id (desktop file name), " "followed by a colon and the workspace number" msgstr "" -"Списък от низове. Всеки съдържа идентификатор на програма (име на файл „." -"desktop“), следван от знака „:“ и номер на работен плот" +"Списък от низове, всеки съдържащ идентификатор на приложение (име на " +"desktop файла), последван от двоеточие и номер на работното пространство" -#: extensions/auto-move-windows/prefs.js:159 +#: extensions/auto-move-windows/prefs.js:156 msgid "Workspace Rules" -msgstr "Правила за работните плотове" +msgstr "Правила за работните пространства" -#: extensions/auto-move-windows/prefs.js:314 +#: extensions/auto-move-windows/prefs.js:311 msgid "Add Rule" -msgstr "Добавяне на правило" +msgstr "Добави правило" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:123 -#: extensions/places-menu/placeDisplay.js:218 +#: extensions/places-menu/placeDisplay.js:186 #, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Неуспешно изваждане на устройство „%s“:" +msgstr "Неуспешно изваждане на устройството „%s\":" #: extensions/drive-menu/extension.js:142 msgid "Removable devices" -msgstr "Преносими медии" +msgstr "Премахваеми устройства" #: extensions/drive-menu/extension.js:164 msgid "Open Files" -msgstr "Отваряне на файлове" +msgstr "Отвори „Файлове“" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 msgid "Use more screen for windows" -msgstr "Повече пространство за прозорците" +msgstr "Използвай повече пространство на екрана за прозорците" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 msgid "" @@ -94,14 +89,14 @@ msgid "" "aspect ratio, and consolidating them further to reduce the bounding box. " "This setting applies only with the natural placement strategy." msgstr "" -"Използване на по-голяма част от екрана за поставянето на мини изображения " -"чрез промяна на съотношението на страните и допълнително обединяване за " -"смаляване на обхващащия ги правоъгълник. Тази настройка се прилага само при " -"естествената стратегия за поставяне на прозорците." +"Опитва се да използва повече от екрана за разполагането на миниатюри на " +"прозорци, като се адаптира към съотношението на страните на екрана и " +"уплътнява подредбата, за да намали ограничителната рамка. Тази настройка се " +"прилага само за метода на естествено разполагане." #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17 msgid "Place window captions on top" -msgstr "Заглавия на прозорците отгоре" +msgstr "Поставяй заглавията на прозорците отгоре" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18 msgid "" @@ -109,49 +104,56 @@ msgid "" "shell default of placing it at the bottom. Changing this setting requires " "restarting the shell to have any effect." msgstr "" -"Ако е истина, заглавията на прозорците се поставят над мини изображенията " -"им, а не както е стандартно — отдолу. За прилагане на промяната на " -"настройката трябва да рестартирате обвивката на GNOME." +"Ако е включено, заглавията на прозорците ще се поставят над съответната " +"миниатюра, вместо по подразбиране в долната ѝ част. За да влезе в сила, тази " +"промяна изисква рестартиране на Shell." -#: extensions/places-menu/extension.js:91 -#: extensions/places-menu/extension.js:94 +#: extensions/places-menu/extension.js:75 +#: extensions/places-menu/extension.js:78 msgid "Places" msgstr "Места" -#: extensions/places-menu/placeDisplay.js:60 +#: extensions/places-menu/placeDisplay.js:52 #, javascript-format msgid "Failed to launch “%s”" -msgstr "Неуспешно стартиране на „%s“" +msgstr "Не успя да се стартира „%s“" -#: extensions/places-menu/placeDisplay.js:75 +#: extensions/places-menu/placeDisplay.js:67 #, javascript-format msgid "Failed to mount volume for “%s”" -msgstr "Неуспешно монтиране на тома „%s“" +msgstr "Неуспешно монтиране на том за „%s“" -#: extensions/places-menu/placeDisplay.js:135 -#: extensions/places-menu/placeDisplay.js:158 -msgid "Computer" -msgstr "Компютър" - -#: extensions/places-menu/placeDisplay.js:333 +#: extensions/places-menu/placeDisplay.js:315 msgid "Home" msgstr "Домашна папка" -#: extensions/places-menu/placeDisplay.js:378 -msgid "Browse Network" +#: extensions/places-menu/placeDisplay.js:321 +msgid "Recent" +msgstr "Последни" + +#: extensions/places-menu/placeDisplay.js:327 +msgid "Starred" +msgstr "Отбелязани" + +#: extensions/places-menu/placeDisplay.js:347 +msgid "Network" msgstr "Мрежа" +#: extensions/places-menu/placeDisplay.js:354 +msgid "Trash" +msgstr "Кошче" + #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14 msgid "Cycle Screenshot Sizes" -msgstr "Смяна на размерите на снимката на екрана" +msgstr "Превключване между размерите на екранната снимка" #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18 msgid "Cycle Screenshot Sizes Backward" -msgstr "Смяна на размерите на снимката на екрана наобратно" +msgstr "Обратно превключване на размерите на екранната снимка" #: extensions/system-monitor/extension.js:135 msgid "CPU stats" -msgstr "Статистика на ЦП" +msgstr "Статистика за процесора" #: extensions/system-monitor/extension.js:159 msgid "Memory stats" @@ -159,27 +161,27 @@ msgstr "Статистика на паметта" #: extensions/system-monitor/extension.js:177 msgid "Swap stats" -msgstr "Статистика на виртуалната памет" +msgstr "Статистика на swap паметта" #: extensions/system-monitor/extension.js:336 msgid "Upload stats" -msgstr "Статистика на качване" +msgstr "Статистика за качването" #: extensions/system-monitor/extension.js:350 msgid "Download stats" -msgstr "Статистика на изтегляне" +msgstr "Статистика за изтеглянето" #: extensions/system-monitor/extension.js:364 msgid "System stats" -msgstr "Статистика на системата" +msgstr "Системна статистика" #: extensions/system-monitor/extension.js:412 msgid "Show" -msgstr "Показване" +msgstr "Покажи" #: extensions/system-monitor/extension.js:414 msgid "CPU" -msgstr "ЦП" +msgstr "Процесор" #: extensions/system-monitor/extension.js:416 msgid "Memory" @@ -187,7 +189,7 @@ msgstr "Памет" #: extensions/system-monitor/extension.js:418 msgid "Swap" -msgstr "Виртуалната памет" +msgstr "Swap памет" #: extensions/system-monitor/extension.js:420 msgid "Upload" @@ -199,27 +201,27 @@ msgstr "Изтегляне" #: extensions/system-monitor/extension.js:427 msgid "Open System Monitor" -msgstr "Отваряне на „Наблюдение на системата“" +msgstr "Отвори системния монитор" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12 msgid "Show CPU usage" -msgstr "Показване на ползван ЦП" +msgstr "Показвай използването на процесора" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16 msgid "Show memory usage" -msgstr "Показване на ползвана памет" +msgstr "Показвай използването на паметта" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20 msgid "Show swap usage" -msgstr "Показване на ползвана виртуалната памет" +msgstr "Показвай използването на swap паметта" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24 msgid "Show upload" -msgstr "Показване на качването" +msgstr "Показвай качването" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28 msgid "Show download" -msgstr "Показване на изтеглянето" +msgstr "Показвай изтеглянето" #: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11 msgid "Theme name" @@ -227,140 +229,184 @@ msgstr "Име на темата" #: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12 msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" -msgstr "" -"Името на темата, която да бъде заредена от „~/.themes/name/gnome-shell“" +msgstr "Името на темата, която да се зареди от ~/.themes/name/gnome-shell" -#: extensions/window-list/extension.js:70 +#: extensions/window-list/extension.js:98 msgid "Close" -msgstr "Затваряне" +msgstr "Затвори" -#: extensions/window-list/extension.js:97 +# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize) +#: extensions/window-list/extension.js:125 msgid "Unminimize" -msgstr "Деминимизиране" +msgstr "Възстанови" -#: extensions/window-list/extension.js:97 +#: extensions/window-list/extension.js:125 msgid "Minimize" -msgstr "Минимизиране" +msgstr "Минимизирай" -#: extensions/window-list/extension.js:104 +#: extensions/window-list/extension.js:130 msgid "Unmaximize" -msgstr "Демаксимизиране" +msgstr "Възстанови" -#: extensions/window-list/extension.js:104 +#: extensions/window-list/extension.js:130 msgid "Maximize" -msgstr "Максимизиране" +msgstr "Максимизирай" -#: extensions/window-list/extension.js:489 +#: extensions/window-list/extension.js:720 msgid "Minimize all" -msgstr "Минимизиране на всички" +msgstr "Минимизирай всички" -#: extensions/window-list/extension.js:495 +# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize) +#: extensions/window-list/extension.js:726 msgid "Unminimize all" -msgstr "Деминимизиране на всички" +msgstr "Възстанови всички" -#: extensions/window-list/extension.js:501 +#: extensions/window-list/extension.js:732 msgid "Maximize all" -msgstr "Максимизиране на всички" +msgstr "Максимизирай всички" -#: extensions/window-list/extension.js:509 +#: extensions/window-list/extension.js:740 msgid "Unmaximize all" -msgstr "Демаксимизиране на всички" +msgstr "Възстанови всички" -#: extensions/window-list/extension.js:517 +#: extensions/window-list/extension.js:748 msgid "Close all" -msgstr "Затваряне на всички" +msgstr "Затвори всички" -#: extensions/window-list/extension.js:789 +#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Списък на прозорците" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18 msgid "When to group windows" -msgstr "Кога прозорците да се групират" +msgstr "Кога да се групират прозорците" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19 msgid "" "Decides when to group windows from the same application on the window list. " "Possible values are “never”, “auto” and “always”." msgstr "" -"Кога прозорците на една програма да се групират в списъка с прозорците. " -"Възможните стойности са „never“ (никога), „auto“ (автоматично) и „always“ " -"(винаги)." +"Определя кога да се групират прозорци от едно и също приложение в списъка с " +"прозорци. Възможни стойности: „никога“, „автоматично“ и „винаги“." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 -#: extensions/window-list/prefs.js:79 +#: extensions/window-list/prefs.js:74 msgid "Show windows from all workspaces" -msgstr "Да се показват прозорците от всички работни плотове" +msgstr "Показвай прозорците от всички работни пространства" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 msgid "Whether to show windows from all workspaces or only the current one." -msgstr "" -"Дали да се показват прозорците от всички работни плотове или само от текущия." +msgstr "Дали се показват прозорците от всички работни пространства или само от текущото." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33 msgid "Show the window list on all monitors" -msgstr "Извеждане на списъка с прозорци на всички монитори" +msgstr "Показвай списъка с прозорци на всички монитори" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34 msgid "" "Whether to show the window list on all connected monitors or only on the " "primary one." msgstr "" -"Дали списъкът с прозорци да се извежда на всички монитори или само на " -"основния" +"Дали се показва списъкът с прозорци на всички свързани монитори или само на " +"основния." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41 msgid "Show workspace previews in window list" -msgstr "Визуализиране на работните пространства в списъка с прозорци" - -#: extensions/window-list/prefs.js:35 -msgid "Window Grouping" -msgstr "Групиране на прозорци" - -#: extensions/window-list/prefs.js:40 -msgid "Never group windows" -msgstr "Никога да не се групират" +msgstr "Показвай прегледи на работните пространства в списъка с прозорци" #: extensions/window-list/prefs.js:41 +msgid "Window Grouping" +msgstr "Групиране на прозорците" + +#: extensions/window-list/prefs.js:46 +msgid "Never group windows" +msgstr "Никога не групирай прозорците" + +#: extensions/window-list/prefs.js:47 msgid "Group windows when space is limited" -msgstr "Групиране при ограничено място" +msgstr "Групирай прозорците при ограничено място" -#: extensions/window-list/prefs.js:42 +#: extensions/window-list/prefs.js:48 msgid "Always group windows" -msgstr "Винаги да се групират" +msgstr "Винаги групирай прозорците" -#: extensions/window-list/prefs.js:66 +#: extensions/window-list/prefs.js:68 msgid "Show on all monitors" -msgstr "На всички монитори" - -#: extensions/window-list/prefs.js:92 -msgid "Show workspace previews" -msgstr "Визуализиране на работните пространства" - -#: extensions/workspace-indicator/prefs.js:30 -msgid "Show Previews In Top Bar" -msgstr "Визуализиране в горната лента" - -#: extensions/workspace-indicator/prefs.js:88 -#, javascript-format -msgid "Workspace %d" -msgstr "Работен плот %d" - -#: extensions/workspace-indicator/prefs.js:155 -msgid "Workspace Names" -msgstr "Имена на работните плотове" - -#: extensions/workspace-indicator/prefs.js:281 -msgid "Add Workspace" -msgstr "Добавяне на работен плот" +msgstr "Показвай на всички монитори" #: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12 msgid "Show workspace previews in top bar" -msgstr "Визуализиране на работните пространства в горната лента" +msgstr "Показвай прегледи на работните пространства в горната лента" -#: extensions/workspace-indicator/workspaceIndicator.js:430 +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "Натиснете %s за редактиране" + +#: extensions/workspace-indicator/workspaceIndicator.js:512 +msgid "Settings" +msgstr "Настройки" + +#: extensions/workspace-indicator/workspaceIndicator.js:592 msgid "Workspace Indicator" -msgstr "Индикатор на работните плотове" +msgstr "Индикатор на работните пространства" + +#: extensions/workspace-indicator/workspacePrefs.js:20 +msgid "Indicator" +msgstr "Индикатор" + +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "Прегледи" + +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" +msgstr "Име на работното пространство" + +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "Поведение" + +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "Динамично" + +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "Автоматично премахва празните работни пространства." + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Фиксиран брой" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "Посочете брой постоянни работни пространства." + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "Брой работни пространства" + +#: extensions/workspace-indicator/workspacePrefs.js:128 +msgid "Workspaces" +msgstr "Работни пространства" + +#, javascript-format +#~ msgid "Workspace %d" +#~ msgstr "Работен плот %d" + +#~ msgid "Add Workspace" +#~ msgstr "Добавяне на работно пространство" + +#~ msgid "Remove" +#~ msgstr "Изтриване" + +#~ msgid "Computer" +#~ msgstr "Компютър" + +#~ msgid "Show workspace previews" +#~ msgstr "Показване на прегледа на работните пространства" #~ msgid "Applications" -#~ msgstr "Програми" +#~ msgstr "Приложения" + From fe11a0d8b9b9b88329b760cc746e00d05ca053d2 Mon Sep 17 00:00:00 2001 From: twlvnn kraftwerk Date: Thu, 1 Jan 2026 15:59:05 +0000 Subject: [PATCH 21/27] Update Bulgarian translation --- po/bg.po | 336 ++++++++++++++++++++++++------------------------------- 1 file changed, 145 insertions(+), 191 deletions(-) diff --git a/po/bg.po b/po/bg.po index 4069b6d8..dbb1e4c0 100644 --- a/po/bg.po +++ b/po/bg.po @@ -1,87 +1,92 @@ -# Bulgarian translation for gnome-shell-extensions. -# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER +# Bulgarian translation for gnome-shell-extensions po-file. +# Copyright (C) 2014, 2015, 2017 Free Software Foundation, Inc. +# Copyright (C) 2021, 2022 Alexander Shopov . +# Copyright (C) 2024 twlvnn kraftwerk . # This file is distributed under the same license as the gnome-shell-extensions package. - +# Ivaylo Valkov , 2014. +# Alexander Shopov , 2014, 2015, 2021, 2022. +# Lyubomir Vasilev , 2017. +# twlvnn kraftwerk , 2024. # msgid "" msgstr "" -"Project-Id-Version: gnome-shell-extensions\n" +"Project-Id-Version: gnome-shell-extensions main\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2025-06-18 23:32+0000\n" -"PO-Revision-Date: 2025-06-20 09:30+1000\n" -"Last-Translator: @pacu23\n" -"Language-Team: Bulgarian\n" +"POT-Creation-Date: 2024-09-01 12:03+0000\n" +"PO-Revision-Date: 2024-09-02 10:49+0200\n" +"Last-Translator: twlvnn kraftwerk \n" +"Language-Team: Bulgarian \n" "Language: bg\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: Poedit 3.0.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Generator: Gtranslator 46.1\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" -msgstr "GNOME Classic" +msgstr "Класически GNOME" #: 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 "Тази сесия влизa в GNOME Classic" +msgstr "Работната среда изглежда като класическия GNOME (2.x)" #: data/gnome-classic-wayland.desktop.in:3 msgid "GNOME Classic on Wayland" -msgstr "GNOME Classic на Wayland" +msgstr "Класически GNOME в Wayland" #: data/gnome-classic-xorg.desktop.in:3 msgid "GNOME Classic on Xorg" -msgstr "GNOME Classic на Xorg" +msgstr "Класически GNOME в Xorg" -#: extensions/apps-menu/extension.js:118 +#: extensions/apps-menu/extension.js:126 msgid "Favorites" msgstr "Любими" -#: extensions/apps-menu/extension.js:392 +#: extensions/apps-menu/extension.js:400 msgid "Apps" -msgstr "Приложения" +msgstr "Програми" #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12 msgid "Application and workspace list" -msgstr "Списък с приложения и работни пространства" +msgstr "Списък с програмите и работните плотове" #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13 msgid "" "A list of strings, each containing an application id (desktop file name), " "followed by a colon and the workspace number" msgstr "" -"Списък от низове, всеки съдържащ идентификатор на приложение (име на " -"desktop файла), последван от двоеточие и номер на работното пространство" +"Списък от низове. Всеки съдържа идентификатор на програма (име на файл „." +"desktop“), следван от знака „:“ и номер на работен плот" -#: extensions/auto-move-windows/prefs.js:156 +#: extensions/auto-move-windows/prefs.js:159 msgid "Workspace Rules" -msgstr "Правила за работните пространства" +msgstr "Правила за работните плотове" -#: extensions/auto-move-windows/prefs.js:311 +#: extensions/auto-move-windows/prefs.js:314 msgid "Add Rule" -msgstr "Добави правило" +msgstr "Добавяне на правило" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:123 -#: extensions/places-menu/placeDisplay.js:186 +#: extensions/places-menu/placeDisplay.js:218 #, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Неуспешно изваждане на устройството „%s\":" +msgstr "Неуспешно изваждане на устройство „%s“:" #: extensions/drive-menu/extension.js:142 msgid "Removable devices" -msgstr "Премахваеми устройства" +msgstr "Преносими медии" #: extensions/drive-menu/extension.js:164 msgid "Open Files" -msgstr "Отвори „Файлове“" +msgstr "Отваряне на файлове" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 msgid "Use more screen for windows" -msgstr "Използвай повече пространство на екрана за прозорците" +msgstr "Повече пространство за прозорците" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 msgid "" @@ -89,14 +94,14 @@ msgid "" "aspect ratio, and consolidating them further to reduce the bounding box. " "This setting applies only with the natural placement strategy." msgstr "" -"Опитва се да използва повече от екрана за разполагането на миниатюри на " -"прозорци, като се адаптира към съотношението на страните на екрана и " -"уплътнява подредбата, за да намали ограничителната рамка. Тази настройка се " -"прилага само за метода на естествено разполагане." +"Използване на по-голяма част от екрана за поставянето на мини изображения " +"чрез промяна на съотношението на страните и допълнително обединяване за " +"смаляване на обхващащия ги правоъгълник. Тази настройка се прилага само при " +"естествената стратегия за поставяне на прозорците." #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17 msgid "Place window captions on top" -msgstr "Поставяй заглавията на прозорците отгоре" +msgstr "Заглавия на прозорците отгоре" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18 msgid "" @@ -104,56 +109,49 @@ msgid "" "shell default of placing it at the bottom. Changing this setting requires " "restarting the shell to have any effect." msgstr "" -"Ако е включено, заглавията на прозорците ще се поставят над съответната " -"миниатюра, вместо по подразбиране в долната ѝ част. За да влезе в сила, тази " -"промяна изисква рестартиране на Shell." +"Ако е истина, заглавията на прозорците се поставят над мини изображенията " +"им, а не както е стандартно — отдолу. За прилагане на промяната на " +"настройката трябва да рестартирате обвивката на GNOME." -#: extensions/places-menu/extension.js:75 -#: extensions/places-menu/extension.js:78 +#: extensions/places-menu/extension.js:91 +#: extensions/places-menu/extension.js:94 msgid "Places" msgstr "Места" -#: extensions/places-menu/placeDisplay.js:52 +#: extensions/places-menu/placeDisplay.js:60 #, javascript-format msgid "Failed to launch “%s”" -msgstr "Не успя да се стартира „%s“" +msgstr "Неуспешно стартиране на „%s“" -#: extensions/places-menu/placeDisplay.js:67 +#: extensions/places-menu/placeDisplay.js:75 #, javascript-format msgid "Failed to mount volume for “%s”" -msgstr "Неуспешно монтиране на том за „%s“" +msgstr "Неуспешно монтиране на тома „%s“" -#: extensions/places-menu/placeDisplay.js:315 +#: extensions/places-menu/placeDisplay.js:135 +#: extensions/places-menu/placeDisplay.js:158 +msgid "Computer" +msgstr "Компютър" + +#: extensions/places-menu/placeDisplay.js:333 msgid "Home" msgstr "Домашна папка" -#: extensions/places-menu/placeDisplay.js:321 -msgid "Recent" -msgstr "Последни" - -#: extensions/places-menu/placeDisplay.js:327 -msgid "Starred" -msgstr "Отбелязани" - -#: extensions/places-menu/placeDisplay.js:347 -msgid "Network" +#: extensions/places-menu/placeDisplay.js:378 +msgid "Browse Network" msgstr "Мрежа" -#: extensions/places-menu/placeDisplay.js:354 -msgid "Trash" -msgstr "Кошче" - #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14 msgid "Cycle Screenshot Sizes" -msgstr "Превключване между размерите на екранната снимка" +msgstr "Смяна на размерите на снимката на екрана" #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18 msgid "Cycle Screenshot Sizes Backward" -msgstr "Обратно превключване на размерите на екранната снимка" +msgstr "Смяна на размерите на снимката на екрана наобратно" #: extensions/system-monitor/extension.js:135 msgid "CPU stats" -msgstr "Статистика за процесора" +msgstr "Статистика на ЦП" #: extensions/system-monitor/extension.js:159 msgid "Memory stats" @@ -161,27 +159,27 @@ msgstr "Статистика на паметта" #: extensions/system-monitor/extension.js:177 msgid "Swap stats" -msgstr "Статистика на swap паметта" +msgstr "Статистика на виртуалната памет" #: extensions/system-monitor/extension.js:336 msgid "Upload stats" -msgstr "Статистика за качването" +msgstr "Статистика на качване" #: extensions/system-monitor/extension.js:350 msgid "Download stats" -msgstr "Статистика за изтеглянето" +msgstr "Статистика на изтегляне" #: extensions/system-monitor/extension.js:364 msgid "System stats" -msgstr "Системна статистика" +msgstr "Статистика на системата" #: extensions/system-monitor/extension.js:412 msgid "Show" -msgstr "Покажи" +msgstr "Показване" #: extensions/system-monitor/extension.js:414 msgid "CPU" -msgstr "Процесор" +msgstr "ЦП" #: extensions/system-monitor/extension.js:416 msgid "Memory" @@ -189,7 +187,7 @@ msgstr "Памет" #: extensions/system-monitor/extension.js:418 msgid "Swap" -msgstr "Swap памет" +msgstr "Виртуалната памет" #: extensions/system-monitor/extension.js:420 msgid "Upload" @@ -201,27 +199,27 @@ msgstr "Изтегляне" #: extensions/system-monitor/extension.js:427 msgid "Open System Monitor" -msgstr "Отвори системния монитор" +msgstr "Отваряне на „Наблюдение на системата“" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12 msgid "Show CPU usage" -msgstr "Показвай използването на процесора" +msgstr "Показване на ползван ЦП" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16 msgid "Show memory usage" -msgstr "Показвай използването на паметта" +msgstr "Показване на ползвана памет" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20 msgid "Show swap usage" -msgstr "Показвай използването на swap паметта" +msgstr "Показване на ползвана виртуалната памет" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24 msgid "Show upload" -msgstr "Показвай качването" +msgstr "Показване на качването" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28 msgid "Show download" -msgstr "Показвай изтеглянето" +msgstr "Показване на изтеглянето" #: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11 msgid "Theme name" @@ -229,184 +227,140 @@ msgstr "Име на темата" #: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12 msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" -msgstr "Името на темата, която да се зареди от ~/.themes/name/gnome-shell" +msgstr "" +"Името на темата, която да бъде заредена от „~/.themes/name/gnome-shell“" -#: extensions/window-list/extension.js:98 +#: extensions/window-list/extension.js:70 msgid "Close" -msgstr "Затвори" +msgstr "Затваряне" -# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize) -#: extensions/window-list/extension.js:125 +#: extensions/window-list/extension.js:97 msgid "Unminimize" -msgstr "Възстанови" +msgstr "Деминимизиране" -#: extensions/window-list/extension.js:125 +#: extensions/window-list/extension.js:97 msgid "Minimize" -msgstr "Минимизирай" +msgstr "Минимизиране" -#: extensions/window-list/extension.js:130 +#: extensions/window-list/extension.js:104 msgid "Unmaximize" -msgstr "Възстанови" +msgstr "Демаксимизиране" -#: extensions/window-list/extension.js:130 +#: extensions/window-list/extension.js:104 msgid "Maximize" -msgstr "Максимизирай" +msgstr "Максимизиране" -#: extensions/window-list/extension.js:720 +#: extensions/window-list/extension.js:489 msgid "Minimize all" -msgstr "Минимизирай всички" +msgstr "Минимизиране на всички" -# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize) -#: extensions/window-list/extension.js:726 +#: extensions/window-list/extension.js:495 msgid "Unminimize all" -msgstr "Възстанови всички" +msgstr "Деминимизиране на всички" -#: extensions/window-list/extension.js:732 +#: extensions/window-list/extension.js:501 msgid "Maximize all" -msgstr "Максимизирай всички" +msgstr "Максимизиране на всички" -#: extensions/window-list/extension.js:740 +#: extensions/window-list/extension.js:509 msgid "Unmaximize all" -msgstr "Възстанови всички" +msgstr "Демаксимизиране на всички" -#: extensions/window-list/extension.js:748 +#: extensions/window-list/extension.js:517 msgid "Close all" -msgstr "Затвори всички" +msgstr "Затваряне на всички" -#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23 +#: extensions/window-list/extension.js:789 msgid "Window List" msgstr "Списък на прозорците" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18 msgid "When to group windows" -msgstr "Кога да се групират прозорците" +msgstr "Кога прозорците да се групират" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19 msgid "" "Decides when to group windows from the same application on the window list. " "Possible values are “never”, “auto” and “always”." msgstr "" -"Определя кога да се групират прозорци от едно и също приложение в списъка с " -"прозорци. Възможни стойности: „никога“, „автоматично“ и „винаги“." +"Кога прозорците на една програма да се групират в списъка с прозорците. " +"Възможните стойности са „never“ (никога), „auto“ (автоматично) и „always“ " +"(винаги)." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 -#: extensions/window-list/prefs.js:74 +#: extensions/window-list/prefs.js:79 msgid "Show windows from all workspaces" -msgstr "Показвай прозорците от всички работни пространства" +msgstr "Да се показват прозорците от всички работни плотове" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 msgid "Whether to show windows from all workspaces or only the current one." -msgstr "Дали се показват прозорците от всички работни пространства или само от текущото." +msgstr "" +"Дали да се показват прозорците от всички работни плотове или само от текущия." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33 msgid "Show the window list on all monitors" -msgstr "Показвай списъка с прозорци на всички монитори" +msgstr "Извеждане на списъка с прозорци на всички монитори" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34 msgid "" "Whether to show the window list on all connected monitors or only on the " "primary one." msgstr "" -"Дали се показва списъкът с прозорци на всички свързани монитори или само на " -"основния." +"Дали списъкът с прозорци да се извежда на всички монитори или само на " +"основния" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41 msgid "Show workspace previews in window list" -msgstr "Показвай прегледи на работните пространства в списъка с прозорци" +msgstr "Визуализиране на работните пространства в списъка с прозорци" + +#: extensions/window-list/prefs.js:35 +msgid "Window Grouping" +msgstr "Групиране на прозорци" + +#: extensions/window-list/prefs.js:40 +msgid "Never group windows" +msgstr "Никога да не се групират" #: extensions/window-list/prefs.js:41 -msgid "Window Grouping" -msgstr "Групиране на прозорците" - -#: extensions/window-list/prefs.js:46 -msgid "Never group windows" -msgstr "Никога не групирай прозорците" - -#: extensions/window-list/prefs.js:47 msgid "Group windows when space is limited" -msgstr "Групирай прозорците при ограничено място" +msgstr "Групиране при ограничено място" -#: extensions/window-list/prefs.js:48 +#: extensions/window-list/prefs.js:42 msgid "Always group windows" -msgstr "Винаги групирай прозорците" +msgstr "Винаги да се групират" -#: extensions/window-list/prefs.js:68 +#: extensions/window-list/prefs.js:66 msgid "Show on all monitors" -msgstr "Показвай на всички монитори" +msgstr "На всички монитори" + +#: extensions/window-list/prefs.js:92 +msgid "Show workspace previews" +msgstr "Визуализиране на работните пространства" + +#: extensions/workspace-indicator/prefs.js:30 +msgid "Show Previews In Top Bar" +msgstr "Визуализиране в горната лента" + +#: extensions/workspace-indicator/prefs.js:88 +#, javascript-format +msgid "Workspace %d" +msgstr "Работен плот %d" + +#: extensions/workspace-indicator/prefs.js:155 +msgid "Workspace Names" +msgstr "Имена на работните плотове" + +#: extensions/workspace-indicator/prefs.js:281 +msgid "Add Workspace" +msgstr "Добавяне на работен плот" #: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12 msgid "Show workspace previews in top bar" -msgstr "Показвай прегледи на работните пространства в горната лента" +msgstr "Визуализиране на работните пространства в горната лента" -#: extensions/workspace-indicator/workspaceIndicator.js:404 -#, javascript-format -msgid "Press %s to edit" -msgstr "Натиснете %s за редактиране" - -#: extensions/workspace-indicator/workspaceIndicator.js:512 -msgid "Settings" -msgstr "Настройки" - -#: extensions/workspace-indicator/workspaceIndicator.js:592 +#: extensions/workspace-indicator/workspaceIndicator.js:430 msgid "Workspace Indicator" -msgstr "Индикатор на работните пространства" - -#: extensions/workspace-indicator/workspacePrefs.js:20 -msgid "Indicator" -msgstr "Индикатор" - -#: extensions/workspace-indicator/workspacePrefs.js:25 -msgid "Previews" -msgstr "Прегледи" - -#: extensions/workspace-indicator/workspacePrefs.js:35 -msgid "Workspace Name" -msgstr "Име на работното пространство" - -#: extensions/workspace-indicator/workspacePrefs.js:59 -msgid "Behavior" -msgstr "Поведение" - -#: extensions/workspace-indicator/workspacePrefs.js:64 -msgid "Dynamic" -msgstr "Динамично" - -#: extensions/workspace-indicator/workspacePrefs.js:65 -msgid "Automatically removes empty workspaces." -msgstr "Автоматично премахва празните работни пространства." - -#: extensions/workspace-indicator/workspacePrefs.js:75 -msgid "Fixed Number" -msgstr "Фиксиран брой" - -#: extensions/workspace-indicator/workspacePrefs.js:76 -msgid "Specify a number of permanent workspaces." -msgstr "Посочете брой постоянни работни пространства." - -#: extensions/workspace-indicator/workspacePrefs.js:89 -msgid "Number of Workspaces" -msgstr "Брой работни пространства" - -#: extensions/workspace-indicator/workspacePrefs.js:128 -msgid "Workspaces" -msgstr "Работни пространства" - -#, javascript-format -#~ msgid "Workspace %d" -#~ msgstr "Работен плот %d" - -#~ msgid "Add Workspace" -#~ msgstr "Добавяне на работно пространство" - -#~ msgid "Remove" -#~ msgstr "Изтриване" - -#~ msgid "Computer" -#~ msgstr "Компютър" - -#~ msgid "Show workspace previews" -#~ msgstr "Показване на прегледа на работните пространства" +msgstr "Индикатор на работните плотове" #~ msgid "Applications" -#~ msgstr "Приложения" - +#~ msgstr "Програми" From 59bb24ce2d870d2398ed4bf9d7453560d43187ac Mon Sep 17 00:00:00 2001 From: twlvnn kraftwerk Date: Thu, 1 Jan 2026 16:31:17 +0000 Subject: [PATCH 22/27] Update Bulgarian translation --- po/bg.po | 270 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 157 insertions(+), 113 deletions(-) diff --git a/po/bg.po b/po/bg.po index dbb1e4c0..a1f36407 100644 --- a/po/bg.po +++ b/po/bg.po @@ -7,86 +7,87 @@ # Alexander Shopov , 2014, 2015, 2021, 2022. # Lyubomir Vasilev , 2017. # twlvnn kraftwerk , 2024. +# @pacu23, 2025 # msgid "" msgstr "" "Project-Id-Version: gnome-shell-extensions main\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2024-09-01 12:03+0000\n" -"PO-Revision-Date: 2024-09-02 10:49+0200\n" -"Last-Translator: twlvnn kraftwerk \n" +"POT-Creation-Date: 2025-11-05 13:44+0000\n" +"PO-Revision-Date: 2026-01-01 18:28+0200\n" +"Last-Translator: @pacu23\n" "Language-Team: Bulgarian \n" "Language: bg\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 46.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.8\n" -#: data/gnome-classic.desktop.in:3 +#: data/gnome-classic.desktop.in:2 msgid "GNOME Classic" msgstr "Класически GNOME" -#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 -#: data/gnome-classic-xorg.desktop.in:4 +#: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3 +#: data/gnome-classic-xorg.desktop.in:3 msgid "This session logs you into GNOME Classic" -msgstr "Работната среда изглежда като класическия GNOME (2.x)" +msgstr "Тази сесия влизa в Класически GNOME" -#: data/gnome-classic-wayland.desktop.in:3 +#: data/gnome-classic-wayland.desktop.in:2 msgid "GNOME Classic on Wayland" msgstr "Класически GNOME в Wayland" -#: data/gnome-classic-xorg.desktop.in:3 +#: data/gnome-classic-xorg.desktop.in:2 msgid "GNOME Classic on Xorg" msgstr "Класически GNOME в Xorg" -#: extensions/apps-menu/extension.js:126 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "Любими" -#: extensions/apps-menu/extension.js:400 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "Програми" #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12 msgid "Application and workspace list" -msgstr "Списък с програмите и работните плотове" +msgstr "Списък с програмите и работни пространства" #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13 msgid "" "A list of strings, each containing an application id (desktop file name), " "followed by a colon and the workspace number" msgstr "" -"Списък от низове. Всеки съдържа идентификатор на програма (име на файл „." -"desktop“), следван от знака „:“ и номер на работен плот" +"Списък от низове, всеки съдържащ идентификатор на програма (име на desktop " +"файла), последван от двоеточие и номер на работното пространство" -#: extensions/auto-move-windows/prefs.js:159 +#: extensions/auto-move-windows/prefs.js:157 msgid "Workspace Rules" -msgstr "Правила за работните плотове" +msgstr "Правила за работните пространства" -#: extensions/auto-move-windows/prefs.js:314 +#: extensions/auto-move-windows/prefs.js:312 msgid "Add Rule" msgstr "Добавяне на правило" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:123 -#: extensions/places-menu/placeDisplay.js:218 +#: extensions/places-menu/placeDisplay.js:186 #, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Неуспешно изваждане на устройство „%s“:" +msgstr "Неуспешно изваждане на устройството „%s\":" #: extensions/drive-menu/extension.js:142 msgid "Removable devices" -msgstr "Преносими медии" +msgstr "Преносими устройства" #: extensions/drive-menu/extension.js:164 msgid "Open Files" -msgstr "Отваряне на файлове" +msgstr "Отвори „Файлове“" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 msgid "Use more screen for windows" -msgstr "Повече пространство за прозорците" +msgstr "Повече пространство на екрана за прозорците" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 msgid "" @@ -94,10 +95,10 @@ msgid "" "aspect ratio, and consolidating them further to reduce the bounding box. " "This setting applies only with the natural placement strategy." msgstr "" -"Използване на по-голяма част от екрана за поставянето на мини изображения " -"чрез промяна на съотношението на страните и допълнително обединяване за " -"смаляване на обхващащия ги правоъгълник. Тази настройка се прилага само при " -"естествената стратегия за поставяне на прозорците." +"Опитва се да използва повече от екрана за разполагането на миниатюри на " +"прозорци, като се адаптира към съотношението на страните на екрана и " +"уплътнява подредбата, за да намали ограничителната рамка. Тази настройка се " +"прилага само за метода на естествено разполагане." #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17 msgid "Place window captions on top" @@ -109,49 +110,56 @@ msgid "" "shell default of placing it at the bottom. Changing this setting requires " "restarting the shell to have any effect." msgstr "" -"Ако е истина, заглавията на прозорците се поставят над мини изображенията " -"им, а не както е стандартно — отдолу. За прилагане на промяната на " -"настройката трябва да рестартирате обвивката на GNOME." +"Ако е включено, заглавията на прозорците ще се поставят над съответната " +"миниатюра, вместо по подразбиране в долната ѝ част. За да влезе в сила, тази " +"промяна изисква рестартиране на обвивката на GNOME." -#: extensions/places-menu/extension.js:91 -#: extensions/places-menu/extension.js:94 +#: extensions/places-menu/extension.js:75 +#: extensions/places-menu/extension.js:78 msgid "Places" msgstr "Места" -#: extensions/places-menu/placeDisplay.js:60 +#: extensions/places-menu/placeDisplay.js:52 #, javascript-format msgid "Failed to launch “%s”" msgstr "Неуспешно стартиране на „%s“" -#: extensions/places-menu/placeDisplay.js:75 +#: extensions/places-menu/placeDisplay.js:67 #, javascript-format msgid "Failed to mount volume for “%s”" msgstr "Неуспешно монтиране на тома „%s“" -#: extensions/places-menu/placeDisplay.js:135 -#: extensions/places-menu/placeDisplay.js:158 -msgid "Computer" -msgstr "Компютър" - -#: extensions/places-menu/placeDisplay.js:333 +#: extensions/places-menu/placeDisplay.js:315 msgid "Home" msgstr "Домашна папка" -#: extensions/places-menu/placeDisplay.js:378 -msgid "Browse Network" +#: extensions/places-menu/placeDisplay.js:321 +msgid "Recent" +msgstr "Скорошни" + +#: extensions/places-menu/placeDisplay.js:327 +msgid "Starred" +msgstr "Отбелязани" + +#: extensions/places-menu/placeDisplay.js:347 +msgid "Network" msgstr "Мрежа" +#: extensions/places-menu/placeDisplay.js:354 +msgid "Trash" +msgstr "Кошче" + #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14 msgid "Cycle Screenshot Sizes" -msgstr "Смяна на размерите на снимката на екрана" +msgstr "Превключване между размерите на екранната снимка" #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18 msgid "Cycle Screenshot Sizes Backward" -msgstr "Смяна на размерите на снимката на екрана наобратно" +msgstr "Обратно превключване на размерите на екранната снимка" #: extensions/system-monitor/extension.js:135 msgid "CPU stats" -msgstr "Статистика на ЦП" +msgstr "Статистика на процесора" #: extensions/system-monitor/extension.js:159 msgid "Memory stats" @@ -163,55 +171,55 @@ msgstr "Статистика на виртуалната памет" #: extensions/system-monitor/extension.js:336 msgid "Upload stats" -msgstr "Статистика на качване" +msgstr "Статистика за качването" #: extensions/system-monitor/extension.js:350 msgid "Download stats" -msgstr "Статистика на изтегляне" +msgstr "Статистика за изтеглянето" -#: extensions/system-monitor/extension.js:364 +#: extensions/system-monitor/extension.js:365 msgid "System stats" -msgstr "Статистика на системата" +msgstr "Системна статистика" -#: extensions/system-monitor/extension.js:412 +#: extensions/system-monitor/extension.js:413 msgid "Show" msgstr "Показване" -#: extensions/system-monitor/extension.js:414 +#: extensions/system-monitor/extension.js:415 msgid "CPU" -msgstr "ЦП" +msgstr "Процесор" -#: extensions/system-monitor/extension.js:416 +#: extensions/system-monitor/extension.js:417 msgid "Memory" msgstr "Памет" -#: extensions/system-monitor/extension.js:418 +#: extensions/system-monitor/extension.js:419 msgid "Swap" msgstr "Виртуалната памет" -#: extensions/system-monitor/extension.js:420 +#: extensions/system-monitor/extension.js:421 msgid "Upload" msgstr "Качване" -#: extensions/system-monitor/extension.js:422 +#: extensions/system-monitor/extension.js:423 msgid "Download" msgstr "Изтегляне" -#: extensions/system-monitor/extension.js:427 +#: extensions/system-monitor/extension.js:428 msgid "Open System Monitor" msgstr "Отваряне на „Наблюдение на системата“" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12 msgid "Show CPU usage" -msgstr "Показване на ползван ЦП" +msgstr "Показване на използването на процесора" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16 msgid "Show memory usage" -msgstr "Показване на ползвана памет" +msgstr "Показване на използването на паметта" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20 msgid "Show swap usage" -msgstr "Показване на ползвана виртуалната памет" +msgstr "Показване на използването на виртуалната памет" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24 msgid "Show upload" @@ -227,140 +235,176 @@ msgstr "Име на темата" #: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12 msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" -msgstr "" -"Името на темата, която да бъде заредена от „~/.themes/name/gnome-shell“" +msgstr "Името на темата, която да се зареди от „~/.themes/name/gnome-shell“" -#: extensions/window-list/extension.js:70 +#: extensions/window-list/extension.js:98 msgid "Close" msgstr "Затваряне" -#: extensions/window-list/extension.js:97 +#: extensions/window-list/extension.js:125 msgid "Unminimize" msgstr "Деминимизиране" -#: extensions/window-list/extension.js:97 +#: extensions/window-list/extension.js:125 msgid "Minimize" msgstr "Минимизиране" -#: extensions/window-list/extension.js:104 +#: extensions/window-list/extension.js:130 msgid "Unmaximize" msgstr "Демаксимизиране" -#: extensions/window-list/extension.js:104 +#: extensions/window-list/extension.js:130 msgid "Maximize" msgstr "Максимизиране" -#: extensions/window-list/extension.js:489 +#: extensions/window-list/extension.js:720 msgid "Minimize all" msgstr "Минимизиране на всички" -#: extensions/window-list/extension.js:495 +#: extensions/window-list/extension.js:726 msgid "Unminimize all" msgstr "Деминимизиране на всички" -#: extensions/window-list/extension.js:501 +#: extensions/window-list/extension.js:732 msgid "Maximize all" msgstr "Максимизиране на всички" -#: extensions/window-list/extension.js:509 +#: extensions/window-list/extension.js:740 msgid "Unmaximize all" msgstr "Демаксимизиране на всички" -#: extensions/window-list/extension.js:517 +#: extensions/window-list/extension.js:748 msgid "Close all" msgstr "Затваряне на всички" -#: extensions/window-list/extension.js:789 +#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Списък на прозорците" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18 msgid "When to group windows" -msgstr "Кога прозорците да се групират" +msgstr "Кога да се групират прозорците" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19 msgid "" "Decides when to group windows from the same application on the window list. " "Possible values are “never”, “auto” and “always”." msgstr "" -"Кога прозорците на една програма да се групират в списъка с прозорците. " -"Възможните стойности са „never“ (никога), „auto“ (автоматично) и „always“ " -"(винаги)." +"Кога да се групират прозорци от едно и също приложение в списъка с прозорци. " +"Възможните стойности са „никога“, „автоматично“ и „винаги“." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 -#: extensions/window-list/prefs.js:79 +#: extensions/window-list/prefs.js:74 msgid "Show windows from all workspaces" -msgstr "Да се показват прозорците от всички работни плотове" +msgstr "Показване на прозорците от всички работни пространства" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 msgid "Whether to show windows from all workspaces or only the current one." msgstr "" -"Дали да се показват прозорците от всички работни плотове или само от текущия." +"Дали да се показват прозорците от всички работни пространства или само от " +"текущото." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33 msgid "Show the window list on all monitors" -msgstr "Извеждане на списъка с прозорци на всички монитори" +msgstr "Показване на списъка с прозорци на всички монитори" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34 msgid "" "Whether to show the window list on all connected monitors or only on the " "primary one." msgstr "" -"Дали списъкът с прозорци да се извежда на всички монитори или само на " -"основния" +"Дали да се показва списъкът с прозорци на всички свързани монитори или само " +"на основния." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41 msgid "Show workspace previews in window list" -msgstr "Визуализиране на работните пространства в списъка с прозорци" +msgstr "Показване на прегледа на работните пространства" -#: extensions/window-list/prefs.js:35 +#: extensions/window-list/prefs.js:41 msgid "Window Grouping" msgstr "Групиране на прозорци" -#: extensions/window-list/prefs.js:40 +#: extensions/window-list/prefs.js:46 msgid "Never group windows" msgstr "Никога да не се групират" -#: extensions/window-list/prefs.js:41 +#: extensions/window-list/prefs.js:47 msgid "Group windows when space is limited" msgstr "Групиране при ограничено място" -#: extensions/window-list/prefs.js:42 +#: extensions/window-list/prefs.js:48 msgid "Always group windows" msgstr "Винаги да се групират" -#: extensions/window-list/prefs.js:66 +#: extensions/window-list/prefs.js:68 msgid "Show on all monitors" msgstr "На всички монитори" -#: extensions/window-list/prefs.js:92 -msgid "Show workspace previews" -msgstr "Визуализиране на работните пространства" - -#: extensions/workspace-indicator/prefs.js:30 -msgid "Show Previews In Top Bar" -msgstr "Визуализиране в горната лента" - -#: extensions/workspace-indicator/prefs.js:88 -#, javascript-format -msgid "Workspace %d" -msgstr "Работен плот %d" - -#: extensions/workspace-indicator/prefs.js:155 -msgid "Workspace Names" -msgstr "Имена на работните плотове" - -#: extensions/workspace-indicator/prefs.js:281 -msgid "Add Workspace" -msgstr "Добавяне на работен плот" - #: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12 msgid "Show workspace previews in top bar" msgstr "Визуализиране на работните пространства в горната лента" -#: extensions/workspace-indicator/workspaceIndicator.js:430 +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "Натиснете %s за редактирате" + +#: extensions/workspace-indicator/workspaceIndicator.js:518 +msgid "Settings" +msgstr "Настройки" + +#: extensions/workspace-indicator/workspaceIndicator.js:598 msgid "Workspace Indicator" -msgstr "Индикатор на работните плотове" +msgstr "Индикатор на работните пространства" + +#: extensions/workspace-indicator/workspacePrefs.js:20 +msgid "Indicator" +msgstr "Индикатор" + +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "Прегледи" + +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" +msgstr "Име на работното пространство" + +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "Поведение" + +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "Динамично" + +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "Автоматично премахва празните работни пространства." + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Фиксиран брой" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "Посочете брой постоянни работни пространства." + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "Брой работни пространства" + +#: extensions/workspace-indicator/workspacePrefs.js:128 +msgid "Workspaces" +msgstr "Работни пространства" + +#~ msgid "Computer" +#~ msgstr "Компютър" + +#~ msgid "Show workspace previews" +#~ msgstr "Визуализиране на работните пространства" + +#~ msgid "Show Previews In Top Bar" +#~ msgstr "Визуализиране в горната лента" #~ msgid "Applications" #~ msgstr "Програми" From 8f3baad61edcb35a87b8f83aeb9ff21cb7e9da32 Mon Sep 17 00:00:00 2001 From: twlvnn kraftwerk Date: Thu, 1 Jan 2026 16:42:48 +0000 Subject: [PATCH 23/27] Update Bulgarian translation --- po/bg.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/bg.po b/po/bg.po index a1f36407..d2fd7acc 100644 --- a/po/bg.po +++ b/po/bg.po @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" "POT-Creation-Date: 2025-11-05 13:44+0000\n" -"PO-Revision-Date: 2026-01-01 18:28+0200\n" +"PO-Revision-Date: 2026-01-01 18:41+0200\n" "Last-Translator: @pacu23\n" "Language-Team: Bulgarian \n" "Language: bg\n" @@ -52,7 +52,7 @@ msgstr "Програми" #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12 msgid "Application and workspace list" -msgstr "Списък с програмите и работни пространства" +msgstr "Списък с програмите и работните пространства" #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13 msgid "" From 7c455cb5489014db936a57e4400ef3794441fddd Mon Sep 17 00:00:00 2001 From: Baurzhan Muftakhidinov Date: Sun, 11 Jan 2026 18:03:09 +0000 Subject: [PATCH 24/27] Update Kazakh translation --- po/kk.po | 911 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 481 insertions(+), 430 deletions(-) diff --git a/po/kk.po b/po/kk.po index 2d239e68..79882c2a 100644 --- a/po/kk.po +++ b/po/kk.po @@ -1,430 +1,481 @@ -# Kazakh translation for gnome-shell-extensions. -# Copyright (C) 2013 gnome-shell-extensions's COPYRIGHT HOLDER -# This file is distributed under the same license as the gnome-shell-extensions package. -# Baurzhan Muftakhidinov , 2013-2020. -# -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: 2024-02-06 18:43+0000\n" -"PO-Revision-Date: 2024-02-25 00:02+0600\n" -"Last-Translator: Baurzhan Muftakhidinov \n" -"Language-Team: Kazakh \n" -"Language: kk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.4.2\n" - -#: data/gnome-classic.desktop.in:3 -msgid "GNOME Classic" -msgstr "Классикалық GNOME" - -#: 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 "Бұл сессия арқылы классикалық GNOME ішіне кіресіз" - -#: data/gnome-classic-wayland.desktop.in:3 -msgid "GNOME Classic on Wayland" -msgstr "Wayland негізіндегі классикалық GNOME" - -#: data/gnome-classic-xorg.desktop.in:3 -msgid "GNOME Classic on Xorg" -msgstr "Xorg негізіндегі классикалық GNOME" - -#: extensions/apps-menu/extension.js:126 -msgid "Favorites" -msgstr "Таңдамалылар" - -#: extensions/apps-menu/extension.js:397 -msgid "Apps" -msgstr "Қолданбалар" - -#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12 -msgid "Application and workspace list" -msgstr "Қолданба және жұмыс орындар тізімі" - -#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13 -msgid "" -"A list of strings, each containing an application id (desktop file name), " -"followed by a colon and the workspace number" -msgstr "" -"Жолдар тізімі, әрқайсысы қолданба анықтағышын сақтайды (desktop файлының " -"аты), соңында үтір және жұмыс орнының нөмірі тұрады" - -#: extensions/auto-move-windows/prefs.js:159 -msgid "Workspace Rules" -msgstr "Жұмыс орын ережелері" - -#: extensions/auto-move-windows/prefs.js:314 -msgid "Add Rule" -msgstr "Ережені қосу" - -#. TRANSLATORS: %s is the filesystem name -#: extensions/drive-menu/extension.js:123 -#: extensions/places-menu/placeDisplay.js:218 -#, javascript-format -msgid "Ejecting drive “%s” failed:" -msgstr "\"%s\" жетегін шығару сәтсіз аяқталды:" - -#: extensions/drive-menu/extension.js:142 -msgid "Removable devices" -msgstr "Алынатын құрылғылар" - -#: extensions/drive-menu/extension.js:164 -msgid "Open Files" -msgstr "Файлдарды ашу" - -#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 -msgid "Use more screen for windows" -msgstr "Терезелер үшін көбірек экранды қолдану" - -#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 -msgid "" -"Try to use more screen for placing window thumbnails by adapting to screen " -"aspect ratio, and consolidating them further to reduce the bounding box. " -"This setting applies only with the natural placement strategy." -msgstr "" -"Терезелер үлгілерін орналастыру кезінде экран жақтарының арақатынасын есепке " -"алып, көбірек экран орнын қолдануға тырысу, және шектеу қоршамын азайту " -"мақсатында оларды әрі қарай да жинастыру. Бұл баптау тек табиғи орналастыру " -"ережесімен іске асады." - -#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17 -msgid "Place window captions on top" -msgstr "Терезелер атауларын жоғарыға орналастыру" - -#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18 -msgid "" -"If true, place window captions on top the respective thumbnail, overriding " -"shell default of placing it at the bottom. Changing this setting requires " -"restarting the shell to have any effect." -msgstr "" -"True болса, терезе атауларын сәйкес келетін үлгінің үстіне орналастыру, " -"үнсіз келісім бойынша астына орналастырудың орнына. Бұл баптау іске асыру " -"үшін қоршамды қайта іске қосу керек." - -#: extensions/places-menu/extension.js:91 -#: extensions/places-menu/extension.js:94 -msgid "Places" -msgstr "Орындар" - -#: extensions/places-menu/placeDisplay.js:60 -#, javascript-format -msgid "Failed to launch “%s”" -msgstr "\"%s\" жөнелту сәтсіз аяқталды" - -#: extensions/places-menu/placeDisplay.js:75 -#, javascript-format -msgid "Failed to mount volume for “%s”" -msgstr "\"%s\" үшін томды тіркеу сәтсіз аяқталды" - -#: extensions/places-menu/placeDisplay.js:135 -#: extensions/places-menu/placeDisplay.js:158 -msgid "Computer" -msgstr "Компьютер" - -#: extensions/places-menu/placeDisplay.js:333 -msgid "Home" -msgstr "Үй бумасы" - -#: extensions/places-menu/placeDisplay.js:378 -msgid "Browse Network" -msgstr "Желіні шолу" - -#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14 -msgid "Cycle Screenshot Sizes" -msgstr "Скриншоттар өлшемдерін ауыстырып көрсету" - -#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18 -msgid "Cycle Screenshot Sizes Backward" -msgstr "Скриншоттар өлшемдерін кері ретпен ауыстырып көрсету" - -#: extensions/system-monitor/extension.js:135 -msgid "CPU stats" -msgstr "Процессор статистикасы" - -#: extensions/system-monitor/extension.js:159 -msgid "Memory stats" -msgstr "Жады статистикасы" - -#: extensions/system-monitor/extension.js:177 -msgid "Swap stats" -msgstr "Своп статистикасы" - -#: extensions/system-monitor/extension.js:327 -msgid "Upload stats" -msgstr "Жүктеп салу статистикасы" - -#: extensions/system-monitor/extension.js:341 -msgid "Download stats" -msgstr "Жүктеп алу статистикасы" - -#: extensions/system-monitor/extension.js:355 -msgid "System stats" -msgstr "Жүйе статистикасы" - -#: extensions/system-monitor/extension.js:403 -msgid "Show" -msgstr "Көрсету" - -#: extensions/system-monitor/extension.js:405 -msgid "CPU" -msgstr "Процессор" - -#: extensions/system-monitor/extension.js:407 -msgid "Memory" -msgstr "Жады" - -#: extensions/system-monitor/extension.js:409 -msgid "Swap" -msgstr "Своп" - -#: extensions/system-monitor/extension.js:411 -msgid "Upload" -msgstr "Жүктеп салу" - -#: extensions/system-monitor/extension.js:413 -msgid "Download" -msgstr "Жүктеп алу" - -#: extensions/system-monitor/extension.js:418 -msgid "Open System Monitor" -msgstr "Жүйелік бақылаушысын ашу" - -#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12 -msgid "Show CPU usage" -msgstr "Процессор қолданылуын көрсету" - -#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16 -msgid "Show memory usage" -msgstr "Жады пайдалануын көрсету" - -#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20 -msgid "Show swap usage" -msgstr "Своп пайдалануын көрсету" - -#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24 -msgid "Show upload" -msgstr "Жүктеп салуды көрсету" - -#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28 -msgid "Show download" -msgstr "Жүктеп алуды көрсету" - -#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11 -msgid "Theme name" -msgstr "Тема атауы" - -#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12 -msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" -msgstr "Тема атауы, ~/.themes/name/gnome-shell ішінен алынады" - -#: extensions/window-list/extension.js:71 -msgid "Close" -msgstr "Жабу" - -#: extensions/window-list/extension.js:98 -msgid "Unminimize" -msgstr "Қайырылған емес қылу" - -#: extensions/window-list/extension.js:98 -msgid "Minimize" -msgstr "Қайыру" - -#: extensions/window-list/extension.js:105 -msgid "Unmaximize" -msgstr "Жазық емес қылу" - -#: extensions/window-list/extension.js:105 -msgid "Maximize" -msgstr "Жазық қылу" - -#: extensions/window-list/extension.js:470 -msgid "Minimize all" -msgstr "Барлығын қайыру" - -#: extensions/window-list/extension.js:476 -msgid "Unminimize all" -msgstr "Барлығын қайырылған емес қылу" - -#: extensions/window-list/extension.js:482 -msgid "Maximize all" -msgstr "Барлығын жазық қылу" - -#: extensions/window-list/extension.js:490 -msgid "Unmaximize all" -msgstr "Барлығын жазық емес қылу" - -#: extensions/window-list/extension.js:498 -msgid "Close all" -msgstr "Барлығын жабу" - -#: extensions/window-list/extension.js:772 -msgid "Window List" -msgstr "Терезелер тізімі" - -#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18 -msgid "When to group windows" -msgstr "Терезелерді қашан топтау керек" - -#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19 -msgid "" -"Decides when to group windows from the same application on the window list. " -"Possible values are “never”, “auto” and “always”." -msgstr "" -"Терезелер тізімінде бір қолданбаның терезелерін қашан топтау керек екенін " -"сипаттайды. Мүмкін мәндері: \"never\", \"auto\" және \"always\"." - -#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 -#: extensions/window-list/prefs.js:79 -msgid "Show windows from all workspaces" -msgstr "Барлық жұмыс орнындарынан терезелерді көрсету" - -#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 -msgid "Whether to show windows from all workspaces or only the current one." -msgstr "" -"Ашық терезелерді тек барлық жұмыс орындарынан ба, әлде тек ағымдағысынан ба " -"көрсету керек." - -#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33 -msgid "Show the window list on all monitors" -msgstr "Терезелер тізімін барлық мониторларда көрсету" - -#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34 -msgid "" -"Whether to show the window list on all connected monitors or only on the " -"primary one." -msgstr "" -"Терезелер тізімін барлық жалғанған мониторларда, немесе тек біріншілік " -"мониторда көрсету керек пе." - -#: extensions/window-list/prefs.js:35 -msgid "Window Grouping" -msgstr "Терезелерді топтау" - -#: extensions/window-list/prefs.js:40 -msgid "Never group windows" -msgstr "Терезелерді ешқашан топтамау" - -#: extensions/window-list/prefs.js:41 -msgid "Group windows when space is limited" -msgstr "Терезелерді орын шектелген кезде топтау" - -#: extensions/window-list/prefs.js:42 -msgid "Always group windows" -msgstr "Терезелерді әрқашан топтау" - -#: extensions/window-list/prefs.js:66 -msgid "Show on all monitors" -msgstr "Барлық мониторларда көрсету" - -#: extensions/window-list/workspaceIndicator.js:253 -#: extensions/workspace-indicator/extension.js:259 -msgid "Workspace Indicator" -msgstr "Жұмыс орын индикаторы" - -#: extensions/workspace-indicator/prefs.js:69 -#, javascript-format -msgid "Workspace %d" -msgstr "Жұмыс орны %d" - -#: extensions/workspace-indicator/prefs.js:136 -msgid "Workspace Names" -msgstr "Жұмыс орын атаулары" - -#: extensions/workspace-indicator/prefs.js:262 -msgid "Add Workspace" -msgstr "Жұмыс орнын қосу" - -#~ msgid "Applications" -#~ msgstr "Қолданбалар" - -#~ msgid "Application" -#~ msgstr "Қолданба" - -#~ msgid "Create new matching rule" -#~ msgstr "Жаңа сәйкес келетін ережені жасау" - -#~ msgid "Add" -#~ msgstr "Қосу" - -#~ msgid "Name" -#~ msgstr "Атауы" - -#~ msgid "Attach modal dialog to the parent window" -#~ msgstr "Модальді сұхбаттарды аталық терезесіне жалғау" - -#~ msgid "" -#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell." -#~ msgstr "" -#~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.mutter кілтін үстінен " -#~ "басады." - -#~ msgid "Arrangement of buttons on the titlebar" -#~ msgstr "Атау жолағындағы батырмалар орналасуы" - -#~ msgid "" -#~ "This key overrides the key in org.gnome.desktop.wm.preferences when " -#~ "running GNOME Shell." -#~ msgstr "" -#~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.desktop.wm.preferences " -#~ "кілтін үстінен жазады." - -#~ msgid "Enable edge tiling when dropping windows on screen edges" -#~ msgstr "" -#~ "Терезелерді экран шеттеріне апарған кезде олардың өлшемдерін өзгертуді " -#~ "іске қосу" - -#~ msgid "Workspaces only on primary monitor" -#~ msgstr "Жұмыс орындары тек біріншілік мониторда" - -#~ msgid "Delay focus changes in mouse mode until the pointer stops moving" -#~ msgstr "Тышқан режиміндегі фокусты ауыстыру курсор тоқтағанша дейін кідірту" - -#~ msgid "Thumbnail only" -#~ msgstr "Тек үлгі" - -#~ msgid "Application icon only" -#~ msgstr "Тек қолданба таңбашасы" - -#~ msgid "Thumbnail and application icon" -#~ msgstr "Үлгі және қолданба таңбашасы" - -#~ msgid "Present windows as" -#~ msgstr "Терезелерді қалайша ұсыну" - -#~ msgid "Activities Overview" -#~ msgstr "Шолу көрінісі" - -#~ msgid "Hello, world!" -#~ msgstr "Сәлем, әлем!" - -#~ msgid "Alternative greeting text." -#~ msgstr "Альтернативті сәлемдесу мәтіні." - -#~ msgid "" -#~ "If not empty, it contains the text that will be shown when clicking on " -#~ "the panel." -#~ msgstr "Бос болмаса, панельге шерту кезінде көрсетілетін мәтінді сақтайды." - -#~ msgid "Message" -#~ msgstr "Хабарлама" - -#~ 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 "" -#~ "Бұл мысал Shell үшін тиянақты жұмыс жасайтын кеңейтулерді қалай жасау " -#~ "керек екенін көрсетуге тырысады, сондықтан оның өз мүмкіндіктері аз.\n" -#~ "Сонда да сәлемдесу хабарламасын өзгертуге болады." - -#~ msgid "GNOME Shell Classic" -#~ msgstr "Классикалық GNOME Shell" - -#~ msgid "Window management and application launching" -#~ msgstr "Терезелерді басқару және қолданбаларды жөнелту" +# Kazakh translation for gnome-shell-extensions. +# Copyright (C) 2013 gnome-shell-extensions's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-shell-extensions package. +# Baurzhan Muftakhidinov , 2013-2020. +# +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: 2025-11-05 13:44+0000\n" +"PO-Revision-Date: 2026-01-11 23:01+0500\n" +"Last-Translator: Baurzhan Muftakhidinov \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.8\n" + +#: data/gnome-classic.desktop.in:2 +msgid "GNOME Classic" +msgstr "Классикалық GNOME" + +#: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3 +#: data/gnome-classic-xorg.desktop.in:3 +msgid "This session logs you into GNOME Classic" +msgstr "Бұл сессия арқылы классикалық GNOME ішіне кіресіз" + +#: data/gnome-classic-wayland.desktop.in:2 +msgid "GNOME Classic on Wayland" +msgstr "Wayland негізіндегі классикалық GNOME" + +#: data/gnome-classic-xorg.desktop.in:2 +msgid "GNOME Classic on Xorg" +msgstr "Xorg негізіндегі классикалық GNOME" + +#: extensions/apps-menu/extension.js:118 +msgid "Favorites" +msgstr "Таңдамалылар" + +#: extensions/apps-menu/extension.js:392 +msgid "Apps" +msgstr "Қолданбалар" + +#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12 +msgid "Application and workspace list" +msgstr "Қолданба және жұмыс орындар тізімі" + +#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13 +msgid "" +"A list of strings, each containing an application id (desktop file name), " +"followed by a colon and the workspace number" +msgstr "" +"Жолдар тізімі, әрқайсысы қолданба анықтағышын сақтайды (desktop файлының аты), " +"соңында үтір және жұмыс орнының нөмірі тұрады" + +#: extensions/auto-move-windows/prefs.js:157 +msgid "Workspace Rules" +msgstr "Жұмыс орын ережелері" + +#: extensions/auto-move-windows/prefs.js:312 +msgid "Add Rule" +msgstr "Ережені қосу" + +#. TRANSLATORS: %s is the filesystem name +#: extensions/drive-menu/extension.js:123 +#: extensions/places-menu/placeDisplay.js:186 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "\"%s\" жетегін шығару сәтсіз аяқталды:" + +#: extensions/drive-menu/extension.js:142 +msgid "Removable devices" +msgstr "Алынатын құрылғылар" + +#: extensions/drive-menu/extension.js:164 +msgid "Open Files" +msgstr "Файлдарды ашу" + +#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 +msgid "Use more screen for windows" +msgstr "Терезелер үшін көбірек экранды қолдану" + +#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 +msgid "" +"Try to use more screen for placing window thumbnails by adapting to screen " +"aspect ratio, and consolidating them further to reduce the bounding box. This " +"setting applies only with the natural placement strategy." +msgstr "" +"Терезелер үлгілерін орналастыру кезінде экран жақтарының арақатынасын есепке " +"алып, көбірек экран орнын қолдануға тырысу, және шектеу қоршамын азайту " +"мақсатында оларды әрі қарай да жинастыру. Бұл баптау тек табиғи орналастыру " +"ережесімен іске асады." + +#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17 +msgid "Place window captions on top" +msgstr "Терезелер атауларын жоғарыға орналастыру" + +#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18 +msgid "" +"If true, place window captions on top the respective thumbnail, overriding " +"shell default of placing it at the bottom. Changing this setting requires " +"restarting the shell to have any effect." +msgstr "" +"True болса, терезе атауларын сәйкес келетін үлгінің үстіне орналастыру, үнсіз " +"келісім бойынша астына орналастырудың орнына. Бұл баптау іске асыру үшін " +"қоршамды қайта іске қосу керек." + +#: extensions/places-menu/extension.js:75 extensions/places-menu/extension.js:78 +msgid "Places" +msgstr "Орындар" + +#: extensions/places-menu/placeDisplay.js:52 +#, javascript-format +msgid "Failed to launch “%s”" +msgstr "\"%s\" жөнелту сәтсіз аяқталды" + +#: extensions/places-menu/placeDisplay.js:67 +#, javascript-format +msgid "Failed to mount volume for “%s”" +msgstr "\"%s\" үшін томды тіркеу сәтсіз аяқталды" + +#: extensions/places-menu/placeDisplay.js:315 +msgid "Home" +msgstr "Үй бумасы" + +#: extensions/places-menu/placeDisplay.js:321 +msgid "Recent" +msgstr "Жуырдағы" + +#: extensions/places-menu/placeDisplay.js:327 +msgid "Starred" +msgstr "Жұлдызшаланған" + +#: extensions/places-menu/placeDisplay.js:347 +msgid "Network" +msgstr "Желі" + +#: extensions/places-menu/placeDisplay.js:354 +msgid "Trash" +msgstr "Қоқыс шелегі" + +#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14 +msgid "Cycle Screenshot Sizes" +msgstr "Скриншоттар өлшемдерін ауыстырып көрсету" + +#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18 +msgid "Cycle Screenshot Sizes Backward" +msgstr "Скриншоттар өлшемдерін кері ретпен ауыстырып көрсету" + +#: extensions/system-monitor/extension.js:135 +msgid "CPU stats" +msgstr "Процессор статистикасы" + +#: extensions/system-monitor/extension.js:159 +msgid "Memory stats" +msgstr "Жады статистикасы" + +#: extensions/system-monitor/extension.js:177 +msgid "Swap stats" +msgstr "Своп статистикасы" + +#: extensions/system-monitor/extension.js:336 +msgid "Upload stats" +msgstr "Жүктеп салу статистикасы" + +#: extensions/system-monitor/extension.js:350 +msgid "Download stats" +msgstr "Жүктеп алу статистикасы" + +#: extensions/system-monitor/extension.js:365 +msgid "System stats" +msgstr "Жүйе статистикасы" + +#: extensions/system-monitor/extension.js:413 +msgid "Show" +msgstr "Көрсету" + +#: extensions/system-monitor/extension.js:415 +msgid "CPU" +msgstr "Процессор" + +#: extensions/system-monitor/extension.js:417 +msgid "Memory" +msgstr "Жады" + +#: extensions/system-monitor/extension.js:419 +msgid "Swap" +msgstr "Своп" + +#: extensions/system-monitor/extension.js:421 +msgid "Upload" +msgstr "Жүктеп салу" + +#: extensions/system-monitor/extension.js:423 +msgid "Download" +msgstr "Жүктеп алу" + +#: extensions/system-monitor/extension.js:428 +msgid "Open System Monitor" +msgstr "Жүйелік бақылаушысын ашу" + +#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12 +msgid "Show CPU usage" +msgstr "Процессор қолданылуын көрсету" + +#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16 +msgid "Show memory usage" +msgstr "Жады пайдалануын көрсету" + +#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20 +msgid "Show swap usage" +msgstr "Своп пайдалануын көрсету" + +#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24 +msgid "Show upload" +msgstr "Жүктеп салуды көрсету" + +#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28 +msgid "Show download" +msgstr "Жүктеп алуды көрсету" + +#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11 +msgid "Theme name" +msgstr "Тема атауы" + +#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12 +msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" +msgstr "Тема атауы, ~/.themes/name/gnome-shell ішінен алынады" + +#: extensions/window-list/extension.js:98 +msgid "Close" +msgstr "Жабу" + +#: extensions/window-list/extension.js:125 +msgid "Unminimize" +msgstr "Қайырылған емес қылу" + +#: extensions/window-list/extension.js:125 +msgid "Minimize" +msgstr "Қайыру" + +#: extensions/window-list/extension.js:130 +msgid "Unmaximize" +msgstr "Жазық емес қылу" + +#: extensions/window-list/extension.js:130 +msgid "Maximize" +msgstr "Жазық қылу" + +#: extensions/window-list/extension.js:720 +msgid "Minimize all" +msgstr "Барлығын қайыру" + +#: extensions/window-list/extension.js:726 +msgid "Unminimize all" +msgstr "Барлығын қайырылған емес қылу" + +#: extensions/window-list/extension.js:732 +msgid "Maximize all" +msgstr "Барлығын жазық қылу" + +#: extensions/window-list/extension.js:740 +msgid "Unmaximize all" +msgstr "Барлығын жазық емес қылу" + +#: extensions/window-list/extension.js:748 +msgid "Close all" +msgstr "Барлығын жабу" + +#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23 +msgid "Window List" +msgstr "Терезелер тізімі" + +#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18 +msgid "When to group windows" +msgstr "Терезелерді қашан топтау керек" + +#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19 +msgid "" +"Decides when to group windows from the same application on the window list. " +"Possible values are “never”, “auto” and “always”." +msgstr "" +"Терезелер тізімінде бір қолданбаның терезелерін қашан топтау керек екенін " +"сипаттайды. Мүмкін мәндері: \"never\", \"auto\" және \"always\"." + +#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 +#: extensions/window-list/prefs.js:74 +msgid "Show windows from all workspaces" +msgstr "Барлық жұмыс орнындарынан терезелерді көрсету" + +#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 +msgid "Whether to show windows from all workspaces or only the current one." +msgstr "" +"Ашық терезелерді тек барлық жұмыс орындарынан ба, әлде тек ағымдағысынан ба " +"көрсету керек." + +#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33 +msgid "Show the window list on all monitors" +msgstr "Терезелер тізімін барлық мониторларда көрсету" + +#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34 +msgid "" +"Whether to show the window list on all connected monitors or only on the " +"primary one." +msgstr "" +"Терезелер тізімін барлық жалғанған мониторларда, немесе тек біріншілік " +"мониторда көрсету керек пе." + +#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41 +msgid "Show workspace previews in window list" +msgstr "Жұмыс орындарын алдын ала қарауды терезелер тізімінде көрсету" + +#: extensions/window-list/prefs.js:41 +msgid "Window Grouping" +msgstr "Терезелерді топтау" + +#: extensions/window-list/prefs.js:46 +msgid "Never group windows" +msgstr "Терезелерді ешқашан топтамау" + +#: extensions/window-list/prefs.js:47 +msgid "Group windows when space is limited" +msgstr "Терезелерді орын шектелген кезде топтау" + +#: extensions/window-list/prefs.js:48 +msgid "Always group windows" +msgstr "Терезелерді әрқашан топтау" + +#: extensions/window-list/prefs.js:68 +msgid "Show on all monitors" +msgstr "Барлық мониторларда көрсету" + +#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12 +msgid "Show workspace previews in top bar" +msgstr "Жұмыс орындарын алдын ала қарауды жоғарғы панельде көрсету" + +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "Түзету үшін %s басыңыз" + +#: extensions/workspace-indicator/workspaceIndicator.js:518 +msgid "Settings" +msgstr "Баптаулар" + +#: extensions/workspace-indicator/workspaceIndicator.js:598 +msgid "Workspace Indicator" +msgstr "Жұмыс орын индикаторы" + +#: extensions/workspace-indicator/workspacePrefs.js:20 +msgid "Indicator" +msgstr "Индикатор" + +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "Алдын ала қараулар" + +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" +msgstr "Жұмыс орнының атауы" + +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "Мінез-құлқы" + +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "Динамикалық" + +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "Бос жұмыс орындарын автоматты түрде өшіреді." + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Бекітілген саны" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "Тұрақты жұмыс орындарының санын көрсетіңіз." + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "Жұмыс орындарының саны" + +#: extensions/workspace-indicator/workspacePrefs.js:128 +msgid "Workspaces" +msgstr "Жұмыс орындары" + +#~ msgid "Computer" +#~ msgstr "Компьютер" + +#~ msgid "Applications" +#~ msgstr "Қолданбалар" + +#~ msgid "Application" +#~ msgstr "Қолданба" + +#~ msgid "Create new matching rule" +#~ msgstr "Жаңа сәйкес келетін ережені жасау" + +#~ msgid "Add" +#~ msgstr "Қосу" + +#~ msgid "Name" +#~ msgstr "Атауы" + +#~ msgid "Attach modal dialog to the parent window" +#~ msgstr "Модальді сұхбаттарды аталық терезесіне жалғау" + +#~ msgid "" +#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell." +#~ msgstr "" +#~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.mutter кілтін үстінен басады." + +#~ msgid "Arrangement of buttons on the titlebar" +#~ msgstr "Атау жолағындағы батырмалар орналасуы" + +#~ msgid "" +#~ "This key overrides the key in org.gnome.desktop.wm.preferences when running " +#~ "GNOME Shell." +#~ msgstr "" +#~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.desktop.wm.preferences " +#~ "кілтін үстінен жазады." + +#~ msgid "Enable edge tiling when dropping windows on screen edges" +#~ msgstr "" +#~ "Терезелерді экран шеттеріне апарған кезде олардың өлшемдерін өзгертуді іске " +#~ "қосу" + +#~ msgid "Workspaces only on primary monitor" +#~ msgstr "Жұмыс орындары тек біріншілік мониторда" + +#~ msgid "Delay focus changes in mouse mode until the pointer stops moving" +#~ msgstr "Тышқан режиміндегі фокусты ауыстыру курсор тоқтағанша дейін кідірту" + +#~ msgid "Thumbnail only" +#~ msgstr "Тек үлгі" + +#~ msgid "Application icon only" +#~ msgstr "Тек қолданба таңбашасы" + +#~ msgid "Thumbnail and application icon" +#~ msgstr "Үлгі және қолданба таңбашасы" + +#~ msgid "Present windows as" +#~ msgstr "Терезелерді қалайша ұсыну" + +#~ msgid "Activities Overview" +#~ msgstr "Шолу көрінісі" + +#~ msgid "Hello, world!" +#~ msgstr "Сәлем, әлем!" + +#~ msgid "Alternative greeting text." +#~ msgstr "Альтернативті сәлемдесу мәтіні." + +#~ msgid "" +#~ "If not empty, it contains the text that will be shown when clicking on the " +#~ "panel." +#~ msgstr "Бос болмаса, панельге шерту кезінде көрсетілетін мәтінді сақтайды." + +#~ msgid "Message" +#~ msgstr "Хабарлама" + +#~ 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 "" +#~ "Бұл мысал Shell үшін тиянақты жұмыс жасайтын кеңейтулерді қалай жасау керек " +#~ "екенін көрсетуге тырысады, сондықтан оның өз мүмкіндіктері аз.\n" +#~ "Сонда да сәлемдесу хабарламасын өзгертуге болады." + +#~ msgid "GNOME Shell Classic" +#~ msgstr "Классикалық GNOME Shell" + +#~ msgid "Window management and application launching" +#~ msgstr "Терезелерді басқару және қолданбаларды жөнелту" From 2466e352a5bf62bd3b63d1cdafc1c68251092dc9 Mon Sep 17 00:00:00 2001 From: Ibai Oihanguren Sala Date: Sun, 11 Jan 2026 20:01:00 +0000 Subject: [PATCH 25/27] Update Basque translation --- po/eu.po | 74 +++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 27 deletions(-) diff --git a/po/eu.po b/po/eu.po index cbf93cda..262d03e0 100644 --- a/po/eu.po +++ b/po/eu.po @@ -5,21 +5,31 @@ # assar , 2011. # Iñaki Larrañaga Murgoitio , 2011, 2013, 2015, 2017. # Edurne Labaka , 2015. -# Asier Saratsua Garmendia , 2019, 2020, 2021, 2024, 2025. +# Asier Sarasua Garmendia , 2019, 2020, 2021, 2024. +# Ibai Oihanguren Sala , 2026. # 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: 2025-12-10 17:57+0000\n" -"PO-Revision-Date: 2025-12-18 00:42+0200\n" -"Last-Translator: Asier Saratsua Garmendia \n" -"Language-Team: Basque \n" +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: 2025-11-05 13:44+0000\n" +"PO-Revision-Date: 2026-01-11 20:54+0100\n" +"Last-Translator: Ibai Oihanguren Sala \n" +"Language-Team: Basque\n" "Language: eu\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-Project-Style: gnome\n" +"X-DL-VCS-Web: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/\n" +"X-DL-Lang: eu\n" +"X-DL-Module: gnome-shell-extensions\n" +"X-DL-Branch: main\n" +"X-DL-Domain: po\n" +"X-DL-State: None\n" +"X-Generator: Gtranslator 49.0\n" #: data/gnome-classic.desktop.in:2 msgid "GNOME Classic" @@ -54,13 +64,15 @@ msgstr "Aplikazioen eta laneko areen zerrenda" msgid "" "A list of strings, each containing an application id (desktop file name), " "followed by a colon and the workspace number" -msgstr "Kateen zerrenda bat, bakoitzak aplikazio-ID bat duena (mahaigainaren fitxategi-izena) eta jarraian bi puntu eta laneko arearen zenbakia dituena" +msgstr "" +"Kateen zerrenda bat, bakoitzak aplikazio-ID bat duena (mahaigainaren " +"fitxategi-izena) eta jarraian bi puntu eta laneko arearen zenbakia dituena" -#: extensions/auto-move-windows/prefs.js:156 +#: extensions/auto-move-windows/prefs.js:157 msgid "Workspace Rules" msgstr "Laneko areen arauak" -#: extensions/auto-move-windows/prefs.js:311 +#: extensions/auto-move-windows/prefs.js:312 msgid "Add Rule" msgstr "Gehitu araua" @@ -88,7 +100,11 @@ msgid "" "Try to use more screen for placing window thumbnails by adapting to screen " "aspect ratio, and consolidating them further to reduce the bounding box. " "This setting applies only with the natural placement strategy." -msgstr "Saiatu pantaila gehiago erabiltzen leihoen koadro txikiak kokatzeko pantailaren aspektu-erlaziora egokituz, eta haiek taldekatu muga-koadroa txikiagotzeko. Ezarpen hau kokapen naturalaren estrategiarekin soilik aplikatzen da." +msgstr "" +"Saiatu pantaila gehiago erabiltzen leihoen koadro txikiak kokatzeko " +"pantailaren aspektu-erlaziora egokituz, eta haiek taldekatu muga-koadroa " +"txikiagotzeko. Ezarpen hau kokapen naturalaren estrategiarekin soilik " +"aplikatzen da." #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17 msgid "Place window captions on top" @@ -99,7 +115,10 @@ msgid "" "If true, place window captions on top the respective thumbnail, overriding " "shell default of placing it at the bottom. Changing this setting requires " "restarting the shell to have any effect." -msgstr "TRUE (egia) bada, leihoen epigrafeak dagokien koadro txikien gainean jarriko ditu, Shell-aren lehenespena (behean jartzearena) gainidatziz. Ezarpen hau aldatzeko eta aplikatzeko Shell berrabiarazi behar da." +msgstr "" +"TRUE (egia) bada, leihoen epigrafeak dagokien koadro txikien gainean jarriko " +"ditu, Shell-aren lehenespena (behean jartzearena) gainidatziz. Ezarpen hau " +"aldatzeko eta aplikatzeko Shell berrabiarazi behar da." #: extensions/places-menu/extension.js:75 #: extensions/places-menu/extension.js:78 @@ -122,14 +141,13 @@ msgstr "Karpeta nagusia" #: extensions/places-menu/placeDisplay.js:321 msgid "Recent" -msgstr "Oraintsukoa" +msgstr "Azken aldikoa" #: extensions/places-menu/placeDisplay.js:327 msgid "Starred" -msgstr "Izarduna" +msgstr "Izardunak" #: extensions/places-menu/placeDisplay.js:347 -#| msgid "Browse Network" msgid "Network" msgstr "Sarea" @@ -277,7 +295,10 @@ msgstr "Noiz elkartu leihoak" msgid "" "Decides when to group windows from the same application on the window list. " "Possible values are “never”, “auto” and “always”." -msgstr "Aplikazio bereko leihoak leihoen zerrendan noiz elkartuko diren erabakitzen du. Balio erabilgarriak: “never“ (inoiz ere ez), “auto“ (automatikoa) eta “always“ (beti)." +msgstr "" +"Aplikazio bereko leihoak leihoen zerrendan noiz elkartuko diren erabakitzen " +"du. Balio erabilgarriak: “never“ (inoiz ere ez), “auto“ (automatikoa) eta " +"“always“ (beti)." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 #: extensions/window-list/prefs.js:74 @@ -286,7 +307,8 @@ msgstr "Erakutsi laneko area guztietako leihoak" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 msgid "Whether to show windows from all workspaces or only the current one." -msgstr "Laneko area guztietako leihoak edo uneko areakoak soilik erakutsiko diren." +msgstr "" +"Laneko area guztietako leihoak edo uneko areakoak soilik erakutsiko diren." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33 msgid "Show the window list on all monitors" @@ -296,7 +318,9 @@ msgstr "Erakutsi leihoen zerrenda pantaila guztietan" msgid "" "Whether to show the window list on all connected monitors or only on the " "primary one." -msgstr "Leihoen zerrenda konektatutako pantaila guztietan edo soilik pantaila nagusian erakutsiko den." +msgstr "" +"Leihoen zerrenda konektatutako pantaila guztietan edo soilik pantaila " +"nagusian erakutsiko den." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41 msgid "Show workspace previews in window list" @@ -340,7 +364,6 @@ msgid "Workspace Indicator" msgstr "Laneko arearen adierazlea" #: extensions/workspace-indicator/workspacePrefs.js:20 -#| msgid "Workspace Indicator" msgid "Indicator" msgstr "Adierazlea" @@ -349,9 +372,8 @@ msgid "Previews" msgstr "Aurrebistak" #: extensions/workspace-indicator/workspacePrefs.js:35 -#| msgid "Workspace Names" msgid "Workspace Name" -msgstr "Laneko arearen izenak" +msgstr "Laneko arearen izena" #: extensions/workspace-indicator/workspacePrefs.js:59 msgid "Behavior" @@ -363,23 +385,21 @@ msgstr "Dinamikoa" #: extensions/workspace-indicator/workspacePrefs.js:65 msgid "Automatically removes empty workspaces." -msgstr "Automatikoki kentzen ditu hutsik dauden laneko areak." +msgstr "Automatikoki kentzen ditu laneko area hutsak." #: extensions/workspace-indicator/workspacePrefs.js:75 msgid "Fixed Number" -msgstr "Zenbaki finkoa" +msgstr "Kopuru finkoa" #: extensions/workspace-indicator/workspacePrefs.js:76 msgid "Specify a number of permanent workspaces." -msgstr "Zehaztu laneko areen kopurua." +msgstr "Zehaztu laneko area iraunkorren kopurua." #: extensions/workspace-indicator/workspacePrefs.js:89 -#| msgid "Add Workspace" msgid "Number of Workspaces" -msgstr "Laneko areen kopurua" +msgstr "Laneko area kopurua" #: extensions/workspace-indicator/workspacePrefs.js:128 -#| msgid "Workspace %d" msgid "Workspaces" msgstr "Laneko areak" From 1b2bf601e1e0270a97a14ac0a5c9da7d6fb1ec50 Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Tue, 23 Dec 2025 09:23:04 +0200 Subject: [PATCH 26/27] Update POTFILES.in Followup to 377467876db47fc3304575215c858026978534ec Part-of: --- po/POTFILES.in | 2 -- 1 file changed, 2 deletions(-) diff --git a/po/POTFILES.in b/po/POTFILES.in index ce3ceb2d..0ec1de5e 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,6 +1,4 @@ data/gnome-classic.desktop.in -data/gnome-classic-wayland.desktop.in -data/gnome-classic-xorg.desktop.in extensions/apps-menu/extension.js extensions/auto-move-windows/extension.js extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml From 6cadcd0674059ba6266a6d28fb910c7ff258996b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 14 Jan 2026 13:34:56 +0100 Subject: [PATCH 27/27] Bump version to 50.alpha Update NEWS. --- NEWS | 15 +++++++++++++++ meson.build | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 8ccea8e3..67f9a050 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,18 @@ +50.alpha +======== +* classic: Drop xorg sessions [Jordan; !283] +* classic: Deifne a gnome-session session [Adrian; !3960] +* Misc. bug fixes and cleanups [Florian, Jordan; !425, !429, !430, !432, !431, + !433, !434, !435, !439] + +Contributors: + Florian Müllner, Jordan Petridis, Adrian Vovk + +Translators: + BoF ButterflyOfFire [kab], Giannis Antypas [el], + Asier Saratsua Garmendia [eu], Hugo Carvalho [pt], twlvnn kraftwerk [bg], + Baurzhan Muftakhidinov [kk], Ibai Oihanguren Sala [eu] + 49.0 ==== * window-list: Adjust to gnome-shell changes [Florian; !421] diff --git a/meson.build b/meson.build index d905c049..14963ca6 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,7 @@ project( 'gnome-shell-extensions', - version: '49.0', + version: '50.alpha', meson_version: '>= 1.1.0', license: 'GPL-2.0-or-later', )