diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7b1a15f4..8c66a0ff 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: rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_COMMIT_TAG' @@ -38,15 +38,14 @@ variables: - if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/' - when: 'manual' -.prereview_req: &prereview_req +.prereview-req: needs: - - check_commit_log - - check-merge-request + - check-commit-log -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 @@ -54,7 +53,8 @@ check_commit_log: else echo "Not a merge request" ; fi - <<: *pipeline_guard + rules: + - !reference [.pipeline-guard, rules] artifacts: expire_in: 1 week paths: @@ -62,42 +62,25 @@ 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 - <<: *pipeline_guard - artifacts: - expire_in: 1 week - paths: - - check-merge-request-report.xml - reports: - 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 + 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: @@ -106,9 +89,10 @@ eslint: reports: junit: "$LINT_LOG" -potfile_js_check: +potfile-js-check: stage: review - <<: *prereview_req + needs: + - !reference [.prereview-req, needs] script: - gjs-check-potfiles artifacts: @@ -117,7 +101,8 @@ potfile_js_check: build-bundles: stage: build - <<: *prereview_req + needs: + - !reference [.prereview-req, needs] script: - ./export-zips.sh artifacts: @@ -137,7 +122,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" 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/REUSE.toml b/REUSE.toml index 6385d86b..768f7a7d 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -8,13 +8,20 @@ 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]] -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/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/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 ea846e94..a4fab5d7 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 @@ -57,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/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js index 7258fe33..29344b8a 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; } @@ -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() { @@ -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,12 +452,12 @@ 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; + return Clutter.EVENT_STOP; } return super._onMenuKeyPress(actor, event); } @@ -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/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 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..8e195366 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); }); @@ -267,7 +267,7 @@ export class PlacesManager extends EventEmitter { GLib.PRIORITY_DEFAULT, 100, () => { this._bookmarkTimeoutId = 0; this._reloadBookmarks(); - return false; + return GLib.SOURCE_REMOVE; }); }); @@ -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..dad85d54 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,15 +1468,15 @@ 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()); this._dndWindow = null; this._dndTimeoutId = 0; - return false; + return GLib.SOURCE_REMOVE; } _onDestroy() { @@ -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..e4c1a34c 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(); } @@ -210,9 +210,9 @@ export default class Extension { return function (actor, event) { const {ControlsState} = OverviewControls; if (this._overviewAdjustment.value !== ControlsState.WINDOW_PICKER) - return false; + return Clutter.EVENT_PROPAGATE; - 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) && @@ -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,17 +256,17 @@ export default class Extension { if (c > 9 || c <= 0) { this._hideTooltips(); log(c); - return false; + return Clutter.EVENT_PROPAGATE; } } - let win = this._workspaces[this._active].getWindowWithTooltip(c); + const win = this._workspaces[this._active].getWindowWithTooltip(c); this._hideTooltips(); 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,18 +274,18 @@ 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; } } - let workspace = this._workspaces[c - 1]; + const workspace = this._workspaces[c - 1]; if (workspace !== undefined) workspace.metaWorkspace.activate(global.get_current_time()); this._hideWorkspacesTooltips(); - return true; + return Clutter.EVENT_STOP; } - return false; + return Clutter.EVENT_PROPAGATE; }; /* eslint-enable */ }); diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js index b2e79508..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()); } @@ -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; }, }); } @@ -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, diff --git a/meson.build b/meson.build index fa7b722f..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', ) @@ -23,16 +23,20 @@ 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') +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] uuid_suffix = '@gnome-shell-extensions.gcampax.github.com' -have_x11 = get_option('x11') - classic_extensions = [ 'apps-menu', 'places-menu', @@ -88,12 +92,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.' -) 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 diff --git a/po/bg.po b/po/bg.po index dbb1e4c0..d2fd7acc 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:41+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 "Програми" 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 "Σύστημα αρχείων" diff --git a/po/eu.po b/po/eu.po index fda7c6e4..262d03e0 100644 --- a/po/eu.po +++ b/po/eu.po @@ -6,43 +6,53 @@ # Iñaki Larrañaga Murgoitio , 2011, 2013, 2015, 2017. # Edurne Labaka , 2015. # 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: 2024-04-29 15:27+0000\n" -"PO-Revision-Date: 2024-08-25 00:42+0200\n" -"Last-Translator: Asier Sarasua 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: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" @@ -54,19 +64,21 @@ 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:159 +#: extensions/auto-move-windows/prefs.js:157 msgid "Workspace Rules" msgstr "Laneko areen arauak" -#: extensions/auto-move-windows/prefs.js:314 +#: extensions/auto-move-windows/prefs.js:312 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:" @@ -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,35 +115,45 @@ 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: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 "Azken aldikoa" + +#: extensions/places-menu/placeDisplay.js:327 +msgid "Starred" +msgstr "Izardunak" + +#: extensions/places-menu/placeDisplay.js:347 +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 +183,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 +243,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" @@ -269,16 +295,20 @@ 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:79 +#: extensions/window-list/prefs.js:74 msgid "Show windows from all workspaces" 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" @@ -288,61 +318,100 @@ 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" 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 "Indicator" +msgstr "Adierazlea" + +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "Aurrebistak" + +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" +msgstr "Laneko arearen izena" + +#: 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 laneko area hutsak." + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Kopuru finkoa" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "Zehaztu laneko area iraunkorren kopurua." + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "Laneko area kopurua" + +#: extensions/workspace-indicator/workspacePrefs.js:128 +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" 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" 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 "Терезелерді басқару және қолданбаларды жөнелту" 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" 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, diff --git a/tools/package-lock.json b/tools/package-lock.json index 25e08d2d..d0a803a2 100644 Binary files a/tools/package-lock.json and b/tools/package-lock.json differ diff --git a/tools/package.json b/tools/package.json index 440df771..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", - "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#f94b653606476d151439793ab8a8a93aa4a146de", + "eslint-config-gnome": "git+https://gitlab.gnome.org/World/javascript/eslint-config-gnome.git#c479d059e8d9ea99c3b53c2ea43abf7fdb05eb51", + "eslint-formatter-junit": "^9.0.1" } } 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 -- "$@"