Compare commits

..

36 Commits

Author SHA1 Message Date
Florian Müllner 6cadcd0674 Bump version to 50.alpha
Update NEWS.
2026-01-14 13:34:56 +01:00
Jordan Petridis 1b2bf601e1 Update POTFILES.in
Followup to 377467876d

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/439>
2026-01-12 11:59:52 +00:00
Ibai Oihanguren Sala 2466e352a5 Update Basque translation 2026-01-11 20:01:00 +00:00
Baurzhan Muftakhidinov 7c455cb548 Update Kazakh translation 2026-01-11 18:03:09 +00:00
twlvnn kraftwerk 8f3baad61e Update Bulgarian translation 2026-01-01 16:42:48 +00:00
twlvnn kraftwerk 59bb24ce2d Update Bulgarian translation 2026-01-01 16:31:17 +00:00
twlvnn kraftwerk fe11a0d8b9 Update Bulgarian translation 2026-01-01 15:59:05 +00:00
twlvnn kraftwerk 467487c0cf Update Bulgarian translation 2026-01-01 15:56:22 +00:00
Hugo Carvalho 43198efbc2 Update Portuguese translation 2025-12-30 23:19:48 +00:00
Asier Saratsua Garmendia 69c52fc031 Update Basque translation
(cherry picked from commit 58f6e6f048b980225c7922d9724d78366cfb1e58)
2025-12-18 08:51:32 +00:00
Adrian Vovk 2df8fc4fb2 gnome-classic: Define a gnome-session session
For one, this is simply more correct: the gnome-classic session is a
different session from the default gnome session. So let's define it as
such

For two, this enables us to directly tell gnome-shell which shell mode
to use, rather than passing it through an environment variable. In other
words, this enables us to integrate with
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3960
2025-12-16 15:44:02 -05:00
Giannis Antypas bfa3e52c6e Update Greek translation 2025-11-09 01:49:08 +00:00
Jordan Petridis 377467876d gnome-classic: Drop xorg sessions
Remove the xorg .desktop file sessions, and also the separate
-wayland desktop file since we will only have a single Session
now that will be a Wayland session.

Mirror of the changes in gnome-session [1]

[1]: https://gitlab.gnome.org/GNOME/gnome-session/-/merge_requests/98

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/283>
2025-11-05 14:47:26 +01:00
Florian Müllner d80ae21740 js: Always use EVENT_STOP/EVENT_PROPAGATE in event handlers
The constants are more self-explanatory (and therefore readable)
than plain true/false.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/435>
2025-11-02 20:03:06 +01:00
Florian Müllner 30347ea701 js: Always use SOURCE_CONTINUE/SOURCE_REMOVE in source functions
The constants are more self-explanatory (and therefore readable)
than plain true/false.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/435>
2025-11-02 19:53:44 +01:00
Florian Müllner 14e847102f auto-move-windows: Use correct namespace for DesktopAppInfo
The type is platform-specific, so use the correct GioUnix namespace.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/434>
2025-10-30 15:17:11 +01:00
Florian Müllner c0df345bea tools: Update ci-run-eslint
We are currently still using eslint 8.x which has been unsupported
for quite a while. Update the ci-run-eslint script to a version
that uses the supported eslint 9.x.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/433>
2025-10-28 22:18:39 +01:00
Florian Müllner 9ae6d55e0d tools: Symlink node_modules in project root
NPM assumes quite strongly that it manages the project as a
whole and its package/lock files are located in the project
root.

While we somehow managed to keep the npm tooling in a subfolder,
this comes at the cost of breaking imports of additional modules.

This will become relevant when we update eslint to a supported
version, as we want to keep using the `junit` formatter in CI,
which has now been split out into a separate module.

So bite the bullet and make the node_modules folder available in
the project root.

On the plus side, having the node_modules folder in the project
root allows language servers in IDEs/editors to pick it up.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/431>
2025-10-28 21:45:07 +01:00
Florian Müllner a8b5705274 tools: Pin git node modules
Both changes in the config (like new/changes rules) and the eslint wrapper
(like updating to eslint 9.x) could require changes here, and therefore
require a conscious update rather than randomly breaking the CI.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/431>
2025-10-28 21:45:07 +01:00
Florian Müllner 93eac46b1d lint: Enable 'prefer-const' rule
Now that all code conforms with the rule, we can enforce it to make
sure we stick to it with new code.

Relax the rule for destructuring, so we don't have to jump through
hoops to avoid "mixed" assignments.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/432>
2025-10-26 15:09:30 +00:00
Florian Müllner 57b7f526df js: Use const declarations where possible
It is useful to indicate clearly that a value is read-only, and
we have already been doing so for new code for a long time. But
in order to actually enforce this, we have to adjust all existing
code.

Luckily the change is trivial enough to do (thanks to `eslint --fix`),
so do it now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/432>
2025-10-26 15:09:30 +00:00
Florian Müllner ef285ea96b ci: Drop check-merge-request job
The job is broken due to permission changes in GitLab, and it seems what
is checked for is now the default, making the job less useful, thus drop
it.

Related: https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/81
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/430>
2025-10-25 12:15:35 +02:00
Florian Müllner f6ed0ef74b ci: Use !reference tag for pipeline/prereview guards
It's a bit more flexible than yaml anchors, and already used in
mutter and gnome-shell for the same purpose.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/430>
2025-10-25 12:13:24 +02:00
Florian Müllner 40068b2359 ci: Consistently use dashes in job/stage names
We currently have a mix of dashes and underscores, with the former
being predominantly used by newer jobs, so settle on that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/430>
2025-10-25 12:11:43 +02:00
Florian Müllner 4f7b9de4a2 workspace-indicator: Use visible property to control edit mode
Using a 0 opacity and making the inactive actor non-reactive works,
but is less obvious than properly hiding it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/429>
2025-10-20 14:48:35 +02:00
Florian Müllner 9ce153437c reuse: Replace multi-line string with string list
The latest version of the reuse tool no longer supports multi-line
strings, so use a string list instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/425>
2025-10-15 00:43:37 +02:00
BoF ButterflyOfFire 0bfbd6738e Update Kabyle translation 2025-09-16 17:52:19 +00:00
Florian Müllner 437c61ac13 Bump version to 49.0
Update NEWS.
2025-09-14 22:07:46 +02:00
Antoine Jacoutot 027e8c1674 system-monitor: Unbreak runtime on (at least) BSD
Calling glibtop_init is not optional on BSD[0], and not doing so will
crash gnome-shell with:

  glibtop(c=57582): [ERROR] glibtop_get_swap: Function not implemented
  gnome-session-binary[34511]: WARNING: Application 'org.gnome.Shell.desktop' killed by signal 6

[0]: https://gitlab.gnome.org/GNOME/libgtop/-/issues/44

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/356>
2025-09-14 21:43:25 +02:00
Aurimas Aurimas Černius d03a2a49f1 Update Lithuanian translation 2025-09-13 18:23:24 +00:00
Jiri Grönroos 595a73e171 Update Finnish translation 2025-09-11 16:55:08 +00:00
Florian Müllner 229d39701a workspace-indicator: Ignore 'e' press when already in edit mode
While events should already be consumed by the entry while editing,
it does not hurt to be explicit, so only process 'e' to enter edit
mode while not already in edit mode.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/423>
2025-09-11 04:06:44 +02:00
Florian Müllner e9153db954 workspace-indicator: Add missing return value to event handler
Event handlers are expected to return a boolean to indicate whether
the event should be stopped or propagated further. Omitting the
return value effectively means returning a random value, which can
lead to unexpected behavior.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/423>
2025-09-10 19:48:25 +02:00
Florian Müllner 6d45688dc7 ci: Publish releases on extensions website
Use the new `gnome-extensions upload` command to publish the
generated bundles to the extension website when run in a tag
pipeline.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/422>
2025-09-10 19:37:00 +02:00
Florian Müllner 327bcbae42 ci: Bump js image
gnome-shell switched to F43 for its JS image, follow suit.

Notably the image contains the `gnome-extensions upload` command,
which will allow us to automate publishing releases to the extensions
website.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/422>
2025-09-10 19:36:26 +02:00
Florian Müllner a3dce37094 window-list: Adjust to renamed gesture
The action to bring up the OSK is now gesture-based, and was therefore
renamed.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/576
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/421>
2025-09-08 14:18:22 +02:00
39 changed files with 1531 additions and 1211 deletions
+31 -36
View File
@@ -16,21 +16,21 @@ include:
tarball-artifact-path: "$TARBALL_ARTIFACT_PATH" tarball-artifact-path: "$TARBALL_ARTIFACT_PATH"
stages: stages:
- pre_review - pre-review
- prepare - prepare
- review - review
- build - build
- deploy - deploy
default: default:
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/41:2024-10-18.0 image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/43:2025-09-10.1
variables: variables:
FDO_UPSTREAM_REPO: GNOME/gnome-shell-extensions FDO_UPSTREAM_REPO: GNOME/gnome-shell-extensions
MESON_BUILD_DIR: build MESON_BUILD_DIR: build
TARBALL_ARTIFACT_PATH: "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz" TARBALL_ARTIFACT_PATH: "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
.pipeline_guard: &pipeline_guard .pipeline-guard:
rules: rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_TAG' - if: '$CI_COMMIT_TAG'
@@ -38,15 +38,14 @@ variables:
- if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/' - if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/'
- when: 'manual' - when: 'manual'
.prereview_req: &prereview_req .prereview-req:
needs: needs:
- check_commit_log - check-commit-log
- check-merge-request
check_commit_log: check-commit-log:
extends: extends:
- .fdo.ci-fairy - .fdo.ci-fairy
stage: pre_review stage: pre-review
script: script:
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ; - if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
then then
@@ -54,7 +53,8 @@ check_commit_log:
else else
echo "Not a merge request" ; echo "Not a merge request" ;
fi fi
<<: *pipeline_guard rules:
- !reference [.pipeline-guard, rules]
artifacts: artifacts:
expire_in: 1 week expire_in: 1 week
paths: paths:
@@ -62,42 +62,25 @@ check_commit_log:
reports: reports:
junit: commit-message-junit-report.xml 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: check-reuse:
stage: pre_review stage: pre-review
image: image:
name: fsfe/reuse:latest name: fsfe/reuse:latest
entrypoint: [""] entrypoint: [""]
script: script:
- reuse lint - reuse lint
js_check: js-check:
stage: review stage: review
<<: *prereview_req needs:
- !reference [.prereview-req, needs]
script: script:
- gjs-check-syntax - gjs-check-syntax
eslint: eslint:
stage: review stage: review
<<: *prereview_req needs:
- !reference [.prereview-req, needs]
variables: variables:
LINT_LOG: "eslint-report.xml" LINT_LOG: "eslint-report.xml"
script: script:
@@ -106,9 +89,10 @@ eslint:
reports: reports:
junit: "$LINT_LOG" junit: "$LINT_LOG"
potfile_js_check: potfile-js-check:
stage: review stage: review
<<: *prereview_req needs:
- !reference [.prereview-req, needs]
script: script:
- gjs-check-potfiles - gjs-check-potfiles
artifacts: artifacts:
@@ -117,7 +101,8 @@ potfile_js_check:
build-bundles: build-bundles:
stage: build stage: build
<<: *prereview_req needs:
- !reference [.prereview-req, needs]
script: script:
- ./export-zips.sh - ./export-zips.sh
artifacts: artifacts:
@@ -126,9 +111,19 @@ build-bundles:
paths: paths:
- zip-files/ - zip-files/
dist-bundles:
stage: deploy
needs:
- build-bundles
script:
- gnome-extensions upload --accept-tos --user "$EGO_USER" --password "$EGO_PASSWORD" zip-files/*.zip
rules:
- if: '$CI_COMMIT_TAG'
fedora-build: fedora-build:
stage: build stage: build
<<: *prereview_req needs:
- !reference [.prereview-req, needs]
script: script:
- meson setup "$MESON_BUILD_DIR" --werror -Dextension_set=all -Dclassic_mode=true - meson setup "$MESON_BUILD_DIR" --werror -Dextension_set=all -Dclassic_mode=true
- meson compile -C "$MESON_BUILD_DIR" - meson compile -C "$MESON_BUILD_DIR"
+27
View File
@@ -1,3 +1,30 @@
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]
* system-monitor: Unbreak on BSD [Antoine; !356]
* Misc. bug fixes and cleanups [Florian; !422, !423]
Contributors:
Antoine Jacoutot, Florian Müllner
Translators:
Jiri Grönroos [fi], Aurimas Aurimas Černius [lt]
49.rc 49.rc
===== =====
+11 -4
View File
@@ -8,13 +8,20 @@ SPDX-PackageDownloadLocation = "https://gitlab.gnome.org/GNOME/gnome-shell-exten
[[annotations]] [[annotations]]
path = "NEWS" path = "NEWS"
SPDX-FileCopyrightText = """ SPDX-FileCopyrightText = [
2011 Giovanni Campagna <gcampagna@src.gnome.org> "2011 Giovanni Campagna <gcampagna@src.gnome.org>",
2013 Florian Müllner <fmuellner@gnome.org>""" "2013 Florian Müllner <fmuellner@gnome.org>"
]
SPDX-License-Identifier = "CC-BY-SA-4.0" SPDX-License-Identifier = "CC-BY-SA-4.0"
[[annotations]] [[annotations]]
path = ["**.json.in", "**.desktop.in", "**.gschema.override"] path = [
"**.json.in",
"**.desktop.in",
"**.gschema.override",
"**.session",
"**.session.conf",
]
SPDX-FileCopyrightText = "Florian Müllner <fmuellner@gnome.org>" SPDX-FileCopyrightText = "Florian Müllner <fmuellner@gnome.org>"
SPDX-License-Identifier = "GPL-2.0-or-later" SPDX-License-Identifier = "GPL-2.0-or-later"
-24
View File
@@ -1,24 +0,0 @@
#!/usr/bin/env python3
# SPDX-FileCopyrightText: 2021 Neal Gompa <ngompa@fedoraproject.org>
#
# 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)
-9
View File
@@ -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
-8
View File
@@ -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
+1 -1
View File
@@ -1,7 +1,7 @@
[Desktop Entry] [Desktop Entry]
Name=GNOME Classic Name=GNOME Classic
Comment=This session logs you into 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 TryExec=gnome-session
Type=Application Type=Application
DesktopNames=GNOME-Classic;GNOME; DesktopNames=GNOME-Classic;GNOME;
+2
View File
@@ -0,0 +1,2 @@
[GNOME Session]
Name=GNOME Classic
+3
View File
@@ -0,0 +1,3 @@
[Unit]
Requires=gnome-session-services.target
Requires=org.gnome.Shell@classic.service
+19 -35
View File
@@ -2,42 +2,16 @@
# #
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
have_x11 = get_option('x11') session_desktop = 'gnome-classic.desktop'
session_desktop_base = 'gnome-classic' i18n.merge_file(
input: session_desktop + '.in',
session_desktops = [ output: session_desktop,
session_desktop_base, po_dir: '../po',
session_desktop_base + '-wayland', install: true,
] install_dir: wlsessiondir,
type: 'desktop',
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
classic_uuids = [] classic_uuids = []
foreach e : classic_extensions foreach e : classic_extensions
@@ -57,3 +31,13 @@ configure_file(
classic_override = '00_org.gnome.shell.extensions.classic.gschema.override' classic_override = '00_org.gnome.shell.extensions.classic.gschema.override'
install_data(classic_override, install_dir: schemadir) 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',
)
+41 -41
View File
@@ -48,7 +48,7 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
this._icon.style_class = 'icon-dropshadow'; this._icon.style_class = 'icon-dropshadow';
this.add_child(this._icon); this.add_child(this._icon);
let appLabel = new St.Label({ const appLabel = new St.Label({
text: app.get_name(), text: app.get_name(),
y_expand: true, y_expand: true,
y_align: Clutter.ActorAlign.CENTER, y_align: Clutter.ActorAlign.CENTER,
@@ -57,9 +57,9 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
this.label_actor = appLabel; this.label_actor = appLabel;
this._delegate = this; this._delegate = this;
let draggable = DND.makeDraggable(this); const draggable = DND.makeDraggable(this);
let maybeStartDrag = draggable._maybeStartDrag; const maybeStartDrag = draggable._maybeStartDrag;
draggable._maybeStartDrag = event => { draggable._maybeStartDrag = event => {
if (this._dragEnabled) if (this._dragEnabled)
return maybeStartDrag.call(draggable, event); return maybeStartDrag.call(draggable, event);
@@ -132,7 +132,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
} }
_isNavigatingSubmenu([x, y]) { _isNavigatingSubmenu([x, y]) {
let [posX, posY] = this.get_transformed_position(); const [posX, posY] = this.get_transformed_position();
if (this._oldX === -1) { if (this._oldX === -1) {
this._oldX = x; this._oldX = x;
@@ -140,8 +140,8 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
return true; return true;
} }
let deltaX = Math.abs(x - this._oldX); const deltaX = Math.abs(x - this._oldX);
let deltaY = Math.abs(y - this._oldY); const deltaY = Math.abs(y - this._oldY);
this._oldX = x; this._oldX = x;
this._oldY = y; 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 // Ensure that the point P always lies below line AC so that we can
// only check for triangle ABC. // only check for triangle ABC.
if (posY > y) { if (posY > y) {
let offset = posY - y; const offset = posY - y;
y = posY + this.height + offset; y = posY + this.height + offset;
} }
@@ -201,7 +201,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
this.hover = true; this.hover = true;
if (this._isNavigatingSubmenu(event.get_coords())) if (this._isNavigatingSubmenu(event.get_coords()))
return true; return Clutter.EVENT_STOP;
this._oldX = -1; this._oldX = -1;
this._oldY = -1; this._oldY = -1;
@@ -213,7 +213,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
if (targetActor instanceof St.Widget) if (targetActor instanceof St.Widget)
targetActor.sync_hover(); targetActor.sync_hover();
return false; return Clutter.EVENT_PROPAGATE;
} }
_onActiveChanged() { _onActiveChanged() {
@@ -294,15 +294,15 @@ class DesktopTarget extends EventEmitter {
} }
async _markTrusted(file) { async _markTrusted(file) {
let modeAttr = Gio.FILE_ATTRIBUTE_UNIX_MODE; const modeAttr = Gio.FILE_ATTRIBUTE_UNIX_MODE;
let trustedAttr = 'metadata::trusted'; const trustedAttr = 'metadata::trusted';
let queryFlags = Gio.FileQueryInfoFlags.NONE; const queryFlags = Gio.FileQueryInfoFlags.NONE;
let ioPriority = GLib.PRIORITY_DEFAULT; const ioPriority = GLib.PRIORITY_DEFAULT;
try { try {
let info = await file.query_info_async(modeAttr, queryFlags, ioPriority, null); 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_uint32(modeAttr, mode);
info.set_attribute_string(trustedAttr, 'yes'); info.set_attribute_string(trustedAttr, 'yes');
await file.set_attributes_async(info, queryFlags, ioPriority, null); await file.set_attributes_async(info, queryFlags, ioPriority, null);
@@ -327,7 +327,7 @@ class DesktopTarget extends EventEmitter {
} }
handleDragOver(source, _actor, _x, _y, _time) { handleDragOver(source, _actor, _x, _y, _time) {
let appInfo = this._getSourceAppInfo(source); const appInfo = this._getSourceAppInfo(source);
if (!appInfo) if (!appInfo)
return DND.DragMotionResult.CONTINUE; return DND.DragMotionResult.CONTINUE;
@@ -335,16 +335,16 @@ class DesktopTarget extends EventEmitter {
} }
acceptDrop(source, _actor, _x, _y, _time) { acceptDrop(source, _actor, _x, _y, _time) {
let appInfo = this._getSourceAppInfo(source); const appInfo = this._getSourceAppInfo(source);
if (!appInfo) if (!appInfo)
return false; return false;
this.emit('app-dropped'); 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()); const src = Gio.File.new_for_path(appInfo.get_filename());
let dst = Gio.File.new_for_path(GLib.build_filenamev([desktop, src.get_basename()])); const dst = Gio.File.new_for_path(GLib.build_filenamev([desktop, src.get_basename()]));
try { try {
// copy_async() isn't introspectable :-( // copy_async() isn't introspectable :-(
@@ -452,12 +452,12 @@ class ApplicationsButton extends PanelMenu.Button {
} }
_onMenuKeyPress(actor, event) { _onMenuKeyPress(actor, event) {
let symbol = event.get_key_symbol(); const symbol = event.get_key_symbol();
if (symbol === Clutter.KEY_Left || symbol === Clutter.KEY_Right) { 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; ? Gtk.DirectionType.LEFT : Gtk.DirectionType.RIGHT;
if (this.menu.actor.navigate_focus(global.stage.key_focus, direction, false)) if (this.menu.actor.navigate_focus(global.stage.key_focus, direction, false))
return true; return Clutter.EVENT_STOP;
} }
return super._onMenuKeyPress(actor, event); return super._onMenuKeyPress(actor, event);
} }
@@ -480,11 +480,11 @@ class ApplicationsButton extends PanelMenu.Button {
} }
_loadCategory(categoryId, dir) { _loadCategory(categoryId, dir) {
let iter = dir.iter(); const iter = dir.iter();
let nextType; let nextType;
while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) { while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) {
if (nextType === GMenu.TreeItemType.ENTRY) { if (nextType === GMenu.TreeItemType.ENTRY) {
let entry = iter.get_entry(); const entry = iter.get_entry();
let id; let id;
try { try {
id = entry.get_desktop_file_id(); // catch non-UTF8 filenames 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) { } else if (nextType === GMenu.TreeItemType.SEPARATOR) {
this.applicationsByCategory[categoryId].push('separator'); this.applicationsByCategory[categoryId].push('separator');
} else if (nextType === GMenu.TreeItemType.DIRECTORY) { } else if (nextType === GMenu.TreeItemType.DIRECTORY) {
let subdir = iter.get_directory(); const subdir = iter.get_directory();
if (!subdir.get_is_nodisplay()) if (!subdir.get_is_nodisplay())
this._loadCategory(categoryId, subdir); this._loadCategory(categoryId, subdir);
} }
@@ -507,11 +507,11 @@ class ApplicationsButton extends PanelMenu.Button {
} }
scrollToButton(button) { scrollToButton(button) {
let appsScrollBoxAdj = this.applicationsScrollBox.get_vadjustment(); const appsScrollBoxAdj = this.applicationsScrollBox.get_vadjustment();
let appsScrollBoxAlloc = this.applicationsScrollBox.get_allocation_box(); const appsScrollBoxAlloc = this.applicationsScrollBox.get_allocation_box();
let currentScrollValue = appsScrollBoxAdj.get_value(); const currentScrollValue = appsScrollBoxAdj.get_value();
let boxHeight = appsScrollBoxAlloc.y2 - appsScrollBoxAlloc.y1; const boxHeight = appsScrollBoxAlloc.y2 - appsScrollBoxAlloc.y1;
let buttonAlloc = button.get_allocation_box(); const buttonAlloc = button.get_allocation_box();
let newScrollValue = currentScrollValue; let newScrollValue = currentScrollValue;
if (currentScrollValue > buttonAlloc.y1 - 10) if (currentScrollValue > buttonAlloc.y1 - 10)
newScrollValue = buttonAlloc.y1 - 10; newScrollValue = buttonAlloc.y1 - 10;
@@ -522,11 +522,11 @@ class ApplicationsButton extends PanelMenu.Button {
} }
scrollToCatButton(button) { scrollToCatButton(button) {
let catsScrollBoxAdj = this.categoriesScrollBox.get_vadjustment(); const catsScrollBoxAdj = this.categoriesScrollBox.get_vadjustment();
let catsScrollBoxAlloc = this.categoriesScrollBox.get_allocation_box(); const catsScrollBoxAlloc = this.categoriesScrollBox.get_allocation_box();
let currentScrollValue = catsScrollBoxAdj.get_value(); const currentScrollValue = catsScrollBoxAdj.get_value();
let boxHeight = catsScrollBoxAlloc.y2 - catsScrollBoxAlloc.y1; const boxHeight = catsScrollBoxAlloc.y2 - catsScrollBoxAlloc.y1;
let buttonAlloc = button.get_allocation_box(); const buttonAlloc = button.get_allocation_box();
let newScrollValue = currentScrollValue; let newScrollValue = currentScrollValue;
if (currentScrollValue > buttonAlloc.y1 - 10) if (currentScrollValue > buttonAlloc.y1 - 10)
newScrollValue = buttonAlloc.y1 - 10; newScrollValue = buttonAlloc.y1 - 10;
@@ -537,7 +537,7 @@ class ApplicationsButton extends PanelMenu.Button {
} }
_createLayout() { _createLayout() {
let section = new PopupMenu.PopupMenuSection(); const section = new PopupMenu.PopupMenuSection();
this.menu.addMenuItem(section); this.menu.addMenuItem(section);
this.mainBox = new St.BoxLayout({layoutManager: new MainLayout()}); this.mainBox = new St.BoxLayout({layoutManager: new MainLayout()});
this.leftBox = new St.BoxLayout({ this.leftBox = new St.BoxLayout({
@@ -573,20 +573,20 @@ class ApplicationsButton extends PanelMenu.Button {
// Load categories // Load categories
this.applicationsByCategory = {}; this.applicationsByCategory = {};
this._tree.load_sync(); this._tree.load_sync();
let root = this._tree.get_root_directory(); const root = this._tree.get_root_directory();
let categoryMenuItem = new CategoryMenuItem(this, null); let categoryMenuItem = new CategoryMenuItem(this, null);
this.categoriesBox.add_child(categoryMenuItem); this.categoriesBox.add_child(categoryMenuItem);
let iter = root.iter(); const iter = root.iter();
let nextType; let nextType;
while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) { while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) {
if (nextType !== GMenu.TreeItemType.DIRECTORY) if (nextType !== GMenu.TreeItemType.DIRECTORY)
continue; continue;
let dir = iter.get_directory(); const dir = iter.get_directory();
if (dir.get_is_nodisplay()) if (dir.get_is_nodisplay())
continue; continue;
let categoryId = dir.get_menu_id(); const categoryId = dir.get_menu_id();
this.applicationsByCategory[categoryId] = []; this.applicationsByCategory[categoryId] = [];
this._loadCategory(categoryId, dir); this._loadCategory(categoryId, dir);
if (this.applicationsByCategory[categoryId].length > 0) { if (this.applicationsByCategory[categoryId].length > 0) {
@@ -615,7 +615,7 @@ class ApplicationsButton extends PanelMenu.Button {
_displayButtons(apps) { _displayButtons(apps) {
for (let i = 0; i < apps.length; i++) { for (let i = 0; i < apps.length; i++) {
let app = apps[i]; const app = apps[i];
let item; let item;
if (app instanceof Shell.App) if (app instanceof Shell.App)
item = this._applicationsButtons.get(app); item = this._applicationsButtons.get(app);
+8 -8
View File
@@ -28,7 +28,7 @@ class WindowMover {
this._appConfigs.clear(); this._appConfigs.clear();
this._settings.get_strv('application-list').forEach(v => { 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); this._appConfigs.set(appId, parseInt(num) - 1);
}); });
@@ -36,15 +36,15 @@ class WindowMover {
} }
_updateAppData() { _updateAppData() {
let ids = [...this._appConfigs.keys()]; const ids = [...this._appConfigs.keys()];
let removedApps = [...this._appData.keys()] const removedApps = [...this._appData.keys()]
.filter(a => !ids.includes(a.id)); .filter(a => !ids.includes(a.id));
removedApps.forEach(app => { removedApps.forEach(app => {
app.disconnectObject(this); app.disconnectObject(this);
this._appData.delete(app); this._appData.delete(app);
}); });
let addedApps = ids const addedApps = ids
.map(id => this._appSystem.lookup_app(id)) .map(id => this._appSystem.lookup_app(id))
.filter(app => app && !this._appData.has(app)); .filter(app => app && !this._appData.has(app));
addedApps.forEach(app => { addedApps.forEach(app => {
@@ -68,7 +68,7 @@ class WindowMover {
return; return;
// ensure we have the required number of workspaces // 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++) { for (let i = workspaceManager.n_workspaces; i <= workspaceNum; i++) {
window.change_workspace_by_index(i - 1, false); window.change_workspace_by_index(i - 1, false);
workspaceManager.append_new_workspace(false, 0); workspaceManager.append_new_workspace(false, 0);
@@ -78,8 +78,8 @@ class WindowMover {
} }
_appWindowsChanged(app) { _appWindowsChanged(app) {
let data = this._appData.get(app); const data = this._appData.get(app);
let windows = app.get_windows(); const windows = app.get_windows();
// If get_compositor_private() returns non-NULL on a removed windows, // If get_compositor_private() returns non-NULL on a removed windows,
// the window still exists and is just moved to a different workspace // 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; 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 => { windows.filter(w => !data.windows.includes(w)).forEach(window => {
this._moveWindow(window, workspaceNum); this._moveWindow(window, workspaceNum);
}); });
+3 -2
View File
@@ -5,6 +5,7 @@
import Adw from 'gi://Adw'; import Adw from 'gi://Adw';
import Gio from 'gi://Gio'; import Gio from 'gi://Gio';
import GioUnix from 'gi://GioUnix';
import GLib from 'gi://GLib'; import GLib from 'gi://GLib';
import GObject from 'gi://GObject'; import GObject from 'gi://GObject';
import Gtk from 'gi://Gtk'; import Gtk from 'gi://Gtk';
@@ -44,7 +45,7 @@ class Rule extends GObject.Object {
'app-info': GObject.ParamSpec.object( 'app-info': GObject.ParamSpec.object(
'app-info', null, null, 'app-info', null, null,
GObject.ParamFlags.READWRITE, GObject.ParamFlags.READWRITE,
Gio.DesktopAppInfo), GioUnix.DesktopAppInfo),
'workspace': GObject.ParamSpec.uint( 'workspace': GObject.ParamSpec.uint(
'workspace', null, null, 'workspace', null, null,
GObject.ParamFlags.READWRITE, GObject.ParamFlags.READWRITE,
@@ -118,7 +119,7 @@ class RulesList extends GObject.Object {
this.#rules = []; this.#rules = [];
for (const stringRule of this.#settings.get_strv(SETTINGS_KEY)) { for (const stringRule of this.#settings.get_strv(SETTINGS_KEY)) {
const [id, workspace] = stringRule.split(':'); const [id, workspace] = stringRule.split(':');
const appInfo = Gio.DesktopAppInfo.new(id); const appInfo = GioUnix.DesktopAppInfo.new(id);
if (appInfo) if (appInfo)
this.#rules.push(new Rule({appInfo, workspace})); this.#rules.push(new Rule({appInfo, workspace}));
else else
+12 -12
View File
@@ -39,11 +39,11 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
this.mount = mount; this.mount = mount;
let ejectIcon = new St.Icon({ const ejectIcon = new St.Icon({
icon_name: 'media-eject-symbolic', icon_name: 'media-eject-symbolic',
style_class: 'popup-menu-icon', style_class: 'popup-menu-icon',
}); });
let ejectButton = new St.Button({ const ejectButton = new St.Button({
child: ejectIcon, child: ejectIcon,
style_class: 'button', style_class: 'button',
}); });
@@ -63,7 +63,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
if (this.mount.is_shadowed()) if (this.mount.is_shadowed())
return false; return false;
let volume = this.mount.get_volume(); const volume = this.mount.get_volume();
if (volume) if (volume)
return volume.get_identifier('class') !== 'network'; return volume.get_identifier('class') !== 'network';
@@ -87,7 +87,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
} }
_eject() { _eject() {
let unmountArgs = [ const unmountArgs = [
Gio.MountUnmountFlags.NONE, Gio.MountUnmountFlags.NONE,
new ShellMountOperation.ShellMountOperation(this.mount).mountOp, new ShellMountOperation.ShellMountOperation(this.mount).mountOp,
null, // Gio.Cancellable null, // Gio.Cancellable
@@ -120,13 +120,13 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
_reportFailure(exception) { _reportFailure(exception) {
// TRANSLATORS: %s is the filesystem name // 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); Main.notifyError(msg, exception.message);
} }
activate(event) { activate(event) {
let uri = this.mount.get_root().get_uri(); const uri = this.mount.get_root().get_uri();
let context = global.create_app_launch_context(event.get_time(), -1); const context = global.create_app_launch_context(event.get_time(), -1);
Gio.AppInfo.launch_default_for_uri(uri, context); Gio.AppInfo.launch_default_for_uri(uri, context);
super.activate(event); super.activate(event);
@@ -141,7 +141,7 @@ class DriveMenu extends PanelMenu.Button {
constructor() { constructor() {
super(0.5, _('Removable devices')); super(0.5, _('Removable devices'));
let icon = new St.Icon({ const icon = new St.Icon({
icon_name: 'media-eject-symbolic', icon_name: 'media-eject-symbolic',
style_class: 'system-status-icon', style_class: 'system-status-icon',
}); });
@@ -162,8 +162,8 @@ class DriveMenu extends PanelMenu.Button {
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.menu.addAction(_('Open Files'), event => { this.menu.addAction(_('Open Files'), event => {
let appSystem = Shell.AppSystem.get_default(); const appSystem = Shell.AppSystem.get_default();
let app = appSystem.lookup_app('org.gnome.Nautilus.desktop'); const app = appSystem.lookup_app('org.gnome.Nautilus.desktop');
app.activate_full(-1, event.get_time()); app.activate_full(-1, event.get_time());
}); });
@@ -178,7 +178,7 @@ class DriveMenu extends PanelMenu.Button {
} }
_addMount(mount) { _addMount(mount) {
let item = new MountMenuItem(mount); const item = new MountMenuItem(mount);
this._mounts.unshift(item); this._mounts.unshift(item);
this.menu.addMenuItem(item, 0); this.menu.addMenuItem(item, 0);
@@ -187,7 +187,7 @@ class DriveMenu extends PanelMenu.Button {
_removeMount(mount) { _removeMount(mount) {
for (let i = 0; i < this._mounts.length; i++) { for (let i = 0; i < this._mounts.length; i++) {
let item = this._mounts[i]; const item = this._mounts[i];
if (item.mount === mount) { if (item.mount === mount) {
item.destroy(); item.destroy();
this._mounts.splice(i, 1); this._mounts.splice(i, 1);
+14 -15
View File
@@ -29,7 +29,7 @@ class Rect {
} }
union(rect2) { union(rect2) {
let dest = this.copy(); const dest = this.copy();
if (rect2.x < dest.x) { if (rect2.x < dest.x) {
dest.width += dest.x - rect2.x; dest.width += dest.x - rect2.x;
dest.x = rect2.x; dest.x = rect2.x;
@@ -47,7 +47,7 @@ class Rect {
} }
adjusted(dx, dy, dx2, dy2) { adjusted(dx, dy, dx2, dy2) {
let dest = this.copy(); const dest = this.copy();
dest.x += dx; dest.x += dx;
dest.y += dy; dest.y += dy;
dest.width += -dx + dx2; 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 // 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. // 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 bounds = areaRect.copy();
let clones = layout.windows; const clones = layout.windows;
let direction = 0; let direction = 0;
let directions = []; const directions = [];
let rects = []; const rects = [];
for (let i = 0; i < clones.length; i++) { 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] // 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); rects[i] = new Rect(rect.x, rect.y, rect.width, rect.height);
bounds = bounds.union(rects[i]); bounds = bounds.union(rects[i]);
@@ -120,10 +120,10 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
overlap = false; overlap = false;
for (let i = 0; i < rects.length; i++) { for (let i = 0; i < rects.length; i++) {
for (let j = 0; j < rects.length; j++) { 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)); .map(v => (v *= WINDOW_PLACEMENT_NATURAL_GAPS));
let iAdjusted = rects[i].adjusted(...adjustments); const iAdjusted = rects[i].adjusted(...adjustments);
let jAdjusted = rects[j].adjusted(...adjustments); const jAdjusted = rects[j].adjusted(...adjustments);
if (i !== j && iAdjusted.overlap(jAdjusted)) { if (i !== j && iAdjusted.overlap(jAdjusted)) {
loopCounter++; loopCounter++;
overlap = true; overlap = true;
@@ -132,8 +132,8 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
// Determine pushing direction // Determine pushing direction
let iCenter = rects[i].center(); let iCenter = rects[i].center();
let jCenter = rects[j].center(); const jCenter = rects[j].center();
let diff = [jCenter[0] - iCenter[0], jCenter[1] - iCenter[1]]; const diff = [jCenter[0] - iCenter[0], jCenter[1] - iCenter[1]];
// Prevent dividing by zero and non-movement // Prevent dividing by zero and non-movement
if (diff[0] === 0 && diff[1] === 0) if (diff[0] === 0 && diff[1] === 0)
@@ -210,8 +210,7 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
} while (overlap && loopCounter < WINDOW_PLACEMENT_NATURAL_MAX_TRANSLATIONS); } while (overlap && loopCounter < WINDOW_PLACEMENT_NATURAL_MAX_TRANSLATIONS);
// Work out scaling by getting the most top-left and most bottom-right window coords. // Work out scaling by getting the most top-left and most bottom-right window coords.
let scale; const scale = Math.min(
scale = Math.min(
areaRect.width / bounds.width, areaRect.width / bounds.width,
areaRect.height / bounds.height, areaRect.height / bounds.height,
1.0); 1.0);
@@ -228,7 +227,7 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
// rescale to workspace // rescale to workspace
let slots = []; const slots = [];
for (let i = 0; i < rects.length; i++) { for (let i = 0; i < rects.length; i++) {
rects[i].x = rects[i].x * scale + areaRect.x; rects[i].x = rects[i].x * scale + areaRect.x;
rects[i].y = rects[i].y * scale + areaRect.y; rects[i].y = rects[i].y * scale + areaRect.y;
+3 -3
View File
@@ -74,7 +74,7 @@ class PlacesMenu extends PanelMenu.Button {
constructor() { constructor() {
super(0.5, _('Places')); super(0.5, _('Places'));
let label = new St.Label({ const label = new St.Label({
text: _('Places'), text: _('Places'),
y_expand: true, y_expand: true,
y_align: Clutter.ActorAlign.CENTER, y_align: Clutter.ActorAlign.CENTER,
@@ -86,7 +86,7 @@ class PlacesMenu extends PanelMenu.Button {
this._sections = { }; this._sections = { };
for (let i = 0; i < SECTIONS.length; i++) { for (let i = 0; i < SECTIONS.length; i++) {
let id = SECTIONS[i]; const id = SECTIONS[i];
this._sections[id] = new PopupMenu.PopupMenuSection(); this._sections[id] = new PopupMenu.PopupMenuSection();
this.placesManager.connect(`${id}-updated`, () => { this.placesManager.connect(`${id}-updated`, () => {
this._redisplay(id); this._redisplay(id);
@@ -110,7 +110,7 @@ class PlacesMenu extends PanelMenu.Button {
} }
_create(id) { _create(id) {
let places = this.placesManager.get(id); const places = this.placesManager.get(id);
for (let i = 0; i < places.length; i++) for (let i = 0; i < places.length; i++)
this._sections[id].addMenuItem(new PlaceMenuItem(places[i])); this._sections[id].addMenuItem(new PlaceMenuItem(places[i]));
+28 -28
View File
@@ -56,7 +56,7 @@ class PlaceInfo extends EventEmitter {
const source = { const source = {
get_drive: () => null, get_drive: () => null,
}; };
let op = new ShellMountOperation.ShellMountOperation(source); const op = new ShellMountOperation.ShellMountOperation(source);
try { try {
await this.file.mount_enclosing_volume(0, op.mountOp, null); await this.file.mount_enclosing_volume(0, op.mountOp, null);
@@ -72,7 +72,7 @@ class PlaceInfo extends EventEmitter {
} }
launch(timestamp) { 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); this._ensureMountAndLaunch(launchContext, true).catch(logError);
} }
@@ -83,7 +83,7 @@ class PlaceInfo extends EventEmitter {
null, null,
(file, result) => { (file, result) => {
try { try {
let info = file.query_info_finish(result); const info = file.query_info_finish(result);
this.icon = info.get_symbolic_icon(); this.icon = info.get_symbolic_icon();
this.emit('changed'); this.emit('changed');
} catch (e) { } catch (e) {
@@ -112,7 +112,7 @@ class PlaceInfo extends EventEmitter {
_getFileName() { _getFileName() {
try { 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(); return info.get_display_name();
} catch (e) { } catch (e) {
if (e instanceof Gio.IOErrorEnum) if (e instanceof Gio.IOErrorEnum)
@@ -151,7 +151,7 @@ class PlaceDeviceInfo extends PlaceInfo {
} }
eject() { eject() {
let unmountArgs = [ const unmountArgs = [
Gio.MountUnmountFlags.NONE, Gio.MountUnmountFlags.NONE,
new ShellMountOperation.ShellMountOperation(this._mount).mountOp, new ShellMountOperation.ShellMountOperation(this._mount).mountOp,
null, // Gio.Cancellable null, // Gio.Cancellable
@@ -183,7 +183,7 @@ class PlaceDeviceInfo extends PlaceInfo {
} }
_reportFailure(exception) { _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); Main.notifyError(msg, exception.message);
} }
} }
@@ -203,7 +203,7 @@ class PlaceVolumeInfo extends PlaceInfo {
this._volume.mount(0, null, null, (volume, result) => { this._volume.mount(0, null, null, (volume, result) => {
volume.mount_finish(result); volume.mount_finish(result);
let mount = volume.get_mount(); const mount = volume.get_mount();
this.file = mount.get_root(); this.file = mount.get_root();
super.launch(timestamp); super.launch(timestamp);
}); });
@@ -267,7 +267,7 @@ export class PlacesManager extends EventEmitter {
GLib.PRIORITY_DEFAULT, 100, () => { GLib.PRIORITY_DEFAULT, 100, () => {
this._bookmarkTimeoutId = 0; this._bookmarkTimeoutId = 0;
this._reloadBookmarks(); this._reloadBookmarks();
return false; return GLib.SOURCE_REMOVE;
}); });
}); });
@@ -357,8 +357,8 @@ export class PlacesManager extends EventEmitter {
} }
_updateMounts() { _updateMounts() {
let networkMounts = []; const networkMounts = [];
let networkVolumes = []; const networkVolumes = [];
this._places.devices.forEach(p => p.destroy()); this._places.devices.forEach(p => p.destroy());
this._places.devices = []; this._places.devices = [];
@@ -366,16 +366,16 @@ export class PlacesManager extends EventEmitter {
this._places.network = []; this._places.network = [];
/* first go through all connected drives */ /* 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++) { 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++) { 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')) { if (identifier && identifier.includes('network')) {
networkVolumes.push(volumes[j]); networkVolumes.push(volumes[j]);
} else { } else {
let mount = volumes[j].get_mount(); const mount = volumes[j].get_mount();
if (mount) if (mount)
this._addMount('devices', mount); this._addMount('devices', mount);
} }
@@ -383,23 +383,23 @@ export class PlacesManager extends EventEmitter {
} }
/* add all volumes that is not associated with a drive */ /* 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++) { for (let i = 0; i < volumes.length; i++) {
if (volumes[i].get_drive()) if (volumes[i].get_drive())
continue; continue;
let identifier = volumes[i].get_identifier('class'); const identifier = volumes[i].get_identifier('class');
if (identifier && identifier.includes('network')) { if (identifier && identifier.includes('network')) {
networkVolumes.push(volumes[i]); networkVolumes.push(volumes[i]);
} else { } else {
let mount = volumes[i].get_mount(); const mount = volumes[i].get_mount();
if (mount) if (mount)
this._addMount('devices', mount); this._addMount('devices', mount);
} }
} }
/* add mounts that have no volume (/etc/mtab mounts, ftp, sftp,...) */ /* 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++) { for (let i = 0; i < mounts.length; i++) {
if (mounts[i].is_shadowed()) if (mounts[i].is_shadowed())
continue; continue;
@@ -407,7 +407,7 @@ export class PlacesManager extends EventEmitter {
if (mounts[i].get_volume()) if (mounts[i].get_volume())
continue; continue;
let root = mounts[i].get_default_location(); const root = mounts[i].get_default_location();
if (!root.is_native()) { if (!root.is_native()) {
networkMounts.push(mounts[i]); networkMounts.push(mounts[i]);
continue; continue;
@@ -416,7 +416,7 @@ export class PlacesManager extends EventEmitter {
} }
for (let i = 0; i < networkVolumes.length; i++) { for (let i = 0; i < networkVolumes.length; i++) {
let mount = networkVolumes[i].get_mount(); const mount = networkVolumes[i].get_mount();
if (mount) { if (mount) {
networkMounts.push(mount); networkMounts.push(mount);
continue; continue;
@@ -433,7 +433,7 @@ export class PlacesManager extends EventEmitter {
} }
_findBookmarksFile() { _findBookmarksFile() {
let paths = [ const paths = [
GLib.build_filenamev([GLib.get_user_config_dir(), 'gtk-3.0', 'bookmarks']), GLib.build_filenamev([GLib.get_user_config_dir(), 'gtk-3.0', 'bookmarks']),
GLib.build_filenamev([GLib.get_home_dir(), '.gtk-bookmarks']), GLib.build_filenamev([GLib.get_home_dir(), '.gtk-bookmarks']),
]; ];
@@ -449,19 +449,19 @@ export class PlacesManager extends EventEmitter {
_reloadBookmarks() { _reloadBookmarks() {
this._bookmarks = []; this._bookmarks = [];
let content = Shell.get_file_contents_utf8_sync(this._bookmarksFile.get_path()); const content = Shell.get_file_contents_utf8_sync(this._bookmarksFile.get_path());
let lines = content.split('\n'); const lines = content.split('\n');
let bookmarks = []; const bookmarks = [];
for (let i = 0; i < lines.length; i++) { for (let i = 0; i < lines.length; i++) {
let line = lines[i]; const line = lines[i];
let components = line.split(' '); const components = line.split(' ');
let [bookmark] = components; const [bookmark] = components;
if (!bookmark) if (!bookmark)
continue; 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)) if (file.is_native() && !file.query_exists(null))
continue; continue;
+10 -10
View File
@@ -73,12 +73,12 @@ export default class ScreenshotWindowSizerExtension extends Extension {
if (window.is_maximized()) if (window.is_maximized())
window.unmaximize(); window.unmaximize();
let workArea = window.get_work_area_current_monitor(); const workArea = window.get_work_area_current_monitor();
let outerRect = window.get_frame_rect(); const outerRect = window.get_frame_rect();
// Double both axes if on a hidpi display // Double both axes if on a hidpi display
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; const scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
let scaledSizes = this.SIZES.map(size => size.map(wh => wh * scaleFactor)) const scaledSizes = this.SIZES.map(size => size.map(wh => wh * scaleFactor))
.filter(([w, h]) => w <= workArea.width && h <= workArea.height); .filter(([w, h]) => w <= workArea.width && h <= workArea.height);
// Find the nearest 16:9 size for the current window size // Find the nearest 16:9 size for the current window size
@@ -86,10 +86,10 @@ export default class ScreenshotWindowSizerExtension extends Extension {
let nearestError; let nearestError;
for (let i = 0; i < scaledSizes.length; i++) { for (let i = 0; i < scaledSizes.length; i++) {
let [width, height] = scaledSizes[i]; const [width, height] = scaledSizes[i];
// get the best initial window size // 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) { if (nearestIndex === undefined || error < nearestError) {
nearestIndex = i; nearestIndex = i;
nearestError = error; nearestError = error;
@@ -97,8 +97,8 @@ export default class ScreenshotWindowSizerExtension extends Extension {
} }
// get the next size up or down from ideal // get the next size up or down from ideal
let newIndex = (nearestIndex + (backwards ? -1 : 1)) % scaledSizes.length; const newIndex = (nearestIndex + (backwards ? -1 : 1)) % scaledSizes.length;
let [newWidth, newHeight] = scaledSizes.at(newIndex); const [newWidth, newHeight] = scaledSizes.at(newIndex);
// Push the window onscreen if it would be resized offscreen // Push the window onscreen if it would be resized offscreen
let newX = outerRect.x; let newX = outerRect.x;
@@ -120,7 +120,7 @@ export default class ScreenshotWindowSizerExtension extends Extension {
*/ */
_notifySizeChange(window) { _notifySizeChange(window) {
const {scaleFactor} = St.ThemeContext.get_for_stage(global.stage); 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( let message = '%d×%d'.format(
newOuterRect.width / scaleFactor, newOuterRect.width / scaleFactor,
newOuterRect.height / 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 // 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 // a terminal) - in that case, include the actual ratio to the message
// we flash // we flash
let actualNumerator = 9 * newOuterRect.width / newOuterRect.height; const actualNumerator = 9 * newOuterRect.width / newOuterRect.height;
if (Math.abs(actualNumerator - 16) > 0.01) if (Math.abs(actualNumerator - 16) > 0.01)
message += ' (%.2f:9)'.format(actualNumerator); message += ' (%.2f:9)'.format(actualNumerator);
+5 -5
View File
@@ -32,14 +32,14 @@ export default class SysTray {
} }
_onTrayIconAdded(o, icon) { _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)) if (STANDARD_TRAY_ICON_IMPLEMENTATIONS.includes(wmClass))
return; 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; const scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
let iconSize = PANEL_ICON_SIZE * scaleFactor; const iconSize = PANEL_ICON_SIZE * scaleFactor;
icon.set({ icon.set({
width: iconSize, width: iconSize,
@@ -48,7 +48,7 @@ export default class SysTray {
y_align: Clutter.ActorAlign.CENTER, y_align: Clutter.ActorAlign.CENTER,
}); });
let iconBin = new St.Widget({ const iconBin = new St.Widget({
layout_manager: new Clutter.BinLayout(), layout_manager: new Clutter.BinLayout(),
style_class: 'system-status-icon', style_class: 'system-status-icon',
}); });
+1
View File
@@ -361,6 +361,7 @@ class Indicator extends PanelMenu.Button {
} }
constructor(settings) { constructor(settings) {
GTop.glibtop_init();
super(0.5, _('System stats')); super(0.5, _('System stats'));
this._settings = settings; this._settings = settings;
+2 -2
View File
@@ -33,7 +33,7 @@ export default class ThemeManager extends Extension {
_changeTheme() { _changeTheme() {
let stylesheet = null; let stylesheet = null;
let themeName = this._settings.get_string(SETTINGS_KEY); const themeName = this._settings.get_string(SETTINGS_KEY);
if (themeName) { if (themeName) {
const stylesheetPaths = getThemeDirs() const stylesheetPaths = getThemeDirs()
@@ -43,7 +43,7 @@ export default class ThemeManager extends Extension {
.map(dir => `${dir}/${themeName}.css`)); .map(dir => `${dir}/${themeName}.css`));
stylesheet = stylesheetPaths.find(path => { 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); return file.query_exists(null);
}); });
} }
+51 -51
View File
@@ -65,7 +65,7 @@ class DragPlaceholderItem extends DashItemContainer {
* @returns {number} - the smallest stable sequence of the app's windows * @returns {number} - the smallest stable sequence of the app's windows
*/ */
function _getAppStableSequence(app) { 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 windows.reduce((prev, cur) => {
return Math.min(prev, cur.get_stable_sequence()); return Math.min(prev, cur.get_stable_sequence());
}, Infinity); }, Infinity);
@@ -251,7 +251,7 @@ class WindowTitle extends TitleWidget {
} }
_updateIcon() { _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) { if (app) {
this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE); this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE);
} else { } else {
@@ -542,13 +542,13 @@ class BaseButton extends DashItemContainer {
_openMenu(menu) { _openMenu(menu) {
menu.open(); menu.open();
let event = Clutter.get_current_event(); const event = Clutter.get_current_event();
if (event && event.type() === Clutter.EventType.KEY_RELEASE) if (event && event.type() === Clutter.EventType.KEY_RELEASE)
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
} }
_minimizeOrActivateWindow(window) { _minimizeOrActivateWindow(window) {
let focusWindow = global.display.focus_window; const focusWindow = global.display.focus_window;
if (focusWindow === window || if (focusWindow === window ||
focusWindow && focusWindow.get_transient_for() === window) focusWindow && focusWindow.get_transient_for() === window)
window.minimize(); window.minimize();
@@ -562,8 +562,8 @@ class BaseButton extends DashItemContainer {
const extension = Extension.lookupByURL(import.meta.url); const extension = Extension.lookupByURL(import.meta.url);
let [x, y] = global.get_pointer(); const [x, y] = global.get_pointer();
let actor = global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE, x, y); const actor = global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE, x, y);
if (extension.someWindowListContains(actor)) if (extension.someWindowListContains(actor))
actor.sync_hover(); actor.sync_hover();
} }
@@ -592,7 +592,7 @@ class BaseButton extends DashItemContainer {
} }
_isWindowVisible(window) { _isWindowVisible(window) {
let workspace = global.workspace_manager.get_active_workspace(); const workspace = global.workspace_manager.get_active_workspace();
return !window.skip_taskbar && return !window.skip_taskbar &&
(this._ignoreWorkspace || window.located_on_workspace(workspace)) && (this._ignoreWorkspace || window.located_on_workspace(workspace)) &&
@@ -745,7 +745,7 @@ class AppContextMenu extends PopupMenu.PopupMenu {
}); });
this.addMenuItem(this._unmaximizeItem); this.addMenuItem(this._unmaximizeItem);
let item = new PopupMenu.PopupMenuItem(_('Close all')); const item = new PopupMenu.PopupMenuItem(_('Close all'));
item.connect('activate', () => { item.connect('activate', () => {
this._appButton.getWindowList().forEach(w => { this._appButton.getWindowList().forEach(w => {
w.delete(global.get_current_time()); w.delete(global.get_current_time());
@@ -755,7 +755,7 @@ class AppContextMenu extends PopupMenu.PopupMenu {
} }
open(animate) { open(animate) {
let windows = this._appButton.getWindowList(); const windows = this._appButton.getWindowList();
this._minimizeItem.visible = windows.some(w => !w.minimized); this._minimizeItem.visible = windows.some(w => !w.minimized);
this._unminimizeItem.visible = windows.some(w => w.minimized); this._unminimizeItem.visible = windows.some(w => w.minimized);
this._maximizeItem.visible = windows.some(w => { this._maximizeItem.visible = windows.some(w => {
@@ -816,7 +816,7 @@ class AppButton extends BaseButton {
this.visible = true; this.visible = true;
} else if (!this._perMonitor) { } else if (!this._perMonitor) {
// fast path: use ShellApp API to avoid iterating over all windows. // 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); this.visible = this.app.is_on_workspace(workspace);
} else { } else {
this.visible = this.getWindowList().length >= 1; this.visible = this.getWindowList().length >= 1;
@@ -828,9 +828,9 @@ class AppButton extends BaseButton {
} }
_updateIconGeometry() { _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)); windows.forEach(w => w.set_icon_geometry(rect));
} }
@@ -877,11 +877,11 @@ class AppButton extends BaseButton {
} }
_onClicked(actor, button) { _onClicked(actor, button) {
let menuWasOpen = this._menu.isOpen; const menuWasOpen = this._menu.isOpen;
if (menuWasOpen) if (menuWasOpen)
this._menu.close(); this._menu.close();
let contextMenuWasOpen = this._contextMenu.isOpen; const contextMenuWasOpen = this._contextMenu.isOpen;
if (contextMenuWasOpen) if (contextMenuWasOpen)
this._contextMenu.close(); this._contextMenu.close();
@@ -889,7 +889,7 @@ class AppButton extends BaseButton {
if (menuWasOpen) if (menuWasOpen)
return; return;
let windows = this.getWindowList(); const windows = this.getWindowList();
if (windows.length === 1) { if (windows.length === 1) {
if (contextMenuWasOpen) if (contextMenuWasOpen)
return; return;
@@ -898,8 +898,8 @@ class AppButton extends BaseButton {
this._menu.removeAll(); this._menu.removeAll();
for (let i = 0; i < windows.length; i++) { for (let i = 0; i < windows.length; i++) {
let windowTitle = new WindowTitle(windows[i]); const windowTitle = new WindowTitle(windows[i]);
let item = new PopupMenu.PopupBaseMenuItem(); const item = new PopupMenu.PopupBaseMenuItem();
item.add_child(windowTitle); item.add_child(windowTitle);
item._window = windows[i]; item._window = windows[i];
this._menu.addMenuItem(item); this._menu.addMenuItem(item);
@@ -945,7 +945,7 @@ class WindowList extends St.Widget {
this._perMonitor = perMonitor; this._perMonitor = perMonitor;
this._monitor = monitor; 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.add_child(box);
this._windowList = new St.BoxLayout({ this._windowList = new St.BoxLayout({
@@ -959,7 +959,7 @@ class WindowList extends St.Widget {
this._windowList.connect('scroll-event', this._onScrollEvent.bind(this)); 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); box.add_child(indicatorsBox);
this._workspaceIndicator = new BottomWorkspaceIndicator({ this._workspaceIndicator = new BottomWorkspaceIndicator({
@@ -1010,7 +1010,7 @@ class WindowList extends St.Widget {
this._onAppStateChanged.bind(this), this); this._onAppStateChanged.bind(this), this);
// Hack: OSK gesture is tied to visibility, piggy-back on that // Hack: OSK gesture is tied to visibility, piggy-back on that
Main.keyboard._bottomDragAction.connectObject('notify::enabled', Main.keyboard._bottomDragGesture.connectObject('notify::enabled',
action => { action => {
const visible = !action.enabled; const visible = !action.enabled;
if (visible) { if (visible) {
@@ -1023,7 +1023,7 @@ class WindowList extends St.Widget {
this._updateKeyboardAnchor(); this._updateKeyboardAnchor();
}, this); }, this);
let workspaceManager = global.workspace_manager; const workspaceManager = global.workspace_manager;
workspaceManager.connectObject('notify::n-workspaces', workspaceManager.connectObject('notify::n-workspaces',
() => this._updateWorkspaceIndicatorVisibility(), this); () => this._updateWorkspaceIndicatorVisibility(), this);
@@ -1093,7 +1093,7 @@ class WindowList extends St.Widget {
} }
_onScrollEvent(actor, event) { _onScrollEvent(actor, event) {
let direction = event.get_scroll_direction(); const direction = event.get_scroll_direction();
let diff = 0; let diff = 0;
if (direction === Clutter.ScrollDirection.DOWN) if (direction === Clutter.ScrollDirection.DOWN)
diff = 1; diff = 1;
@@ -1102,10 +1102,10 @@ class WindowList extends St.Widget {
else else
return; return;
let children = this._windowList.get_children() const children = this._windowList.get_children()
.filter(c => c.visible); .filter(c => c.visible);
let active = children.findIndex(c => c.active); const active = children.findIndex(c => c.active);
let newActive = Math.max(0, Math.min(active + diff, children.length - 1)); const newActive = Math.max(0, Math.min(active + diff, children.length - 1));
children[newActive].activate(); children[newActive].activate();
} }
@@ -1144,10 +1144,10 @@ class WindowList extends St.Widget {
} }
_updateWorkspaceIndicatorVisibility() { _updateWorkspaceIndicatorVisibility() {
let workspaceManager = global.workspace_manager; const workspaceManager = global.workspace_manager;
let hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') || const hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') ||
workspaceManager.n_workspaces > 1; 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._mutterSettings.get_boolean('workspaces-only-on-primary');
this._workspaceIndicator.visible = hasWorkspaces && workspacesOnMonitor; this._workspaceIndicator.visible = hasWorkspaces && workspacesOnMonitor;
@@ -1157,15 +1157,15 @@ class WindowList extends St.Widget {
if (this._windowList.get_n_children() === 0) if (this._windowList.get_n_children() === 0)
return this._windowList.get_preferred_width(-1)[1]; return this._windowList.get_preferred_width(-1)[1];
let children = this._windowList.get_children(); const children = this._windowList.get_children();
let [, childWidth] = children[0].get_preferred_width(-1); const [, childWidth] = children[0].get_preferred_width(-1);
let {spacing} = this._windowList.layout_manager; 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); let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
if (this._perMonitor) if (this._perMonitor)
windows = windows.filter(w => w.get_monitor() === this._monitor.index); windows = windows.filter(w => w.get_monitor() === this._monitor.index);
let nWindows = windows.length; const nWindows = windows.length;
if (nWindows === 0) if (nWindows === 0)
return this._windowList.get_preferred_width(-1)[1]; return this._windowList.get_preferred_width(-1)[1];
@@ -1173,7 +1173,7 @@ class WindowList extends St.Widget {
} }
_getMaxWindowListWidth() { _getMaxWindowListWidth() {
let indicatorsBox = this._workspaceIndicator.get_parent(); const indicatorsBox = this._workspaceIndicator.get_parent();
return this.width - indicatorsBox.get_preferred_width(-1)[1]; return this.width - indicatorsBox.get_preferred_width(-1)[1];
} }
@@ -1192,10 +1192,10 @@ class WindowList extends St.Widget {
if (this._groupingMode !== GroupingMode.AUTO) if (this._groupingMode !== GroupingMode.AUTO)
return; return;
let maxWidth = this._getMaxWindowListWidth(); const maxWidth = this._getMaxWindowListWidth();
let natWidth = this._getPreferredUngroupedWindowListWidth(); const natWidth = this._getPreferredUngroupedWindowListWidth();
let grouped = maxWidth < natWidth; const grouped = maxWidth < natWidth;
if (this._grouped !== grouped) { if (this._grouped !== grouped) {
this._grouped = grouped; this._grouped = grouped;
this._populateWindowList(); this._populateWindowList();
@@ -1206,14 +1206,14 @@ class WindowList extends St.Widget {
this._windowList.destroy_all_children(); this._windowList.destroy_all_children();
if (!this._grouped) { 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() - return w1.metaWindow.get_stable_sequence() -
w2.metaWindow.get_stable_sequence(); w2.metaWindow.get_stable_sequence();
}); });
for (let i = 0; i < windows.length; i++) for (let i = 0; i < windows.length; i++)
this._addWindow(windows[i].metaWindow, false); this._addWindow(windows[i].metaWindow, false);
} else { } else {
let apps = this._appSystem.get_running().sort((a1, a2) => { const apps = this._appSystem.get_running().sort((a1, a2) => {
return _getAppStableSequence(a1) - return _getAppStableSequence(a1) -
_getAppStableSequence(a2); _getAppStableSequence(a2);
}); });
@@ -1271,8 +1271,8 @@ class WindowList extends St.Widget {
} }
_removeApp(app) { _removeApp(app) {
let children = this._windowList.get_children(); const children = this._windowList.get_children();
let child = children.find(c => c.app === app); const child = children.find(c => c.app === app);
child?.animateOutAndDestroy(); child?.animateOutAndDestroy();
} }
@@ -1283,7 +1283,7 @@ class WindowList extends St.Widget {
if (this._grouped) if (this._grouped)
return; return;
let children = this._windowList.get_children(); const children = this._windowList.get_children();
if (children.find(c => c.metaWindow === win)) if (children.find(c => c.metaWindow === win))
return; return;
@@ -1306,8 +1306,8 @@ class WindowList extends St.Widget {
win.disconnect(id); win.disconnect(id);
this._windowSignals.delete(win); this._windowSignals.delete(win);
let children = this._windowList.get_children(); const children = this._windowList.get_children();
let child = children.find(c => c.metaWindow === win); const child = children.find(c => c.metaWindow === win);
child?.animateOutAndDestroy(); child?.animateOutAndDestroy();
} }
@@ -1324,7 +1324,7 @@ class WindowList extends St.Widget {
const buttons = this._windowList.get_children().filter(c => c instanceof BaseButton); const buttons = this._windowList.get_children().filter(c => c instanceof BaseButton);
const buttonPos = buttons.indexOf(source); const buttonPos = buttons.indexOf(source);
const numButtons = buttons.length; const numButtons = buttons.length;
let boxWidth = this._windowList.width; const boxWidth = this._windowList.width;
// Transform to window list coordinates for index calculation // Transform to window list coordinates for index calculation
// (mostly relevant for RTL to discard workspace indicator etc.) // (mostly relevant for RTL to discard workspace indicator etc.)
@@ -1446,7 +1446,7 @@ class WindowList extends St.Widget {
return DND.DragMotionResult.CONTINUE; return DND.DragMotionResult.CONTINUE;
} }
let hoveredWindow = dragEvent.targetActor.metaWindow; const hoveredWindow = dragEvent.targetActor.metaWindow;
if (!hoveredWindow || if (!hoveredWindow ||
this._dndWindow === hoveredWindow) this._dndWindow === hoveredWindow)
return DND.DragMotionResult.CONTINUE; return DND.DragMotionResult.CONTINUE;
@@ -1468,15 +1468,15 @@ class WindowList extends St.Widget {
} }
_activateWindow() { _activateWindow() {
let [x, y] = global.get_pointer(); const [x, y] = global.get_pointer();
let pickedActor = global.stage.get_actor_at_pos(Clutter.PickMode.ALL, x, y); const pickedActor = global.stage.get_actor_at_pos(Clutter.PickMode.ALL, x, y);
if (this._dndWindow && this.contains(pickedActor)) if (this._dndWindow && this.contains(pickedActor))
this._dndWindow.activate(global.get_current_time()); this._dndWindow.activate(global.get_current_time());
this._dndWindow = null; this._dndWindow = null;
this._dndTimeoutId = 0; this._dndTimeoutId = 0;
return false; return GLib.SOURCE_REMOVE;
} }
_onDestroy() { _onDestroy() {
@@ -1492,7 +1492,7 @@ class WindowList extends St.Widget {
this._settings.disconnectObject(); this._settings.disconnectObject();
this._settings = null; this._settings = null;
let windows = global.get_window_actors(); const windows = global.get_window_actors();
for (let i = 0; i < windows.length; i++) for (let i = 0; i < windows.length; i++)
windows[i].metaWindow.set_icon_geometry(null); 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.forEach(list => list.destroy());
this._windowLists = []; 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 => { Main.layoutManager.monitors.forEach(monitor => {
if (showOnAllMonitors || monitor === Main.layoutManager.primaryMonitor) if (showOnAllMonitors || monitor === Main.layoutManager.primaryMonitor)
+15 -15
View File
@@ -147,7 +147,7 @@ export default class Extension {
/* eslint-disable no-invalid-this */ /* eslint-disable no-invalid-this */
return function () { return function () {
const {layoutManager} = this._container; const {layoutManager} = this._container;
for (let i in layoutManager._windowSlots) { for (const i in layoutManager._windowSlots) {
if (layoutManager._windowSlots[i]) if (layoutManager._windowSlots[i])
layoutManager._windowSlots[i][WINDOW_SLOT].hideTooltip(); layoutManager._windowSlots[i][WINDOW_SLOT].hideTooltip();
} }
@@ -210,9 +210,9 @@ export default class Extension {
return function (actor, event) { return function (actor, event) {
const {ControlsState} = OverviewControls; const {ControlsState} = OverviewControls;
if (this._overviewAdjustment.value !== ControlsState.WINDOW_PICKER) 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 || if ((event.get_key_symbol() === Clutter.KEY_Alt_L ||
event.get_key_symbol() === Clutter.KEY_Alt_R) && event.get_key_symbol() === Clutter.KEY_Alt_R) &&
@@ -222,7 +222,7 @@ export default class Extension {
this._active = workspaceManager.get_active_workspace_index(); this._active = workspaceManager.get_active_workspace_index();
this._pickWindow = true; this._pickWindow = true;
this._workspaces[workspaceManager.get_active_workspace_index()].showWindowsTooltips(); this._workspaces[workspaceManager.get_active_workspace_index()].showWindowsTooltips();
return true; return Clutter.EVENT_STOP;
} }
if ((event.get_key_symbol() === Clutter.KEY_Control_L || if ((event.get_key_symbol() === Clutter.KEY_Control_L ||
event.get_key_symbol() === Clutter.KEY_Control_R) && event.get_key_symbol() === Clutter.KEY_Control_R) &&
@@ -232,22 +232,22 @@ export default class Extension {
this._pickWorkspace = true; this._pickWorkspace = true;
for (let i = 0; i < this._workspaces.length; i++) for (let i = 0; i < this._workspaces.length; i++)
this._workspaces[i].showTooltip(); this._workspaces[i].showTooltip();
return true; return Clutter.EVENT_STOP;
} }
if (global.stage.get_key_focus() !== null) 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 // ignore shift presses, they're required to get numerals in azerty keyboards
if ((this._pickWindow || this._pickWorkspace) && if ((this._pickWindow || this._pickWorkspace) &&
(event.get_key_symbol() === Clutter.KEY_Shift_L || (event.get_key_symbol() === Clutter.KEY_Shift_L ||
event.get_key_symbol() === Clutter.KEY_Shift_R)) event.get_key_symbol() === Clutter.KEY_Shift_R))
return true; return Clutter.EVENT_STOP;
if (this._pickWindow) { if (this._pickWindow) {
if (this._active !== workspaceManager.get_active_workspace_index()) { if (this._active !== workspaceManager.get_active_workspace_index()) {
this._hideTooltips(); this._hideTooltips();
return false; return Clutter.EVENT_PROPAGATE;
} }
let c = event.get_key_symbol() - Clutter.KEY_KP_0; let c = event.get_key_symbol() - Clutter.KEY_KP_0;
@@ -256,17 +256,17 @@ export default class Extension {
if (c > 9 || c <= 0) { if (c > 9 || c <= 0) {
this._hideTooltips(); this._hideTooltips();
log(c); 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(); this._hideTooltips();
if (win) if (win)
Main.activateWindow(win, global.get_current_time()); Main.activateWindow(win, global.get_current_time());
return true; return Clutter.EVENT_STOP;
} }
if (this._pickWorkspace) { if (this._pickWorkspace) {
let c = event.get_key_symbol() - Clutter.KEY_KP_0; 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; c = event.get_key_symbol() - Clutter.KEY_0;
if (c > 9 || c <= 0) { if (c > 9 || c <= 0) {
this._hideWorkspacesTooltips(); this._hideWorkspacesTooltips();
return false; return Clutter.EVENT_PROPAGATE;
} }
} }
let workspace = this._workspaces[c - 1]; const workspace = this._workspaces[c - 1];
if (workspace !== undefined) if (workspace !== undefined)
workspace.metaWorkspace.activate(global.get_current_time()); workspace.metaWorkspace.activate(global.get_current_time());
this._hideWorkspacesTooltips(); this._hideWorkspacesTooltips();
return true; return Clutter.EVENT_STOP;
} }
return false; return Clutter.EVENT_PROPAGATE;
}; };
/* eslint-enable */ /* eslint-enable */
}); });
@@ -159,7 +159,7 @@ class WorkspaceThumbnail extends St.Button {
this._windowPreviews = new Map(); this._windowPreviews = new Map();
let workspaceManager = global.workspace_manager; const workspaceManager = global.workspace_manager;
this._workspace = workspaceManager.get_workspace_by_index(index); this._workspace = workspaceManager.get_workspace_by_index(index);
this._workspace.bind_property('active', this._workspace.bind_property('active',
@@ -209,14 +209,14 @@ class WorkspaceThumbnail extends St.Button {
if (this._windowPreviews.has(window)) if (this._windowPreviews.has(window))
return; return;
let preview = new WindowPreview(window); const preview = new WindowPreview(window);
preview.connect('clicked', (a, btn) => this.emit('clicked', btn)); preview.connect('clicked', (a, btn) => this.emit('clicked', btn));
this._windowPreviews.set(window, preview); this._windowPreviews.set(window, preview);
this._preview.child.add_child(preview); this._preview.child.add_child(preview);
} }
_removeWindow(window) { _removeWindow(window) {
let preview = this._windowPreviews.get(window); const preview = this._windowPreviews.get(window);
if (!preview) if (!preview)
return; return;
@@ -226,9 +226,9 @@ class WorkspaceThumbnail extends St.Button {
_onRestacked() { _onRestacked() {
let lastPreview = null; 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++) { for (let i = 0; i < windows.length; i++) {
let preview = this._windowPreviews.get(windows[i]); const preview = this._windowPreviews.get(windows[i]);
if (!preview) if (!preview)
continue; continue;
@@ -238,14 +238,14 @@ class WorkspaceThumbnail extends St.Button {
} }
_moveWindow(window) { _moveWindow(window) {
let monitorIndex = Main.layoutManager.findIndexForActor(this); const monitorIndex = Main.layoutManager.findIndexForActor(this);
if (monitorIndex !== window.get_monitor()) if (monitorIndex !== window.get_monitor())
window.move_to_monitor(monitorIndex); window.move_to_monitor(monitorIndex);
window.change_workspace_by_index(this._index, false); window.change_workspace_by_index(this._index, false);
} }
on_clicked() { 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) if (ws)
ws.activate(global.get_current_time()); ws.activate(global.get_current_time());
} }
@@ -417,7 +417,7 @@ class EditableMenuItem extends PopupMenu.PopupBaseMenuItem {
this._entry = new St.Entry({ this._entry = new St.Entry({
opacity: 0, opacity: 0,
reactive: false, visible: false,
}); });
stack.add_child(this._entry); stack.add_child(this._entry);
@@ -448,8 +448,14 @@ class EditableMenuItem extends PopupMenu.PopupBaseMenuItem {
} }
}); });
this.connect('key-release-event', (o, event) => { this.connect('key-release-event', (o, event) => {
if (event.get_key_symbol() === Clutter.KEY_e) if (event.get_key_symbol() !== Clutter.KEY_e)
this._editButton.checked = true; return Clutter.EVENT_PROPAGATE;
if (this._editButton.checked)
return Clutter.EVENT_PROPAGATE;
this._editButton.checked = true;
return Clutter.EVENT_STOP;
}); });
global.stage.connectObject('notify::key-focus', () => { global.stage.connectObject('notify::key-focus', () => {
@@ -460,7 +466,7 @@ class EditableMenuItem extends PopupMenu.PopupBaseMenuItem {
} }
_switchActor(from, to) { _switchActor(from, to) {
to.reactive = true; to.visible = from.visible = true;
to.ease({ to.ease({
opacity: 255, opacity: 255,
duration: 300, duration: 300,
@@ -472,7 +478,7 @@ class EditableMenuItem extends PopupMenu.PopupBaseMenuItem {
duration: 300, duration: 300,
mode: Clutter.AnimationMode.EASE_OUT_QUAD, mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => { onComplete: () => {
from.reactive = false; from.visible = false;
}, },
}); });
} }
@@ -603,7 +609,7 @@ export class WorkspaceIndicator extends PanelMenu.Button {
this.setMenu(new WorkspacesMenu(this)); this.setMenu(new WorkspacesMenu(this));
let container = new St.Widget({ const container = new St.Widget({
layout_manager: new Clutter.BinLayout(), layout_manager: new Clutter.BinLayout(),
x_expand: true, x_expand: true,
y_expand: true, y_expand: true,
+8 -10
View File
@@ -4,7 +4,7 @@
project( project(
'gnome-shell-extensions', 'gnome-shell-extensions',
version: '49.rc', version: '50.alpha',
meson_version: '>= 1.1.0', meson_version: '>= 1.1.0',
license: 'GPL-2.0-or-later', license: 'GPL-2.0-or-later',
) )
@@ -23,16 +23,20 @@ modedir = join_paths(shelldir, 'modes')
schemadir = join_paths(datadir, 'glib-2.0', 'schemas') schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
sessiondir = join_paths(datadir, 'gnome-session', 'sessions') sessiondir = join_paths(datadir, 'gnome-session', 'sessions')
xsessiondir = join_paths(datadir, 'xsessions')
wlsessiondir = join_paths(datadir, 'wayland-sessions') wlsessiondir = join_paths(datadir, 'wayland-sessions')
systemd_dep = dependency('systemd', required: false)
systemd_userunitdir = systemd_dep.get_variable(
pkgconfig: 'systemduserunitdir',
pkgconfig_define: ['prefix', get_option('prefix')],
default_value: get_option('prefix') / 'lib' / 'systemd' / 'user',
)
ver_arr = meson.project_version().split('.') ver_arr = meson.project_version().split('.')
shell_version = ver_arr[0] shell_version = ver_arr[0]
uuid_suffix = '@gnome-shell-extensions.gcampax.github.com' uuid_suffix = '@gnome-shell-extensions.gcampax.github.com'
have_x11 = get_option('x11')
classic_extensions = [ classic_extensions = [
'apps-menu', 'apps-menu',
'places-menu', 'places-menu',
@@ -88,12 +92,6 @@ endforeach
if classic_mode_enabled if classic_mode_enabled
subdir('data') subdir('data')
if have_x11
meson.add_install_script(
'build-aux/session-post-install.py',
join_paths(get_option('prefix'), datadir),
)
endif
endif endif
subdir('extensions') subdir('extensions')
-6
View File
@@ -20,9 +20,3 @@ option('classic_mode',
value: false, value: false,
description: 'Enable installing data files for classic mode.' description: 'Enable installing data files for classic mode.'
) )
option('x11',
type: 'boolean',
value: false,
description: 'Enable X11 session support.'
)
-2
View File
@@ -1,6 +1,4 @@
data/gnome-classic.desktop.in data/gnome-classic.desktop.in
data/gnome-classic-wayland.desktop.in
data/gnome-classic-xorg.desktop.in
extensions/apps-menu/extension.js extensions/apps-menu/extension.js
extensions/auto-move-windows/extension.js extensions/auto-move-windows/extension.js
extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml
+157 -113
View File
@@ -7,86 +7,87 @@
# Alexander Shopov <ash@kambanaria.org>, 2014, 2015, 2021, 2022. # Alexander Shopov <ash@kambanaria.org>, 2014, 2015, 2021, 2022.
# Lyubomir Vasilev <lyubomirv@abv.bg>, 2017. # Lyubomir Vasilev <lyubomirv@abv.bg>, 2017.
# twlvnn kraftwerk <kraft_werk@tutanota.com>, 2024. # twlvnn kraftwerk <kraft_werk@tutanota.com>, 2024.
# @pacu23, 2025
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell-extensions main\n" "Project-Id-Version: gnome-shell-extensions main\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2024-09-01 12:03+0000\n" "POT-Creation-Date: 2025-11-05 13:44+0000\n"
"PO-Revision-Date: 2024-09-02 10:49+0200\n" "PO-Revision-Date: 2026-01-01 18:41+0200\n"
"Last-Translator: twlvnn kraftwerk <kraft_werk@tutanota.com>\n" "Last-Translator: @pacu23\n"
"Language-Team: Bulgarian <dict@ludost.net>\n" "Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n" "Language: bg\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 46.1\n" "X-Generator: Poedit 3.8\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:2
msgid "GNOME Classic" msgid "GNOME Classic"
msgstr "Класически GNOME" msgstr "Класически GNOME"
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 #: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:4 #: data/gnome-classic-xorg.desktop.in:3
msgid "This session logs you into GNOME Classic" 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" msgid "GNOME Classic on Wayland"
msgstr "Класически GNOME в Wayland" msgstr "Класически GNOME в Wayland"
#: data/gnome-classic-xorg.desktop.in:3 #: data/gnome-classic-xorg.desktop.in:2
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "Класически GNOME в Xorg" msgstr "Класически GNOME в Xorg"
#: extensions/apps-menu/extension.js:126 #: extensions/apps-menu/extension.js:118
msgid "Favorites" msgid "Favorites"
msgstr "Любими" msgstr "Любими"
#: extensions/apps-menu/extension.js:400 #: extensions/apps-menu/extension.js:392
msgid "Apps" msgid "Apps"
msgstr "Програми" msgstr "Програми"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
msgid "Application and workspace list" msgid "Application and workspace list"
msgstr "Списък с програмите и работните плотове" msgstr "Списък с програмите и работните пространства"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
msgid "" msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "followed by a colon and the workspace number"
msgstr "" msgstr ""
"Списък от низове. Всеки съдържа идентификатор на програма (име на файл „." "Списък от низове, всеки съдържащ идентификатор на програма (име на desktop "
"desktop“), следван от знака „:“ и номер на работен плот" "файла), последван от двоеточие и номер на работното пространство"
#: extensions/auto-move-windows/prefs.js:159 #: extensions/auto-move-windows/prefs.js:157
msgid "Workspace Rules" msgid "Workspace Rules"
msgstr "Правила за работните плотове" msgstr "Правила за работните пространства"
#: extensions/auto-move-windows/prefs.js:314 #: extensions/auto-move-windows/prefs.js:312
msgid "Add Rule" msgid "Add Rule"
msgstr "Добавяне на правило" msgstr "Добавяне на правило"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123 #: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:218 #: extensions/places-menu/placeDisplay.js:186
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "Неуспешно изваждане на устройство „%s:" msgstr "Неуспешно изваждане на устройството „%s\":"
#: extensions/drive-menu/extension.js:142 #: extensions/drive-menu/extension.js:142
msgid "Removable devices" msgid "Removable devices"
msgstr "Преносими медии" msgstr "Преносими устройства"
#: extensions/drive-menu/extension.js:164 #: extensions/drive-menu/extension.js:164
msgid "Open Files" msgid "Open Files"
msgstr "Отваряне на файлове" msgstr "Отвори „Файлове"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Use more screen for windows" msgid "Use more screen for windows"
msgstr "Повече пространство за прозорците" msgstr "Повече пространство на екрана за прозорците"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid "" msgid ""
@@ -94,10 +95,10 @@ msgid ""
"aspect ratio, and consolidating them further to reduce the bounding box. " "aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy." "This setting applies only with the natural placement strategy."
msgstr "" msgstr ""
"Използване на по-голяма част от екрана за поставянето на мини изображения " "Опитва се да използва повече от екрана за разполагането на миниатюри на "
"чрез промяна на съотношението на страните и допълнително обединяване за " "прозорци, като се адаптира към съотношението на страните на екрана и "
"смаляване на обхващащия ги правоъгълник. Тази настройка се прилага само при " "уплътнява подредбата, за да намали ограничителната рамка. Тази настройка се "
"естествената стратегия за поставяне на прозорците." "прилага само за метода на естествено разполагане."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top" msgid "Place window captions on top"
@@ -109,49 +110,56 @@ msgid ""
"shell default of placing it at the bottom. Changing this setting requires " "shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect." "restarting the shell to have any effect."
msgstr "" msgstr ""
"Ако е истина, заглавията на прозорците се поставят над мини изображенията " "Ако е включено, заглавията на прозорците ще се поставят над съответната "
"им, а не както е стандартно — отдолу. За прилагане на промяната на " "миниатюра, вместо по подразбиране в долната ѝ част. За да влезе в сила, тази "
"настройката трябва да рестартирате обвивката на GNOME." "промяна изисква рестартиране на обвивката на GNOME."
#: extensions/places-menu/extension.js:91 #: extensions/places-menu/extension.js:75
#: extensions/places-menu/extension.js:94 #: extensions/places-menu/extension.js:78
msgid "Places" msgid "Places"
msgstr "Места" msgstr "Места"
#: extensions/places-menu/placeDisplay.js:60 #: extensions/places-menu/placeDisplay.js:52
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Неуспешно стартиране на „%s“" msgstr "Неуспешно стартиране на „%s“"
#: extensions/places-menu/placeDisplay.js:75 #: extensions/places-menu/placeDisplay.js:67
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "Неуспешно монтиране на тома „%s“" msgstr "Неуспешно монтиране на тома „%s“"
#: extensions/places-menu/placeDisplay.js:135 #: extensions/places-menu/placeDisplay.js:315
#: extensions/places-menu/placeDisplay.js:158
msgid "Computer"
msgstr "Компютър"
#: extensions/places-menu/placeDisplay.js:333
msgid "Home" msgid "Home"
msgstr "Домашна папка" msgstr "Домашна папка"
#: extensions/places-menu/placeDisplay.js:378 #: extensions/places-menu/placeDisplay.js:321
msgid "Browse Network" msgid "Recent"
msgstr "Скорошни"
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr "Отбелязани"
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "Мрежа" msgstr "Мрежа"
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "Кошче"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
msgstr "Смяна на размерите на снимката на екрана" msgstr "Превключване между размерите на екранната снимка"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
msgid "Cycle Screenshot Sizes Backward" msgid "Cycle Screenshot Sizes Backward"
msgstr "Смяна на размерите на снимката на екрана наобратно" msgstr "Обратно превключване на размерите на екранната снимка"
#: extensions/system-monitor/extension.js:135 #: extensions/system-monitor/extension.js:135
msgid "CPU stats" msgid "CPU stats"
msgstr "Статистика на ЦП" msgstr "Статистика на процесора"
#: extensions/system-monitor/extension.js:159 #: extensions/system-monitor/extension.js:159
msgid "Memory stats" msgid "Memory stats"
@@ -163,55 +171,55 @@ msgstr "Статистика на виртуалната памет"
#: extensions/system-monitor/extension.js:336 #: extensions/system-monitor/extension.js:336
msgid "Upload stats" msgid "Upload stats"
msgstr "Статистика на качване" msgstr "Статистика за качването"
#: extensions/system-monitor/extension.js:350 #: extensions/system-monitor/extension.js:350
msgid "Download stats" msgid "Download stats"
msgstr "Статистика на изтегляне" msgstr "Статистика за изтеглянето"
#: extensions/system-monitor/extension.js:364 #: extensions/system-monitor/extension.js:365
msgid "System stats" msgid "System stats"
msgstr "Статистика на системата" msgstr "Системна статистика"
#: extensions/system-monitor/extension.js:412 #: extensions/system-monitor/extension.js:413
msgid "Show" msgid "Show"
msgstr "Показване" msgstr "Показване"
#: extensions/system-monitor/extension.js:414 #: extensions/system-monitor/extension.js:415
msgid "CPU" msgid "CPU"
msgstr "ЦП" msgstr "Процесор"
#: extensions/system-monitor/extension.js:416 #: extensions/system-monitor/extension.js:417
msgid "Memory" msgid "Memory"
msgstr "Памет" msgstr "Памет"
#: extensions/system-monitor/extension.js:418 #: extensions/system-monitor/extension.js:419
msgid "Swap" msgid "Swap"
msgstr "Виртуалната памет" msgstr "Виртуалната памет"
#: extensions/system-monitor/extension.js:420 #: extensions/system-monitor/extension.js:421
msgid "Upload" msgid "Upload"
msgstr "Качване" msgstr "Качване"
#: extensions/system-monitor/extension.js:422 #: extensions/system-monitor/extension.js:423
msgid "Download" msgid "Download"
msgstr "Изтегляне" msgstr "Изтегляне"
#: extensions/system-monitor/extension.js:427 #: extensions/system-monitor/extension.js:428
msgid "Open System Monitor" msgid "Open System Monitor"
msgstr "Отваряне на „Наблюдение на системата“" msgstr "Отваряне на „Наблюдение на системата“"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12 #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
msgid "Show CPU usage" msgid "Show CPU usage"
msgstr "Показване на ползван ЦП" msgstr "Показване на използването на процесора"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16 #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
msgid "Show memory usage" msgid "Show memory usage"
msgstr "Показване на ползвана памет" msgstr "Показване на използването на паметта"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20 #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
msgid "Show swap usage" msgid "Show swap usage"
msgstr "Показване на ползвана виртуалната памет" msgstr "Показване на използването на виртуалната памет"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24 #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload" msgid "Show upload"
@@ -227,140 +235,176 @@ msgstr "Име на темата"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12 #: 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" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "" msgstr "Името на темата, която да се зареди от „~/.themes/name/gnome-shell“"
"Името на темата, която да бъде заредена от „~/.themes/name/gnome-shell“"
#: extensions/window-list/extension.js:70 #: extensions/window-list/extension.js:98
msgid "Close" msgid "Close"
msgstr "Затваряне" msgstr "Затваряне"
#: extensions/window-list/extension.js:97 #: extensions/window-list/extension.js:125
msgid "Unminimize" msgid "Unminimize"
msgstr "Деминимизиране" msgstr "Деминимизиране"
#: extensions/window-list/extension.js:97 #: extensions/window-list/extension.js:125
msgid "Minimize" msgid "Minimize"
msgstr "Минимизиране" msgstr "Минимизиране"
#: extensions/window-list/extension.js:104 #: extensions/window-list/extension.js:130
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Демаксимизиране" msgstr "Демаксимизиране"
#: extensions/window-list/extension.js:104 #: extensions/window-list/extension.js:130
msgid "Maximize" msgid "Maximize"
msgstr "Максимизиране" msgstr "Максимизиране"
#: extensions/window-list/extension.js:489 #: extensions/window-list/extension.js:720
msgid "Minimize all" msgid "Minimize all"
msgstr "Минимизиране на всички" msgstr "Минимизиране на всички"
#: extensions/window-list/extension.js:495 #: extensions/window-list/extension.js:726
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Деминимизиране на всички" msgstr "Деминимизиране на всички"
#: extensions/window-list/extension.js:501 #: extensions/window-list/extension.js:732
msgid "Maximize all" msgid "Maximize all"
msgstr "Максимизиране на всички" msgstr "Максимизиране на всички"
#: extensions/window-list/extension.js:509 #: extensions/window-list/extension.js:740
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Демаксимизиране на всички" msgstr "Демаксимизиране на всички"
#: extensions/window-list/extension.js:517 #: extensions/window-list/extension.js:748
msgid "Close all" msgid "Close all"
msgstr "Затваряне на всички" msgstr "Затваряне на всички"
#: extensions/window-list/extension.js:789 #: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List" msgid "Window List"
msgstr "Списък на прозорците" msgstr "Списък на прозорците"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
msgid "When to group windows" msgid "When to group windows"
msgstr "Кога прозорците да се групират" msgstr "Кога да се групират прозорците"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
msgid "" msgid ""
"Decides when to group windows from the same application on the window list. " "Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”." "Possible values are “never”, “auto” and “always”."
msgstr "" msgstr ""
"Кога прозорците на една програма да се групират в списъка с прозорците. " "Кога да се групират прозорци от едно и също приложение в списъка с прозорци. "
"Възможните стойности са „never“ (никога), „auto“ (автоматично) и „always“ " "Възможните стойности са „никога, „автоматично и „винаги“."
"(винаги)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 #: 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" msgid "Show windows from all workspaces"
msgstr "Да се показват прозорците от всички работни плотове" msgstr "Показване на прозорците от всички работни пространства"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 #: 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." msgid "Whether to show windows from all workspaces or only the current one."
msgstr "" msgstr ""
"Дали да се показват прозорците от всички работни плотове или само от текущия." "Дали да се показват прозорците от всички работни пространства или само от "
"текущото."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors" msgid "Show the window list on all monitors"
msgstr "Извеждане на списъка с прозорци на всички монитори" msgstr "Показване на списъка с прозорци на всички монитори"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
msgid "" msgid ""
"Whether to show the window list on all connected monitors or only on the " "Whether to show the window list on all connected monitors or only on the "
"primary one." "primary one."
msgstr "" msgstr ""
"Дали списъкът с прозорци да се извежда на всички монитори или само на " "Дали да се показва списъкът с прозорци на всички свързани монитори или само "
"основния" "на основния."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list" msgid "Show workspace previews in window list"
msgstr "Визуализиране на работните пространства в списъка с прозорци" msgstr "Показване на прегледа на работните пространства"
#: extensions/window-list/prefs.js:35 #: extensions/window-list/prefs.js:41
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Групиране на прозорци" msgstr "Групиране на прозорци"
#: extensions/window-list/prefs.js:40 #: extensions/window-list/prefs.js:46
msgid "Never group windows" msgid "Never group windows"
msgstr "Никога да не се групират" msgstr "Никога да не се групират"
#: extensions/window-list/prefs.js:41 #: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited" msgid "Group windows when space is limited"
msgstr "Групиране при ограничено място" msgstr "Групиране при ограничено място"
#: extensions/window-list/prefs.js:42 #: extensions/window-list/prefs.js:48
msgid "Always group windows" msgid "Always group windows"
msgstr "Винаги да се групират" msgstr "Винаги да се групират"
#: extensions/window-list/prefs.js:66 #: extensions/window-list/prefs.js:68
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "На всички монитори" msgstr "На всички монитори"
#: extensions/window-list/prefs.js:92
msgid "Show workspace previews"
msgstr "Визуализиране на работните пространства"
#: extensions/workspace-indicator/prefs.js:30
msgid "Show Previews In Top Bar"
msgstr "Визуализиране в горната лента"
#: extensions/workspace-indicator/prefs.js:88
#, javascript-format
msgid "Workspace %d"
msgstr "Работен плот %d"
#: extensions/workspace-indicator/prefs.js:155
msgid "Workspace Names"
msgstr "Имена на работните плотове"
#: extensions/workspace-indicator/prefs.js:281
msgid "Add Workspace"
msgstr "Добавяне на работен плот"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12 #: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar" msgid "Show workspace previews in top bar"
msgstr "Визуализиране на работните пространства в горната лента" msgstr "Визуализиране на работните пространства в горната лента"
#: extensions/workspace-indicator/workspaceIndicator.js:430 #: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Натиснете %s за редактирате"
#: extensions/workspace-indicator/workspaceIndicator.js:518
msgid "Settings"
msgstr "Настройки"
#: extensions/workspace-indicator/workspaceIndicator.js:598
msgid "Workspace Indicator" 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" #~ msgid "Applications"
#~ msgstr "Програми" #~ msgstr "Програми"
+69 -39
View File
@@ -12,9 +12,9 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "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" "PO-Revision-Date: 2024-08-12 23:29+0300\n"
"Last-Translator: Efstathios Iosifidis <eiosifidis@gnome.org>\n" "Last-Translator: Giannis Antypas <gianni.antypas@gmail.com>\n"
"Language-Team: Greek, Modern (1453-) <gnome-el-list@gnome.org>\n" "Language-Team: Greek, Modern (1453-) <gnome-el-list@gnome.org>\n"
"Language: el\n" "Language: el\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -72,7 +72,7 @@ msgstr "Προσθήκη κανόνα"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123 #: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:218 #: extensions/places-menu/placeDisplay.js:187
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "Αποτυχία εξαγωγής του δίσκου «%s»:" msgstr "Αποτυχία εξαγωγής του δίσκου «%s»:"
@@ -120,28 +120,35 @@ msgstr ""
msgid "Places" msgid "Places"
msgstr "Τοποθεσίες" msgstr "Τοποθεσίες"
#: extensions/places-menu/placeDisplay.js:60 #: extensions/places-menu/placeDisplay.js:53
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Αποτυχία εκκίνησης «%s»" msgstr "Αποτυχία εκκίνησης «%s»"
#: extensions/places-menu/placeDisplay.js:75 #: extensions/places-menu/placeDisplay.js:68
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "Αποτυχία προσάρτησης τόμου για «%s»" msgstr "Αποτυχία προσάρτησης τόμου για «%s»"
#: extensions/places-menu/placeDisplay.js:135 #: extensions/places-menu/placeDisplay.js:316
#: extensions/places-menu/placeDisplay.js:158
msgid "Computer"
msgstr "Υπολογιστής"
#: extensions/places-menu/placeDisplay.js:333
msgid "Home" msgid "Home"
msgstr "Προσωπικός φάκελος" msgstr "Προσωπικός φάκελος"
#: extensions/places-menu/placeDisplay.js:378 #: extensions/places-menu/placeDisplay.js:322
msgid "Browse Network" msgid "Recent"
msgstr "Περιήγηση δικτύου" 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 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
@@ -232,47 +239,47 @@ msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "" msgstr ""
"Το όνομα του θέματος που θα φορτωθεί από το ~ /.themes/name/gnome-shell" "Το όνομα του θέματος που θα φορτωθεί από το ~ /.themes/name/gnome-shell"
#: extensions/window-list/extension.js:72 #: extensions/window-list/extension.js:92
msgid "Close" msgid "Close"
msgstr "Κλείσιμο" msgstr "Κλείσιμο"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:119
msgid "Unminimize" msgid "Unminimize"
msgstr "Αποελαχιστοποίηση" msgstr "Αποελαχιστοποίηση"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:119
msgid "Minimize" msgid "Minimize"
msgstr "Ελαχιστοποίηση" msgstr "Ελαχιστοποίηση"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:126
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Απομεγιστοποίηση" msgstr "Απομεγιστοποίηση"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:126
msgid "Maximize" msgid "Maximize"
msgstr "Μεγιστοποίηση" msgstr "Μεγιστοποίηση"
#: extensions/window-list/extension.js:471 #: extensions/window-list/extension.js:641
msgid "Minimize all" msgid "Minimize all"
msgstr "Ελαχιστοποίηση όλων" msgstr "Ελαχιστοποίηση όλων"
#: extensions/window-list/extension.js:477 #: extensions/window-list/extension.js:647
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Αποελαχιστοποίηση όλων" msgstr "Αποελαχιστοποίηση όλων"
#: extensions/window-list/extension.js:483 #: extensions/window-list/extension.js:653
msgid "Maximize all" msgid "Maximize all"
msgstr "Μεγιστοποίηση όλων" msgstr "Μεγιστοποίηση όλων"
#: extensions/window-list/extension.js:491 #: extensions/window-list/extension.js:661
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Απομεγιστοποίηση όλων" msgstr "Απομεγιστοποίηση όλων"
#: extensions/window-list/extension.js:499 #: extensions/window-list/extension.js:669
msgid "Close all" msgid "Close all"
msgstr "Κλείσιμο όλων" msgstr "Κλείσιμο όλων"
#: extensions/window-list/extension.js:773 #: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:24
msgid "Window List" msgid "Window List"
msgstr "Λίστα παραθύρου" msgstr "Λίστα παραθύρου"
@@ -290,7 +297,7 @@ msgstr ""
"«always» (πάντα)." "«always» (πάντα)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 #: 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" msgid "Show windows from all workspaces"
msgstr "Εμφάνιση των παραθύρων από όλους τους χώρους εργασίας" 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" msgid "Window Grouping"
msgstr "Ομαδοποίηση παραθύρου" msgstr "Ομαδοποίηση παραθύρου"
#: extensions/window-list/prefs.js:40 #: extensions/window-list/prefs.js:47
msgid "Never group windows" msgid "Never group windows"
msgstr "Να μη γίνεται ποτέ ομαδοποίηση παραθύρων" msgstr "Να μη γίνεται ποτέ ομαδοποίηση παραθύρων"
#: extensions/window-list/prefs.js:41 #: extensions/window-list/prefs.js:48
msgid "Group windows when space is limited" msgid "Group windows when space is limited"
msgstr "Ομαδοποίηση παραθύρων όταν ο χώρος είναι περιορισμένος" msgstr "Ομαδοποίηση παραθύρων όταν ο χώρος είναι περιορισμένος"
#: extensions/window-list/prefs.js:42 #: extensions/window-list/prefs.js:49
msgid "Always group windows" msgid "Always group windows"
msgstr "Να γίνεται πάντα ομαδοποίηση παραθύρων" msgstr "Να γίνεται πάντα ομαδοποίηση παραθύρων"
#: extensions/window-list/prefs.js:66 #: extensions/window-list/prefs.js:69
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Να εμφανίζεται σε όλες τις οθόνες" msgstr "Να εμφανίζεται σε όλες τις οθόνες"
#: extensions/window-list/workspaceIndicator.js:255 #: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
#: extensions/workspace-indicator/extension.js:261 msgid "Show workspace previews in top bar"
msgstr "Εμφάνιση προεπισκοπήσεων χώρου εργασίας στην επάνω μπάρα"
#: extensions/workspace-indicator/workspaceIndicator.js:430
msgid "Workspace Indicator" msgid "Workspace Indicator"
msgstr "Δείκτης χώρου εργασίας" 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 #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Χώρος εργασίας %d" msgstr "Χώρος εργασίας %d"
#: extensions/workspace-indicator/prefs.js:136 #: extensions/workspace-indicator/workspacePrefs.js:154
msgid "Workspace Names" msgid "Workspace Names"
msgstr "Ονόματα χώρων εργασίας" msgstr "Ονόματα χώρων εργασίας"
#: extensions/workspace-indicator/prefs.js:262 #: extensions/workspace-indicator/workspacePrefs.js:171
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Προσθήκη χώρου εργασίας" 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" #~ msgid "Applications"
#~ msgstr "Εφαρμογές" #~ msgstr "Εφαρμογές"
@@ -570,9 +603,6 @@ msgstr "Προσθήκη χώρου εργασίας"
#~ msgid "Bookmarks" #~ msgid "Bookmarks"
#~ msgstr "Σελιδοδείκτες" #~ msgstr "Σελιδοδείκτες"
#~ msgid "Network"
#~ msgstr "Δίκτυο"
#~ msgid "File System" #~ msgid "File System"
#~ msgstr "Σύστημα αρχείων" #~ msgstr "Σύστημα αρχείων"
+151 -82
View File
@@ -6,43 +6,53 @@
# Iñaki Larrañaga Murgoitio <dooteo@zundan.com>, 2011, 2013, 2015, 2017. # Iñaki Larrañaga Murgoitio <dooteo@zundan.com>, 2011, 2013, 2015, 2017.
# Edurne Labaka <elabaka@uzei.com>, 2015. # Edurne Labaka <elabaka@uzei.com>, 2015.
# Asier Sarasua Garmendia <asiersarasua@ni.eus>, 2019, 2020, 2021, 2024. # Asier Sarasua Garmendia <asiersarasua@ni.eus>, 2019, 2020, 2021, 2024.
# Ibai Oihanguren Sala <ibaios@disroot.org>, 2026.
# #
msgid "" msgid ""
msgstr "Project-Id-Version: gnome-shell-extensions master\n" msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n" "Project-Id-Version: gnome-shell-extensions master\n"
"POT-Creation-Date: 2024-04-29 15:27+0000\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"PO-Revision-Date: 2024-08-25 00:42+0200\n" "issues\n"
"Last-Translator: Asier Sarasua Garmendia <asiersarasua@ni.eus>\n" "POT-Creation-Date: 2025-11-05 13:44+0000\n"
"Language-Team: Basque <librezale@librezale.eus>\n" "PO-Revision-Date: 2026-01-11 20:54+0100\n"
"Last-Translator: Ibai Oihanguren Sala <ibaios@disroot.org>\n"
"Language-Team: Basque\n"
"Language: eu\n" "Language: eu\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Project-Style: gnome\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" msgid "GNOME Classic"
msgstr "GNOME Klasikoa" msgstr "GNOME Klasikoa"
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 #: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:4 #: data/gnome-classic-xorg.desktop.in:3
msgid "This session logs you into GNOME Classic" msgid "This session logs you into GNOME Classic"
msgstr "Saio honek GNOME Klasikoa hasten du" 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" msgid "GNOME Classic on Wayland"
msgstr "GNOME klasikoa Wayland gainean" msgstr "GNOME klasikoa Wayland gainean"
#: data/gnome-classic-xorg.desktop.in:3 #: data/gnome-classic-xorg.desktop.in:2
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "GNOME klasikoa Xorg gainean" msgstr "GNOME klasikoa Xorg gainean"
#: extensions/apps-menu/extension.js:126 #: extensions/apps-menu/extension.js:118
msgid "Favorites" msgid "Favorites"
msgstr "Gogokoak" msgstr "Gogokoak"
#: extensions/apps-menu/extension.js:400 #: extensions/apps-menu/extension.js:392
msgid "Apps" msgid "Apps"
msgstr "Aplikazioak" msgstr "Aplikazioak"
@@ -54,19 +64,21 @@ msgstr "Aplikazioen eta laneko areen zerrenda"
msgid "" msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "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" msgid "Workspace Rules"
msgstr "Laneko areen arauak" msgstr "Laneko areen arauak"
#: extensions/auto-move-windows/prefs.js:314 #: extensions/auto-move-windows/prefs.js:312
msgid "Add Rule" msgid "Add Rule"
msgstr "Gehitu araua" msgstr "Gehitu araua"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123 #: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:218 #: extensions/places-menu/placeDisplay.js:186
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "Huts egin du “%s“ unitatea egoztean:" 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 " "Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. " "aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy." "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 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top" msgid "Place window captions on top"
@@ -99,35 +115,45 @@ msgid ""
"If true, place window captions on top the respective thumbnail, overriding " "If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires " "shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect." "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:75
#: extensions/places-menu/extension.js:94 #: extensions/places-menu/extension.js:78
msgid "Places" msgid "Places"
msgstr "Lekuak" msgstr "Lekuak"
#: extensions/places-menu/placeDisplay.js:60 #: extensions/places-menu/placeDisplay.js:52
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Huts egin du '%s' abiarazteak" msgstr "Huts egin du '%s' abiarazteak"
#: extensions/places-menu/placeDisplay.js:75 #: extensions/places-menu/placeDisplay.js:67
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "Huts egin du “%s“(r)en bolumena muntatzean" msgstr "Huts egin du “%s“(r)en bolumena muntatzean"
#: extensions/places-menu/placeDisplay.js:135 #: extensions/places-menu/placeDisplay.js:315
#: extensions/places-menu/placeDisplay.js:158
msgid "Computer"
msgstr "Ordenagailua"
#: extensions/places-menu/placeDisplay.js:333
msgid "Home" msgid "Home"
msgstr "Karpeta nagusia" msgstr "Karpeta nagusia"
#: extensions/places-menu/placeDisplay.js:378 #: extensions/places-menu/placeDisplay.js:321
msgid "Browse Network" msgid "Recent"
msgstr "Arakatu sarea" 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 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
@@ -157,35 +183,35 @@ msgstr "Kargaren estatistikak"
msgid "Download stats" msgid "Download stats"
msgstr "Deskargaren estatistikak" msgstr "Deskargaren estatistikak"
#: extensions/system-monitor/extension.js:364 #: extensions/system-monitor/extension.js:365
msgid "System stats" msgid "System stats"
msgstr "Sistemaren estatistikak" msgstr "Sistemaren estatistikak"
#: extensions/system-monitor/extension.js:412 #: extensions/system-monitor/extension.js:413
msgid "Show" msgid "Show"
msgstr "Erakutsi" msgstr "Erakutsi"
#: extensions/system-monitor/extension.js:414 #: extensions/system-monitor/extension.js:415
msgid "CPU" msgid "CPU"
msgstr "PUZa" msgstr "PUZa"
#: extensions/system-monitor/extension.js:416 #: extensions/system-monitor/extension.js:417
msgid "Memory" msgid "Memory"
msgstr "Memoria" msgstr "Memoria"
#: extensions/system-monitor/extension.js:418 #: extensions/system-monitor/extension.js:419
msgid "Swap" msgid "Swap"
msgstr "Trukatze-espazioa" msgstr "Trukatze-espazioa"
#: extensions/system-monitor/extension.js:420 #: extensions/system-monitor/extension.js:421
msgid "Upload" msgid "Upload"
msgstr "Kargatu" msgstr "Kargatu"
#: extensions/system-monitor/extension.js:422 #: extensions/system-monitor/extension.js:423
msgid "Download" msgid "Download"
msgstr "Deskargatu" msgstr "Deskargatu"
#: extensions/system-monitor/extension.js:427 #: extensions/system-monitor/extension.js:428
msgid "Open System Monitor" msgid "Open System Monitor"
msgstr "Ireki sistema-monitorea" 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" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Gaiaren izena, ~/.themes/izena/gnome-shell direktoriotik kargatzeko" msgstr "Gaiaren izena, ~/.themes/izena/gnome-shell direktoriotik kargatzeko"
#: extensions/window-list/extension.js:72 #: extensions/window-list/extension.js:98
msgid "Close" msgid "Close"
msgstr "Itxi" msgstr "Itxi"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:125
msgid "Unminimize" msgid "Unminimize"
msgstr "Leheneratu" msgstr "Leheneratu"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:125
msgid "Minimize" msgid "Minimize"
msgstr "Minimizatu" msgstr "Minimizatu"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:130
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Desmaximizatu" msgstr "Desmaximizatu"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:130
msgid "Maximize" msgid "Maximize"
msgstr "Maximizatu" msgstr "Maximizatu"
#: extensions/window-list/extension.js:471 #: extensions/window-list/extension.js:720
msgid "Minimize all" msgid "Minimize all"
msgstr "Minimizatu denak" msgstr "Minimizatu denak"
#: extensions/window-list/extension.js:477 #: extensions/window-list/extension.js:726
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Leheneratu denak" msgstr "Leheneratu denak"
#: extensions/window-list/extension.js:483 #: extensions/window-list/extension.js:732
msgid "Maximize all" msgid "Maximize all"
msgstr "Maximizatu denak" msgstr "Maximizatu denak"
#: extensions/window-list/extension.js:491 #: extensions/window-list/extension.js:740
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Desmaximizatu denak" msgstr "Desmaximizatu denak"
#: extensions/window-list/extension.js:499 #: extensions/window-list/extension.js:748
msgid "Close all" msgid "Close all"
msgstr "Itxi denak" msgstr "Itxi denak"
#: extensions/window-list/extension.js:778 #: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List" msgid "Window List"
msgstr "Leiho-zerrenda" msgstr "Leiho-zerrenda"
@@ -269,16 +295,20 @@ msgstr "Noiz elkartu leihoak"
msgid "" msgid ""
"Decides when to group windows from the same application on the window list. " "Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”." "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/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" msgid "Show windows from all workspaces"
msgstr "Erakutsi laneko area guztietako leihoak" msgstr "Erakutsi laneko area guztietako leihoak"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 #: 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." 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 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors" msgid "Show the window list on all monitors"
@@ -288,61 +318,100 @@ msgstr "Erakutsi leihoen zerrenda pantaila guztietan"
msgid "" msgid ""
"Whether to show the window list on all connected monitors or only on the " "Whether to show the window list on all connected monitors or only on the "
"primary one." "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 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list" msgid "Show workspace previews in window list"
msgstr "Erakutsi laneko areen aurrebistak leihoen zerrendan" msgstr "Erakutsi laneko areen aurrebistak leihoen zerrendan"
#: extensions/window-list/prefs.js:35 #: extensions/window-list/prefs.js:41
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Leihoak elkartzea" msgstr "Leihoak elkartzea"
#: extensions/window-list/prefs.js:40 #: extensions/window-list/prefs.js:46
msgid "Never group windows" msgid "Never group windows"
msgstr "Ez elkartu leihoak inoiz" msgstr "Ez elkartu leihoak inoiz"
#: extensions/window-list/prefs.js:41 #: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited" msgid "Group windows when space is limited"
msgstr "Elkartu leihoak lekua mugatuta dagoenean" msgstr "Elkartu leihoak lekua mugatuta dagoenean"
#: extensions/window-list/prefs.js:42 #: extensions/window-list/prefs.js:48
msgid "Always group windows" msgid "Always group windows"
msgstr "Elkartu beti leihoak" msgstr "Elkartu beti leihoak"
#: extensions/window-list/prefs.js:66 #: extensions/window-list/prefs.js:68
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Erakutsi pantaila guztietan" 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 #: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar" msgid "Show workspace previews in top bar"
msgstr "Erakutsi laneko areen aurrebistak goiko barran" 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" msgid "Workspace Indicator"
msgstr "Laneko arearen adierazlea" 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" #~ msgid "Applications"
#~ msgstr "Aplikazioak" #~ msgstr "Aplikazioak"
+73 -42
View File
@@ -12,8 +12,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n" "Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2025-02-13 00:15+0000\n" "POT-Creation-Date: 2025-09-11 02:26+0000\n"
"PO-Revision-Date: 2025-03-02 12:02+0200\n" "PO-Revision-Date: 2025-09-11 19:54+0300\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n" "Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
"Language-Team: suomi <lokalisointi-lista@googlegroups.com>\n" "Language-Team: suomi <lokalisointi-lista@googlegroups.com>\n"
"Language: fi\n" "Language: fi\n"
@@ -21,32 +21,32 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.4.4\n" "X-Generator: Poedit 3.7\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
"X-POT-Import-Date: 2012-03-05 15:06:12+0000\n" "X-POT-Import-Date: 2012-03-05 15:06:12+0000\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:2
msgid "GNOME Classic" msgid "GNOME Classic"
msgstr "Perinteinen Gnome" msgstr "Perinteinen Gnome"
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 #: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:4 #: data/gnome-classic-xorg.desktop.in:3
msgid "This session logs you into GNOME Classic" msgid "This session logs you into GNOME Classic"
msgstr "Tämä istunto kirjaa sinut perinteiseen Gnomeen" msgstr "Tämä istunto kirjaa sinut perinteiseen Gnomeen"
#: data/gnome-classic-wayland.desktop.in:3 #: data/gnome-classic-wayland.desktop.in:2
msgid "GNOME Classic on Wayland" msgid "GNOME Classic on Wayland"
msgstr "Perinteinen Gnome Waylandia käyttäen" msgstr "Perinteinen Gnome Waylandia käyttäen"
#: data/gnome-classic-xorg.desktop.in:3 #: data/gnome-classic-xorg.desktop.in:2
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "Perinteinen Gnome Xorgia käyttäen" msgstr "Perinteinen Gnome Xorgia käyttäen"
#: extensions/apps-menu/extension.js:125 #: extensions/apps-menu/extension.js:118
msgid "Favorites" msgid "Favorites"
msgstr "Suosikit" msgstr "Suosikit"
#: extensions/apps-menu/extension.js:399 #: extensions/apps-menu/extension.js:392
msgid "Apps" msgid "Apps"
msgstr "Sovellukset" msgstr "Sovellukset"
@@ -237,47 +237,47 @@ msgstr "Teeman nimi"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Teeman nimi, ladataan sijainnista ~/.themes/name/gnome-shell" msgstr "Teeman nimi, ladataan sijainnista ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:95 #: extensions/window-list/extension.js:98
msgid "Close" msgid "Close"
msgstr "Sulje" msgstr "Sulje"
#: extensions/window-list/extension.js:122 #: extensions/window-list/extension.js:125
msgid "Unminimize" msgid "Unminimize"
msgstr "Palauta pienennys" msgstr "Palauta pienennys"
#: extensions/window-list/extension.js:122 #: extensions/window-list/extension.js:125
msgid "Minimize" msgid "Minimize"
msgstr "Pienennä" msgstr "Pienennä"
#: extensions/window-list/extension.js:129 #: extensions/window-list/extension.js:130
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Palauta suurennus" msgstr "Palauta suurennus"
#: extensions/window-list/extension.js:129 #: extensions/window-list/extension.js:130
msgid "Maximize" msgid "Maximize"
msgstr "Suurenna" msgstr "Suurenna"
#: extensions/window-list/extension.js:721 #: extensions/window-list/extension.js:720
msgid "Minimize all" msgid "Minimize all"
msgstr "Pienennä kaikki" msgstr "Pienennä kaikki"
#: extensions/window-list/extension.js:727 #: extensions/window-list/extension.js:726
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Palauta kaikkien koko" msgstr "Palauta kaikkien koko"
#: extensions/window-list/extension.js:733 #: extensions/window-list/extension.js:732
msgid "Maximize all" msgid "Maximize all"
msgstr "Suurenna kaikki" msgstr "Suurenna kaikki"
#: extensions/window-list/extension.js:741 #: extensions/window-list/extension.js:740
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Palauta kaikkien koko" msgstr "Palauta kaikkien koko"
#: extensions/window-list/extension.js:749 #: extensions/window-list/extension.js:748
msgid "Close all" msgid "Close all"
msgstr "Sulje kaikki" msgstr "Sulje kaikki"
#: 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" msgid "Window List"
msgstr "Ikkunaluettelo" msgstr "Ikkunaluettelo"
@@ -344,35 +344,69 @@ msgstr "Näytä kaikilla näytöillä"
msgid "Show workspace previews in top bar" msgid "Show workspace previews in top bar"
msgstr "Näytä työtilojen esikatselut yläpalkissa" msgstr "Näytä työtilojen esikatselut yläpalkissa"
#: extensions/workspace-indicator/workspaceIndicator.js:430 #: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Paina %s muokataksesi"
#: extensions/workspace-indicator/workspaceIndicator.js:518
msgid "Settings"
msgstr "Asetukset"
#: extensions/workspace-indicator/workspaceIndicator.js:598
msgid "Workspace Indicator" msgid "Workspace Indicator"
msgstr "Työtilan ilmaisin" msgstr "Työtilan ilmaisin"
#: extensions/workspace-indicator/workspacePrefs.js:28 #: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Show Previews" msgid "Indicator"
msgstr "Näytä esikatselut" msgstr "Ilmaisin"
#: extensions/workspace-indicator/workspacePrefs.js:86 #: extensions/workspace-indicator/workspacePrefs.js:25
#, javascript-format msgid "Previews"
msgid "Workspace %d" msgstr "Esikatselut"
msgstr "Työtila %d"
#: extensions/workspace-indicator/workspacePrefs.js:153 #: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Names" msgid "Workspace Name"
msgstr "Työtilojen nimet" msgstr "Työtilan nimi"
#: extensions/workspace-indicator/workspacePrefs.js:170 #: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Add Workspace" msgid "Behavior"
msgstr "Lisää työtila" msgstr "Toiminta"
#: extensions/workspace-indicator/workspacePrefs.js:195 #: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Remove" msgid "Dynamic"
msgstr "Poista" msgstr "Muuttuva"
#: extensions/workspace-indicator/workspacePrefs.js:225 #: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Poista automaattisesti tyhjät työtilat."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Muuttumaton määrä"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Määritä pysyvien työtilojen määrä."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Työtilojen määrä"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces" msgid "Workspaces"
msgstr "Työtilat" msgstr "Työtilat"
#, javascript-format
#~ msgid "Workspace %d"
#~ msgstr "Työtila %d"
#~ msgid "Add Workspace"
#~ msgstr "Lisää työtila"
#~ msgid "Remove"
#~ msgstr "Poista"
#~ msgid "Computer" #~ msgid "Computer"
#~ msgstr "Tietokone" #~ msgstr "Tietokone"
@@ -470,9 +504,6 @@ msgstr "Työtilat"
#~ msgid "Display" #~ msgid "Display"
#~ msgstr "Näyttö" #~ msgstr "Näyttö"
#~ msgid "Display Settings"
#~ msgstr "Näytön asetukset"
#~ msgid "Drag here to add favorites" #~ msgid "Drag here to add favorites"
#~ msgstr "Raahaa tähän lisätäksesi suosikkeihin" #~ msgstr "Raahaa tähän lisätäksesi suosikkeihin"
+119 -71
View File
@@ -2,51 +2,52 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# ButterflyOfFire <ButterflyOfFire@protonmail.com>, 2024. # ButterflyOfFire <butterflyoffire@protonmail.com>, 2024-2025.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: unnamed project\n" "Project-Id-Version: unnamed project\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2024-03-12 11:27+0000\n" "POT-Creation-Date: 2025-09-14 20:09+0000\n"
"PO-Revision-Date: 2024-03-23 07:16+0100\n" "PO-Revision-Date: 2025-09-16 18:51+0100\n"
"Last-Translator: sa\n" "Last-Translator: ButterflyOfFire <butterflyoffire@protonmail.com>\n"
"Language-Team: Kabyle <>\n" "Language-Team: Kabyle\n"
"Language: kab\n" "Language: kab\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\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-Team: kab\n"
"X-DL-Module: gnome-shell-extensions\n" "X-DL-Module: gnome-shell-extensions\n"
"X-DL-Branch: main\n" "X-DL-Branch: main\n"
"X-DL-Domain: po\n" "X-DL-Domain: po\n"
"X-DL-State: Translating\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" msgid "GNOME Classic"
msgstr "GNOME aklasiki" msgstr "GNOME aklasiki"
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 #: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:4 #: data/gnome-classic-xorg.desktop.in:3
msgid "This session logs you into GNOME Classic" msgid "This session logs you into GNOME Classic"
msgstr "Tiɣimit-agi ak-teqqen ɣer GNOME aklasiki" 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" msgid "GNOME Classic on Wayland"
msgstr "GNOME aklasiki ɣef 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" msgid "GNOME Classic on Xorg"
msgstr "GNOME aklasiki ɣef Xorg" msgstr "GNOME aklasiki ɣef Xorg"
#: extensions/apps-menu/extension.js:126 #: extensions/apps-menu/extension.js:118
msgid "Favorites" msgid "Favorites"
msgstr "Inurifen" msgstr "Inurifen"
#: extensions/apps-menu/extension.js:397 #: extensions/apps-menu/extension.js:392
msgid "Apps" msgid "Apps"
msgstr "Isnasen" msgstr "Isnasen"
@@ -62,17 +63,17 @@ msgstr ""
"Tabdart n yiɣewwaren, yal yiwet tesɛa id n usnas (isem n ufaylu n desktop), " "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" "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" msgid "Workspace Rules"
msgstr "Ilugan n tallunt n umahil" msgstr "Ilugan n tallunt n umahil"
#: extensions/auto-move-windows/prefs.js:314 #: extensions/auto-move-windows/prefs.js:311
msgid "Add Rule" msgid "Add Rule"
msgstr "Rnu alugen" msgstr "Rnu alugen"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123 #: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:218 #: extensions/places-menu/placeDisplay.js:186
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "Aḍeqqer n uḍebsi “%s” ur yeddi ara:" 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 " "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." "yesra allus n usenker n shel i wakken ad yeḍru."
#: extensions/places-menu/extension.js:91 #: extensions/places-menu/extension.js:75
#: extensions/places-menu/extension.js:94 #: extensions/places-menu/extension.js:78
msgid "Places" msgid "Places"
msgstr "Imeḍqan" msgstr "Imeḍqan"
#: extensions/places-menu/placeDisplay.js:60 #: extensions/places-menu/placeDisplay.js:52
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Asekker n “%s” ur yeddi ara" msgstr "Asekker n “%s” ur yeddi ara"
#: extensions/places-menu/placeDisplay.js:75 #: extensions/places-menu/placeDisplay.js:67
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "Aserkeb n ubleɣ “%s” ur yeddi ara" msgstr "Aserkeb n ubleɣ “%s” ur yeddi ara"
#: extensions/places-menu/placeDisplay.js:135 #: extensions/places-menu/placeDisplay.js:315
#: extensions/places-menu/placeDisplay.js:158
msgid "Computer"
msgstr "Aselkim"
#: extensions/places-menu/placeDisplay.js:333
msgid "Home" msgid "Home"
msgstr "Agejdan" msgstr "Agejdan"
#: extensions/places-menu/placeDisplay.js:378 #: extensions/places-menu/placeDisplay.js:321
msgid "Browse Network" msgid "Recent"
msgstr "Snirem azeḍḍa" 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 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
@@ -161,43 +169,43 @@ msgstr "Addaden n tkatut"
msgid "Swap stats" msgid "Swap stats"
msgstr "Addaden n Swap" msgstr "Addaden n Swap"
#: extensions/system-monitor/extension.js:327 #: extensions/system-monitor/extension.js:336
msgid "Upload stats" msgid "Upload stats"
msgstr "Addaden n usali" msgstr "Addaden n usali"
#: extensions/system-monitor/extension.js:341 #: extensions/system-monitor/extension.js:350
msgid "Download stats" msgid "Download stats"
msgstr "Addaden n usadar" msgstr "Addaden n usadar"
#: extensions/system-monitor/extension.js:355 #: extensions/system-monitor/extension.js:365
msgid "System stats" msgid "System stats"
msgstr "Addaden n unagraw" msgstr "Addaden n unagraw"
#: extensions/system-monitor/extension.js:403 #: extensions/system-monitor/extension.js:413
msgid "Show" msgid "Show"
msgstr "Sken" msgstr "Sken"
#: extensions/system-monitor/extension.js:405 #: extensions/system-monitor/extension.js:415
msgid "CPU" msgid "CPU"
msgstr "CPU" msgstr "CPU"
#: extensions/system-monitor/extension.js:407 #: extensions/system-monitor/extension.js:417
msgid "Memory" msgid "Memory"
msgstr "Takatut" msgstr "Takatut"
#: extensions/system-monitor/extension.js:409 #: extensions/system-monitor/extension.js:419
msgid "Swap" msgid "Swap"
msgstr "Aemmeskel" msgstr "Asemmeskel"
#: extensions/system-monitor/extension.js:411 #: extensions/system-monitor/extension.js:421
msgid "Upload" msgid "Upload"
msgstr "Asali" msgstr "Asali"
#: extensions/system-monitor/extension.js:413 #: extensions/system-monitor/extension.js:423
msgid "Download" msgid "Download"
msgstr "Asider" msgstr "Asider"
#: extensions/system-monitor/extension.js:418 #: extensions/system-monitor/extension.js:428
msgid "Open System Monitor" msgid "Open System Monitor"
msgstr "Ldi asefrak n unagraw" 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" 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" 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" msgid "Close"
msgstr "Mdel" msgstr "Mdel"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:125
msgid "Unminimize" msgid "Unminimize"
msgstr "Ur simẓẓiy ara" msgstr "Ur simẓẓiy ara"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:125
msgid "Minimize" msgid "Minimize"
msgstr "Semẓi" msgstr "Semẓi"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:130
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Ur ssemɣer ara" msgstr "Ur ssemɣer ara"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:130
msgid "Maximize" msgid "Maximize"
msgstr "Semɣer" msgstr "Semɣer"
#: extensions/window-list/extension.js:471 #: extensions/window-list/extension.js:720
msgid "Minimize all" msgid "Minimize all"
msgstr "Semẓi-ten akk" msgstr "Semẓi-ten akk"
#: extensions/window-list/extension.js:477 #: extensions/window-list/extension.js:726
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Ur simẓẓiy ara kullec" msgstr "Ur simẓẓiy ara kullec"
#: extensions/window-list/extension.js:483 #: extensions/window-list/extension.js:732
msgid "Maximize all" msgid "Maximize all"
msgstr "Semɣer-iten akk" msgstr "Semɣer-iten akk"
#: extensions/window-list/extension.js:491 #: extensions/window-list/extension.js:740
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Ur ssemɣer ara kullec" msgstr "Ur ssemɣer ara kullec"
#: extensions/window-list/extension.js:499 #: extensions/window-list/extension.js:748
msgid "Close all" msgid "Close all"
msgstr "Mdel-iten akk" 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" msgid "Window List"
msgstr "Tabdart n yisfuyla" msgstr "Tabdart n yisfuyla"
@@ -286,7 +294,7 @@ msgstr ""
"Azalen yellan: “never”, “auto” akked “always”." "Azalen yellan: “never”, “auto” akked “always”."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 #: 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" msgid "Show windows from all workspaces"
msgstr "Sken isfuyla si meṛṛa tallunin n umahil" 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 " "Ma yella ad ttwaseknen yisfuyla si meṛṛa tallunin n umahil neɣ ala ɣef "
"uzwaran." "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" msgid "Window Grouping"
msgstr "Asegrew n yisfuyla" msgstr "Asegrew n yisfuyla"
#: extensions/window-list/prefs.js:40 #: extensions/window-list/prefs.js:46
msgid "Never group windows" msgid "Never group windows"
msgstr "Werǧin ad tesgerweḍ isfuyla" 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" msgid "Group windows when space is limited"
msgstr "Segrew isfuyla ticki tallunt txuṣ" msgstr "Segrew isfuyla ticki tallunt txuṣ"
#: extensions/window-list/prefs.js:42 #: extensions/window-list/prefs.js:48
msgid "Always group windows" msgid "Always group windows"
msgstr "Yalas ssegraw isfuyla" msgstr "Yalas ssegraw isfuyla"
#: extensions/window-list/prefs.js:66 #: extensions/window-list/prefs.js:68
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Sken ɣef yigdilen meṛṛa" msgstr "Sken ɣef yigdilen meṛṛa"
#: extensions/window-list/workspaceIndicator.js:255 #: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
#: extensions/workspace-indicator/extension.js:261 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" msgid "Workspace Indicator"
msgstr "Anamal n wadeg n umahil" msgstr "Anamal n wadeg n umahil"
#: extensions/workspace-indicator/prefs.js:69 #: extensions/workspace-indicator/workspacePrefs.js:20
#, javascript-format msgid "Indicator"
msgid "Workspace %d" msgstr "Anamal"
msgstr "Tallunt n umahil %d"
#: extensions/workspace-indicator/prefs.js:136 #: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Workspace Names" msgid "Previews"
msgstr "Ismawen n tallunin n umahil" msgstr "Tiskanin"
#: extensions/workspace-indicator/prefs.js:262 #: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Add Workspace" msgid "Workspace Name"
msgstr "Rnu tallunt n umahil" msgstr "Isem n tallunt n umahil"
#~ msgid "Applications" #: extensions/workspace-indicator/workspacePrefs.js:59
#~ msgstr "Isnasen" 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"
+135 -84
View File
@@ -8,38 +8,38 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2024-02-06 18:43+0000\n" "POT-Creation-Date: 2025-11-05 13:44+0000\n"
"PO-Revision-Date: 2024-02-25 00:02+0600\n" "PO-Revision-Date: 2026-01-11 23:01+0500\n"
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n" "Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
"Language-Team: Kazakh <kk@li.org>\n" "Language-Team: Kazakh <kk@li.org>\n"
"Language: kk\n" "Language: kk\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.2\n" "X-Generator: Poedit 3.8\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:2
msgid "GNOME Classic" msgid "GNOME Classic"
msgstr "Классикалық GNOME" msgstr "Классикалық GNOME"
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 #: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:4 #: data/gnome-classic-xorg.desktop.in:3
msgid "This session logs you into GNOME Classic" msgid "This session logs you into GNOME Classic"
msgstr "Бұл сессия арқылы классикалық GNOME ішіне кіресіз" msgstr "Бұл сессия арқылы классикалық GNOME ішіне кіресіз"
#: data/gnome-classic-wayland.desktop.in:3 #: data/gnome-classic-wayland.desktop.in:2
msgid "GNOME Classic on Wayland" msgid "GNOME Classic on Wayland"
msgstr "Wayland негізіндегі классикалық GNOME" msgstr "Wayland негізіндегі классикалық GNOME"
#: data/gnome-classic-xorg.desktop.in:3 #: data/gnome-classic-xorg.desktop.in:2
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "Xorg негізіндегі классикалық GNOME" msgstr "Xorg негізіндегі классикалық GNOME"
#: extensions/apps-menu/extension.js:126 #: extensions/apps-menu/extension.js:118
msgid "Favorites" msgid "Favorites"
msgstr "Таңдамалылар" msgstr "Таңдамалылар"
#: extensions/apps-menu/extension.js:397 #: extensions/apps-menu/extension.js:392
msgid "Apps" msgid "Apps"
msgstr "Қолданбалар" msgstr "Қолданбалар"
@@ -52,20 +52,20 @@ msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "followed by a colon and the workspace number"
msgstr "" msgstr ""
"Жолдар тізімі, әрқайсысы қолданба анықтағышын сақтайды (desktop файлының " "Жолдар тізімі, әрқайсысы қолданба анықтағышын сақтайды (desktop файлының аты), "
"аты), соңында үтір және жұмыс орнының нөмірі тұрады" "соңында үтір және жұмыс орнының нөмірі тұрады"
#: extensions/auto-move-windows/prefs.js:159 #: extensions/auto-move-windows/prefs.js:157
msgid "Workspace Rules" msgid "Workspace Rules"
msgstr "Жұмыс орын ережелері" msgstr "Жұмыс орын ережелері"
#: extensions/auto-move-windows/prefs.js:314 #: extensions/auto-move-windows/prefs.js:312
msgid "Add Rule" msgid "Add Rule"
msgstr "Ережені қосу" msgstr "Ережені қосу"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123 #: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:218 #: extensions/places-menu/placeDisplay.js:186
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "\"%s\" жетегін шығару сәтсіз аяқталды:" msgstr "\"%s\" жетегін шығару сәтсіз аяқталды:"
@@ -85,8 +85,8 @@ msgstr "Терезелер үшін көбірек экранды қолдану
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid "" msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen " "Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. " "aspect ratio, and consolidating them further to reduce the bounding box. This "
"This setting applies only with the natural placement strategy." "setting applies only with the natural placement strategy."
msgstr "" msgstr ""
"Терезелер үлгілерін орналастыру кезінде экран жақтарының арақатынасын есепке " "Терезелер үлгілерін орналастыру кезінде экран жақтарының арақатынасын есепке "
"алып, көбірек экран орнын қолдануға тырысу, және шектеу қоршамын азайту " "алып, көбірек экран орнын қолдануға тырысу, және шектеу қоршамын азайту "
@@ -103,37 +103,43 @@ msgid ""
"shell default of placing it at the bottom. Changing this setting requires " "shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect." "restarting the shell to have any effect."
msgstr "" msgstr ""
"True болса, терезе атауларын сәйкес келетін үлгінің үстіне орналастыру, " "True болса, терезе атауларын сәйкес келетін үлгінің үстіне орналастыру, үнсіз "
"үнсіз келісім бойынша астына орналастырудың орнына. Бұл баптау іске асыру " "келісім бойынша астына орналастырудың орнына. Бұл баптау іске асыру үшін "
"үшін қоршамды қайта іске қосу керек." "қоршамды қайта іске қосу керек."
#: extensions/places-menu/extension.js:91 #: extensions/places-menu/extension.js:75 extensions/places-menu/extension.js:78
#: extensions/places-menu/extension.js:94
msgid "Places" msgid "Places"
msgstr "Орындар" msgstr "Орындар"
#: extensions/places-menu/placeDisplay.js:60 #: extensions/places-menu/placeDisplay.js:52
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "\"%s\" жөнелту сәтсіз аяқталды" msgstr "\"%s\" жөнелту сәтсіз аяқталды"
#: extensions/places-menu/placeDisplay.js:75 #: extensions/places-menu/placeDisplay.js:67
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "\"%s\" үшін томды тіркеу сәтсіз аяқталды" msgstr "\"%s\" үшін томды тіркеу сәтсіз аяқталды"
#: extensions/places-menu/placeDisplay.js:135 #: extensions/places-menu/placeDisplay.js:315
#: extensions/places-menu/placeDisplay.js:158
msgid "Computer"
msgstr "Компьютер"
#: extensions/places-menu/placeDisplay.js:333
msgid "Home" msgid "Home"
msgstr "Үй бумасы" msgstr "Үй бумасы"
#: extensions/places-menu/placeDisplay.js:378 #: extensions/places-menu/placeDisplay.js:321
msgid "Browse Network" msgid "Recent"
msgstr "Желіні шолу" 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 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
@@ -155,43 +161,43 @@ msgstr "Жады статистикасы"
msgid "Swap stats" msgid "Swap stats"
msgstr "Своп статистикасы" msgstr "Своп статистикасы"
#: extensions/system-monitor/extension.js:327 #: extensions/system-monitor/extension.js:336
msgid "Upload stats" msgid "Upload stats"
msgstr "Жүктеп салу статистикасы" msgstr "Жүктеп салу статистикасы"
#: extensions/system-monitor/extension.js:341 #: extensions/system-monitor/extension.js:350
msgid "Download stats" msgid "Download stats"
msgstr "Жүктеп алу статистикасы" msgstr "Жүктеп алу статистикасы"
#: extensions/system-monitor/extension.js:355 #: extensions/system-monitor/extension.js:365
msgid "System stats" msgid "System stats"
msgstr "Жүйе статистикасы" msgstr "Жүйе статистикасы"
#: extensions/system-monitor/extension.js:403 #: extensions/system-monitor/extension.js:413
msgid "Show" msgid "Show"
msgstr "Көрсету" msgstr "Көрсету"
#: extensions/system-monitor/extension.js:405 #: extensions/system-monitor/extension.js:415
msgid "CPU" msgid "CPU"
msgstr "Процессор" msgstr "Процессор"
#: extensions/system-monitor/extension.js:407 #: extensions/system-monitor/extension.js:417
msgid "Memory" msgid "Memory"
msgstr "Жады" msgstr "Жады"
#: extensions/system-monitor/extension.js:409 #: extensions/system-monitor/extension.js:419
msgid "Swap" msgid "Swap"
msgstr "Своп" msgstr "Своп"
#: extensions/system-monitor/extension.js:411 #: extensions/system-monitor/extension.js:421
msgid "Upload" msgid "Upload"
msgstr "Жүктеп салу" msgstr "Жүктеп салу"
#: extensions/system-monitor/extension.js:413 #: extensions/system-monitor/extension.js:423
msgid "Download" msgid "Download"
msgstr "Жүктеп алу" msgstr "Жүктеп алу"
#: extensions/system-monitor/extension.js:418 #: extensions/system-monitor/extension.js:428
msgid "Open System Monitor" msgid "Open System Monitor"
msgstr "Жүйелік бақылаушысын ашу" msgstr "Жүйелік бақылаушысын ашу"
@@ -223,47 +229,47 @@ msgstr "Тема атауы"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" 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:71 #: extensions/window-list/extension.js:98
msgid "Close" msgid "Close"
msgstr "Жабу" msgstr "Жабу"
#: extensions/window-list/extension.js:98 #: extensions/window-list/extension.js:125
msgid "Unminimize" msgid "Unminimize"
msgstr "Қайырылған емес қылу" msgstr "Қайырылған емес қылу"
#: extensions/window-list/extension.js:98 #: extensions/window-list/extension.js:125
msgid "Minimize" msgid "Minimize"
msgstr "Қайыру" msgstr "Қайыру"
#: extensions/window-list/extension.js:105 #: extensions/window-list/extension.js:130
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Жазық емес қылу" msgstr "Жазық емес қылу"
#: extensions/window-list/extension.js:105 #: extensions/window-list/extension.js:130
msgid "Maximize" msgid "Maximize"
msgstr "Жазық қылу" msgstr "Жазық қылу"
#: extensions/window-list/extension.js:470 #: extensions/window-list/extension.js:720
msgid "Minimize all" msgid "Minimize all"
msgstr "Барлығын қайыру" msgstr "Барлығын қайыру"
#: extensions/window-list/extension.js:476 #: extensions/window-list/extension.js:726
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Барлығын қайырылған емес қылу" msgstr "Барлығын қайырылған емес қылу"
#: extensions/window-list/extension.js:482 #: extensions/window-list/extension.js:732
msgid "Maximize all" msgid "Maximize all"
msgstr "Барлығын жазық қылу" msgstr "Барлығын жазық қылу"
#: extensions/window-list/extension.js:490 #: extensions/window-list/extension.js:740
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Барлығын жазық емес қылу" msgstr "Барлығын жазық емес қылу"
#: extensions/window-list/extension.js:498 #: extensions/window-list/extension.js:748
msgid "Close all" msgid "Close all"
msgstr "Барлығын жабу" msgstr "Барлығын жабу"
#: extensions/window-list/extension.js:772 #: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List" msgid "Window List"
msgstr "Терезелер тізімі" msgstr "Терезелер тізімі"
@@ -280,7 +286,7 @@ msgstr ""
"сипаттайды. Мүмкін мәндері: \"never\", \"auto\" және \"always\"." "сипаттайды. Мүмкін мәндері: \"never\", \"auto\" және \"always\"."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 #: 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" msgid "Show windows from all workspaces"
msgstr "Барлық жұмыс орнындарынан терезелерді көрсету" msgstr "Барлық жұмыс орнындарынан терезелерді көрсету"
@@ -302,43 +308,89 @@ 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:41
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Терезелерді топтау" msgstr "Терезелерді топтау"
#: extensions/window-list/prefs.js:40 #: extensions/window-list/prefs.js:46
msgid "Never group windows" msgid "Never group windows"
msgstr "Терезелерді ешқашан топтамау" msgstr "Терезелерді ешқашан топтамау"
#: extensions/window-list/prefs.js:41 #: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited" msgid "Group windows when space is limited"
msgstr "Терезелерді орын шектелген кезде топтау" msgstr "Терезелерді орын шектелген кезде топтау"
#: extensions/window-list/prefs.js:42 #: extensions/window-list/prefs.js:48
msgid "Always group windows" msgid "Always group windows"
msgstr "Терезелерді әрқашан топтау" msgstr "Терезелерді әрқашан топтау"
#: extensions/window-list/prefs.js:66 #: extensions/window-list/prefs.js:68
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Барлық мониторларда көрсету" msgstr "Барлық мониторларда көрсету"
#: extensions/window-list/workspaceIndicator.js:253 #: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
#: extensions/workspace-indicator/extension.js:259 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" msgid "Workspace Indicator"
msgstr "Жұмыс орын индикаторы" msgstr "Жұмыс орын индикаторы"
#: extensions/workspace-indicator/prefs.js:69 #: extensions/workspace-indicator/workspacePrefs.js:20
#, javascript-format msgid "Indicator"
msgid "Workspace %d" msgstr "Индикатор"
msgstr "Жұмыс орны %d"
#: extensions/workspace-indicator/prefs.js:136 #: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Workspace Names" msgid "Previews"
msgstr "Жұмыс орын атаулары" msgstr "Алдын ала қараулар"
#: extensions/workspace-indicator/prefs.js:262 #: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Add Workspace" msgid "Workspace Name"
msgstr "Жұмыс орнын қосу" 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" #~ msgid "Applications"
#~ msgstr "Қолданбалар" #~ msgstr "Қолданбалар"
@@ -361,23 +413,22 @@ msgstr "Жұмыс орнын қосу"
#~ msgid "" #~ msgid ""
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell." #~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
#~ msgstr "" #~ msgstr ""
#~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.mutter кілтін үстінен " #~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.mutter кілтін үстінен басады."
#~ "басады."
#~ msgid "Arrangement of buttons on the titlebar" #~ msgid "Arrangement of buttons on the titlebar"
#~ msgstr "Атау жолағындағы батырмалар орналасуы" #~ msgstr "Атау жолағындағы батырмалар орналасуы"
#~ msgid "" #~ msgid ""
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when " #~ "This key overrides the key in org.gnome.desktop.wm.preferences when running "
#~ "running GNOME Shell." #~ "GNOME Shell."
#~ msgstr "" #~ msgstr ""
#~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.desktop.wm.preferences " #~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.desktop.wm.preferences "
#~ "кілтін үстінен жазады." #~ "кілтін үстінен жазады."
#~ msgid "Enable edge tiling when dropping windows on screen edges" #~ msgid "Enable edge tiling when dropping windows on screen edges"
#~ msgstr "" #~ msgstr ""
#~ "Терезелерді экран шеттеріне апарған кезде олардың өлшемдерін өзгертуді " #~ "Терезелерді экран шеттеріне апарған кезде олардың өлшемдерін өзгертуді іске "
#~ "іске қосу" #~ "қосу"
#~ msgid "Workspaces only on primary monitor" #~ msgid "Workspaces only on primary monitor"
#~ msgstr "Жұмыс орындары тек біріншілік мониторда" #~ msgstr "Жұмыс орындары тек біріншілік мониторда"
@@ -407,20 +458,20 @@ msgstr "Жұмыс орнын қосу"
#~ msgstr "Альтернативті сәлемдесу мәтіні." #~ msgstr "Альтернативті сәлемдесу мәтіні."
#~ msgid "" #~ msgid ""
#~ "If not empty, it contains the text that will be shown when clicking on " #~ "If not empty, it contains the text that will be shown when clicking on the "
#~ "the panel." #~ "panel."
#~ msgstr "Бос болмаса, панельге шерту кезінде көрсетілетін мәтінді сақтайды." #~ msgstr "Бос болмаса, панельге шерту кезінде көрсетілетін мәтінді сақтайды."
#~ msgid "Message" #~ msgid "Message"
#~ msgstr "Хабарлама" #~ msgstr "Хабарлама"
#~ msgid "" #~ msgid ""
#~ "Example aims to show how to build well behaved extensions for the Shell " #~ "Example aims to show how to build well behaved extensions for the Shell and "
#~ "and as such it has little functionality on its own.\n" #~ "as such it has little functionality on its own.\n"
#~ "Nevertheless its possible to customize the greeting message." #~ "Nevertheless its possible to customize the greeting message."
#~ msgstr "" #~ msgstr ""
#~ "Бұл мысал Shell үшін тиянақты жұмыс жасайтын кеңейтулерді қалай жасау " #~ "Бұл мысал Shell үшін тиянақты жұмыс жасайтын кеңейтулерді қалай жасау керек "
#~ "керек екенін көрсетуге тырысады, сондықтан оның өз мүмкіндіктері аз.\n" #~ "екенін көрсетуге тырысады, сондықтан оның өз мүмкіндіктері аз.\n"
#~ "Сонда да сәлемдесу хабарламасын өзгертуге болады." #~ "Сонда да сәлемдесу хабарламасын өзгертуге болады."
#~ msgid "GNOME Shell Classic" #~ msgid "GNOME Shell Classic"
+74 -40
View File
@@ -9,9 +9,9 @@ msgstr ""
"Project-Id-Version: lt\n" "Project-Id-Version: lt\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2025-02-13 00:15+0000\n" "POT-Creation-Date: 2025-09-11 16:55+0000\n"
"PO-Revision-Date: 2025-02-24 22:25+0200\n" "PO-Revision-Date: 2025-09-13 21:22+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n" "Last-Translator: Aurimas Černius <aurimas.cernius@mailo.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n" "Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
"Language: lt\n" "Language: lt\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -19,30 +19,30 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n" "(n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 3.5\n" "X-Generator: Poedit 3.7\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:2
msgid "GNOME Classic" msgid "GNOME Classic"
msgstr "Klasikinis GNOME" msgstr "Klasikinis GNOME"
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 #: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:4 #: data/gnome-classic-xorg.desktop.in:3
msgid "This session logs you into GNOME Classic" msgid "This session logs you into GNOME Classic"
msgstr "Šis seansas prijungs jus prie klasikinio GNOME" msgstr "Šis seansas prijungs jus prie klasikinio GNOME"
#: data/gnome-classic-wayland.desktop.in:3 #: data/gnome-classic-wayland.desktop.in:2
msgid "GNOME Classic on Wayland" msgid "GNOME Classic on Wayland"
msgstr "Klasikinis GNOME Wayland aplinkoje" msgstr "Klasikinis GNOME Wayland aplinkoje"
#: data/gnome-classic-xorg.desktop.in:3 #: data/gnome-classic-xorg.desktop.in:2
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "Klasikinis GNOME Xorg aplinkoje" msgstr "Klasikinis GNOME Xorg aplinkoje"
#: extensions/apps-menu/extension.js:125 #: extensions/apps-menu/extension.js:118
msgid "Favorites" msgid "Favorites"
msgstr "Mėgiamiausi" msgstr "Mėgiamiausi"
#: extensions/apps-menu/extension.js:399 #: extensions/apps-menu/extension.js:392
msgid "Apps" msgid "Apps"
msgstr "Programos" msgstr "Programos"
@@ -232,47 +232,47 @@ msgstr "Temos pavadinimas"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Temos pavadinimas, kuri bus įkrauta iš ~/.themes/name/gnome-shell" msgstr "Temos pavadinimas, kuri bus įkrauta iš ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:95 #: extensions/window-list/extension.js:98
msgid "Close" msgid "Close"
msgstr "Užverti" msgstr "Užverti"
#: extensions/window-list/extension.js:122 #: extensions/window-list/extension.js:125
msgid "Unminimize" msgid "Unminimize"
msgstr "Grąžinti iš sumažinimo" msgstr "Grąžinti iš sumažinimo"
#: extensions/window-list/extension.js:122 #: extensions/window-list/extension.js:125
msgid "Minimize" msgid "Minimize"
msgstr "Sumažinti" msgstr "Sumažinti"
#: extensions/window-list/extension.js:129 #: extensions/window-list/extension.js:130
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Grąžinti iš išdidinimo" msgstr "Grąžinti iš išdidinimo"
#: extensions/window-list/extension.js:129 #: extensions/window-list/extension.js:130
msgid "Maximize" msgid "Maximize"
msgstr "Išdidinti" msgstr "Išdidinti"
#: extensions/window-list/extension.js:721 #: extensions/window-list/extension.js:720
msgid "Minimize all" msgid "Minimize all"
msgstr "Sumažinti visus" msgstr "Sumažinti visus"
#: extensions/window-list/extension.js:727 #: extensions/window-list/extension.js:726
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Grąžinti visus iš sumažinimo" msgstr "Grąžinti visus iš sumažinimo"
#: extensions/window-list/extension.js:733 #: extensions/window-list/extension.js:732
msgid "Maximize all" msgid "Maximize all"
msgstr "Išdidinti visus" msgstr "Išdidinti visus"
#: extensions/window-list/extension.js:741 #: extensions/window-list/extension.js:740
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Grąžinti visus iš išdidinimo" msgstr "Grąžinti visus iš išdidinimo"
#: extensions/window-list/extension.js:749 #: extensions/window-list/extension.js:748
msgid "Close all" msgid "Close all"
msgstr "Užverti visus" msgstr "Užverti visus"
#: 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" msgid "Window List"
msgstr "Langų sąrašas" msgstr "Langų sąrašas"
@@ -337,35 +337,69 @@ msgstr "Rodyti visuose monitoriuose"
msgid "Show workspace previews in top bar" msgid "Show workspace previews in top bar"
msgstr "Rodo darbo sričių peržiūras viršutinėje juostoje" msgstr "Rodo darbo sričių peržiūras viršutinėje juostoje"
#: extensions/workspace-indicator/workspaceIndicator.js:430 #: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Spauskite %s keitimui"
#: extensions/workspace-indicator/workspaceIndicator.js:518
msgid "Settings"
msgstr "Nuostatos"
#: extensions/workspace-indicator/workspaceIndicator.js:598
msgid "Workspace Indicator" msgid "Workspace Indicator"
msgstr "Darbo srities indikatorius" msgstr "Darbo srities indikatorius"
#: extensions/workspace-indicator/workspacePrefs.js:28 #: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Show Previews" msgid "Indicator"
msgstr "Rodyti peržiūras" msgstr "Indikatorius"
#: extensions/workspace-indicator/workspacePrefs.js:86 #: extensions/workspace-indicator/workspacePrefs.js:25
#, javascript-format msgid "Previews"
msgid "Workspace %d" msgstr "Peržiūros"
msgstr "Darbo sritis %d"
#: extensions/workspace-indicator/workspacePrefs.js:153 #: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Names" msgid "Workspace Name"
msgstr "Darbo sričių pavadinimai" msgstr "Darbo srities pavadinimas"
#: extensions/workspace-indicator/workspacePrefs.js:170 #: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Add Workspace" msgid "Behavior"
msgstr "Pridėti darbo sritį" msgstr "Elgesys"
#: extensions/workspace-indicator/workspacePrefs.js:195 #: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Remove" msgid "Dynamic"
msgstr "Pašalinti" msgstr "Dinaminis"
#: extensions/workspace-indicator/workspacePrefs.js:225 #: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Automatiškai pašalina tuščias darbo sritis."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Fiksuotas skaičius"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Nurodyti nuolatinį darbo sričių skaičių."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Darbo sričių skaičius"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces" msgid "Workspaces"
msgstr "Darbo sritys" msgstr "Darbo sritys"
#, javascript-format
#~ msgid "Workspace %d"
#~ msgstr "Darbo sritis %d"
#~ msgid "Add Workspace"
#~ msgstr "Pridėti darbo sritį"
#~ msgid "Remove"
#~ msgstr "Pašalinti"
#~ msgid "Computer" #~ msgid "Computer"
#~ msgstr "Kompiuteris" #~ msgstr "Kompiuteris"
+82 -51
View File
@@ -16,16 +16,16 @@ msgstr ""
"Project-Id-Version: 3.14\n" "Project-Id-Version: 3.14\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2025-03-14 00:48+0000\n" "POT-Creation-Date: 2025-11-05 13:44+0000\n"
"PO-Revision-Date: 2025-03-29 14:52+0000\n" "PO-Revision-Date: 2025-12-30 23:18+0000\n"
"Last-Translator: Hugo Carvalho <hugokarvalho@hotmail.com>\n" "Last-Translator: hugokarvalho@hotmail.com <Hugo Carvalho>\n"
"Language-Team: Portuguese (https://l10n.gnome.org/teams/pt/)\n" "Language-Team: Portuguese (https://l10n.gnome.org/teams/pt/)\n"
"Language: pt\n" "Language: pt\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\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-Project-Style: gnome\n"
"X-DL-Team: pt\n" "X-DL-Team: pt\n"
"X-DL-Module: gnome-shell-extensions\n" "X-DL-Module: gnome-shell-extensions\n"
@@ -33,20 +33,20 @@ msgstr ""
"X-DL-Domain: po\n" "X-DL-Domain: po\n"
"X-DL-State: Translating\n" "X-DL-State: Translating\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:2
msgid "GNOME Classic" msgid "GNOME Classic"
msgstr "GNOME clássico" msgstr "GNOME clássico"
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4 #: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:4 #: data/gnome-classic-xorg.desktop.in:3
msgid "This session logs you into GNOME Classic" msgid "This session logs you into GNOME Classic"
msgstr "Esta sessão vai usar o GNOME clássico" 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" msgid "GNOME Classic on Wayland"
msgstr "GNOME clássico em 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" msgid "GNOME Classic on Xorg"
msgstr "GNOME clássico em 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 " "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" "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" msgid "Workspace Rules"
msgstr "Regras das áreas de trabalho" msgstr "Regras das áreas de trabalho"
#: extensions/auto-move-windows/prefs.js:311 #: extensions/auto-move-windows/prefs.js:312
msgid "Add Rule" msgid "Add Rule"
msgstr "Adicionar regra" msgstr "Adicionar regra"
@@ -185,35 +185,35 @@ msgstr "Estatísticas de envio"
msgid "Download stats" msgid "Download stats"
msgstr "Estatísticas de transferência" msgstr "Estatísticas de transferência"
#: extensions/system-monitor/extension.js:364 #: extensions/system-monitor/extension.js:365
msgid "System stats" msgid "System stats"
msgstr "Estatísticas do sistema" msgstr "Estatísticas do sistema"
#: extensions/system-monitor/extension.js:412 #: extensions/system-monitor/extension.js:413
msgid "Show" msgid "Show"
msgstr "Mostrar" msgstr "Mostrar"
#: extensions/system-monitor/extension.js:414 #: extensions/system-monitor/extension.js:415
msgid "CPU" msgid "CPU"
msgstr "CPU" msgstr "CPU"
#: extensions/system-monitor/extension.js:416 #: extensions/system-monitor/extension.js:417
msgid "Memory" msgid "Memory"
msgstr "Memória" msgstr "Memória"
#: extensions/system-monitor/extension.js:418 #: extensions/system-monitor/extension.js:419
msgid "Swap" msgid "Swap"
msgstr "Swap" msgstr "Swap"
#: extensions/system-monitor/extension.js:420 #: extensions/system-monitor/extension.js:421
msgid "Upload" msgid "Upload"
msgstr "Envio" msgstr "Envio"
#: extensions/system-monitor/extension.js:422 #: extensions/system-monitor/extension.js:423
msgid "Download" msgid "Download"
msgstr "Transferência" msgstr "Transferência"
#: extensions/system-monitor/extension.js:427 #: extensions/system-monitor/extension.js:428
msgid "Open System Monitor" msgid "Open System Monitor"
msgstr "Abrir monitor do sistema" 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" 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" 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" msgid "Close"
msgstr "Fechar" msgstr "Fechar"
#: extensions/window-list/extension.js:122 #: extensions/window-list/extension.js:125
msgid "Unminimize" msgid "Unminimize"
msgstr "Repor" msgstr "Repor"
#: extensions/window-list/extension.js:122 #: extensions/window-list/extension.js:125
msgid "Minimize" msgid "Minimize"
msgstr "Minimizar" msgstr "Minimizar"
#: extensions/window-list/extension.js:129 #: extensions/window-list/extension.js:130
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Diminuir" msgstr "Diminuir"
#: extensions/window-list/extension.js:129 #: extensions/window-list/extension.js:130
msgid "Maximize" msgid "Maximize"
msgstr "Maximizar" msgstr "Maximizar"
#: extensions/window-list/extension.js:721 #: extensions/window-list/extension.js:720
msgid "Minimize all" msgid "Minimize all"
msgstr "Minimizar tudo" msgstr "Minimizar tudo"
#: extensions/window-list/extension.js:727 #: extensions/window-list/extension.js:726
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Repor tudo" msgstr "Repor tudo"
#: extensions/window-list/extension.js:733 #: extensions/window-list/extension.js:732
msgid "Maximize all" msgid "Maximize all"
msgstr "Maximizar tudo" msgstr "Maximizar tudo"
#: extensions/window-list/extension.js:741 #: extensions/window-list/extension.js:740
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Diminuir tudo" msgstr "Diminuir tudo"
#: extensions/window-list/extension.js:749 #: extensions/window-list/extension.js:748
msgid "Close all" msgid "Close all"
msgstr "Fechar tudo" 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" msgid "Window List"
msgstr "Lista de janelas" msgstr "Lista de janelas"
@@ -351,35 +351,69 @@ msgstr "Mostrar em todos os monitores"
msgid "Show workspace previews in top bar" msgid "Show workspace previews in top bar"
msgstr "Mostrar pré-visualizações de áreas de trabalho na barra superior" 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" msgid "Workspace Indicator"
msgstr "Indicador de área de trabalho" msgstr "Indicador de área de trabalho"
#: extensions/workspace-indicator/workspacePrefs.js:28 #: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Show Previews" msgid "Indicator"
msgstr "Mostrar pré-visualizações" msgstr "Indicador"
#: extensions/workspace-indicator/workspacePrefs.js:86 #: extensions/workspace-indicator/workspacePrefs.js:25
#, javascript-format msgid "Previews"
msgid "Workspace %d" msgstr "Pré-visualizações"
msgstr "Área de trabalho %d"
#: extensions/workspace-indicator/workspacePrefs.js:153 #: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Names" msgid "Workspace Name"
msgstr "Nomes das áreas de trabalho" msgstr "Nome da área de trabalho"
#: extensions/workspace-indicator/workspacePrefs.js:170 #: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Add Workspace" msgid "Behavior"
msgstr "Adicionar área de trabalho" msgstr "Comportamento"
#: extensions/workspace-indicator/workspacePrefs.js:195 #: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Remove" msgid "Dynamic"
msgstr "Remover" 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" msgid "Workspaces"
msgstr "Áreas de trabalho" 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" #~ msgid "Computer"
#~ msgstr "Computador" #~ msgstr "Computador"
@@ -513,6 +547,3 @@ msgstr "Áreas de trabalho"
#~ msgid "Display" #~ msgid "Display"
#~ msgstr "Apresentar" #~ msgstr "Apresentar"
#~ msgid "Display Settings"
#~ msgstr "Definições de Visualização"
+3
View File
@@ -20,6 +20,9 @@ export default defineConfig([
afterColon: true, afterColon: true,
}], }],
'prefer-arrow-callback': 'error', 'prefer-arrow-callback': 'error',
'prefer-const': ['error', {
destructuring: 'all',
}],
'jsdoc/require-param-description': 'off', 'jsdoc/require-param-description': 'off',
'jsdoc/require-jsdoc': ['error', { 'jsdoc/require-jsdoc': ['error', {
exemptEmptyFunctions: true, exemptEmptyFunctions: true,
BIN
View File
Binary file not shown.
+3 -2
View File
@@ -8,7 +8,8 @@
"lint": "cd .. && ci-run-eslint" "lint": "cd .. && ci-run-eslint"
}, },
"dependencies": { "dependencies": {
"ci-run-eslint": "git+https://gitlab.gnome.org/World/javascript/ci-run-eslint.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" "eslint-config-gnome": "git+https://gitlab.gnome.org/World/javascript/eslint-config-gnome.git#c479d059e8d9ea99c3b53c2ea43abf7fdb05eb51",
"eslint-formatter-junit": "^9.0.1"
} }
} }
+5 -1
View File
@@ -3,6 +3,10 @@
# SPDX-FileCopyrightText: 2020 Philip Chimento <philip.chimento@gmail.com> # SPDX-FileCopyrightText: 2020 Philip Chimento <philip.chimento@gmail.com>
# SPDX-FileCopyrightText: 2025 Florian Müllner <fmuellner@gnome.org> # SPDX-FileCopyrightText: 2025 Florian Müllner <fmuellner@gnome.org>
cd $(dirname -- "$0") srcdir=$(dirname -- "$0")
cd $srcdir
[ ! -d node_modules ] && npm clean-install [ ! -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 -- "$@" npm run lint -- "$@"