Compare commits
175 Commits
46.3
...
upstream/4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b0637abc0 | ||
|
|
8a9aa6a818 | ||
|
|
017c6470b9 | ||
|
|
1e25fc1b5a | ||
|
|
e28215f38f | ||
|
|
8d06bc8b64 | ||
|
|
9e475cb279 | ||
|
|
cbbb2d2869 | ||
|
|
c72b8b2122 | ||
|
|
c302db7545 | ||
|
|
0554a8e97d | ||
|
|
039c66e7b7 | ||
|
|
7eb00e350e | ||
|
|
f76f9e8220 | ||
|
|
17c963b63f | ||
|
|
5d45a697ce | ||
|
|
ef729f2d66 | ||
|
|
6b2f4e801e | ||
|
|
1394e82bd0 | ||
|
|
9e61aaf08c | ||
|
|
6ac76140a5 | ||
|
|
8c014a6b1d | ||
|
|
2fe844f412 | ||
|
|
8185b43d54 | ||
|
|
59ab3f834d | ||
|
|
8b6835c3d6 | ||
|
|
bb5bb70ac5 | ||
|
|
da90d365ec | ||
|
|
02ff72b2f0 | ||
|
|
9c7a086870 | ||
|
|
24ba03fe96 | ||
|
|
69d8d1a335 | ||
|
|
d495a2eed8 | ||
|
|
6b3990457e | ||
|
|
099cff0b95 | ||
|
|
fac7fedfd3 | ||
|
|
6ed1b56526 | ||
|
|
a2ffb1238f | ||
|
|
b55e7a4dc8 | ||
|
|
0c42f162d3 | ||
|
|
01a37c8f26 | ||
|
|
5e88c7d891 | ||
|
|
af23a8491c | ||
|
|
32a454f917 | ||
|
|
63ff5b2ac1 | ||
|
|
a9fff9861b | ||
|
|
89a3daf9fe | ||
|
|
078a5a01ae | ||
|
|
9c8c3495b6 | ||
|
|
25e854dde8 | ||
|
|
64060ef4c5 | ||
|
|
9c97f01bc2 | ||
|
|
8693a8a74c | ||
|
|
47c12c6279 | ||
|
|
e96015b9ea | ||
|
|
d3debab713 | ||
|
|
00045b7396 | ||
|
|
19877302a6 | ||
|
|
56a74abb8a | ||
|
|
3ea76e3ecc | ||
|
|
9c08df11dc | ||
|
|
e4183488d9 | ||
|
|
b02e43d84c | ||
|
|
8ed3b72a56 | ||
|
|
a929cf9370 | ||
|
|
a5343c33ec | ||
|
|
8efd73c50e | ||
|
|
d5f617b3e2 | ||
|
|
d1ff099200 | ||
|
|
6bbc329e7b | ||
|
|
ed31f08f2f | ||
|
|
ed60502f10 | ||
|
|
0fa592a516 | ||
|
|
cb7b8e7c5a | ||
|
|
f27b239f55 | ||
|
|
7f192d0208 | ||
|
|
eff6f6ef88 | ||
|
|
a6131bd00b | ||
|
|
e864d0d1cc | ||
|
|
930595003d | ||
|
|
51df22adcf | ||
|
|
6ff6eb2c22 | ||
|
|
6bee46bf1a | ||
|
|
f4347d240a | ||
|
|
81b8ad4499 | ||
|
|
aeee81a82c | ||
|
|
fcefdc3271 | ||
|
|
7a017c1e76 | ||
|
|
b2455f0ecd | ||
|
|
573aba17d7 | ||
|
|
2117c42d74 | ||
|
|
5edffcd859 | ||
|
|
d8b526a715 | ||
|
|
a5b6871562 | ||
|
|
deb6031381 | ||
|
|
486cb59aff | ||
|
|
de9a3df7bd | ||
|
|
db131fc7da | ||
|
|
80c6656c4f | ||
|
|
a5a3523df8 | ||
|
|
06acd9ff25 | ||
|
|
1a1d45d9e4 | ||
|
|
1d3775b3d1 | ||
|
|
15c83db793 | ||
|
|
cc021589b8 | ||
|
|
5e316d37cb | ||
|
|
28dbb47937 | ||
|
|
619de9d5ee | ||
|
|
561b8aeb03 | ||
|
|
4286fd1bcc | ||
|
|
3bb0897bc1 | ||
|
|
12eedcf6f7 | ||
|
|
08d382facc | ||
|
|
d9ae9a023a | ||
|
|
96a1de92db | ||
|
|
cc2f46b837 | ||
|
|
9f25047e24 | ||
|
|
fb66afbf71 | ||
|
|
365fa6abc9 | ||
|
|
d7a824f35f | ||
|
|
0d8e412220 | ||
|
|
991f6ef508 | ||
|
|
37f03f5e2e | ||
|
|
b4a4ff0a06 | ||
|
|
de8876bd5e | ||
|
|
5ad272e628 | ||
|
|
3b22582752 | ||
|
|
e734fcbd21 | ||
|
|
435879c121 | ||
|
|
ed81650f55 | ||
|
|
1276a880de | ||
|
|
584016c291 | ||
|
|
41664b152c | ||
|
|
8957c277a1 | ||
|
|
8b9be8f120 | ||
|
|
d3b687df8b | ||
|
|
df463177e7 | ||
|
|
62af36ebfa | ||
|
|
c5246b7415 | ||
|
|
d39c1fd685 | ||
|
|
665a7fbbcb | ||
|
|
a4987d03b8 | ||
|
|
c477f10bfb | ||
|
|
2ae0f368b9 | ||
|
|
ac33058086 | ||
|
|
c7a08aaf74 | ||
|
|
8c1d6d88cf | ||
|
|
33b16681c6 | ||
|
|
3c51716268 | ||
|
|
e5421b6cc6 | ||
|
|
f1e7ae1010 | ||
|
|
10fe907c83 | ||
|
|
ae9809caba | ||
|
|
c95d197c5c | ||
|
|
ae8749b7e1 | ||
|
|
84a548c0b9 | ||
|
|
f047cb0baf | ||
|
|
28494941e1 | ||
|
|
b70059ac4d | ||
|
|
eb567c1120 | ||
|
|
b1eb9b9080 | ||
|
|
a0b6535210 | ||
|
|
9a9b3afa31 | ||
|
|
59bc054ef6 | ||
|
|
57e9dfe722 | ||
|
|
f17a519c38 | ||
|
|
8223ca9739 | ||
|
|
fe20c27b60 | ||
|
|
5ba59d1096 | ||
|
|
0ad1e9bbc1 | ||
|
|
5ea14f063f | ||
|
|
3cc3d03f0b | ||
|
|
057e5bb0c1 | ||
|
|
07fc66765d | ||
|
|
daa7b9b6ab |
@@ -1,17 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2024 Florian Müllner <fmuellner@gnome.org>
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
|
||||
indent_style = space
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.js]
|
||||
indent_size = 4
|
||||
|
||||
[meson.build]
|
||||
indent_size = 2
|
||||
@@ -3,13 +3,10 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
include:
|
||||
- remote: 'https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
|
||||
- remote: "https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml"
|
||||
- component: gitlab.gnome.org/GNOME/citemplates/release-service@master
|
||||
inputs:
|
||||
job-stage: deploy
|
||||
dist-job-name: fedora-dist-tarball
|
||||
tarball-artifact-path: "$TARBALL_ARTIFACT_PATH"
|
||||
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
|
||||
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml"
|
||||
- project: 'Infrastructure/openshift-images/gnome-release-service'
|
||||
file: '/ci-templates/release-module.yml'
|
||||
|
||||
stages:
|
||||
- pre_review
|
||||
@@ -19,7 +16,7 @@ stages:
|
||||
- deploy
|
||||
|
||||
default:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/40:2024-02-23.0
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/40:2024-07-11.0
|
||||
# Cancel jobs if newer commits are pushed to the branch
|
||||
interruptible: true
|
||||
# Auto-retry jobs in case of infra failures
|
||||
@@ -33,8 +30,7 @@ default:
|
||||
|
||||
variables:
|
||||
FDO_UPSTREAM_REPO: GNOME/gnome-shell-extensions
|
||||
MESON_BUILD_DIR: build
|
||||
TARBALL_ARTIFACT_PATH: "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
|
||||
LINT_LOG: "eslint-report.xml"
|
||||
|
||||
workflow:
|
||||
rules:
|
||||
@@ -112,16 +108,14 @@ js_check:
|
||||
eslint:
|
||||
stage: review
|
||||
<<: *prereview_req
|
||||
variables:
|
||||
LINT_LOG: "eslint-report.xml"
|
||||
script:
|
||||
- export NODE_PATH=$(npm root -g)
|
||||
- ./.gitlab-ci/run-eslint --output-file "$LINT_LOG" --format junit --stdout
|
||||
- ./.gitlab-ci/run-eslint --output-file ${LINT_LOG} --format junit --stdout
|
||||
artifacts:
|
||||
paths:
|
||||
- "$LINT_LOG"
|
||||
- ${LINT_LOG}
|
||||
reports:
|
||||
junit: "$LINT_LOG"
|
||||
junit: ${LINT_LOG}
|
||||
|
||||
potfile_js_check:
|
||||
stage: review
|
||||
@@ -147,13 +141,28 @@ fedora-build:
|
||||
stage: build
|
||||
<<: *prereview_req
|
||||
script:
|
||||
- meson setup "$MESON_BUILD_DIR" --werror -Dextension_set=all -Dclassic_mode=true
|
||||
- meson compile -C "$MESON_BUILD_DIR"
|
||||
- meson test -C "$MESON_BUILD_DIR"
|
||||
- meson install -C "$MESON_BUILD_DIR"
|
||||
- meson setup build --werror -Dextension_set=all -Dclassic_mode=true
|
||||
- meson compile -C build
|
||||
- meson test -C build
|
||||
- meson install -C build
|
||||
artifacts:
|
||||
paths:
|
||||
- "$MESON_BUILD_DIR"
|
||||
- build
|
||||
|
||||
fedora-distinfo:
|
||||
stage: deploy
|
||||
needs:
|
||||
- fedora-build
|
||||
script:
|
||||
- .gitlab-ci/export-artifact-path build > dist.env
|
||||
artifacts:
|
||||
reports:
|
||||
dotenv: dist.env
|
||||
paths:
|
||||
- build
|
||||
- dist.env
|
||||
rules:
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
|
||||
fedora-dist:
|
||||
stage: deploy
|
||||
@@ -162,7 +171,7 @@ fedora-dist:
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: normal
|
||||
script:
|
||||
- meson dist -C "$MESON_BUILD_DIR"
|
||||
- meson dist -C build
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
changes:
|
||||
@@ -171,11 +180,21 @@ fedora-dist:
|
||||
|
||||
fedora-dist-tarball:
|
||||
extends: fedora-dist
|
||||
needs:
|
||||
- fedora-distinfo
|
||||
artifacts:
|
||||
expose_as: 'Get tarball here'
|
||||
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
|
||||
when: always
|
||||
paths:
|
||||
- "$TARBALL_ARTIFACT_PATH"
|
||||
- $TARBALL_ARTIFACT_PATH
|
||||
reports:
|
||||
dotenv: dist.env
|
||||
rules:
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
|
||||
release-module:
|
||||
stage: deploy
|
||||
needs:
|
||||
- fedora-dist-tarball
|
||||
extends: .release-module
|
||||
rules:
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
|
||||
21
.gitlab-ci/export-artifact-path
Executable file
21
.gitlab-ci/export-artifact-path
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/gjs -m
|
||||
// SPDX-FileCopyrightText: 2024 Florian Müllner <fmuellner@gnome.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
import Gio from 'gi://Gio';
|
||||
import {programArgs, programInvocationName, exit} from 'system';
|
||||
|
||||
const [buildDir] = programArgs;
|
||||
if (!buildDir) {
|
||||
printerr(`usage: ${programInvocationName} <build-dir>`);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
const subprocess = Gio.Subprocess.new(
|
||||
['meson', 'introspect', '--projectinfo', buildDir],
|
||||
Gio.SubprocessFlags.STDOUT_PIPE);
|
||||
const [, out] = subprocess.communicate_utf8(null, null);
|
||||
|
||||
const {descriptive_name, version} = JSON.parse(out);
|
||||
print(`TARBALL_ARTIFACT_PATH=${buildDir}/meson-dist/${descriptive_name}-${version}.tar.xz`);
|
||||
@@ -20,6 +20,9 @@ need in gnome-shell.
|
||||
Generally, we follow [GJS coding style][coding-style], which in short is:
|
||||
indent 4 spaces, no tabs, space after comma, no space after function call.
|
||||
|
||||
The Emacs mode line for this
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
|
||||
Imports should be at the top, in two groups, one for standard
|
||||
imports (like imports.lang or imports.dbus) and introspection,
|
||||
the other for Shell API. Within the same group, put everything
|
||||
|
||||
32
NEWS
32
NEWS
@@ -1,31 +1,31 @@
|
||||
46.3
|
||||
====
|
||||
* places-menu: Fix a11y labelling [Florian; #542]
|
||||
* places-menu: Fix opening drives with mount operations [Florian; !361]
|
||||
* window-list: Fix hiding when entering overview with gestures [Florian; !364]
|
||||
* workspace-indicator: Only show previews of regular windows [Florian; !363]
|
||||
* Misc. bug fixes and cleanups [Florian, Bartłomiej; !345, !353, !370, !354,
|
||||
!362, !367, !368]
|
||||
47.beta
|
||||
=======
|
||||
* window-list: Modernize styling [Jakub; !330]
|
||||
* Include "status-icons" extension [Florian; !194]
|
||||
* Misc. bug fixes and cleanups [Florian; !328, !331, !327]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner, Bartłomiej Piotrowski
|
||||
Florian Müllner, Jakub Steiner
|
||||
|
||||
Translators:
|
||||
Милош Поповић [sr], Jose Riha [sk], Chao-Hsiung Liao [zh_TW],
|
||||
Daniel Șerbănescu [ro], Giannis Antypas [el], twlvnn kraftwerk [bg]
|
||||
Sabri Ünal [tr], Chao-Hsiung Liao [zh_TW]
|
||||
|
||||
46.2
|
||||
====
|
||||
47.alpha
|
||||
========
|
||||
* Improve workspace previews in window-list and workspace-indicator
|
||||
[Florian; !307, !316]
|
||||
* apps-menu: Fix a11y of category labels [Florian; !319]
|
||||
* window-list: Fix long-press support [Florian; !320]
|
||||
* Misc. bug fixes and cleanups [Florian; !324]
|
||||
* window-list: Animate transitions [Florian; !325]
|
||||
* Misc. bug fixes and cleanups [Florian; !315, !321, !324]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Hugo Carvalho [pt], Jose Riha [sk], Jordi Mas i Hernandez [ca],
|
||||
Scrambled 777 [hi]
|
||||
Jordi Mas i Hernandez [ca], Martin [sl], Hugo Carvalho [pt], Jose Riha [sk],
|
||||
Scrambled 777 [hi], Artur S0 [ru], Милош Поповић [sr], Yosef Or Boczko [he],
|
||||
Balázs Úr [hu]
|
||||
|
||||
46.1
|
||||
====
|
||||
|
||||
@@ -10,33 +10,33 @@ session_desktops = [
|
||||
session_desktop_base + '-wayland',
|
||||
]
|
||||
|
||||
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 meson/session-post-install.py until proper
|
||||
# solution arises:
|
||||
# https://github.com/mesonbuild/meson/issues/2416
|
||||
session_instdir = xsessiondir
|
||||
#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',
|
||||
)
|
||||
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 meson/session-post-install.py until proper
|
||||
# solution arises:
|
||||
# https://github.com/mesonbuild/meson/issues/2416
|
||||
session_instdir = xsessiondir
|
||||
#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 = []
|
||||
foreach e : classic_extensions
|
||||
classic_uuids += e + uuid_suffix
|
||||
classic_uuids += e + uuid_suffix
|
||||
endforeach
|
||||
|
||||
mode_conf = configuration_data()
|
||||
@@ -47,7 +47,7 @@ configure_file(
|
||||
input: mode_file + '.in',
|
||||
output: mode_file,
|
||||
configuration: mode_conf,
|
||||
install_dir: modedir,
|
||||
install_dir: modedir
|
||||
)
|
||||
|
||||
classic_override = '00_org.gnome.shell.extensions.classic.gschema.override'
|
||||
|
||||
@@ -8,16 +8,16 @@ srcdir=`dirname $0`
|
||||
srcdir=`(cd $srcdir && pwd)`
|
||||
|
||||
builddir=`mktemp -p $srcdir -d _build.XXXXXX` || exit 1
|
||||
destdir=`mktemp -p $srcdir -d _dest.XXXXXX` || exit 1
|
||||
installdir=`mktemp -p $srcdir -d _install.XXXXXX` || exit 1
|
||||
|
||||
meson setup --prefix=/usr -Dextension_set=all $srcdir $builddir
|
||||
meson install --destdir $destdir -C $builddir
|
||||
meson setup --prefix=$installdir -Dextension_set=all $srcdir $builddir
|
||||
meson install -C $builddir
|
||||
|
||||
rm -rf $srcdir/zip-files
|
||||
mkdir $srcdir/zip-files
|
||||
|
||||
extensiondir=$destdir/usr/share/gnome-shell/extensions
|
||||
schemadir=$destdir/usr/share/glib-2.0/schemas
|
||||
extensiondir=$installdir/share/gnome-shell/extensions
|
||||
schemadir=$installdir/share/glib-2.0/schemas
|
||||
|
||||
for f in $extensiondir/*; do
|
||||
name=`basename ${f%%@*}`
|
||||
@@ -39,7 +39,7 @@ for f in $extensiondir/*; do
|
||||
fi
|
||||
|
||||
cp $srcdir/NEWS $srcdir/COPYING $f
|
||||
sources=(NEWS COPYING $(cd $f; ls *.js))
|
||||
sources=(NEWS COPYING $(cd $f; ls *.js *.css 2>/dev/null))
|
||||
|
||||
[ -d $f/icons ] && sources+=(icons)
|
||||
|
||||
@@ -50,4 +50,4 @@ for f in $extensiondir/*; do
|
||||
done
|
||||
|
||||
rm -rf $builddir
|
||||
rm -rf $destdir
|
||||
rm -rf $installdir
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
import Atk from 'gi://Atk';
|
||||
import Clutter from 'gi://Clutter';
|
||||
import Gio from 'gi://Gio';
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
// Start apps on custom workspaces
|
||||
|
||||
import Shell from 'gi://Shell';
|
||||
|
||||
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
// Start apps on custom workspaces
|
||||
|
||||
import Adw from 'gi://Adw';
|
||||
import Gio from 'gi://Gio';
|
||||
import GLib from 'gi://GLib';
|
||||
|
||||
@@ -16,20 +16,18 @@ foreach e : enabled_extensions
|
||||
metadata_conf.set('gschemaname', 'org.gnome.shell.extensions.' + e)
|
||||
metadata_conf.set('gettext_domain', gettext_domain)
|
||||
metadata_conf.set('shell_current', shell_version)
|
||||
metadata_conf.set(
|
||||
'url',
|
||||
'https://gitlab.gnome.org/GNOME/gnome-shell-extensions',
|
||||
)
|
||||
metadata_conf.set('url', 'https://gitlab.gnome.org/GNOME/gnome-shell-extensions')
|
||||
|
||||
extension_sources = files(e + '/extension.js')
|
||||
extension_data = []
|
||||
|
||||
subdir(e)
|
||||
|
||||
install_data(
|
||||
extension_sources + extension_data,
|
||||
install_dir: join_paths(extensiondir, uuid),
|
||||
install_data (extension_sources + extension_data,
|
||||
install_dir: join_paths(extensiondir, uuid)
|
||||
)
|
||||
endforeach
|
||||
|
||||
install_data(extension_schemas, install_dir: schemadir)
|
||||
install_data (extension_schemas,
|
||||
install_dir: schemadir
|
||||
)
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
import Clutter from 'gi://Clutter';
|
||||
|
||||
import {Extension, InjectionManager} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
import Clutter from 'gi://Clutter';
|
||||
import GObject from 'gi://GObject';
|
||||
import St from 'gi://St';
|
||||
@@ -19,17 +20,32 @@ import {PlacesManager} from './placeDisplay.js';
|
||||
|
||||
const N_ = x => x;
|
||||
|
||||
class PlaceMenuItem extends PopupMenu.PopupImageMenuItem {
|
||||
const PLACE_ICON_SIZE = 16;
|
||||
|
||||
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(info) {
|
||||
super(info.name, info.icon, {
|
||||
super({
|
||||
style_class: 'place-menu-item',
|
||||
});
|
||||
this._info = info;
|
||||
|
||||
this._icon = new St.Icon({
|
||||
gicon: info.icon,
|
||||
icon_size: PLACE_ICON_SIZE,
|
||||
});
|
||||
this.add_child(this._icon);
|
||||
|
||||
this._label = new St.Label({
|
||||
text: info.name,
|
||||
x_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
});
|
||||
this.add_child(this._label);
|
||||
|
||||
if (info.isRemovable()) {
|
||||
this._ejectIcon = new St.Icon({
|
||||
icon_name: 'media-eject-symbolic',
|
||||
@@ -54,8 +70,8 @@ class PlaceMenuItem extends PopupMenu.PopupImageMenuItem {
|
||||
}
|
||||
|
||||
_propertiesChanged(info) {
|
||||
this.setIcon(info.icon);
|
||||
this.label.text = info.name;
|
||||
this._icon.gicon = info.icon;
|
||||
this._label.text = info.name;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
import Gio from 'gi://Gio';
|
||||
import GLib from 'gi://GLib';
|
||||
import Shell from 'gi://Shell';
|
||||
@@ -60,15 +61,15 @@ class PlaceInfo extends EventEmitter {
|
||||
return;
|
||||
}
|
||||
|
||||
const source = {
|
||||
get_drive: () => null,
|
||||
let source = {
|
||||
get_icon: () => this.icon,
|
||||
};
|
||||
let op = new ShellMountOperation.ShellMountOperation(source);
|
||||
try {
|
||||
await this.file.mount_enclosing_volume(0, op.mountOp, null);
|
||||
|
||||
if (tryMount)
|
||||
this._ensureMountAndLaunch(context, false).catch(logError);
|
||||
this._ensureMountAndLaunch(context, false);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.FAILED_HANDLED))
|
||||
Main.notifyError(_('Failed to mount volume for “%s”').format(this.name), e.message);
|
||||
@@ -80,7 +81,7 @@ class PlaceInfo extends EventEmitter {
|
||||
|
||||
launch(timestamp) {
|
||||
let launchContext = global.create_app_launch_context(timestamp, -1);
|
||||
this._ensureMountAndLaunch(launchContext, true).catch(logError);
|
||||
this._ensureMountAndLaunch(launchContext, true);
|
||||
}
|
||||
|
||||
getIcon() {
|
||||
|
||||
91
extensions/status-icons/extension.js
Normal file
91
extensions/status-icons/extension.js
Normal file
@@ -0,0 +1,91 @@
|
||||
// SPDX-FileCopyrightText: 2018 Adel Gadllah <adel.gadllah@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2018 Florian Müllner <fmuellner@gnome.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
import Clutter from 'gi://Clutter';
|
||||
import Shell from 'gi://Shell';
|
||||
import St from 'gi://St';
|
||||
|
||||
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||
import {Button as PanelButton} from 'resource:///org/gnome/shell/ui/panelMenu.js';
|
||||
|
||||
const PANEL_ICON_SIZE = 16;
|
||||
|
||||
const STANDARD_TRAY_ICON_IMPLEMENTATIONS = [
|
||||
'bluetooth-applet',
|
||||
'gnome-sound-applet',
|
||||
'nm-applet',
|
||||
'gnome-power-manager',
|
||||
'keyboard',
|
||||
'a11y-keyboard',
|
||||
'kbd-scrolllock',
|
||||
'kbd-numlock',
|
||||
'kbd-capslock',
|
||||
'ibus-ui-gtk',
|
||||
];
|
||||
|
||||
export default class SysTray {
|
||||
constructor() {
|
||||
this._icons = new Map();
|
||||
this._tray = null;
|
||||
}
|
||||
|
||||
_onTrayIconAdded(o, icon) {
|
||||
let wmClass = icon.wm_class ? icon.wm_class.toLowerCase() : '';
|
||||
if (STANDARD_TRAY_ICON_IMPLEMENTATIONS.includes(wmClass))
|
||||
return;
|
||||
|
||||
let button = new PanelButton(0.5, null, true);
|
||||
|
||||
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||
let iconSize = PANEL_ICON_SIZE * scaleFactor;
|
||||
|
||||
icon.set({
|
||||
width: iconSize,
|
||||
height: iconSize,
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
});
|
||||
|
||||
let iconBin = new St.Widget({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
style_class: 'system-status-icon',
|
||||
});
|
||||
iconBin.add_child(icon);
|
||||
button.add_child(iconBin);
|
||||
|
||||
this._icons.set(icon, button);
|
||||
|
||||
button.connect('button-release-event',
|
||||
(actor, event) => icon.click(event));
|
||||
button.connect('key-press-event',
|
||||
(actor, event) => icon.click(event));
|
||||
|
||||
const role = `${icon}`;
|
||||
Main.panel.addToStatusArea(role, button);
|
||||
}
|
||||
|
||||
_onTrayIconRemoved(o, icon) {
|
||||
const button = this._icons.get(icon);
|
||||
button?.destroy();
|
||||
this._icons.delete(icon);
|
||||
}
|
||||
|
||||
enable() {
|
||||
this._tray = new Shell.TrayManager();
|
||||
this._tray.connect('tray-icon-added',
|
||||
this._onTrayIconAdded.bind(this));
|
||||
this._tray.connect('tray-icon-removed',
|
||||
this._onTrayIconRemoved.bind(this));
|
||||
this._tray.manage_screen(Main.panel);
|
||||
}
|
||||
|
||||
disable() {
|
||||
this._icons.forEach(button => button.destroy());
|
||||
this._icons.clear();
|
||||
|
||||
this._tray.unmanage_screen();
|
||||
this._tray = null;
|
||||
}
|
||||
}
|
||||
9
extensions/status-icons/meson.build
Normal file
9
extensions/status-icons/meson.build
Normal file
@@ -0,0 +1,9 @@
|
||||
# SPDX-FileCopyrightText: 2018 Florian Müllner <fmuellner@gnome.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
extension_data += configure_file(
|
||||
input: metadata_name + '.in',
|
||||
output: metadata_name,
|
||||
configuration: metadata_conf
|
||||
)
|
||||
10
extensions/status-icons/metadata.json.in
Normal file
10
extensions/status-icons/metadata.json.in
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"extension-id": "@extension_id@",
|
||||
"uuid": "@uuid@",
|
||||
"settings-schema": "@gschemaname@",
|
||||
"gettext-domain": "@gettext_domain@",
|
||||
"name": "Status Icons",
|
||||
"description": "Show status icons in the top bar",
|
||||
"shell-version": [ "@shell_current@" ],
|
||||
"url": "@url@"
|
||||
}
|
||||
@@ -5,6 +5,9 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
// Load shell theme from ~/.local/share/themes/name/gnome-shell
|
||||
|
||||
import Gio from 'gi://Gio';
|
||||
|
||||
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
|
||||
// we use async/await here to not block the mainloop, not to parallelize
|
||||
/* eslint-disable no-await-in-loop */
|
||||
|
||||
|
||||
@@ -19,15 +19,13 @@ import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/ex
|
||||
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
|
||||
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
|
||||
import {DashItemContainer} from 'resource:///org/gnome/shell/ui/dash.js';
|
||||
|
||||
import {WorkspaceIndicator} from './workspaceIndicator.js';
|
||||
|
||||
const ICON_TEXTURE_SIZE = 24;
|
||||
const DND_ACTIVATE_TIMEOUT = 500;
|
||||
|
||||
const TOOLTIP_OFFSET = 6;
|
||||
const TOOLTIP_ANIMATION_TIME = 150;
|
||||
|
||||
const GroupingMode = {
|
||||
NEVER: 0,
|
||||
AUTO: 1,
|
||||
@@ -79,7 +77,7 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
|
||||
'notify::minimized', this._updateMinimizeItem.bind(this),
|
||||
'notify::maximized-horizontally', this._updateMaximizeItem.bind(this),
|
||||
'notify::maximized-vertically', this._updateMaximizeItem.bind(this),
|
||||
this.actor);
|
||||
this);
|
||||
|
||||
this._updateMinimizeItem();
|
||||
this._updateMaximizeItem();
|
||||
@@ -165,14 +163,14 @@ class WindowTitle extends St.BoxLayout {
|
||||
this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE);
|
||||
} else {
|
||||
this._icon.child = new St.Icon({
|
||||
icon_name: 'icon-missing',
|
||||
icon_name: 'application-x-executable',
|
||||
icon_size: ICON_TEXTURE_SIZE,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class BaseButton extends St.Button {
|
||||
class BaseButton extends DashItemContainer {
|
||||
static {
|
||||
GObject.registerClass({
|
||||
GTypeFlags: GObject.TypeFlags.ABSTRACT,
|
||||
@@ -186,12 +184,22 @@ class BaseButton extends St.Button {
|
||||
}
|
||||
|
||||
constructor(perMonitor, monitorIndex) {
|
||||
super({
|
||||
super();
|
||||
|
||||
this._button = new St.Button({
|
||||
style_class: 'window-button',
|
||||
can_focus: true,
|
||||
x_expand: true,
|
||||
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
||||
});
|
||||
this.setChild(this._button);
|
||||
|
||||
this._button.connect('notify::hover', () => {
|
||||
if (this._button.hover)
|
||||
this.showLabel();
|
||||
else
|
||||
this.hideLabel();
|
||||
});
|
||||
|
||||
this._perMonitor = perMonitor;
|
||||
this._monitorIndex = monitorIndex;
|
||||
@@ -199,7 +207,7 @@ class BaseButton extends St.Button {
|
||||
|
||||
this.connect('notify::allocation',
|
||||
this._updateIconGeometry.bind(this));
|
||||
this.connect('clicked', this._onClicked.bind(this));
|
||||
this._button.connect('clicked', this._onClicked.bind(this));
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
this.connect('popup-menu', this._onPopupMenu.bind(this));
|
||||
|
||||
@@ -216,12 +224,6 @@ class BaseButton extends St.Button {
|
||||
this._windowEnteredOrLeftMonitor.bind(this),
|
||||
this);
|
||||
}
|
||||
|
||||
this._tooltip = new Tooltip(this, {
|
||||
style_class: 'dash-label',
|
||||
visible: false,
|
||||
});
|
||||
Main.uiGroup.add_child(this._tooltip);
|
||||
}
|
||||
|
||||
get active() {
|
||||
@@ -244,6 +246,18 @@ class BaseButton extends St.Button {
|
||||
this._updateVisibility();
|
||||
}
|
||||
|
||||
showLabel() {
|
||||
const [, , preferredTitleWidth] = this.label_actor.get_preferred_size();
|
||||
const maxTitleWidth = this.label_actor.allocation.get_width();
|
||||
const isTitleFullyShown = preferredTitleWidth <= maxTitleWidth;
|
||||
|
||||
const labelText = isTitleFullyShown
|
||||
? '' : this.label_actor.text;
|
||||
|
||||
this.setLabelText(labelText);
|
||||
super.showLabel();
|
||||
}
|
||||
|
||||
_setLongPressTimeout() {
|
||||
if (this._longPressTimeoutId)
|
||||
return;
|
||||
@@ -344,9 +358,9 @@ class BaseButton extends St.Button {
|
||||
|
||||
_updateStyle() {
|
||||
if (this._isFocused())
|
||||
this.add_style_class_name('focused');
|
||||
this._button.add_style_class_name('focused');
|
||||
else
|
||||
this.remove_style_class_name('focused');
|
||||
this._button.remove_style_class_name('focused');
|
||||
}
|
||||
|
||||
_windowEnteredOrLeftMonitor(_metaDisplay, _monitorIndex, _metaWindow) {
|
||||
@@ -382,7 +396,6 @@ class BaseButton extends St.Button {
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
this._tooltip.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -395,15 +408,17 @@ class WindowButton extends BaseButton {
|
||||
super(perMonitor, monitorIndex);
|
||||
|
||||
this.metaWindow = metaWindow;
|
||||
this._unmanaging = false;
|
||||
metaWindow.connectObject(
|
||||
'notify::skip-taskbar', () => this._updateVisibility(),
|
||||
'workspace-changed', () => this._updateVisibility(),
|
||||
'unmanaging', () => (this._unmanaging = true),
|
||||
this);
|
||||
|
||||
this._updateVisibility();
|
||||
|
||||
this._windowTitle = new WindowTitle(this.metaWindow);
|
||||
this.set_child(this._windowTitle);
|
||||
this._button.set_child(this._windowTitle);
|
||||
this.label_actor = this._windowTitle.label_actor;
|
||||
|
||||
this._contextMenu = new WindowContextMenu(this, this.metaWindow);
|
||||
@@ -449,6 +464,9 @@ class WindowButton extends BaseButton {
|
||||
}
|
||||
|
||||
_updateVisibility() {
|
||||
if (this._unmanaging)
|
||||
return;
|
||||
|
||||
this.visible = this._isWindowVisible(this.metaWindow);
|
||||
}
|
||||
|
||||
@@ -532,7 +550,7 @@ class AppButton extends BaseButton {
|
||||
this._updateVisibility();
|
||||
|
||||
let stack = new St.Widget({layout_manager: new Clutter.BinLayout()});
|
||||
this.set_child(stack);
|
||||
this._button.set_child(stack);
|
||||
|
||||
this._singleWindowTitle = new St.Bin({
|
||||
x_expand: true,
|
||||
@@ -729,28 +747,24 @@ class WindowList extends St.Widget {
|
||||
let box = new St.BoxLayout({x_expand: true, y_expand: true});
|
||||
this.add_child(box);
|
||||
|
||||
let layout = new Clutter.BoxLayout({homogeneous: true});
|
||||
this._windowList = new St.Widget({
|
||||
this._windowList = new St.BoxLayout({
|
||||
style_class: 'window-list',
|
||||
reactive: true,
|
||||
layout_manager: layout,
|
||||
x_align: Clutter.ActorAlign.START,
|
||||
x_expand: true,
|
||||
y_expand: true,
|
||||
});
|
||||
box.add_child(this._windowList);
|
||||
|
||||
this._windowList.connect('style-changed', () => {
|
||||
let node = this._windowList.get_theme_node();
|
||||
let spacing = node.get_length('spacing');
|
||||
this._windowList.layout_manager.spacing = spacing;
|
||||
});
|
||||
this._windowList.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||
|
||||
let indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END});
|
||||
box.add_child(indicatorsBox);
|
||||
|
||||
this._workspaceIndicator = new WorkspaceIndicator();
|
||||
this._workspaceIndicator = new BottomWorkspaceIndicator({
|
||||
baseStyleClass: 'window-list-workspace-indicator',
|
||||
settings,
|
||||
});
|
||||
indicatorsBox.add_child(this._workspaceIndicator.container);
|
||||
|
||||
this._mutterSettings = new Gio.Settings({schema_id: 'org.gnome.mutter'});
|
||||
@@ -763,13 +777,14 @@ class WindowList extends St.Widget {
|
||||
this._updateWorkspaceIndicatorVisibility();
|
||||
|
||||
this._menuManager = new PopupMenu.PopupMenuManager(this);
|
||||
this._menuManager.addMenu(this._workspaceIndicator.menu);
|
||||
this._workspaceIndicator.connectObject('menu-set',
|
||||
() => this._onWorkspaceMenuSet(), this);
|
||||
this._onWorkspaceMenuSet();
|
||||
|
||||
const chromeOptions = {
|
||||
Main.layoutManager.addChrome(this, {
|
||||
affectsStruts: true,
|
||||
trackFullscreen: true,
|
||||
};
|
||||
Main.layoutManager.addChrome(this, chromeOptions);
|
||||
});
|
||||
Main.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox);
|
||||
Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic');
|
||||
|
||||
@@ -806,12 +821,10 @@ class WindowList extends St.Widget {
|
||||
|
||||
Main.overview.connectObject(
|
||||
'showing', () => {
|
||||
Main.layoutManager.untrackChrome(this);
|
||||
this.hide();
|
||||
this._updateKeyboardAnchor();
|
||||
},
|
||||
'hidden', () => {
|
||||
Main.layoutManager.trackChrome(this);
|
||||
this.visible = !this._monitor.inFullscreen;
|
||||
this._updateKeyboardAnchor();
|
||||
}, this);
|
||||
@@ -825,7 +838,7 @@ class WindowList extends St.Widget {
|
||||
|
||||
this._windowSignals = new Map();
|
||||
global.display.connectObject(
|
||||
'window-created', (dsp, win) => this._addWindow(win), this);
|
||||
'window-created', (dsp, win) => this._addWindow(win, true), this);
|
||||
|
||||
Main.xdndHandler.connectObject(
|
||||
'drag-begin', () => this._monitorDrag(),
|
||||
@@ -863,6 +876,11 @@ class WindowList extends St.Widget {
|
||||
children[newActive].activate();
|
||||
}
|
||||
|
||||
_onWorkspaceMenuSet() {
|
||||
if (this._workspaceIndicator.menu)
|
||||
this._menuManager.addMenu(this._workspaceIndicator.menu);
|
||||
}
|
||||
|
||||
_updatePosition() {
|
||||
this.set_position(
|
||||
this._monitor.x,
|
||||
@@ -937,14 +955,14 @@ class WindowList extends St.Widget {
|
||||
w2.metaWindow.get_stable_sequence();
|
||||
});
|
||||
for (let i = 0; i < windows.length; i++)
|
||||
this._addWindow(windows[i].metaWindow);
|
||||
this._addWindow(windows[i].metaWindow, false);
|
||||
} else {
|
||||
let apps = this._appSystem.get_running().sort((a1, a2) => {
|
||||
return _getAppStableSequence(a1) -
|
||||
_getAppStableSequence(a2);
|
||||
});
|
||||
for (let i = 0; i < apps.length; i++)
|
||||
this._addApp(apps[i]);
|
||||
this._addApp(apps[i], false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -958,26 +976,26 @@ class WindowList extends St.Widget {
|
||||
return;
|
||||
|
||||
if (app.state === Shell.AppState.RUNNING)
|
||||
this._addApp(app);
|
||||
this._addApp(app, true);
|
||||
else if (app.state === Shell.AppState.STOPPED)
|
||||
this._removeApp(app);
|
||||
}
|
||||
|
||||
_addApp(app) {
|
||||
_addApp(app, animate) {
|
||||
let button = new AppButton(app, this._perMonitor, this._monitor.index);
|
||||
this._settings.bind('display-all-workspaces',
|
||||
button, 'ignore-workspace', Gio.SettingsBindFlags.GET);
|
||||
this._windowList.add_child(button);
|
||||
button.show(animate);
|
||||
}
|
||||
|
||||
_removeApp(app) {
|
||||
let children = this._windowList.get_children();
|
||||
let child = children.find(c => c.app === app);
|
||||
if (child)
|
||||
child.destroy();
|
||||
child?.animateOutAndDestroy();
|
||||
}
|
||||
|
||||
_addWindow(win) {
|
||||
_addWindow(win, animate) {
|
||||
if (!this._grouped)
|
||||
this._checkGrouping();
|
||||
|
||||
@@ -995,6 +1013,7 @@ class WindowList extends St.Widget {
|
||||
this._settings.bind('display-all-workspaces',
|
||||
button, 'ignore-workspace', Gio.SettingsBindFlags.GET);
|
||||
this._windowList.add_child(button);
|
||||
button.show(animate);
|
||||
}
|
||||
|
||||
_removeWindow(win) {
|
||||
@@ -1011,8 +1030,7 @@ class WindowList extends St.Widget {
|
||||
|
||||
let children = this._windowList.get_children();
|
||||
let child = children.find(c => c.metaWindow === win);
|
||||
if (child)
|
||||
child.destroy();
|
||||
child?.animateOutAndDestroy();
|
||||
}
|
||||
|
||||
_monitorDrag() {
|
||||
@@ -1083,6 +1101,28 @@ class WindowList extends St.Widget {
|
||||
}
|
||||
}
|
||||
|
||||
class BottomWorkspaceIndicator extends WorkspaceIndicator {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(params) {
|
||||
super(params);
|
||||
|
||||
this.remove_style_class_name('panel-button');
|
||||
}
|
||||
|
||||
setMenu(menu) {
|
||||
super.setMenu(menu);
|
||||
|
||||
if (!menu)
|
||||
return;
|
||||
|
||||
this.menu.actor.updateArrowSide(St.Side.BOTTOM);
|
||||
this.menu.actor.remove_style_class_name('panel-menu');
|
||||
}
|
||||
}
|
||||
|
||||
export default class WindowListExtension extends Extension {
|
||||
constructor(metadata) {
|
||||
super(metadata);
|
||||
@@ -1134,67 +1174,3 @@ export default class WindowListExtension extends Extension {
|
||||
return this._windowLists.some(list => list.contains(actor));
|
||||
}
|
||||
}
|
||||
|
||||
class Tooltip extends St.Label {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(widget, params) {
|
||||
super(params);
|
||||
|
||||
this._widget = widget;
|
||||
|
||||
this._widget.connect('notify::hover', () => {
|
||||
if (this._widget.hover)
|
||||
this.open();
|
||||
else
|
||||
this.close();
|
||||
});
|
||||
}
|
||||
|
||||
open() {
|
||||
const buttonTitleWidget = this._widget.label_actor;
|
||||
const [, , preferredTitleWidth] = buttonTitleWidget.get_preferred_size();
|
||||
const maxTitleWidth = buttonTitleWidget.allocation.get_width();
|
||||
const isTitleFullyShown = preferredTitleWidth <= maxTitleWidth;
|
||||
|
||||
if (isTitleFullyShown)
|
||||
return;
|
||||
|
||||
this.set({
|
||||
text: this._widget.label_actor.get_text(),
|
||||
visible: true,
|
||||
opacity: 0,
|
||||
});
|
||||
|
||||
const [stageX, stageY] = this._widget.get_transformed_position();
|
||||
const thumbWidth = this._widget.allocation.get_width();
|
||||
const tipWidth = this.width;
|
||||
const tipHeight = this.height;
|
||||
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
|
||||
const monitor = Main.layoutManager.findMonitorForActor(this);
|
||||
const x = Math.clamp(
|
||||
stageX + xOffset,
|
||||
monitor.x,
|
||||
monitor.x + monitor.width - tipWidth);
|
||||
const y = stageY - tipHeight - TOOLTIP_OFFSET;
|
||||
this.set_position(x, y);
|
||||
|
||||
this.ease({
|
||||
opacity: 255,
|
||||
duration: TOOLTIP_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
onComplete: () => (this.visible = this._widget.hover),
|
||||
});
|
||||
}
|
||||
|
||||
close() {
|
||||
this.ease({
|
||||
opacity: 0,
|
||||
duration: TOOLTIP_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
onComplete: () => (this.visible = this._widget.hover),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,5 +12,32 @@ extension_data += files(
|
||||
'stylesheet-light.css'
|
||||
)
|
||||
|
||||
extension_sources += files('prefs.js', 'workspaceIndicator.js')
|
||||
transform_stylesheet = [
|
||||
'sed', '-E',
|
||||
'-e', 's:^\.(workspace-indicator):.window-list-\\1:',
|
||||
'-e', '/^@import/d',
|
||||
'@INPUT@',
|
||||
]
|
||||
|
||||
workspaceIndicatorSources = [
|
||||
configure_file(
|
||||
input: '../workspace-indicator/workspaceIndicator.js',
|
||||
output: '@PLAINNAME@',
|
||||
copy: true,
|
||||
),
|
||||
configure_file(
|
||||
input: '../workspace-indicator/stylesheet-dark.css',
|
||||
output: 'stylesheet-workspace-switcher-dark.css',
|
||||
command: transform_stylesheet,
|
||||
capture: true,
|
||||
),
|
||||
configure_file(
|
||||
input: '../workspace-indicator/stylesheet-light.css',
|
||||
output: 'stylesheet-workspace-switcher-light.css',
|
||||
command: transform_stylesheet,
|
||||
capture: true,
|
||||
),
|
||||
]
|
||||
|
||||
extension_sources += files('prefs.js') + workspaceIndicatorSources
|
||||
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||
|
||||
@@ -36,5 +36,9 @@ SPDX-License-Identifier: GPL-2.0-or-later
|
||||
only on the primary one.
|
||||
</description>
|
||||
</key>
|
||||
<key name="embed-previews" type="b">
|
||||
<default>true</default>
|
||||
<summary>Show workspace previews in window list</summary>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
import Adw from 'gi://Adw';
|
||||
import Gio from 'gi://Gio';
|
||||
import GLib from 'gi://GLib';
|
||||
@@ -80,6 +81,19 @@ class WindowListPrefsWidget extends Adw.PreferencesPage {
|
||||
});
|
||||
row.add_suffix(toggle);
|
||||
miscGroup.add(row);
|
||||
|
||||
toggle = new Gtk.Switch({
|
||||
action_name: 'window-list.embed-previews',
|
||||
valign: Gtk.Align.CENTER,
|
||||
});
|
||||
this._settings.bind('embed-previews',
|
||||
toggle, 'active', Gio.SettingsBindFlags.DEFAULT);
|
||||
row = new Adw.ActionRow({
|
||||
title: _('Show workspace previews'),
|
||||
activatable_widget: toggle,
|
||||
});
|
||||
row.add_suffix(toggle);
|
||||
miscGroup.add(row);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
@import url("stylesheet-workspace-switcher-dark.css");
|
||||
|
||||
.window-list {
|
||||
spacing: 2px;
|
||||
@@ -33,8 +34,8 @@
|
||||
}
|
||||
|
||||
.window-button > StWidget {
|
||||
color: #bbb;
|
||||
background-color: #1d1d1d;
|
||||
color: #fff;
|
||||
background-color: transparent;
|
||||
border-radius: 4px;
|
||||
padding: 3px 6px 1px;
|
||||
transition: 100ms ease;
|
||||
@@ -46,25 +47,25 @@
|
||||
}
|
||||
|
||||
.window-button:hover > StWidget {
|
||||
color: #fff;
|
||||
background-color: #303030;
|
||||
}
|
||||
|
||||
.window-button:active > StWidget,
|
||||
.window-button:focus > StWidget {
|
||||
color: #fff;
|
||||
background-color: #3f3f3f;
|
||||
background-color: st-lighten(#303030, 5%);
|
||||
}
|
||||
|
||||
.window-button.focused > StWidget {
|
||||
color: #fff;
|
||||
background-color: #3f3f3f;
|
||||
background-color: #5b5b5b;
|
||||
}
|
||||
|
||||
.window-button.focused:active > StWidget {
|
||||
color: #fff;
|
||||
background-color: #3f3f3f;
|
||||
}
|
||||
.window-button.focused:hover > StWidget {
|
||||
background-color: st-lighten(#5b5b5b, 5%);
|
||||
}
|
||||
|
||||
.window-button.focused:active > StWidget {
|
||||
background-color: st-lighten(#5b5b5b, 10%);
|
||||
}
|
||||
|
||||
.window-button.minimized > StWidget {
|
||||
color: #666;
|
||||
@@ -81,36 +82,6 @@
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .status-label-bin {
|
||||
background-color: rgba(200, 200, 200, 0.3);
|
||||
padding: 5px;
|
||||
margin: 3px;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspaces-box {
|
||||
spacing: 3px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace {
|
||||
width: 52px;
|
||||
border-radius: 4px;
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace.active {
|
||||
background-color: #3f3f3f;
|
||||
}
|
||||
|
||||
.window-list-window-preview {
|
||||
background-color: #bebebe;
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
.window-list-window-preview.active {
|
||||
background-color: #d4d4d4;
|
||||
}
|
||||
|
||||
.notification {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
@import url("stylesheet-dark.css");
|
||||
@import url("stylesheet-workspace-switcher-light.css");
|
||||
|
||||
#panel.bottom-panel {
|
||||
border-top-width: 1px;
|
||||
@@ -14,13 +15,10 @@
|
||||
}
|
||||
|
||||
.bottom-panel .window-button > StWidget {
|
||||
color: #2e3436;
|
||||
background-color: #eee;
|
||||
border-radius: 3px;
|
||||
padding: 3px 6px 1px;
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
border: 1px solid rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
.bottom-panel .window-button > StWidget {
|
||||
@@ -28,44 +26,43 @@
|
||||
max-width: 18.75em;
|
||||
}
|
||||
|
||||
.bottom-panel .window-button:hover > StWidget {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
.bottom-panel .window-button:active > StWidget,
|
||||
.bottom-panel .window-button:focus > StWidget {
|
||||
box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.bottom-panel .window-button.focused > StWidget {
|
||||
background-color: #ccc;
|
||||
box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.bottom-panel .window-button.focused:hover > StWidget {
|
||||
background-color: #e9e9e9;
|
||||
}
|
||||
|
||||
.bottom-panel .window-button.minimized > StWidget {
|
||||
color: #888;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* workspace switcher */
|
||||
.window-list-workspace-indicator .workspace {
|
||||
border: 2px solid #f6f5f4;
|
||||
background-color: #ccc;
|
||||
.window-button > StWidget {
|
||||
color: #000;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace.active {
|
||||
border-color: #888;
|
||||
.window-button > StWidget {
|
||||
-st-natural-width: 18.75em;
|
||||
max-width: 18.75em;
|
||||
}
|
||||
|
||||
.window-list-window-preview {
|
||||
background-color: #ededed;
|
||||
border: 1px solid #ccc;
|
||||
.window-button:hover > StWidget {
|
||||
background-color: st-darken(#eee,5%);
|
||||
}
|
||||
|
||||
.window-list-window-preview.active {
|
||||
background-color: #f6f5f4;
|
||||
.window-button:active > StWidget,
|
||||
.window-button:focus > StWidget {
|
||||
background-color: st-darken(#eee, 10%);
|
||||
}
|
||||
|
||||
.window-button.focused > StWidget {
|
||||
background-color: st-darken(#eee,15%);
|
||||
}
|
||||
|
||||
.window-button.focused:hover > StWidget {
|
||||
background-color: st-darken(#eee, 20%);
|
||||
}
|
||||
|
||||
.window-button.focused:active > StWidget {
|
||||
background-color: st-darken(#eee, 25%);
|
||||
}
|
||||
|
||||
.window-button.minimized > StWidget {
|
||||
color: #aaa;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
.window-button.minimized:active > StWidget {
|
||||
color: #aaa;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
import Clutter from 'gi://Clutter';
|
||||
import Graphene from 'gi://Graphene';
|
||||
import St from 'gi://St';
|
||||
|
||||
@@ -4,442 +4,17 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
import Clutter from 'gi://Clutter';
|
||||
import Gio from 'gi://Gio';
|
||||
import GObject from 'gi://GObject';
|
||||
import Meta from 'gi://Meta';
|
||||
import St from 'gi://St';
|
||||
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||
|
||||
import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||
|
||||
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
|
||||
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||
import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
|
||||
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
|
||||
|
||||
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
|
||||
const WORKSPACE_KEY = 'workspace-names';
|
||||
|
||||
const TOOLTIP_OFFSET = 6;
|
||||
const TOOLTIP_ANIMATION_TIME = 150;
|
||||
|
||||
const MAX_THUMBNAILS = 6;
|
||||
|
||||
class WindowPreview extends St.Button {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(window) {
|
||||
super({
|
||||
style_class: 'workspace-indicator-window-preview',
|
||||
});
|
||||
|
||||
this._delegate = this;
|
||||
DND.makeDraggable(this, {restoreOnSuccess: true});
|
||||
|
||||
this._window = window;
|
||||
|
||||
this._window.connectObject(
|
||||
'size-changed', () => this._checkRelayout(),
|
||||
'position-changed', () => this._checkRelayout(),
|
||||
'notify::minimized', this._updateVisible.bind(this),
|
||||
'notify::window-type', this._updateVisible.bind(this),
|
||||
this);
|
||||
this._updateVisible();
|
||||
|
||||
global.display.connectObject('notify::focus-window',
|
||||
this._onFocusChanged.bind(this), this);
|
||||
this._onFocusChanged();
|
||||
}
|
||||
|
||||
// needed for DND
|
||||
get metaWindow() {
|
||||
return this._window;
|
||||
}
|
||||
|
||||
_onFocusChanged() {
|
||||
if (global.display.focus_window === this._window)
|
||||
this.add_style_class_name('active');
|
||||
else
|
||||
this.remove_style_class_name('active');
|
||||
}
|
||||
|
||||
_checkRelayout() {
|
||||
const monitor = Main.layoutManager.findIndexForActor(this);
|
||||
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
if (this._window.get_frame_rect().overlap(workArea))
|
||||
this.queue_relayout();
|
||||
}
|
||||
|
||||
_updateVisible() {
|
||||
this.visible = this._window.window_type !== Meta.WindowType.DESKTOP &&
|
||||
this._window.showing_on_its_workspace();
|
||||
}
|
||||
}
|
||||
|
||||
class WorkspaceLayout extends Clutter.LayoutManager {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
vfunc_get_preferred_width() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
vfunc_get_preferred_height() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
vfunc_allocate(container, box) {
|
||||
const monitor = Main.layoutManager.findIndexForActor(container);
|
||||
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
const hscale = box.get_width() / workArea.width;
|
||||
const vscale = box.get_height() / workArea.height;
|
||||
|
||||
for (const child of container) {
|
||||
const childBox = new Clutter.ActorBox();
|
||||
const frameRect = child.metaWindow.get_frame_rect();
|
||||
childBox.set_size(
|
||||
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
|
||||
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
|
||||
childBox.set_origin(
|
||||
Math.round((frameRect.x - workArea.x) * hscale),
|
||||
Math.round((frameRect.y - workArea.y) * vscale));
|
||||
child.allocate(childBox);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class WorkspaceThumbnail extends St.Button {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(index) {
|
||||
super({
|
||||
style_class: 'workspace',
|
||||
child: new Clutter.Actor({
|
||||
layout_manager: new WorkspaceLayout(),
|
||||
clip_to_allocation: true,
|
||||
x_expand: true,
|
||||
y_expand: true,
|
||||
}),
|
||||
});
|
||||
|
||||
this._tooltip = new St.Label({
|
||||
style_class: 'dash-label',
|
||||
visible: false,
|
||||
});
|
||||
Main.uiGroup.add_child(this._tooltip);
|
||||
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
this.connect('notify::hover', this._syncTooltip.bind(this));
|
||||
|
||||
this._index = index;
|
||||
this._delegate = this; // needed for DND
|
||||
|
||||
this._windowPreviews = new Map();
|
||||
|
||||
let workspaceManager = global.workspace_manager;
|
||||
this._workspace = workspaceManager.get_workspace_by_index(index);
|
||||
|
||||
this._workspace.connectObject(
|
||||
'window-added', (ws, window) => this._addWindow(window),
|
||||
'window-removed', (ws, window) => this._removeWindow(window),
|
||||
this);
|
||||
|
||||
global.display.connectObject('restacked',
|
||||
this._onRestacked.bind(this), this);
|
||||
|
||||
this._workspace.list_windows().forEach(w => this._addWindow(w));
|
||||
this._onRestacked();
|
||||
}
|
||||
|
||||
acceptDrop(source) {
|
||||
if (!source.metaWindow)
|
||||
return false;
|
||||
|
||||
this._moveWindow(source.metaWindow);
|
||||
return true;
|
||||
}
|
||||
|
||||
handleDragOver(source) {
|
||||
if (source.metaWindow)
|
||||
return DND.DragMotionResult.MOVE_DROP;
|
||||
else
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
}
|
||||
|
||||
_addWindow(window) {
|
||||
if (this._windowPreviews.has(window))
|
||||
return;
|
||||
|
||||
let preview = new WindowPreview(window);
|
||||
preview.connect('clicked', (a, btn) => this.emit('clicked', btn));
|
||||
this._windowPreviews.set(window, preview);
|
||||
this.child.add_child(preview);
|
||||
}
|
||||
|
||||
_removeWindow(window) {
|
||||
let preview = this._windowPreviews.get(window);
|
||||
if (!preview)
|
||||
return;
|
||||
|
||||
this._windowPreviews.delete(window);
|
||||
preview.destroy();
|
||||
}
|
||||
|
||||
_onRestacked() {
|
||||
let lastPreview = null;
|
||||
let windows = global.get_window_actors().map(a => a.meta_window);
|
||||
for (let i = 0; i < windows.length; i++) {
|
||||
let preview = this._windowPreviews.get(windows[i]);
|
||||
if (!preview)
|
||||
continue;
|
||||
|
||||
this.child.set_child_above_sibling(preview, lastPreview);
|
||||
lastPreview = preview;
|
||||
}
|
||||
}
|
||||
|
||||
_moveWindow(window) {
|
||||
let monitorIndex = Main.layoutManager.findIndexForActor(this);
|
||||
if (monitorIndex !== window.get_monitor())
|
||||
window.move_to_monitor(monitorIndex);
|
||||
window.change_workspace_by_index(this._index, false);
|
||||
}
|
||||
|
||||
on_clicked() {
|
||||
let ws = global.workspace_manager.get_workspace_by_index(this._index);
|
||||
if (ws)
|
||||
ws.activate(global.get_current_time());
|
||||
}
|
||||
|
||||
_syncTooltip() {
|
||||
if (this.hover) {
|
||||
this._tooltip.set({
|
||||
text: Meta.prefs_get_workspace_name(this._index),
|
||||
visible: true,
|
||||
opacity: 0,
|
||||
});
|
||||
|
||||
const [stageX, stageY] = this.get_transformed_position();
|
||||
const thumbWidth = this.allocation.get_width();
|
||||
const thumbHeight = this.allocation.get_height();
|
||||
const tipWidth = this._tooltip.width;
|
||||
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
|
||||
const monitor = Main.layoutManager.findMonitorForActor(this);
|
||||
const x = Math.clamp(
|
||||
stageX + xOffset,
|
||||
monitor.x,
|
||||
monitor.x + monitor.width - tipWidth);
|
||||
const y = stageY + thumbHeight + TOOLTIP_OFFSET;
|
||||
this._tooltip.set_position(x, y);
|
||||
}
|
||||
|
||||
this._tooltip.ease({
|
||||
opacity: this.hover ? 255 : 0,
|
||||
duration: TOOLTIP_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
onComplete: () => (this._tooltip.visible = this.hover),
|
||||
});
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
this._tooltip.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
class WorkspaceIndicator extends PanelMenu.Button {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super(0.5, _('Workspace Indicator'));
|
||||
|
||||
let container = new St.Widget({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
x_expand: true,
|
||||
y_expand: true,
|
||||
});
|
||||
this.add_child(container);
|
||||
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this._currentWorkspace = workspaceManager.get_active_workspace_index();
|
||||
this._statusLabel = new St.Label({
|
||||
style_class: 'panel-workspace-indicator',
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
text: this._labelText(),
|
||||
});
|
||||
|
||||
container.add_child(this._statusLabel);
|
||||
|
||||
this._thumbnailsBox = new St.BoxLayout({
|
||||
style_class: 'panel-workspace-indicator-box',
|
||||
y_expand: true,
|
||||
reactive: true,
|
||||
});
|
||||
|
||||
container.add_child(this._thumbnailsBox);
|
||||
|
||||
this._workspacesItems = [];
|
||||
this._workspaceSection = new PopupMenu.PopupMenuSection();
|
||||
this.menu.addMenuItem(this._workspaceSection);
|
||||
|
||||
workspaceManager.connectObject(
|
||||
'notify::n-workspaces', this._nWorkspacesChanged.bind(this), GObject.ConnectFlags.AFTER,
|
||||
'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER,
|
||||
'notify::layout-rows', this._updateThumbnailVisibility.bind(this),
|
||||
this);
|
||||
|
||||
this.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||
this._thumbnailsBox.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||
this._createWorkspacesSection();
|
||||
this._updateThumbnails();
|
||||
this._updateThumbnailVisibility();
|
||||
|
||||
this._settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA});
|
||||
this._settings.connectObject(`changed::${WORKSPACE_KEY}`,
|
||||
this._updateMenuLabels.bind(this), this);
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
Main.panel.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
|
||||
|
||||
super._onDestroy();
|
||||
}
|
||||
|
||||
_updateThumbnailVisibility() {
|
||||
const {workspaceManager} = global;
|
||||
const vertical = workspaceManager.layout_rows === -1;
|
||||
const useMenu =
|
||||
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
|
||||
this.reactive = useMenu;
|
||||
|
||||
this._statusLabel.visible = useMenu;
|
||||
this._thumbnailsBox.visible = !useMenu;
|
||||
|
||||
// Disable offscreen-redirect when showing the workspace switcher
|
||||
// so that clip-to-allocation works
|
||||
Main.panel.set_offscreen_redirect(useMenu
|
||||
? Clutter.OffscreenRedirect.ALWAYS
|
||||
: Clutter.OffscreenRedirect.AUTOMATIC_FOR_OPACITY);
|
||||
}
|
||||
|
||||
_onWorkspaceSwitched() {
|
||||
this._currentWorkspace = global.workspace_manager.get_active_workspace_index();
|
||||
|
||||
this._updateMenuOrnament();
|
||||
this._updateActiveThumbnail();
|
||||
|
||||
this._statusLabel.set_text(this._labelText());
|
||||
}
|
||||
|
||||
_nWorkspacesChanged() {
|
||||
this._createWorkspacesSection();
|
||||
this._updateThumbnails();
|
||||
this._updateThumbnailVisibility();
|
||||
}
|
||||
|
||||
_updateMenuOrnament() {
|
||||
for (let i = 0; i < this._workspacesItems.length; i++) {
|
||||
this._workspacesItems[i].setOrnament(i === this._currentWorkspace
|
||||
? PopupMenu.Ornament.DOT
|
||||
: PopupMenu.Ornament.NO_DOT);
|
||||
}
|
||||
}
|
||||
|
||||
_updateActiveThumbnail() {
|
||||
let thumbs = this._thumbnailsBox.get_children();
|
||||
for (let i = 0; i < thumbs.length; i++) {
|
||||
if (i === this._currentWorkspace)
|
||||
thumbs[i].add_style_class_name('active');
|
||||
else
|
||||
thumbs[i].remove_style_class_name('active');
|
||||
}
|
||||
}
|
||||
|
||||
_labelText(workspaceIndex) {
|
||||
if (workspaceIndex === undefined) {
|
||||
workspaceIndex = this._currentWorkspace;
|
||||
return (workspaceIndex + 1).toString();
|
||||
}
|
||||
return Meta.prefs_get_workspace_name(workspaceIndex);
|
||||
}
|
||||
|
||||
_updateMenuLabels() {
|
||||
for (let i = 0; i < this._workspacesItems.length; i++)
|
||||
this._workspacesItems[i].label.text = this._labelText(i);
|
||||
}
|
||||
|
||||
_createWorkspacesSection() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this._workspaceSection.removeAll();
|
||||
this._workspacesItems = [];
|
||||
this._currentWorkspace = workspaceManager.get_active_workspace_index();
|
||||
|
||||
let i = 0;
|
||||
for (; i < workspaceManager.n_workspaces; i++) {
|
||||
this._workspacesItems[i] = new PopupMenu.PopupMenuItem(this._labelText(i));
|
||||
this._workspaceSection.addMenuItem(this._workspacesItems[i]);
|
||||
this._workspacesItems[i].workspaceId = i;
|
||||
this._workspacesItems[i].label_actor = this._statusLabel;
|
||||
this._workspacesItems[i].connect('activate', (actor, _event) => {
|
||||
this._activate(actor.workspaceId);
|
||||
});
|
||||
|
||||
this._workspacesItems[i].setOrnament(i === this._currentWorkspace
|
||||
? PopupMenu.Ornament.DOT
|
||||
: PopupMenu.Ornament.NO_DOT);
|
||||
}
|
||||
|
||||
this._statusLabel.set_text(this._labelText());
|
||||
}
|
||||
|
||||
_updateThumbnails() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this._thumbnailsBox.destroy_all_children();
|
||||
|
||||
for (let i = 0; i < workspaceManager.n_workspaces; i++) {
|
||||
let thumb = new WorkspaceThumbnail(i);
|
||||
this._thumbnailsBox.add_child(thumb);
|
||||
}
|
||||
this._updateActiveThumbnail();
|
||||
}
|
||||
|
||||
_activate(index) {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
if (index >= 0 && index < workspaceManager.n_workspaces) {
|
||||
let metaWorkspace = workspaceManager.get_workspace_by_index(index);
|
||||
metaWorkspace.activate(global.get_current_time());
|
||||
}
|
||||
}
|
||||
|
||||
_onScrollEvent(actor, event) {
|
||||
let direction = event.get_scroll_direction();
|
||||
let diff = 0;
|
||||
if (direction === Clutter.ScrollDirection.DOWN)
|
||||
diff = 1;
|
||||
else if (direction === Clutter.ScrollDirection.UP)
|
||||
diff = -1;
|
||||
else
|
||||
return;
|
||||
|
||||
|
||||
let newIndex = global.workspace_manager.get_active_workspace_index() + diff;
|
||||
this._activate(newIndex);
|
||||
}
|
||||
}
|
||||
import {WorkspaceIndicator} from './workspaceIndicator.js';
|
||||
|
||||
export default class WorkspaceIndicatorExtension extends Extension {
|
||||
enable() {
|
||||
this._indicator = new WorkspaceIndicator();
|
||||
this._indicator = new WorkspaceIndicator({
|
||||
settings: this.getSettings(),
|
||||
});
|
||||
Main.panel.addToStatusArea('workspace-indicator', this._indicator);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,10 @@ extension_data += configure_file(
|
||||
output: metadata_name,
|
||||
configuration: metadata_conf
|
||||
)
|
||||
extension_data += files('stylesheet.css')
|
||||
extension_data += files(
|
||||
'stylesheet-dark.css',
|
||||
'stylesheet-light.css',
|
||||
)
|
||||
extension_schemas += files('schemas/' + metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||
|
||||
extension_sources += files('prefs.js')
|
||||
extension_sources += files('prefs.js', 'workspaceIndicator.js')
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
import Adw from 'gi://Adw';
|
||||
import Gio from 'gi://Gio';
|
||||
import GLib from 'gi://GLib';
|
||||
@@ -17,6 +18,25 @@ const N_ = e => e;
|
||||
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
|
||||
const WORKSPACE_KEY = 'workspace-names';
|
||||
|
||||
class GeneralGroup extends Adw.PreferencesGroup {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(settings) {
|
||||
super();
|
||||
|
||||
const row = new Adw.SwitchRow({
|
||||
title: _('Show Previews In Top Bar'),
|
||||
});
|
||||
this.add(row);
|
||||
|
||||
settings.bind('embed-previews',
|
||||
row, 'active',
|
||||
Gio.SettingsBindFlags.DEFAULT);
|
||||
}
|
||||
}
|
||||
|
||||
class NewItem extends GObject.Object {}
|
||||
GObject.registerClass(NewItem);
|
||||
|
||||
@@ -118,7 +138,7 @@ class WorkspacesList extends GObject.Object {
|
||||
}
|
||||
}
|
||||
|
||||
class WorkspaceSettingsWidget extends Adw.PreferencesGroup {
|
||||
class WorkspacesGroup extends Adw.PreferencesGroup {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
|
||||
@@ -264,6 +284,9 @@ class NewWorkspaceRow extends Adw.PreferencesRow {
|
||||
|
||||
export default class WorkspaceIndicatorPrefs extends ExtensionPreferences {
|
||||
getPreferencesWidget() {
|
||||
return new WorkspaceSettingsWidget();
|
||||
const page = new Adw.PreferencesPage();
|
||||
page.add(new GeneralGroup(this.getSettings()));
|
||||
page.add(new WorkspacesGroup());
|
||||
return page;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2024 Florian Müllner <fmuellner@gnome.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
|
||||
<schemalist gettext-domain="gnome-shell-extensions">
|
||||
<schema id="org.gnome.shell.extensions.workspace-indicator"
|
||||
path="/org/gnome/shell/extensions/workspace-indicator/">
|
||||
<key name="embed-previews" type="b">
|
||||
<default>true</default>
|
||||
<summary>Show workspace previews in top bar</summary>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
||||
76
extensions/workspace-indicator/stylesheet-dark.css
Normal file
76
extensions/workspace-indicator/stylesheet-dark.css
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2011 Erick Pérez Castellanos <erick.red@gmail.com>
|
||||
* SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
.workspace-indicator .status-label {
|
||||
padding: 0 8px;
|
||||
}
|
||||
|
||||
.workspace-indicator .workspaces-view.hfade {
|
||||
-st-hfade-offset: 20px;
|
||||
}
|
||||
|
||||
.workspace-indicator-menu .workspaces-view {
|
||||
max-width: 480px;
|
||||
}
|
||||
|
||||
.workspace-indicator .workspaces-box {
|
||||
spacing: 3px;
|
||||
}
|
||||
|
||||
.workspace-indicator-menu .workspaces-box {
|
||||
padding: 5px;
|
||||
spacing: 6px;
|
||||
}
|
||||
|
||||
.workspace-indicator .workspace-box {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.workspace-indicator StButton:first-child:ltr > .workspace-box,
|
||||
.workspace-indicator StButton:last-child:rtl > .workspace-box {
|
||||
padding-left: 5px;
|
||||
}
|
||||
.workspace-indicator StButton:last-child:ltr > .workspace-box,
|
||||
.workspace-indicator StButton:first-child:rtl > .workspace-box {
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.workspace-indicator-menu .workspace-box {
|
||||
spacing: 6px;
|
||||
}
|
||||
|
||||
.workspace-indicator-menu .workspace,
|
||||
.workspace-indicator .workspace {
|
||||
border: 1px solid transparent;
|
||||
border-radius: 4px;
|
||||
background-color: #3f3f3f;
|
||||
}
|
||||
|
||||
.workspace-indicator .workspace {
|
||||
width: 52px;
|
||||
}
|
||||
|
||||
.workspace-indicator-menu .workspace {
|
||||
height: 80px;
|
||||
width: 160px;
|
||||
}
|
||||
|
||||
.workspace-indicator-menu .workspace.active,
|
||||
.workspace-indicator .workspace.active {
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
.workspace-indicator-window-preview {
|
||||
background-color: #bebebe;
|
||||
border: 1px solid #828282;
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
.workspace-indicator-window-preview.active {
|
||||
background-color: #d4d4d4;
|
||||
}
|
||||
25
extensions/workspace-indicator/stylesheet-light.css
Normal file
25
extensions/workspace-indicator/stylesheet-light.css
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2013 Florian Müllner <fmuellner@gnome.org>
|
||||
* SPDX-FileCopyrightText: 2015 Jakub Steiner <jimmac@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
@import url("stylesheet-dark.css");
|
||||
|
||||
.workspace-indicator .workspace {
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
.workspace-indicator .workspace.active {
|
||||
border-color: #888;
|
||||
}
|
||||
|
||||
.workspace-indicator-window-preview {
|
||||
background-color: #ededed;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.workspace-indicator-window-preview.active {
|
||||
background-color: #f6f5f4;
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2011 Erick Pérez Castellanos <erick.red@gmail.com>
|
||||
* SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
.panel-workspace-indicator {
|
||||
padding: 0 8px;
|
||||
}
|
||||
|
||||
.panel-workspace-indicator-box {
|
||||
padding: 4px 0;
|
||||
spacing: 4px;
|
||||
}
|
||||
|
||||
.panel-workspace-indicator-box .workspace {
|
||||
width: 40px;
|
||||
border: 2px solid #000;
|
||||
border-radius: 2px;
|
||||
background-color: #595959;
|
||||
}
|
||||
|
||||
.panel-workspace-indicator-box .workspace.active {
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
.workspace-indicator-window-preview {
|
||||
background-color: #bebebe;
|
||||
border: 1px solid #828282;
|
||||
}
|
||||
|
||||
.workspace-indicator-window-preview.active {
|
||||
background-color: #d4d4d4;
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
// SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
|
||||
// SPDX-FileCopyrightText: 2011 Erick Pérez Castellanos <erick.red@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2011 Giovanni Campagna <gcampagna@src.gnome.org>
|
||||
// SPDX-FileCopyrightText: 2017 Florian Müllner <fmuellner@gnome.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
@@ -18,7 +20,9 @@ import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
|
||||
const TOOLTIP_OFFSET = 6;
|
||||
const TOOLTIP_ANIMATION_TIME = 150;
|
||||
|
||||
const MAX_THUMBNAILS = 6;
|
||||
const SCROLL_TIME = 100;
|
||||
|
||||
let baseStyleClassName = '';
|
||||
|
||||
class WindowPreview extends St.Button {
|
||||
static {
|
||||
@@ -27,7 +31,7 @@ class WindowPreview extends St.Button {
|
||||
|
||||
constructor(window) {
|
||||
super({
|
||||
style_class: 'window-list-window-preview',
|
||||
style_class: `${baseStyleClassName}-window-preview`,
|
||||
});
|
||||
|
||||
this._delegate = this;
|
||||
@@ -39,7 +43,7 @@ class WindowPreview extends St.Button {
|
||||
'size-changed', () => this._checkRelayout(),
|
||||
'position-changed', () => this._checkRelayout(),
|
||||
'notify::minimized', this._updateVisible.bind(this),
|
||||
'notify::skip-taskbar', this._updateVisible.bind(this),
|
||||
'notify::window-type', this._updateVisible.bind(this),
|
||||
this);
|
||||
this._updateVisible();
|
||||
|
||||
@@ -68,7 +72,7 @@ class WindowPreview extends St.Button {
|
||||
}
|
||||
|
||||
_updateVisible() {
|
||||
this.visible = !this._window.skip_taskbar &&
|
||||
this.visible = this._window.window_type !== Meta.WindowType.DESKTOP &&
|
||||
this._window.showing_on_its_workspace();
|
||||
}
|
||||
}
|
||||
@@ -100,19 +104,39 @@ class WorkspaceLayout extends Clutter.LayoutManager {
|
||||
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
|
||||
childBox.set_origin(
|
||||
Math.round((frameRect.x - workArea.x) * hscale),
|
||||
Math.round((frameRect.y - workArea.y) * vscale));
|
||||
Math.round((frameRect.y - workArea.y) * vscale));
|
||||
child.allocate(childBox);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class WorkspaceThumbnail extends St.Button {
|
||||
static [GObject.properties] = {
|
||||
'active': GObject.ParamSpec.boolean(
|
||||
'active', '', '',
|
||||
GObject.ParamFlags.READWRITE,
|
||||
false),
|
||||
'show-label': GObject.ParamSpec.boolean(
|
||||
'show-label', '', '',
|
||||
GObject.ParamFlags.READWRITE,
|
||||
false),
|
||||
};
|
||||
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(index) {
|
||||
super({
|
||||
super();
|
||||
|
||||
const box = new St.BoxLayout({
|
||||
style_class: 'workspace-box',
|
||||
y_expand: true,
|
||||
vertical: true,
|
||||
});
|
||||
this.set_child(box);
|
||||
|
||||
this._preview = new St.Bin({
|
||||
style_class: 'workspace',
|
||||
child: new Clutter.Actor({
|
||||
layout_manager: new WorkspaceLayout(),
|
||||
@@ -120,7 +144,15 @@ class WorkspaceThumbnail extends St.Button {
|
||||
x_expand: true,
|
||||
y_expand: true,
|
||||
}),
|
||||
y_expand: true,
|
||||
});
|
||||
box.add_child(this._preview);
|
||||
|
||||
this._label = new St.Label({
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
text: Meta.prefs_get_workspace_name(index),
|
||||
});
|
||||
box.add_child(this._label);
|
||||
|
||||
this._tooltip = new St.Label({
|
||||
style_class: 'dash-label',
|
||||
@@ -128,9 +160,19 @@ class WorkspaceThumbnail extends St.Button {
|
||||
});
|
||||
Main.uiGroup.add_child(this._tooltip);
|
||||
|
||||
this.bind_property('show-label',
|
||||
this._label, 'visible',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
this.connect('notify::hover', this._syncTooltip.bind(this));
|
||||
|
||||
const desktopSettings =
|
||||
new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
|
||||
desktopSettings.connectObject('changed::workspace-names', () => {
|
||||
this._label.text = Meta.prefs_get_workspace_name(index);
|
||||
}, this);
|
||||
|
||||
this._index = index;
|
||||
this._delegate = this; // needed for DND
|
||||
|
||||
@@ -139,6 +181,10 @@ class WorkspaceThumbnail extends St.Button {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
this._workspace = workspaceManager.get_workspace_by_index(index);
|
||||
|
||||
this._workspace.bind_property('active',
|
||||
this, 'active',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
|
||||
this._workspace.connectObject(
|
||||
'window-added', (ws, window) => this._addWindow(window),
|
||||
'window-removed', (ws, window) => this._removeWindow(window),
|
||||
@@ -151,6 +197,18 @@ class WorkspaceThumbnail extends St.Button {
|
||||
this._onRestacked();
|
||||
}
|
||||
|
||||
get active() {
|
||||
return this._preview.has_style_class_name('active');
|
||||
}
|
||||
|
||||
set active(active) {
|
||||
if (active)
|
||||
this._preview.add_style_class_name('active');
|
||||
else
|
||||
this._preview.remove_style_class_name('active');
|
||||
this.notify('active');
|
||||
}
|
||||
|
||||
acceptDrop(source) {
|
||||
if (!source.metaWindow)
|
||||
return false;
|
||||
@@ -173,7 +231,7 @@ class WorkspaceThumbnail extends St.Button {
|
||||
let preview = new WindowPreview(window);
|
||||
preview.connect('clicked', (a, btn) => this.emit('clicked', btn));
|
||||
this._windowPreviews.set(window, preview);
|
||||
this.child.add_child(preview);
|
||||
this._preview.child.add_child(preview);
|
||||
}
|
||||
|
||||
_removeWindow(window) {
|
||||
@@ -193,7 +251,7 @@ class WorkspaceThumbnail extends St.Button {
|
||||
if (!preview)
|
||||
continue;
|
||||
|
||||
this.child.set_child_above_sibling(preview, lastPreview);
|
||||
this._preview.child.set_child_above_sibling(preview, lastPreview);
|
||||
lastPreview = preview;
|
||||
}
|
||||
}
|
||||
@@ -212,6 +270,9 @@ class WorkspaceThumbnail extends St.Button {
|
||||
}
|
||||
|
||||
_syncTooltip() {
|
||||
if (this.showLabel)
|
||||
return;
|
||||
|
||||
if (this.hover) {
|
||||
this._tooltip.set({
|
||||
text: Meta.prefs_get_workspace_name(this._index),
|
||||
@@ -220,16 +281,17 @@ class WorkspaceThumbnail extends St.Button {
|
||||
});
|
||||
|
||||
const [stageX, stageY] = this.get_transformed_position();
|
||||
const thumbWidth = this.allocation.get_width();
|
||||
const tipWidth = this._tooltip.width;
|
||||
const tipHeight = this._tooltip.height;
|
||||
const [thumbWidth, thumbHeight] = this.allocation.get_size();
|
||||
const [tipWidth, tipHeight] = this._tooltip.get_size();
|
||||
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
|
||||
const monitor = Main.layoutManager.findMonitorForActor(this);
|
||||
const x = Math.clamp(
|
||||
stageX + xOffset,
|
||||
monitor.x,
|
||||
monitor.x + monitor.width - tipWidth);
|
||||
const y = stageY - tipHeight - TOOLTIP_OFFSET;
|
||||
const y = stageY - monitor.y > thumbHeight + TOOLTIP_OFFSET
|
||||
? stageY - tipHeight - TOOLTIP_OFFSET // show above
|
||||
: stageY + thumbHeight + TOOLTIP_OFFSET; // show below
|
||||
this._tooltip.set_position(x, y);
|
||||
}
|
||||
|
||||
@@ -246,17 +308,136 @@ class WorkspaceThumbnail extends St.Button {
|
||||
}
|
||||
}
|
||||
|
||||
class WorkspacePreviews extends Clutter.Actor {
|
||||
static [GObject.properties] = {
|
||||
'show-labels': GObject.ParamSpec.boolean(
|
||||
'show-labels', '', '',
|
||||
GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT_ONLY,
|
||||
false),
|
||||
};
|
||||
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(params) {
|
||||
super({
|
||||
...params,
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
reactive: true,
|
||||
y_expand: true,
|
||||
});
|
||||
|
||||
this.connect('scroll-event',
|
||||
(a, event) => Main.wm.handleWorkspaceScroll(event));
|
||||
|
||||
const {workspaceManager} = global;
|
||||
|
||||
workspaceManager.connectObject(
|
||||
'notify::n-workspaces', () => this._updateThumbnails(), GObject.ConnectFlags.AFTER,
|
||||
'workspace-switched', () => this._updateScrollPosition(),
|
||||
this);
|
||||
|
||||
this.connect('notify::mapped', () => {
|
||||
if (this.mapped)
|
||||
this._updateScrollPosition();
|
||||
});
|
||||
|
||||
this._thumbnailsBox = new St.BoxLayout({
|
||||
style_class: 'workspaces-box',
|
||||
y_expand: true,
|
||||
});
|
||||
|
||||
this._scrollView = new St.ScrollView({
|
||||
style_class: 'workspaces-view hfade',
|
||||
enable_mouse_scrolling: false,
|
||||
hscrollbar_policy: St.PolicyType.EXTERNAL,
|
||||
vscrollbar_policy: St.PolicyType.NEVER,
|
||||
y_expand: true,
|
||||
child: this._thumbnailsBox,
|
||||
});
|
||||
|
||||
this.add_child(this._scrollView);
|
||||
|
||||
this._updateThumbnails();
|
||||
}
|
||||
|
||||
_updateThumbnails() {
|
||||
const {nWorkspaces} = global.workspace_manager;
|
||||
|
||||
this._thumbnailsBox.destroy_all_children();
|
||||
|
||||
for (let i = 0; i < nWorkspaces; i++) {
|
||||
const thumb = new WorkspaceThumbnail(i);
|
||||
this.bind_property('show-labels',
|
||||
thumb, 'show-label',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
this._thumbnailsBox.add_child(thumb);
|
||||
}
|
||||
|
||||
if (this.mapped)
|
||||
this._updateScrollPosition();
|
||||
}
|
||||
|
||||
_updateScrollPosition() {
|
||||
const adjustment = this._scrollView.hadjustment;
|
||||
const {upper, pageSize} = adjustment;
|
||||
let {value} = adjustment;
|
||||
|
||||
const activeWorkspace =
|
||||
[...this._thumbnailsBox].find(a => a.active);
|
||||
|
||||
if (!activeWorkspace)
|
||||
return;
|
||||
|
||||
let offset = 0;
|
||||
const hfade = this._scrollView.get_effect('fade');
|
||||
if (hfade)
|
||||
offset = hfade.fade_margins.left;
|
||||
|
||||
let {x1, x2} = activeWorkspace.get_allocation_box();
|
||||
let parent = activeWorkspace.get_parent();
|
||||
while (parent !== this._scrollView) {
|
||||
if (!parent)
|
||||
throw new Error('actor not in scroll view');
|
||||
|
||||
const box = parent.get_allocation_box();
|
||||
x1 += box.x1;
|
||||
x2 += box.x1;
|
||||
parent = parent.get_parent();
|
||||
}
|
||||
|
||||
if (x1 < value + offset)
|
||||
value = Math.max(0, x1 - offset);
|
||||
else if (x2 > value + pageSize - offset)
|
||||
value = Math.min(upper, x2 + offset - pageSize);
|
||||
else
|
||||
return;
|
||||
|
||||
adjustment.ease(value, {
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
duration: SCROLL_TIME,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export class WorkspaceIndicator extends PanelMenu.Button {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor() {
|
||||
constructor(params = {}) {
|
||||
super(0.5, _('Workspace Indicator'), true);
|
||||
this.setMenu(new PopupMenu.PopupMenu(this, 0.0, St.Side.BOTTOM));
|
||||
this.add_style_class_name('window-list-workspace-indicator');
|
||||
this.remove_style_class_name('panel-button');
|
||||
this.menu.actor.remove_style_class_name('panel-menu');
|
||||
|
||||
const {
|
||||
baseStyleClass = 'workspace-indicator',
|
||||
settings,
|
||||
} = params;
|
||||
|
||||
this._settings = settings;
|
||||
|
||||
baseStyleClassName = baseStyleClass;
|
||||
this.add_style_class_name(baseStyleClassName);
|
||||
|
||||
let container = new St.Widget({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
@@ -268,163 +449,89 @@ export class WorkspaceIndicator extends PanelMenu.Button {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this._currentWorkspace = workspaceManager.get_active_workspace_index();
|
||||
this._statusLabel = new St.Label({text: this._getStatusText()});
|
||||
|
||||
this._statusBin = new St.Bin({
|
||||
style_class: 'status-label-bin',
|
||||
x_expand: true,
|
||||
y_expand: true,
|
||||
child: this._statusLabel,
|
||||
this._statusLabel = new St.Label({
|
||||
style_class: 'status-label',
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
text: this._getStatusText(),
|
||||
});
|
||||
container.add_child(this._statusBin);
|
||||
container.add_child(this._statusLabel);
|
||||
|
||||
this._thumbnailsBox = new St.BoxLayout({
|
||||
style_class: 'workspaces-box',
|
||||
y_expand: true,
|
||||
reactive: true,
|
||||
});
|
||||
this._thumbnailsBox.connect('scroll-event',
|
||||
this._onScrollEvent.bind(this));
|
||||
container.add_child(this._thumbnailsBox);
|
||||
this._thumbnails = new WorkspacePreviews();
|
||||
container.add_child(this._thumbnails);
|
||||
|
||||
this._workspacesItems = [];
|
||||
|
||||
workspaceManager.connectObject(
|
||||
'notify::n-workspaces', this._nWorkspacesChanged.bind(this), GObject.ConnectFlags.AFTER,
|
||||
'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER,
|
||||
'notify::layout-rows', this._updateThumbnailVisibility.bind(this),
|
||||
this);
|
||||
|
||||
this.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||
this._updateMenu();
|
||||
this._updateThumbnails();
|
||||
this._updateThumbnailVisibility();
|
||||
this.connect('scroll-event',
|
||||
(a, event) => Main.wm.handleWorkspaceScroll(event));
|
||||
|
||||
this._settings = new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
|
||||
this._settings.connectObject('changed::workspace-names',
|
||||
() => this._updateMenuLabels(), this);
|
||||
this._inTopBar = false;
|
||||
this.connect('notify::realized', () => {
|
||||
if (!this.realized)
|
||||
return;
|
||||
|
||||
this._inTopBar = Main.panel.contains(this);
|
||||
this._updateTopBarRedirect();
|
||||
});
|
||||
|
||||
this._settings.connect('changed::embed-previews',
|
||||
() => this._updateThumbnailVisibility());
|
||||
this._updateThumbnailVisibility();
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
if (this._inTopBar)
|
||||
Main.panel.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
|
||||
this._inTopBar = false;
|
||||
|
||||
super._onDestroy();
|
||||
}
|
||||
|
||||
_updateThumbnailVisibility() {
|
||||
const {workspaceManager} = global;
|
||||
const vertical = workspaceManager.layout_rows === -1;
|
||||
const useMenu =
|
||||
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
|
||||
const useMenu = !this._settings.get_boolean('embed-previews');
|
||||
this.reactive = useMenu;
|
||||
|
||||
this._statusBin.visible = useMenu;
|
||||
this._thumbnailsBox.visible = !useMenu;
|
||||
this._statusLabel.visible = useMenu;
|
||||
this._thumbnails.visible = !useMenu;
|
||||
|
||||
this.setMenu(useMenu
|
||||
? this._createPreviewMenu()
|
||||
: null);
|
||||
|
||||
this._updateTopBarRedirect();
|
||||
}
|
||||
|
||||
_updateTopBarRedirect() {
|
||||
if (!this._inTopBar)
|
||||
return;
|
||||
|
||||
// Disable offscreen-redirect when showing the workspace switcher
|
||||
// so that clip-to-allocation works
|
||||
Main.panel.set_offscreen_redirect(this._thumbnails.visible
|
||||
? Clutter.OffscreenRedirect.ALWAYS
|
||||
: Clutter.OffscreenRedirect.AUTOMATIC_FOR_OPACITY);
|
||||
}
|
||||
|
||||
_onWorkspaceSwitched() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
this._currentWorkspace = workspaceManager.get_active_workspace_index();
|
||||
|
||||
this._updateMenuOrnament();
|
||||
this._updateActiveThumbnail();
|
||||
|
||||
this._currentWorkspace = global.workspace_manager.get_active_workspace_index();
|
||||
this._statusLabel.set_text(this._getStatusText());
|
||||
}
|
||||
|
||||
_nWorkspacesChanged() {
|
||||
this._updateMenu();
|
||||
this._updateThumbnails();
|
||||
this._updateThumbnailVisibility();
|
||||
}
|
||||
|
||||
_updateMenuOrnament() {
|
||||
for (let i = 0; i < this._workspacesItems.length; i++) {
|
||||
this._workspacesItems[i].setOrnament(i === this._currentWorkspace
|
||||
? PopupMenu.Ornament.DOT
|
||||
: PopupMenu.Ornament.NO_DOT);
|
||||
}
|
||||
}
|
||||
|
||||
_updateActiveThumbnail() {
|
||||
let thumbs = this._thumbnailsBox.get_children();
|
||||
for (let i = 0; i < thumbs.length; i++) {
|
||||
if (i === this._currentWorkspace)
|
||||
thumbs[i].add_style_class_name('active');
|
||||
else
|
||||
thumbs[i].remove_style_class_name('active');
|
||||
}
|
||||
}
|
||||
|
||||
_getStatusText() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
let current = workspaceManager.get_active_workspace_index();
|
||||
let total = workspaceManager.n_workspaces;
|
||||
|
||||
return '%d / %d'.format(current + 1, total);
|
||||
const {nWorkspaces} = global.workspace_manager;
|
||||
const current = this._currentWorkspace + 1;
|
||||
return `${current} / ${nWorkspaces}`;
|
||||
}
|
||||
|
||||
_updateMenuLabels() {
|
||||
for (let i = 0; i < this._workspacesItems.length; i++) {
|
||||
let item = this._workspacesItems[i];
|
||||
let name = Meta.prefs_get_workspace_name(i);
|
||||
item.label.text = name;
|
||||
}
|
||||
}
|
||||
_createPreviewMenu() {
|
||||
const menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.TOP);
|
||||
|
||||
_updateMenu() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this.menu.removeAll();
|
||||
this._workspacesItems = [];
|
||||
this._currentWorkspace = workspaceManager.get_active_workspace_index();
|
||||
|
||||
for (let i = 0; i < workspaceManager.n_workspaces; i++) {
|
||||
let name = Meta.prefs_get_workspace_name(i);
|
||||
let item = new PopupMenu.PopupMenuItem(name);
|
||||
item.workspaceId = i;
|
||||
|
||||
item.connect('activate', () => {
|
||||
this._activate(item.workspaceId);
|
||||
});
|
||||
|
||||
item.setOrnament(i === this._currentWorkspace
|
||||
? PopupMenu.Ornament.DOT
|
||||
: PopupMenu.Ornament.NO_DOT);
|
||||
|
||||
this.menu.addMenuItem(item);
|
||||
this._workspacesItems[i] = item;
|
||||
}
|
||||
|
||||
this._statusLabel.set_text(this._getStatusText());
|
||||
}
|
||||
|
||||
_updateThumbnails() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this._thumbnailsBox.destroy_all_children();
|
||||
|
||||
for (let i = 0; i < workspaceManager.n_workspaces; i++) {
|
||||
let thumb = new WorkspaceThumbnail(i);
|
||||
this._thumbnailsBox.add_child(thumb);
|
||||
}
|
||||
this._updateActiveThumbnail();
|
||||
}
|
||||
|
||||
_activate(index) {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
if (index >= 0 && index < workspaceManager.n_workspaces) {
|
||||
let metaWorkspace = workspaceManager.get_workspace_by_index(index);
|
||||
metaWorkspace.activate(global.get_current_time());
|
||||
}
|
||||
}
|
||||
|
||||
_onScrollEvent(actor, event) {
|
||||
let direction = event.get_scroll_direction();
|
||||
let diff = 0;
|
||||
if (direction === Clutter.ScrollDirection.DOWN)
|
||||
diff = 1;
|
||||
else if (direction === Clutter.ScrollDirection.UP)
|
||||
diff = -1;
|
||||
else
|
||||
return;
|
||||
|
||||
let newIndex = this._currentWorkspace + diff;
|
||||
this._activate(newIndex);
|
||||
const previews = new WorkspacePreviews({show_labels: true});
|
||||
menu.box.add_child(previews);
|
||||
menu.actor.add_style_class_name(`${baseStyleClassName}-menu`);
|
||||
return menu;
|
||||
}
|
||||
}
|
||||
39
meson.build
39
meson.build
@@ -2,11 +2,10 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
project(
|
||||
'gnome-shell-extensions',
|
||||
version: '46.3',
|
||||
project('gnome-shell-extensions',
|
||||
version: '47.beta',
|
||||
meson_version: '>= 0.58.0',
|
||||
license: 'GPL-2.0-or-later',
|
||||
license: 'GPL2+'
|
||||
)
|
||||
|
||||
gettext_domain = meson.project_name()
|
||||
@@ -35,7 +34,7 @@ classic_extensions = [
|
||||
'apps-menu',
|
||||
'places-menu',
|
||||
'launch-new-instance',
|
||||
'window-list',
|
||||
'window-list'
|
||||
]
|
||||
|
||||
default_extensions = classic_extensions
|
||||
@@ -43,13 +42,18 @@ default_extensions += [
|
||||
'drive-menu',
|
||||
'light-style',
|
||||
'screenshot-window-sizer',
|
||||
'status-icons',
|
||||
'system-monitor',
|
||||
'windowsNavigator',
|
||||
'workspace-indicator',
|
||||
'workspace-indicator'
|
||||
]
|
||||
|
||||
all_extensions = default_extensions
|
||||
all_extensions += ['auto-move-windows', 'native-window-placement', 'user-theme']
|
||||
all_extensions += [
|
||||
'auto-move-windows',
|
||||
'native-window-placement',
|
||||
'user-theme'
|
||||
]
|
||||
|
||||
enabled_extensions = get_option('enable_extensions')
|
||||
|
||||
@@ -68,10 +72,11 @@ endif
|
||||
classic_mode_enabled = get_option('classic_mode')
|
||||
|
||||
if classic_mode_enabled
|
||||
# Sanity check: Make sure all classic extensions are enabled
|
||||
# Sanity check: Make sure all classic extensions are enabled
|
||||
foreach e : classic_extensions
|
||||
if not enabled_extensions.contains(e)
|
||||
error(f'Classic mode is enabled, but the required extension @e@ is not')
|
||||
error('Classic mode is enabled, ' +
|
||||
'but the required extension @0@ is not.'.format(e))
|
||||
endif
|
||||
endforeach
|
||||
endif
|
||||
@@ -79,7 +84,7 @@ endif
|
||||
# Sanity check: Make sure enabled extensions are valid
|
||||
foreach e : enabled_extensions
|
||||
if not all_extensions.contains(e)
|
||||
error(f'Invalid extension @e@.')
|
||||
error('Invalid extension @0@.'.format(e))
|
||||
endif
|
||||
endforeach
|
||||
|
||||
@@ -87,20 +92,24 @@ if classic_mode_enabled
|
||||
subdir('data')
|
||||
meson.add_install_script(
|
||||
'meson/session-post-install.py',
|
||||
join_paths(get_option('prefix'), datadir),
|
||||
join_paths(get_option('prefix'), datadir)
|
||||
)
|
||||
endif
|
||||
|
||||
subdir('extensions')
|
||||
subdir('po')
|
||||
|
||||
gnome.post_install(glib_compile_schemas: true)
|
||||
gnome.post_install(
|
||||
glib_compile_schemas: true,
|
||||
)
|
||||
|
||||
meson.add_dist_script('meson/check-version.py', meson.project_version(), 'NEWS')
|
||||
meson.add_dist_script('meson/check-version.py',
|
||||
meson.project_version(),
|
||||
'NEWS')
|
||||
|
||||
summary_options = {
|
||||
'extensions': enabled_extensions,
|
||||
'classic_mode': get_option('classic_mode'),
|
||||
'extensions': enabled_extensions,
|
||||
'classic_mode': get_option('classic_mode'),
|
||||
}
|
||||
|
||||
summary_dirs = {
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
|
||||
import os, sys
|
||||
from pathlib import Path
|
||||
from xml.etree.ElementTree import ElementTree
|
||||
import argparse
|
||||
import argparse, subprocess
|
||||
|
||||
def check_version(version, file, type='news'):
|
||||
if type == 'news':
|
||||
@@ -17,11 +16,8 @@ def check_version(version, file, type='news'):
|
||||
if not ok:
|
||||
raise Exception("{} does not start with {}".format(file, version))
|
||||
elif type == 'metainfo':
|
||||
query = './releases/release[@version="{}"]'.format(version)
|
||||
ok = ElementTree(file=file).find(query) is not None
|
||||
print("{}: {}".format(file, "OK" if ok else "FAILED"))
|
||||
if not ok:
|
||||
raise Exception("{} does not contain release {}".format(file, version))
|
||||
subprocess.run(['appstream-util', 'validate-version', file, version],
|
||||
check=True)
|
||||
else:
|
||||
raise Exception('Not implemented')
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml
|
||||
extensions/window-list/extension.js
|
||||
extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml
|
||||
extensions/window-list/prefs.js
|
||||
extensions/window-list/workspaceIndicator.js
|
||||
extensions/windowsNavigator/extension.js
|
||||
extensions/workspace-indicator/extension.js
|
||||
extensions/workspace-indicator/prefs.js
|
||||
extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml
|
||||
extensions/workspace-indicator/workspaceIndicator.js
|
||||
|
||||
205
po/bg.po
205
po/bg.po
@@ -1,28 +1,24 @@
|
||||
# Bulgarian translation for gnome-shell-extensions po-file.
|
||||
# Copyright (C) 2014, 2015, 2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2021, 2022 Alexander Shopov <ash@kambanaria.org>.
|
||||
# Copyright (C) 2024 twlvnn kraftwerk <kraft_werk@tutanota.com>.
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Ivaylo Valkov <ivaylo@e-valkov.org>, 2014.
|
||||
# Alexander Shopov <ash@kambanaria.org>, 2014, 2015, 2021, 2022.
|
||||
# Lyubomir Vasilev <lyubomirv@abv.bg>, 2017.
|
||||
# twlvnn kraftwerk <kraft_werk@tutanota.com>, 2024.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions main\n"
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2024-08-12 20:30+0000\n"
|
||||
"PO-Revision-Date: 2024-09-02 10:45+0200\n"
|
||||
"Last-Translator: twlvnn kraftwerk <kraft_werk@tutanota.com>\n"
|
||||
"Language-Team: Bulgarian <dict@ludost.net>\n"
|
||||
"POT-Creation-Date: 2022-02-12 20:25+0000\n"
|
||||
"PO-Revision-Date: 2022-02-13 11:40+0100\n"
|
||||
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
|
||||
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"X-Generator: Gtranslator 46.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -41,19 +37,19 @@ msgstr "Класически GNOME в Wayland"
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "Класически GNOME в Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:126
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Любими"
|
||||
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
#: extensions/apps-menu/extension.js:370
|
||||
msgid "Applications"
|
||||
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:6
|
||||
msgid "Application and workspace list"
|
||||
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:7
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
@@ -61,34 +57,34 @@ msgstr ""
|
||||
"Списък от низове. Всеки съдържа идентификатор на програма (име на файл „."
|
||||
"desktop“), следван от знака „:“ и номер на работен плот"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:159
|
||||
#: extensions/auto-move-windows/prefs.js:19
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Правила за работните плотове"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:314
|
||||
#: extensions/auto-move-windows/prefs.js:245
|
||||
msgid "Add Rule"
|
||||
msgstr "Добавяне на правило"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:123
|
||||
#: extensions/places-menu/placeDisplay.js:218
|
||||
#: extensions/places-menu/placeDisplay.js:210
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Неуспешно изваждане на устройство „%s“:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:142
|
||||
#: extensions/drive-menu/extension.js:139
|
||||
msgid "Removable devices"
|
||||
msgstr "Преносими медии"
|
||||
|
||||
#: extensions/drive-menu/extension.js:164
|
||||
#: extensions/drive-menu/extension.js:161
|
||||
msgid "Open Files"
|
||||
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:5
|
||||
msgid "Use more screen for windows"
|
||||
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:6
|
||||
msgid ""
|
||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
@@ -99,11 +95,11 @@ 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:11
|
||||
msgid "Place window captions on top"
|
||||
msgstr "Заглавия на прозорците отгоре"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
"If true, place window captions on top the respective thumbnail, overriding "
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
@@ -113,119 +109,47 @@ msgstr ""
|
||||
"им, а не както е стандартно — отдолу. За прилагане на промяната на "
|
||||
"настройката трябва да рестартирате обвивката на GNOME."
|
||||
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
#: extensions/places-menu/extension.js:94
|
||||
msgid "Places"
|
||||
msgstr "Места"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:60
|
||||
#: extensions/places-menu/placeDisplay.js:49
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Неуспешно стартиране на „%s“"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:75
|
||||
#: extensions/places-menu/placeDisplay.js:64
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Неуспешно монтиране на тома „%s“"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:135
|
||||
#: extensions/places-menu/placeDisplay.js:158
|
||||
#: extensions/places-menu/placeDisplay.js:125
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
msgid "Computer"
|
||||
msgstr "Компютър"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:333
|
||||
#: extensions/places-menu/placeDisplay.js:336
|
||||
msgid "Home"
|
||||
msgstr "Домашна папка"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:378
|
||||
#: extensions/places-menu/placeDisplay.js:381
|
||||
msgid "Browse Network"
|
||||
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:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
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:11
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Смяна на размерите на снимката на екрана наобратно"
|
||||
|
||||
#: extensions/system-monitor/extension.js:135
|
||||
msgid "CPU stats"
|
||||
msgstr "Статистика на ЦП"
|
||||
|
||||
#: extensions/system-monitor/extension.js:159
|
||||
msgid "Memory stats"
|
||||
msgstr "Статистика на паметта"
|
||||
|
||||
#: extensions/system-monitor/extension.js:177
|
||||
msgid "Swap stats"
|
||||
msgstr "Статистика на виртуалната памет"
|
||||
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
msgid "Upload stats"
|
||||
msgstr "Статистика на качване"
|
||||
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
msgid "Download stats"
|
||||
msgstr "Статистика на изтегляне"
|
||||
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
msgid "System stats"
|
||||
msgstr "Статистика на системата"
|
||||
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
msgid "Show"
|
||||
msgstr "Показване"
|
||||
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
msgid "CPU"
|
||||
msgstr "ЦП"
|
||||
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
msgid "Memory"
|
||||
msgstr "Памет"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
msgid "Swap"
|
||||
msgstr "Виртуалната памет"
|
||||
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
msgid "Upload"
|
||||
msgstr "Качване"
|
||||
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
msgid "Download"
|
||||
msgstr "Изтегляне"
|
||||
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
msgid "Open System Monitor"
|
||||
msgstr "Отваряне на „Наблюдение на системата“"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
|
||||
msgid "Show CPU usage"
|
||||
msgstr "Показване на ползван ЦП"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
|
||||
msgid "Show memory usage"
|
||||
msgstr "Показване на ползвана памет"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
|
||||
msgid "Show swap usage"
|
||||
msgstr "Показване на ползвана виртуалната памет"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
|
||||
msgid "Show upload"
|
||||
msgstr "Показване на качването"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
|
||||
msgid "Show download"
|
||||
msgstr "Показване на изтеглянето"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
msgid "Theme name"
|
||||
msgstr "Име на темата"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr ""
|
||||
"Името на темата, която да бъде заредена от „~/.themes/name/gnome-shell“"
|
||||
@@ -234,74 +158,74 @@ msgstr ""
|
||||
msgid "Close"
|
||||
msgstr "Затваряне"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Деминимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Минимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Демаксимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Максимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:471
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Минимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:477
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Деминимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Максимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:491
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Демаксимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:499
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Затваряне на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:773
|
||||
#: extensions/window-list/extension.js:741
|
||||
msgid "Window List"
|
||||
msgstr "Списък на прозорците"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
msgid "When to group windows"
|
||||
msgstr "Кога прозорците да се групират"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Кога прозорците на една програма да се групират в списъка с прозорците. "
|
||||
"Възможните стойности са „never“ (никога), „auto“ (автоматично) и „always“ "
|
||||
"(винаги)."
|
||||
"Възможните стойности са „never“ (никога), „auto“ (автоматично) и "
|
||||
"„always“ (винаги)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
|
||||
#: extensions/window-list/prefs.js:79
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:76
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Да се показват прозорците от всички работни плотове"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr ""
|
||||
"Дали да се показват прозорците от всички работни плотове или само от текущия."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Извеждане на списъка с прозорци на всички монитори"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -309,43 +233,40 @@ msgstr ""
|
||||
"Дали списъкът с прозорци да се извежда на всички монитори или само на "
|
||||
"основния"
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
#: extensions/window-list/prefs.js:32
|
||||
msgid "Window Grouping"
|
||||
msgstr "Групиране на прозорци"
|
||||
|
||||
#: extensions/window-list/prefs.js:40
|
||||
#: extensions/window-list/prefs.js:37
|
||||
msgid "Never group windows"
|
||||
msgstr "Никога да не се групират"
|
||||
|
||||
#: extensions/window-list/prefs.js:41
|
||||
#: extensions/window-list/prefs.js:38
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Групиране при ограничено място"
|
||||
|
||||
#: extensions/window-list/prefs.js:42
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Always group windows"
|
||||
msgstr "Винаги да се групират"
|
||||
|
||||
#: extensions/window-list/prefs.js:66
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Show on all monitors"
|
||||
msgstr "На всички монитори"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Индикатор на работните плотове"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: extensions/workspace-indicator/prefs.js:18
|
||||
msgid "Workspace Names"
|
||||
msgstr "Имена на работните плотове"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:39
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Работен плот %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
msgid "Workspace Names"
|
||||
msgstr "Имена на работните плотове"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:184
|
||||
msgid "Add Workspace"
|
||||
msgstr "Добавяне на работен плот"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "Програми"
|
||||
|
||||
109
po/ca.po
109
po/ca.po
@@ -1,22 +1,25 @@
|
||||
# Catalan translation for gnome-shell-extensions.
|
||||
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Jordi Mas i Hernàndez <jmas@softcatala.org>, 2011, 2024
|
||||
# Jordi Mas i Hernandez <jmas@softcatala.org>, 2011.
|
||||
# Gil Forcada <gilforcada@guifi.net>, 2012, 2013, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n"
|
||||
"POT-Creation-Date: 2024-05-23 16:39+0000\n"
|
||||
"PO-Revision-Date: 2024-05-23 13:29+0100\n"
|
||||
"Last-Translator: Jordi Mas i Hernàndez <jmas@softcatala.org>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2024-02-06 18:43+0000\n"
|
||||
"PO-Revision-Date: 2024-04-24 22:52+0200\n"
|
||||
"Last-Translator: Jordi Mas <jmas@softcatala.org>\n"
|
||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
|
||||
"Language: ca\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-DamnedLies-Scope: partial\n"
|
||||
"X-Generator: Poedit 2.4.2\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -39,7 +42,7 @@ msgstr "GNOME clàssic amb Xorg"
|
||||
msgid "Favorites"
|
||||
msgstr "Preferides"
|
||||
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
msgid "Apps"
|
||||
msgstr "Aplicacions"
|
||||
|
||||
@@ -106,9 +109,9 @@ msgid ""
|
||||
"restarting the shell to have any effect."
|
||||
msgstr ""
|
||||
"Si és «true» (cert), posiciona el títol de la finestra damunt de la "
|
||||
"miniatura corresponent, substituint el comportament per defecte del Shell de"
|
||||
" posicionar-lo a baix. Cal reiniciar el Shell per tal que aquest canvi "
|
||||
"tingui efecte."
|
||||
"miniatura corresponent, substituint el comportament per defecte del Shell de "
|
||||
"posicionar-lo a baix. Cal reiniciar el Shell per tal que aquest canvi tingui "
|
||||
"efecte."
|
||||
|
||||
#: extensions/places-menu/extension.js:91
|
||||
#: extensions/places-menu/extension.js:94
|
||||
@@ -148,7 +151,7 @@ msgstr "Mostra cíclicament cap enrere mides de captura de pantalla"
|
||||
|
||||
#: extensions/system-monitor/extension.js:135
|
||||
msgid "CPU stats"
|
||||
msgstr "Estadístiques de la CPU"
|
||||
msgstr "Estadístiques de processador"
|
||||
|
||||
#: extensions/system-monitor/extension.js:159
|
||||
msgid "Memory stats"
|
||||
@@ -156,67 +159,47 @@ msgstr "Estadístiques de memòria"
|
||||
|
||||
#: extensions/system-monitor/extension.js:177
|
||||
msgid "Swap stats"
|
||||
msgstr "Estadístiques de l'intercanvi"
|
||||
msgstr "Estadístiques del «swap»"
|
||||
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
msgid "Upload stats"
|
||||
msgstr "Estadístiques de pujada"
|
||||
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
msgid "Download stats"
|
||||
msgstr "Estadístiques de baixada"
|
||||
msgstr "Estadístiques de descàrrega"
|
||||
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
msgid "System stats"
|
||||
msgstr "Estadístiques del sistema"
|
||||
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
msgid "Show"
|
||||
msgstr "Mostra"
|
||||
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
msgstr "Processador"
|
||||
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
#: extensions/system-monitor/extension.js:407
|
||||
msgid "Memory"
|
||||
msgstr "Memòria"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
#: extensions/system-monitor/extension.js:409
|
||||
msgid "Swap"
|
||||
msgstr "Intercanvi"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
msgid "Upload"
|
||||
msgstr "Pujada"
|
||||
msgstr "Pujades"
|
||||
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
msgid "Download"
|
||||
msgstr "Baixada"
|
||||
msgstr "Descàrregues"
|
||||
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
msgid "Open System Monitor"
|
||||
msgstr "Obre el monitor del sistema"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
|
||||
msgid "Show CPU usage"
|
||||
msgstr "Mostra l'ús de la CPU"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
|
||||
msgid "Show memory usage"
|
||||
msgstr "Mostra l'ús de la memòria"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
|
||||
msgid "Show swap usage"
|
||||
msgstr "Mostra l'ús d'intercanvi"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
|
||||
msgid "Show upload"
|
||||
msgstr "Mostra la pujada"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
|
||||
msgid "Show download"
|
||||
msgstr "Mostra la baixada"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
|
||||
msgid "Theme name"
|
||||
@@ -226,47 +209,47 @@ msgstr "Nom del tema"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "El nom del tema que es carregarà des de ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:72
|
||||
#: extensions/window-list/extension.js:71
|
||||
msgid "Close"
|
||||
msgstr "Tanca"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Unminimize"
|
||||
msgstr "Desminimitza"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Minimize"
|
||||
msgstr "Minimitza"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:105
|
||||
msgid "Unmaximize"
|
||||
msgstr "Desmaximitza"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:105
|
||||
msgid "Maximize"
|
||||
msgstr "Maximitza"
|
||||
|
||||
#: extensions/window-list/extension.js:471
|
||||
#: extensions/window-list/extension.js:470
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:477
|
||||
#: extensions/window-list/extension.js:476
|
||||
msgid "Unminimize all"
|
||||
msgstr "Desminimitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:482
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:491
|
||||
#: extensions/window-list/extension.js:490
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Desmaximitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:499
|
||||
#: extensions/window-list/extension.js:498
|
||||
msgid "Close all"
|
||||
msgstr "Tanca-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:773
|
||||
#: extensions/window-list/extension.js:772
|
||||
msgid "Window List"
|
||||
msgstr "Llista de finestres"
|
||||
|
||||
@@ -280,8 +263,8 @@ msgid ""
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Decideix quan s'han d'agrupar les finestres de la mateixa aplicació a la "
|
||||
"llista de finestres. Els valors possibles són: «never» (mai), «auto» "
|
||||
"(automàticament) i «always» (sempre)."
|
||||
"llista de finestres. Els valors possibles són: «never» (mai), "
|
||||
"«auto» (automàticament) i «always» (sempre)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
|
||||
#: extensions/window-list/prefs.js:79
|
||||
@@ -326,8 +309,8 @@ msgstr "Agrupa les finestres sempre"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Mostra a tots els monitors"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicador de l'espai de treball"
|
||||
|
||||
@@ -344,3 +327,5 @@ msgstr "Noms dels espais de treball"
|
||||
msgid "Add Workspace"
|
||||
msgstr "Afegeix un espai de treball"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "Aplicacions"
|
||||
|
||||
187
po/el.po
187
po/el.po
@@ -12,8 +12,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2024-07-24 10:26+0000\n"
|
||||
"PO-Revision-Date: 2024-08-12 23:29+0300\n"
|
||||
"POT-Creation-Date: 2023-02-18 15:10+0000\n"
|
||||
"PO-Revision-Date: 2023-08-01 23:41+0300\n"
|
||||
"Last-Translator: Efstathios Iosifidis <eiosifidis@gnome.org>\n"
|
||||
"Language-Team: Greek, Modern (1453-) <gnome-el-list@gnome.org>\n"
|
||||
"Language: el\n"
|
||||
@@ -21,7 +21,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 3.4.4\n"
|
||||
"X-Generator: Poedit 3.3.2\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
@@ -31,7 +31,7 @@ msgstr "GNOME Classic"
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Αυτή η συνεδρία σάς συνδέει στο GNOME Classic"
|
||||
msgstr "Αυτή η συνεδρία σας συνδέει στο GNOME Classic"
|
||||
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
@@ -41,19 +41,19 @@ msgstr "GNOME Classic σε Wayland"
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME Classic σε Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:126
|
||||
#: extensions/apps-menu/extension.js:118
|
||||
msgid "Favorites"
|
||||
msgstr "Αγαπημένα"
|
||||
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
#: extensions/apps-menu/extension.js:380
|
||||
msgid "Applications"
|
||||
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:6
|
||||
msgid "Application and workspace list"
|
||||
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:7
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
@@ -62,34 +62,34 @@ msgstr ""
|
||||
"(όνομα αρχείου επιφάνειας εργασίας), ακολουθούμενη από άνω-κάτω τελεία και "
|
||||
"τον αριθμό του χώρου εργασίας"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:159
|
||||
#: extensions/auto-move-windows/prefs.js:152
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Κανόνες χώρων εργασίας"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:314
|
||||
#: extensions/auto-move-windows/prefs.js:306
|
||||
msgid "Add Rule"
|
||||
msgstr "Προσθήκη κανόνα"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:123
|
||||
#: extensions/places-menu/placeDisplay.js:218
|
||||
#: extensions/drive-menu/extension.js:126
|
||||
#: extensions/places-menu/placeDisplay.js:212
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Αποτυχία εξαγωγής του δίσκου «%s»:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:142
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
msgid "Removable devices"
|
||||
msgstr "Αφαιρούμενες συσκευές"
|
||||
|
||||
#: extensions/drive-menu/extension.js:164
|
||||
#: extensions/drive-menu/extension.js:167
|
||||
msgid "Open Files"
|
||||
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:5
|
||||
msgid "Use more screen for windows"
|
||||
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:6
|
||||
msgid ""
|
||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
@@ -100,11 +100,11 @@ 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:11
|
||||
msgid "Place window captions on top"
|
||||
msgstr "Τοποθέτηση τίτλων παράθυρου στην κορυφή"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
"If true, place window captions on top the respective thumbnail, overriding "
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
@@ -115,119 +115,47 @@ msgstr ""
|
||||
"στο κάτω μέρος. Η αλλαγή αυτής της ρύθμισης απαιτεί επανεκκίνηση του "
|
||||
"κελύφους για να υπάρξει κάποιο αποτέλεσμα."
|
||||
|
||||
#: extensions/places-menu/extension.js:91
|
||||
#: extensions/places-menu/extension.js:94
|
||||
#: extensions/places-menu/extension.js:97
|
||||
msgid "Places"
|
||||
msgstr "Τοποθεσίες"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:60
|
||||
#: extensions/places-menu/placeDisplay.js:52
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Αποτυχία εκκίνησης «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:75
|
||||
#: extensions/places-menu/placeDisplay.js:67
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Αποτυχία προσάρτησης τόμου για «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:135
|
||||
#: extensions/places-menu/placeDisplay.js:158
|
||||
#: extensions/places-menu/placeDisplay.js:127
|
||||
#: extensions/places-menu/placeDisplay.js:150
|
||||
msgid "Computer"
|
||||
msgstr "Υπολογιστής"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:333
|
||||
#: extensions/places-menu/placeDisplay.js:340
|
||||
msgid "Home"
|
||||
msgstr "Προσωπικός φάκελος"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:378
|
||||
#: extensions/places-menu/placeDisplay.js:385
|
||||
msgid "Browse Network"
|
||||
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:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
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:11
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Μεγέθη κυκλικών στιγμιοτύπων προς τα πίσω"
|
||||
|
||||
#: extensions/system-monitor/extension.js:135
|
||||
msgid "CPU stats"
|
||||
msgstr "Στατιστικά CPU"
|
||||
|
||||
#: extensions/system-monitor/extension.js:159
|
||||
msgid "Memory stats"
|
||||
msgstr "Στατιστικά μνήμης"
|
||||
|
||||
#: extensions/system-monitor/extension.js:177
|
||||
msgid "Swap stats"
|
||||
msgstr "Στατιστικά swap"
|
||||
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
msgid "Upload stats"
|
||||
msgstr "Στατιστικά μεταφόρτωσης"
|
||||
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
msgid "Download stats"
|
||||
msgstr "Στατιστικά λήψης"
|
||||
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
msgid "System stats"
|
||||
msgstr "Στατιστικά συστήματος"
|
||||
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
msgid "Show"
|
||||
msgstr "Εμφάνιση"
|
||||
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
msgid "Memory"
|
||||
msgstr "Μνήμη"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
msgid "Swap"
|
||||
msgstr "Swap"
|
||||
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
msgid "Upload"
|
||||
msgstr "Μεταφόρτωση"
|
||||
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
msgid "Download"
|
||||
msgstr "Λήψη"
|
||||
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
msgid "Open System Monitor"
|
||||
msgstr "Άνοιγμα επόπτη συστήματος"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
|
||||
msgid "Show CPU usage"
|
||||
msgstr "Εμφάνιση χρήσης CPU"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
|
||||
msgid "Show memory usage"
|
||||
msgstr "Εμφάνιση χρήσης μνήμης"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
|
||||
msgid "Show swap usage"
|
||||
msgstr "Εμφάνιση χρήσης swap"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
|
||||
msgid "Show upload"
|
||||
msgstr "Εμφάνιση μεταφόρτωσης"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
|
||||
msgid "Show download"
|
||||
msgstr "Εμφάνιση λήψης"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
msgid "Theme name"
|
||||
msgstr "Όνομα θέματος"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr ""
|
||||
"Το όνομα του θέματος που θα φορτωθεί από το ~ /.themes/name/gnome-shell"
|
||||
@@ -236,51 +164,51 @@ msgstr ""
|
||||
msgid "Close"
|
||||
msgstr "Κλείσιμο"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Αποελαχιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Ελαχιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Απομεγιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Μεγιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:471
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Minimize all"
|
||||
msgstr "Ελαχιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:477
|
||||
#: extensions/window-list/extension.js:489
|
||||
msgid "Unminimize all"
|
||||
msgstr "Αποελαχιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:495
|
||||
msgid "Maximize all"
|
||||
msgstr "Μεγιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:491
|
||||
#: extensions/window-list/extension.js:503
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Απομεγιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:499
|
||||
#: extensions/window-list/extension.js:511
|
||||
msgid "Close all"
|
||||
msgstr "Κλείσιμο όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:773
|
||||
#: extensions/window-list/extension.js:795
|
||||
msgid "Window List"
|
||||
msgstr "Λίστα παραθύρου"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
msgid "When to group windows"
|
||||
msgstr "Πότε θα ομαδοποιούνται τα παράθυρα"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
@@ -289,21 +217,21 @@ 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:20
|
||||
#: extensions/window-list/prefs.js:79
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Εμφάνιση των παραθύρων από όλους τους χώρους εργασίας"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr ""
|
||||
"Αν θα εμφανίζονται παράθυρα όλων των χώρων εργασίας ή μόνο του τρέχοντα."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Να εμφανίζεται ο κατάλογος παραθύρων σε όλες τις οθόνες"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -331,27 +259,24 @@ msgstr "Να γίνεται πάντα ομαδοποίηση παραθύρων
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Να εμφανίζεται σε όλες τις οθόνες"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
#: extensions/window-list/workspaceIndicator.js:261
|
||||
#: extensions/workspace-indicator/extension.js:266
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Δείκτης χώρου εργασίας"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: extensions/workspace-indicator/prefs.js:62
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Χώρος εργασίας %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
#: extensions/workspace-indicator/prefs.js:129
|
||||
msgid "Workspace Names"
|
||||
msgstr "Ονόματα χώρων εργασίας"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:255
|
||||
msgid "Add Workspace"
|
||||
msgstr "Προσθήκη χώρου εργασίας"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "Εφαρμογές"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Εφαρμογή"
|
||||
|
||||
@@ -437,6 +362,12 @@ msgstr "Προσθήκη χώρου εργασίας"
|
||||
#~ "λειτουργικότητα από μόνο του.\n"
|
||||
#~ "Παρ' όλα αυτά είναι δυνατό να προσαρμόσετε το μήνυμα χαιρετισμού."
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "Μνήμη"
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "GNOME Shell Classic"
|
||||
|
||||
@@ -487,8 +418,8 @@ msgstr "Προσθήκη χώρου εργασίας"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
#~ "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' "
|
||||
#~ "(shows only the application icon) or 'both'."
|
||||
#~ "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
#~ "only' (shows only the application icon) or 'both'."
|
||||
#~ msgstr ""
|
||||
#~ "Διαμορφώνει πως τα παράθυρα θα εμφανίζονται στν εναλλαγή των παραθύρων. "
|
||||
#~ "Έγκυρες ρυθμίσεις είναι 'thumbnail-only' (εμφανίζει μια μικρογραφία του "
|
||||
|
||||
83
po/he.po
83
po/he.po
@@ -9,17 +9,17 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2024-02-06 18:43+0000\n"
|
||||
"PO-Revision-Date: 2024-02-17 00:11+0200\n"
|
||||
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
|
||||
"POT-Creation-Date: 2024-04-29 15:27+0000\n"
|
||||
"PO-Revision-Date: 2024-06-28 10:34+0300\n"
|
||||
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
|
||||
"Language-Team: Hebrew <yoseforb@gmail.com>\n"
|
||||
"Language: he\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n>2||n==0) ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n>2||n==0) ? 1 : 2\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Generator: Poedit 3.4.1\n"
|
||||
"X-Generator: Gtranslator 46.1\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -42,7 +42,7 @@ msgstr "GNOME קלסי על גבי Xorg"
|
||||
msgid "Favorites"
|
||||
msgstr "מועדפים"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
msgstr "יישומים"
|
||||
|
||||
@@ -157,43 +157,43 @@ msgstr "סטטיסטיקת זיכרון"
|
||||
msgid "Swap stats"
|
||||
msgstr "סטטיסטיקת תחלופה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
msgid "Upload stats"
|
||||
msgstr "סטטיסטיקת העלאה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
msgid "Download stats"
|
||||
msgstr "סטטיסטיקת הורדה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
msgid "System stats"
|
||||
msgstr "סטטיסטיקת מערכת"
|
||||
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
msgid "Show"
|
||||
msgstr "הצגה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
msgid "CPU"
|
||||
msgstr "מעבד"
|
||||
|
||||
#: extensions/system-monitor/extension.js:407
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
msgid "Memory"
|
||||
msgstr "זיכרון"
|
||||
|
||||
#: extensions/system-monitor/extension.js:409
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
msgid "Swap"
|
||||
msgstr "תחלופה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
msgid "Upload"
|
||||
msgstr "העלאה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
msgid "Download"
|
||||
msgstr "הורדה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
msgid "Open System Monitor"
|
||||
msgstr "פתיחת צג המערכת"
|
||||
|
||||
@@ -225,47 +225,47 @@ msgstr "Theme name"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:71
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "סגירה"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unminimize"
|
||||
msgstr "ביטול המזעור"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Minimize"
|
||||
msgstr "מזעור"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Unmaximize"
|
||||
msgstr "ביטול ההגדלה"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Maximize"
|
||||
msgstr "הגדלה"
|
||||
|
||||
#: extensions/window-list/extension.js:470
|
||||
#: extensions/window-list/extension.js:471
|
||||
msgid "Minimize all"
|
||||
msgstr "מזעור הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:476
|
||||
#: extensions/window-list/extension.js:477
|
||||
msgid "Unminimize all"
|
||||
msgstr "ביטול מזעור הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:482
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Maximize all"
|
||||
msgstr "הגדלת הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:490
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unmaximize all"
|
||||
msgstr "ביטול הגדלת הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:498
|
||||
#: extensions/window-list/extension.js:499
|
||||
msgid "Close all"
|
||||
msgstr "סגירת הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:772
|
||||
#: extensions/window-list/extension.js:778
|
||||
msgid "Window List"
|
||||
msgstr "רשימת חלונות"
|
||||
|
||||
@@ -302,6 +302,10 @@ msgstr ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
|
||||
msgid "Show workspace previews in window list"
|
||||
msgstr "הצגת תצוגה מקדימה של מרחבי העבודה ברשימת החלונות"
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
msgid "Window Grouping"
|
||||
msgstr "קיבוץ חלונות"
|
||||
@@ -322,24 +326,35 @@ msgstr "תמיד לקבץ חלונות"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "הצגה בכל הצגים"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "מחוון מרחבי עבודה"
|
||||
#: extensions/window-list/prefs.js:92
|
||||
msgid "Show workspace previews"
|
||||
msgstr "הצגת תצוגה מקדימה של מרחבי העבודה"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: 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:136
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
msgid "Workspace Names"
|
||||
msgstr "שם מרחב העבודה"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
msgid "Add Workspace"
|
||||
msgstr "הוספת מרחב עבודה"
|
||||
|
||||
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
|
||||
msgid "Show workspace previews in top bar"
|
||||
msgstr "הצגת תצוגה מקדימה של מרחבי העבודה בלוח העליון"
|
||||
|
||||
#: extensions/workspace-indicator/workspaceIndicator.js:430
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "מחוון מרחבי עבודה"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "יישומים"
|
||||
|
||||
|
||||
37
po/hi.po
37
po/hi.po
@@ -10,8 +10,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2024-04-29 14:28+0000\n"
|
||||
"PO-Revision-Date: 2024-05-14 15:40+0530\n"
|
||||
"POT-Creation-Date: 2024-05-12 13:45+0000\n"
|
||||
"PO-Revision-Date: 2024-05-14 15:33+0530\n"
|
||||
"Last-Translator: Scrambled777 <weblate.scrambled777@simplelogin.com>\n"
|
||||
"Language-Team: Hindi <indlinux-hindi@lists.sourceforge.net>\n"
|
||||
"Language: hi\n"
|
||||
@@ -42,7 +42,7 @@ msgstr "Xorg पर GNOME क्लासिक"
|
||||
msgid "Favorites"
|
||||
msgstr "पसंदीदा"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
msgstr "ऐप्स"
|
||||
|
||||
@@ -264,7 +264,7 @@ msgstr "अधिकतम खत्म करें"
|
||||
msgid "Close all"
|
||||
msgstr "सभी बंद करें"
|
||||
|
||||
#: extensions/window-list/extension.js:773
|
||||
#: extensions/window-list/extension.js:778
|
||||
msgid "Window List"
|
||||
msgstr "विंडो सूची"
|
||||
|
||||
@@ -300,6 +300,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"क्या विंडो सूची को सभी जुड़े हुए मॉनिटरों पर दिखाना है या केवल प्राथमिक मॉनिटर पर।"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
|
||||
msgid "Show workspace previews in window list"
|
||||
msgstr "विंडो सूची में कार्यस्थान पूर्वावलोकन दिखाएं"
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
msgid "Window Grouping"
|
||||
msgstr "विंडो समूहबद्धता"
|
||||
@@ -320,20 +324,31 @@ msgstr "हमेशा विंडोज समूहित करें"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "सभी मॉनिटरों पर दिखाएं"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "कार्यस्थान सूचक"
|
||||
#: extensions/window-list/prefs.js:92
|
||||
msgid "Show workspace previews"
|
||||
msgstr "कार्यस्थान पूर्वावलोकन दिखाएं"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: 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:136
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
msgid "Workspace Names"
|
||||
msgstr "कार्यस्थान नाम"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
msgid "Add Workspace"
|
||||
msgstr "कार्यस्थान जोड़ें"
|
||||
|
||||
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
|
||||
msgid "Show workspace previews in top bar"
|
||||
msgstr "शीर्षपट्टी में कार्यस्थान पूर्वावलोकन दिखाएं"
|
||||
|
||||
#: extensions/workspace-indicator/workspaceIndicator.js:430
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "कार्यस्थान सूचक"
|
||||
|
||||
78
po/hu.po
78
po/hu.po
@@ -11,8 +11,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is"
|
||||
"sues\n"
|
||||
"POT-Creation-Date: 2024-02-06 18:43+0000\n"
|
||||
"PO-Revision-Date: 2024-03-04 12:30+0100\n"
|
||||
"POT-Creation-Date: 2024-04-29 15:27+0000\n"
|
||||
"PO-Revision-Date: 2024-06-28 16:24+0200\n"
|
||||
"Last-Translator: Balázs Úr <ur.balazs at fsf dot hu>\n"
|
||||
"Language-Team: Hungarian <openscope at fsf dot hu>\n"
|
||||
"Language: hu\n"
|
||||
@@ -43,7 +43,7 @@ msgstr "Klasszikus GNOME Xorgon"
|
||||
msgid "Favorites"
|
||||
msgstr "Kedvencek"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
msgstr "Alkalmazások"
|
||||
|
||||
@@ -159,43 +159,43 @@ msgstr "Memóriastatisztikák"
|
||||
msgid "Swap stats"
|
||||
msgstr "Cserehely-statisztikák"
|
||||
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
msgid "Upload stats"
|
||||
msgstr "Feltöltési statisztikák"
|
||||
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
msgid "Download stats"
|
||||
msgstr "Letöltési statisztikák"
|
||||
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
msgid "System stats"
|
||||
msgstr "Rendszerstatisztikák"
|
||||
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
msgid "Show"
|
||||
msgstr "Megjelenítés"
|
||||
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
msgid "CPU"
|
||||
msgstr "Processzor"
|
||||
|
||||
#: extensions/system-monitor/extension.js:407
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
msgid "Memory"
|
||||
msgstr "Memória"
|
||||
|
||||
#: extensions/system-monitor/extension.js:409
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
msgid "Swap"
|
||||
msgstr "Cserehely"
|
||||
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
msgid "Upload"
|
||||
msgstr "Feltöltés"
|
||||
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
msgid "Download"
|
||||
msgstr "Letöltés"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
msgid "Open System Monitor"
|
||||
msgstr "Rendszerfigyelő megnyitása"
|
||||
|
||||
@@ -227,47 +227,47 @@ msgstr "Témanév"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "A ~/.themes/név/gnome-shell alól betöltendő téma neve"
|
||||
|
||||
#: extensions/window-list/extension.js:71
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Bezárás"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unminimize"
|
||||
msgstr "Minimalizálás megszüntetése"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Minimize"
|
||||
msgstr "Minimalizálás"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Unmaximize"
|
||||
msgstr "Maximalizálás megszüntetése"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Maximize"
|
||||
msgstr "Maximalizálás"
|
||||
|
||||
#: extensions/window-list/extension.js:470
|
||||
#: extensions/window-list/extension.js:471
|
||||
msgid "Minimize all"
|
||||
msgstr "Minden minimalizálása"
|
||||
|
||||
#: extensions/window-list/extension.js:476
|
||||
#: extensions/window-list/extension.js:477
|
||||
msgid "Unminimize all"
|
||||
msgstr "Minden minimalizálásának megszüntetése"
|
||||
|
||||
#: extensions/window-list/extension.js:482
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Maximize all"
|
||||
msgstr "Minden maximalizálása"
|
||||
|
||||
#: extensions/window-list/extension.js:490
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Minden maximalizálásának megszüntetése"
|
||||
|
||||
#: extensions/window-list/extension.js:498
|
||||
#: extensions/window-list/extension.js:499
|
||||
msgid "Close all"
|
||||
msgstr "Minden bezárása"
|
||||
|
||||
#: extensions/window-list/extension.js:772
|
||||
#: extensions/window-list/extension.js:778
|
||||
msgid "Window List"
|
||||
msgstr "Ablaklista"
|
||||
|
||||
@@ -307,6 +307,10 @@ msgstr ""
|
||||
"Megjelenjen-e az ablaklista minden csatlakoztatott monitoron vagy csak az "
|
||||
"elsődlegesen."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
|
||||
msgid "Show workspace previews in window list"
|
||||
msgstr "Munkaterület-előnézetek megjelenítése az ablaklistában"
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
msgid "Window Grouping"
|
||||
msgstr "Ablakcsoportosítás"
|
||||
@@ -327,20 +331,32 @@ msgstr "Mindig csoportosítsa az ablakokat"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Megjelenítés minden monitoron"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Munkaterület-indikátor"
|
||||
#: extensions/window-list/prefs.js:92
|
||||
msgid "Show workspace previews"
|
||||
msgstr "Munkaterület-előnézetek megjelenítése"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: extensions/workspace-indicator/prefs.js:30
|
||||
msgid "Show Previews In Top Bar"
|
||||
msgstr "Előnézetek megjelenítése a felső sávon"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:88
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "%d. munkaterület"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
msgid "Workspace Names"
|
||||
msgstr "Munkaterületnevek"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
msgid "Add Workspace"
|
||||
msgstr "Munkaterület hozzáadása"
|
||||
|
||||
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
|
||||
msgid "Show workspace previews in top bar"
|
||||
msgstr "Munkaterület-előnézetek megjelenítése a felső sávon"
|
||||
|
||||
#: extensions/workspace-indicator/workspaceIndicator.js:430
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Munkaterület-indikátor"
|
||||
|
||||
|
||||
181
po/ro.po
181
po/ro.po
@@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2024-04-29 14:28+0000\n"
|
||||
"PO-Revision-Date: 2024-08-04 13:22+0300\n"
|
||||
"POT-Creation-Date: 2023-02-18 15:10+0000\n"
|
||||
"PO-Revision-Date: 2023-07-29 13:49+0300\n"
|
||||
"Last-Translator: Florentina Mușat <florentina [dot] musat [dot] 28 [at] "
|
||||
"gmail [dot] com>\n"
|
||||
"Language-Team: Gnome Romanian Translation Team\n"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
|
||||
"20)) ? 1 : 2);;\n"
|
||||
"X-Generator: Poedit 3.4.4\n"
|
||||
"X-Generator: Poedit 3.3.2\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
@@ -39,19 +39,19 @@ msgstr "GNOME Clasic pe Wayland"
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME Clasic pe Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:126
|
||||
#: extensions/apps-menu/extension.js:118
|
||||
msgid "Favorites"
|
||||
msgstr "Favorite"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
msgid "Apps"
|
||||
#: extensions/apps-menu/extension.js:380
|
||||
msgid "Applications"
|
||||
msgstr "Aplicații"
|
||||
|
||||
#: 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:6
|
||||
msgid "Application and workspace list"
|
||||
msgstr "Lista de aplicații și spații de lucru"
|
||||
|
||||
#: 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:7
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
@@ -60,34 +60,34 @@ msgstr ""
|
||||
"fișierului de birou) urmat de simbolul „două puncte” și un număr al "
|
||||
"spațiului de lucru"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:159
|
||||
#: extensions/auto-move-windows/prefs.js:152
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Regulile spațiilor de lucru"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:314
|
||||
#: extensions/auto-move-windows/prefs.js:306
|
||||
msgid "Add Rule"
|
||||
msgstr "Adaugă o regulă"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:123
|
||||
#: extensions/places-menu/placeDisplay.js:218
|
||||
#: extensions/drive-menu/extension.js:126
|
||||
#: extensions/places-menu/placeDisplay.js:212
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Scoaterea unității „%s” a eșuat:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:142
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
msgid "Removable devices"
|
||||
msgstr "Dispozitive detașabile"
|
||||
|
||||
#: extensions/drive-menu/extension.js:164
|
||||
#: extensions/drive-menu/extension.js:167
|
||||
msgid "Open Files"
|
||||
msgstr "Deschide fișiere"
|
||||
|
||||
#: 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:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Folosește mai mult din ecran pentru ferestre"
|
||||
|
||||
#: 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:6
|
||||
msgid ""
|
||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
@@ -98,11 +98,11 @@ msgstr ""
|
||||
"cadrul înconjurător. Această configurare este valabilă numai pentru "
|
||||
"strategia de plasare naturală."
|
||||
|
||||
#: 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:11
|
||||
msgid "Place window captions on top"
|
||||
msgstr "Plasează titlul ferestrelor deasupra"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
"If true, place window captions on top the respective thumbnail, overriding "
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
@@ -113,119 +113,47 @@ msgstr ""
|
||||
"Schimbând această configurare necesită repornire shell-ului pentru a avea "
|
||||
"efect."
|
||||
|
||||
#: extensions/places-menu/extension.js:91
|
||||
#: extensions/places-menu/extension.js:94
|
||||
#: extensions/places-menu/extension.js:97
|
||||
msgid "Places"
|
||||
msgstr "Locații"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:60
|
||||
#: extensions/places-menu/placeDisplay.js:52
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Eșec la lansarea „%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:75
|
||||
#: extensions/places-menu/placeDisplay.js:67
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Eșec la montarea volumului pentru „%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:135
|
||||
#: extensions/places-menu/placeDisplay.js:158
|
||||
#: extensions/places-menu/placeDisplay.js:127
|
||||
#: extensions/places-menu/placeDisplay.js:150
|
||||
msgid "Computer"
|
||||
msgstr "Calculator"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:333
|
||||
#: extensions/places-menu/placeDisplay.js:340
|
||||
msgid "Home"
|
||||
msgstr "Acasă"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:378
|
||||
#: extensions/places-menu/placeDisplay.js:385
|
||||
msgid "Browse Network"
|
||||
msgstr "Navighează rețeaua"
|
||||
|
||||
#: 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:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Ciclează dimensiunile capturilor de ecran"
|
||||
|
||||
#: 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:11
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Ciclează dimensiunile capturilor de ecran în sens invers"
|
||||
|
||||
#: extensions/system-monitor/extension.js:135
|
||||
msgid "CPU stats"
|
||||
msgstr "Statistici CPU"
|
||||
|
||||
#: extensions/system-monitor/extension.js:159
|
||||
msgid "Memory stats"
|
||||
msgstr "Statistici memorie"
|
||||
|
||||
#: extensions/system-monitor/extension.js:177
|
||||
msgid "Swap stats"
|
||||
msgstr "Statistici swap"
|
||||
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
msgid "Upload stats"
|
||||
msgstr "Statistici încărcări"
|
||||
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
msgid "Download stats"
|
||||
msgstr "Statistici descărcări"
|
||||
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
msgid "System stats"
|
||||
msgstr "Statistici sistem"
|
||||
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
msgid "Show"
|
||||
msgstr "Arată"
|
||||
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
msgid "Memory"
|
||||
msgstr "Memorie"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
msgid "Swap"
|
||||
msgstr "Swap"
|
||||
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
msgid "Upload"
|
||||
msgstr "Încărcare"
|
||||
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
msgid "Download"
|
||||
msgstr "Descărcare"
|
||||
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
msgid "Open System Monitor"
|
||||
msgstr "Deschide monitorul de sistem"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
|
||||
msgid "Show CPU usage"
|
||||
msgstr "Arată utilizarea CPU"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
|
||||
msgid "Show memory usage"
|
||||
msgstr "Arată utilizarea memoriei"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
|
||||
msgid "Show swap usage"
|
||||
msgstr "Arată utilizarea swap"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
|
||||
msgid "Show upload"
|
||||
msgstr "Arată încărcările"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
|
||||
msgid "Show download"
|
||||
msgstr "Arată descărcările"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
msgid "Theme name"
|
||||
msgstr "Numele temei"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Numele temei, ce va fi încărcată din ~/.themes/name/gnome-shell"
|
||||
|
||||
@@ -233,51 +161,51 @@ msgstr "Numele temei, ce va fi încărcată din ~/.themes/name/gnome-shell"
|
||||
msgid "Close"
|
||||
msgstr "Închide"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Deminimizează"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Minimizează"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Demaximizează"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Maximizează"
|
||||
|
||||
#: extensions/window-list/extension.js:471
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimizează tot"
|
||||
|
||||
#: extensions/window-list/extension.js:477
|
||||
#: extensions/window-list/extension.js:489
|
||||
msgid "Unminimize all"
|
||||
msgstr "Deminimizează tot"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:495
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximizează tot"
|
||||
|
||||
#: extensions/window-list/extension.js:491
|
||||
#: extensions/window-list/extension.js:503
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Demaximizează tot"
|
||||
|
||||
#: extensions/window-list/extension.js:499
|
||||
#: extensions/window-list/extension.js:511
|
||||
msgid "Close all"
|
||||
msgstr "Închide tot"
|
||||
|
||||
#: extensions/window-list/extension.js:773
|
||||
#: extensions/window-list/extension.js:795
|
||||
msgid "Window List"
|
||||
msgstr "Lista ferestrelor"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
msgid "When to group windows"
|
||||
msgstr "Când să fie grupate ferestrele"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
@@ -285,22 +213,22 @@ msgstr ""
|
||||
"Decide când să fie grupate ferestrele aceleiași aplicații în lista "
|
||||
"ferestrei. Valorile posibile sunt „niciodată”, „auto” și „întotdeauna”."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:79
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Arată ferestrele din toate spațiile de lucru"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr ""
|
||||
"Dacă să se arate ferestrele din toate spațiile de lucru sau doar din cel "
|
||||
"curent."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Afișează lista ferestrelor pe toate monitoarele"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -328,27 +256,24 @@ msgstr "Grupează ferestrele întotdeauna"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Arată pe toate monitoarele"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
#: extensions/window-list/workspaceIndicator.js:261
|
||||
#: extensions/workspace-indicator/extension.js:266
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicator al spațiului de lucru"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: extensions/workspace-indicator/prefs.js:62
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Spațiu de lucru %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
#: extensions/workspace-indicator/prefs.js:129
|
||||
msgid "Workspace Names"
|
||||
msgstr "Numele spațiilor de lucru"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:255
|
||||
msgid "Add Workspace"
|
||||
msgstr "Adaugă un spațiu de lucru"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "Aplicații"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Aplicație"
|
||||
|
||||
@@ -443,3 +368,9 @@ msgstr "Adaugă un spațiu de lucru"
|
||||
|
||||
#~ msgid "Window management and application launching"
|
||||
#~ msgstr "Gestionarea ferestrei și lansarea aplicației"
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "Memorie"
|
||||
|
||||
81
po/ru.po
81
po/ru.po
@@ -9,8 +9,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2024-02-06 18:43+0000\n"
|
||||
"PO-Revision-Date: 2024-02-11 18:21+0300\n"
|
||||
"POT-Creation-Date: 2024-04-29 15:27+0000\n"
|
||||
"PO-Revision-Date: 2024-05-25 14:46+0300\n"
|
||||
"Last-Translator: Artur So <arturios2005@mail.ru>\n"
|
||||
"Language-Team: Русский <gnome-cyr@gnome.org>\n"
|
||||
"Language: ru\n"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 3.4.2\n"
|
||||
"X-Generator: Poedit 3.4.4\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -42,7 +42,7 @@ msgstr "Классический GNOME на Xorg"
|
||||
msgid "Favorites"
|
||||
msgstr "Избранное"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
msgstr "Приложения"
|
||||
|
||||
@@ -158,43 +158,43 @@ msgstr "Статистика памяти"
|
||||
msgid "Swap stats"
|
||||
msgstr "Статистика подкачки"
|
||||
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
msgid "Upload stats"
|
||||
msgstr "Статистика отдачи"
|
||||
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
msgid "Download stats"
|
||||
msgstr "Статистика загрузки"
|
||||
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
msgid "System stats"
|
||||
msgstr "Статистика системы"
|
||||
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
msgid "Show"
|
||||
msgstr "Показать"
|
||||
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
msgid "CPU"
|
||||
msgstr "ЦП"
|
||||
|
||||
#: extensions/system-monitor/extension.js:407
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
msgid "Memory"
|
||||
msgstr "Память"
|
||||
|
||||
#: extensions/system-monitor/extension.js:409
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
msgid "Swap"
|
||||
msgstr "Подкачка"
|
||||
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
msgid "Upload"
|
||||
msgstr "Отдача"
|
||||
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
msgid "Download"
|
||||
msgstr "Загрузка"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
msgid "Open System Monitor"
|
||||
msgstr "Открыть системный монитор"
|
||||
|
||||
@@ -226,49 +226,49 @@ msgstr "Название темы"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Название темы, загружаемой из ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:71
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize)
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unminimize"
|
||||
msgstr "Вернуть"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Minimize"
|
||||
msgstr "Свернуть"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Unmaximize"
|
||||
msgstr "Восстановить"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Maximize"
|
||||
msgstr "Развернуть"
|
||||
|
||||
#: extensions/window-list/extension.js:470
|
||||
#: extensions/window-list/extension.js:471
|
||||
msgid "Minimize all"
|
||||
msgstr "Свернуть все"
|
||||
|
||||
# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize)
|
||||
#: extensions/window-list/extension.js:476
|
||||
#: extensions/window-list/extension.js:477
|
||||
msgid "Unminimize all"
|
||||
msgstr "Вернуть все"
|
||||
|
||||
#: extensions/window-list/extension.js:482
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Maximize all"
|
||||
msgstr "Развернуть все"
|
||||
|
||||
#: extensions/window-list/extension.js:490
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Восстановить все"
|
||||
|
||||
#: extensions/window-list/extension.js:498
|
||||
#: extensions/window-list/extension.js:499
|
||||
msgid "Close all"
|
||||
msgstr "Закрыть все"
|
||||
|
||||
#: extensions/window-list/extension.js:772
|
||||
#: extensions/window-list/extension.js:778
|
||||
msgid "Window List"
|
||||
msgstr "Список окон"
|
||||
|
||||
@@ -288,7 +288,7 @@ msgstr ""
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
|
||||
#: extensions/window-list/prefs.js:79
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Отображать окна со всех рабочих столов"
|
||||
msgstr "Показывать окна со всех рабочих столов"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
@@ -307,6 +307,10 @@ msgstr ""
|
||||
"Показывать ли список окон на всех подключенных мониторах или только на "
|
||||
"основном."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
|
||||
msgid "Show workspace previews in window list"
|
||||
msgstr "Показывать предпросмотры рабочих столов в списке окон"
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
msgid "Window Grouping"
|
||||
msgstr "Группировка окон"
|
||||
@@ -327,23 +331,34 @@ msgstr "Всегда группировать окна"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Показывать на всех мониторах"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Индикатор рабочих столов"
|
||||
#: extensions/window-list/prefs.js:92
|
||||
msgid "Show workspace previews"
|
||||
msgstr "Показывать предпросмотры рабочих столов"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: 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:136
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
msgid "Workspace Names"
|
||||
msgstr "Названия рабочих столов"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
msgid "Add Workspace"
|
||||
msgstr "Добавить рабочий стол"
|
||||
|
||||
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
|
||||
msgid "Show workspace previews in top bar"
|
||||
msgstr "Показывать предпросмотры рабочих столов в верхней панели"
|
||||
|
||||
#: extensions/workspace-indicator/workspaceIndicator.js:430
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Индикатор рабочих столов"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "Приложения"
|
||||
|
||||
350
po/sl.po
350
po/sl.po
@@ -9,18 +9,18 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2024-02-15 05:28+0000\n"
|
||||
"PO-Revision-Date: 2024-02-19 11:07+0100\n"
|
||||
"Last-Translator: Matej Urbančič <mateju@src.gnome.org>\n"
|
||||
"POT-Creation-Date: 2024-04-29 15:27+0000\n"
|
||||
"PO-Revision-Date: 2024-05-02 00:11+0200\n"
|
||||
"Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n"
|
||||
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
|
||||
"Language: sl_SI\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
|
||||
"n%100==4 ? 3 : 0);\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
|
||||
"%100==4 ? 3 : 0);\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
"X-Generator: Poedit 3.4.2\n"
|
||||
"X-Generator: Poedit 2.2.1\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -43,7 +43,7 @@ msgstr "Klasično namizje GNOME na sistemu Xorg"
|
||||
msgid "Favorites"
|
||||
msgstr "Priljubljeno"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
msgstr "Programi"
|
||||
|
||||
@@ -158,43 +158,43 @@ msgstr "Delovanje pomnilnika"
|
||||
msgid "Swap stats"
|
||||
msgstr "Podatki izmenjevalnega prostora"
|
||||
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
msgid "Upload stats"
|
||||
msgstr "Podatki pošiljanja"
|
||||
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
msgid "Download stats"
|
||||
msgstr "Podatki prejema"
|
||||
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
msgid "System stats"
|
||||
msgstr "Podrobnosti sistema"
|
||||
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
msgid "Show"
|
||||
msgstr "Pokaži"
|
||||
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
msgid "CPU"
|
||||
msgstr "CPE"
|
||||
|
||||
#: extensions/system-monitor/extension.js:407
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
msgid "Memory"
|
||||
msgstr "Pomnilnik"
|
||||
|
||||
#: extensions/system-monitor/extension.js:409
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
msgid "Swap"
|
||||
msgstr "Izmenjevalni razdelek"
|
||||
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
msgid "Upload"
|
||||
msgstr "Poslano"
|
||||
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
msgid "Download"
|
||||
msgstr "Prejeto"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
msgid "Open System Monitor"
|
||||
msgstr "_Odpri nadzornika sistema"
|
||||
|
||||
@@ -226,47 +226,47 @@ msgstr "Ime teme"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Ime teme, ki bo naložena iz ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:71
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Zapri"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unminimize"
|
||||
msgstr "Povečaj"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Minimize"
|
||||
msgstr "Skrči"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Unmaximize"
|
||||
msgstr "Pomanjšaj"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Maximize"
|
||||
msgstr "Razpni"
|
||||
|
||||
#: extensions/window-list/extension.js:470
|
||||
#: extensions/window-list/extension.js:471
|
||||
msgid "Minimize all"
|
||||
msgstr "Skrči vse"
|
||||
|
||||
#: extensions/window-list/extension.js:476
|
||||
#: extensions/window-list/extension.js:477
|
||||
msgid "Unminimize all"
|
||||
msgstr "Pomanjšaj vse"
|
||||
|
||||
#: extensions/window-list/extension.js:482
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Maximize all"
|
||||
msgstr "Razpni vse"
|
||||
|
||||
#: extensions/window-list/extension.js:490
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Pomanjšaj vse"
|
||||
|
||||
#: extensions/window-list/extension.js:498
|
||||
#: extensions/window-list/extension.js:499
|
||||
msgid "Close all"
|
||||
msgstr "Zapri vse"
|
||||
|
||||
#: extensions/window-list/extension.js:772
|
||||
#: extensions/window-list/extension.js:778
|
||||
msgid "Window List"
|
||||
msgstr "Seznam oken"
|
||||
|
||||
@@ -303,6 +303,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Ali naj bo prikazan seznam oken na vseh povezanih zasloni ali le na osnovnem."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
|
||||
msgid "Show workspace previews in window list"
|
||||
msgstr "Pokaži predoglede delovne površine na seznamu oken"
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
msgid "Window Grouping"
|
||||
msgstr "Združevanje oken"
|
||||
@@ -323,289 +327,31 @@ msgstr "Okna vedno združuj"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Pokaži na vseh zaslonih"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Kazalnik delovnih površin"
|
||||
#: extensions/window-list/prefs.js:92
|
||||
msgid "Show workspace previews"
|
||||
msgstr "Pokaži predoglede delovne površine"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: extensions/workspace-indicator/prefs.js:30
|
||||
msgid "Show Previews In Top Bar"
|
||||
msgstr "Pokaži predoglede v zgornji vrstici"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:88
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Delovna površina %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
msgid "Workspace Names"
|
||||
msgstr "Imena delovnih površin"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
msgid "Add Workspace"
|
||||
msgstr "Dodaj delovno površino"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "Programi"
|
||||
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
|
||||
msgid "Show workspace previews in top bar"
|
||||
msgstr "Pokaži predoglede delovne površine v zgornji vrstici"
|
||||
|
||||
#~ msgid "Username or email"
|
||||
#~ msgstr "Uporabniško ime ali elektronski naslov"
|
||||
|
||||
#~ msgid "Username"
|
||||
#~ msgstr "Uporabniško ime"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only."
|
||||
#~ msgstr ""
|
||||
#~ "Zahtevan je vpis do 30 znakov, uporabiti pa je mogoče le črke, številke "
|
||||
#~ "in znake @/./+/-/_."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This value may contain only letters, numbers and @/./+/-/_ characters."
|
||||
#~ msgstr "Vrednost lahko vsebuje le črke, številke, vezaj in znake @/./+/-/_."
|
||||
|
||||
#~ msgid "Email"
|
||||
#~ msgstr "Elektronski naslov"
|
||||
|
||||
#~ msgid "You should not use email as username"
|
||||
#~ msgstr "Za uporabniško ime ni priporočljivo uporabiti elektronskega naslova"
|
||||
|
||||
#~ msgid "Forgot your password?"
|
||||
#~ msgstr "Ali ste pozabili geslo?"
|
||||
|
||||
#~ msgid "Log in"
|
||||
#~ msgstr "Prijava"
|
||||
|
||||
#~ msgid "Don't have an account?"
|
||||
#~ msgstr "Še nimate računa za dostop?"
|
||||
|
||||
#~ msgid "Register"
|
||||
#~ msgstr "Vpisnik"
|
||||
|
||||
#~ msgid "User Login"
|
||||
#~ msgstr "Prijava uporabnika"
|
||||
|
||||
#~ msgid "Reset your password"
|
||||
#~ msgstr "Ponastavi geslo"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The token for the password reset is incorrect. Please check your link and "
|
||||
#~ "try again."
|
||||
#~ msgstr ""
|
||||
#~ "Žeton za ponastavitev gesla ni pravi. Preverite povezavo in poskusite "
|
||||
#~ "znova."
|
||||
|
||||
#~ msgid "Password reset"
|
||||
#~ msgstr "Ponovna nastavitev gesla"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Forgot your password? Enter your e-mail address below, and we’ll e-mail "
|
||||
#~ "instructions for setting a new one."
|
||||
#~ msgstr ""
|
||||
#~ "Ali ste pozabili geslo? Vpišite elektronski naslov in poslali vam bomo "
|
||||
#~ "navodila za nastavitev novega."
|
||||
|
||||
#~ msgid "Installed extensions"
|
||||
#~ msgstr "Nameščene razširitve"
|
||||
|
||||
#~ msgid "About"
|
||||
#~ msgstr "O programu"
|
||||
|
||||
#~ msgid "Extensions"
|
||||
#~ msgstr "Razširitve"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "Unfortunately, to help prevent spam, we require that you <a "
|
||||
#~ "href=\"%(login_url)s\">log in to GNOME Shell Extensions</a> in order to "
|
||||
#~ "post a comment or report an error. You understand, right?"
|
||||
#~ msgstr ""
|
||||
#~ "Za preprečevanje neželenih objav se je treba najprej <a "
|
||||
#~ "href=\"%(login_url)s\">prijaviti na spletno stran</a>. Prijava omogoča "
|
||||
#~ "poročanje o napakah in objavljanje ocen in mnenj."
|
||||
|
||||
#~ msgid "User Reviews"
|
||||
#~ msgstr "Mnenja uporabnikov"
|
||||
|
||||
#~ msgid "Loading reviews…"
|
||||
#~ msgstr "Poteka nalaganje mnenj uporabnikov …"
|
||||
|
||||
#~ msgid "Your opinion"
|
||||
#~ msgstr "Vaše mnenje"
|
||||
|
||||
#~ msgid "Leave a…"
|
||||
#~ msgstr "Objavite …"
|
||||
|
||||
#~ msgid "Comment"
|
||||
#~ msgstr "Opombo"
|
||||
|
||||
#~ msgid "Rating"
|
||||
#~ msgstr "Oceno"
|
||||
|
||||
#~ msgid "Bug report"
|
||||
#~ msgstr "Poročilo o hrošču"
|
||||
|
||||
#~ msgid "Upgrade this extension"
|
||||
#~ msgstr "Posodobi razširitev"
|
||||
|
||||
#~ msgid "Configure this extension"
|
||||
#~ msgstr "Nastavi razširitev"
|
||||
|
||||
#~ msgid "Uninstall this extension"
|
||||
#~ msgstr "Odstrani razširitev"
|
||||
|
||||
#~ msgid "Extension Homepage"
|
||||
#~ msgstr "Spletna stran razširitev"
|
||||
|
||||
#~ msgid "Shell version…"
|
||||
#~ msgstr "različica lupine …"
|
||||
|
||||
#~ msgid "Extension version…"
|
||||
#~ msgstr "Različica razširitve …"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "A reviewer will review the extension you submitted to make sure there's "
|
||||
#~ "nothing too dangerous. You'll be emailed the result of the review."
|
||||
#~ msgstr ""
|
||||
#~ "Pregledovalec bo preveril objavljeno razširitev za morebitno neželeno "
|
||||
#~ "delovanje. Odziv boste prejeli na elektronski naslov."
|
||||
|
||||
#~ msgid "Search for extensions…"
|
||||
#~ msgstr "Poišči razširitve …"
|
||||
|
||||
#~ msgid "Installed Extensions"
|
||||
#~ msgstr "Nameščene razširitve"
|
||||
|
||||
#~ msgid "Shell settings"
|
||||
#~ msgstr "Nastavitve lupine"
|
||||
|
||||
#~ msgid "Content"
|
||||
#~ msgstr "Vsebina"
|
||||
|
||||
#~ msgid "Metadata"
|
||||
#~ msgstr "Metapodatki"
|
||||
|
||||
#~ msgid "Post"
|
||||
#~ msgstr "Po"
|
||||
|
||||
#~ msgid "Preview"
|
||||
#~ msgstr "Predogled"
|
||||
|
||||
#~ msgid "What do you think about this GNOME extension?"
|
||||
#~ msgstr "Kakšno je vaše mnenje o tej razširitvi GNOME?"
|
||||
|
||||
#~ msgid "Please correct the error below"
|
||||
#~ msgid_plural "Please correct the errors below"
|
||||
#~ msgstr[0] "Razrešiti je treba spodnje napake"
|
||||
#~ msgstr[1] "Razrešiti je treba spodnjo napako"
|
||||
#~ msgstr[2] "Razrešiti je treba spodnji napaki"
|
||||
#~ msgstr[3] "Razrešiti je treba spodnje napake"
|
||||
|
||||
#~ msgid "Preview your comment"
|
||||
#~ msgstr "Predogled opombe"
|
||||
|
||||
#~ msgid "Post Comment"
|
||||
#~ msgstr "Objavi mnenje"
|
||||
|
||||
#~ msgid "Edit your comment"
|
||||
#~ msgstr "Uredi mnenje"
|
||||
|
||||
#~ msgid "Latest extensions in GNOME Shell Extensions"
|
||||
#~ msgstr "Najnovejše razširitve Lupine GNOME"
|
||||
|
||||
#~ msgid "GNOME Shell Extensions"
|
||||
#~ msgstr "Razširitve Lupine Gnome"
|
||||
|
||||
#~ msgid "User Profile"
|
||||
#~ msgstr "Uporabniški profil"
|
||||
|
||||
#~ msgid "User Settings"
|
||||
#~ msgstr "Uporabniške nastavitve"
|
||||
|
||||
#~ msgid "Log out"
|
||||
#~ msgstr "Odjava"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "To control GNOME Shell extensions using this site you must install GNOME "
|
||||
#~ "Shell integration that consists of two parts: browser extension and "
|
||||
#~ "native host messaging application"
|
||||
#~ msgstr ""
|
||||
#~ "Za nadzor razširitev Lupine GNOME prek te spletne strani je treba "
|
||||
#~ "namestiti program, ki vključuje dva dela: razširitev za brskalnik in "
|
||||
#~ "gostiteljski program za sporočanje."
|
||||
|
||||
#~ msgid "Install GNOME Shell integration browser extension"
|
||||
#~ msgstr "Namesti razširitev Lupine GNOM za spletni brskalnik"
|
||||
|
||||
#~ msgid "Click here to install browser extension"
|
||||
#~ msgstr "Kliknite za namestitev razširitve za brskalnik"
|
||||
|
||||
#, javascript-format
|
||||
#~ msgid ""
|
||||
#~ "See %swiki page%s for native host connector installation instructions"
|
||||
#~ msgstr ""
|
||||
#~ "Oglejte si %sstrani Wiki%s za nastavitev povezovalnega gostiteljskega "
|
||||
#~ "namiznega programa."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "We cannot detect a running copy of GNOME on this system, so some parts of "
|
||||
#~ "the interface may be disabled. See <a href=\"/about/#no-detection\">our "
|
||||
#~ "troubleshooting entry</a> for more information."
|
||||
#~ msgstr ""
|
||||
#~ "Ni mogoče zaznati zagnane različice namizja GNOME na tem sistemu, zato so "
|
||||
#~ "nekateri deli vmesnika morda onemogočeni. Za več podrobnosti si oglejte "
|
||||
#~ "možnosti <a href=\"/about/#no-detection\">odpravljanja napak</a>."
|
||||
|
||||
#~ msgid "GNOME Shell Extensions cannot list your installed extensions."
|
||||
#~ msgstr "Ni mogoče izpisati nameščenih razširitev Lupine GNOME."
|
||||
|
||||
#~ msgid "Compatible with"
|
||||
#~ msgstr "Skladno z"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Ime"
|
||||
|
||||
#~ msgid "Recent"
|
||||
#~ msgstr "Nedavno"
|
||||
|
||||
#~ msgid "Popularity"
|
||||
#~ msgstr "Priljubljenost"
|
||||
|
||||
#~ msgid "Sort by"
|
||||
#~ msgstr "Razvrsti po"
|
||||
|
||||
#~ msgid "Show more reviews"
|
||||
#~ msgstr "Pokaži več ocen"
|
||||
|
||||
#~ msgid "There are no comments. Be the first!"
|
||||
#~ msgstr "Ni še vpisane nobene opombe. Bodite prvi!"
|
||||
|
||||
#~ msgid "Author"
|
||||
#~ msgstr "Avtor"
|
||||
|
||||
#~ msgid "What's wrong?"
|
||||
#~ msgstr "Kaj ne narobe?"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "GNOME Shell Extensions did not detect any errors with this extension."
|
||||
#~ msgstr "Ni zaznanih napak pri tej razširitvi Lupine GNOME."
|
||||
|
||||
#~ msgid "Version information"
|
||||
#~ msgstr "Podrobnosti različice"
|
||||
|
||||
#~ msgid "Shell version"
|
||||
#~ msgstr "Različica lupine"
|
||||
|
||||
#~ msgid "Extension version"
|
||||
#~ msgstr "Različica razširitve"
|
||||
|
||||
#~ msgid "Unknown"
|
||||
#~ msgstr "Neznano"
|
||||
|
||||
#~ msgid "What have you tried?"
|
||||
#~ msgstr "Kaj ste že poskusili?"
|
||||
|
||||
#~ msgid "Automatically detected errors"
|
||||
#~ msgstr "Samodejno zaznaj napake"
|
||||
|
||||
#~ msgid "You uninstalled"
|
||||
#~ msgstr "Odstranili ste"
|
||||
|
||||
#~ msgid "Password"
|
||||
#~ msgstr "Geslo"
|
||||
#: extensions/workspace-indicator/workspaceIndicator.js:430
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Kazalnik delovnih površin"
|
||||
|
||||
79
po/tr.po
79
po/tr.po
@@ -14,9 +14,9 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2024-02-13 13:35+0000\n"
|
||||
"PO-Revision-Date: 2024-02-12 18:45+0300\n"
|
||||
"Last-Translator: Sabri Ünal <libreajans@gmail.com>\n"
|
||||
"POT-Creation-Date: 2024-04-29 15:27+0000\n"
|
||||
"PO-Revision-Date: 2024-05-06 05:17+0300\n"
|
||||
"Last-Translator: Sabri Ünal <yakushabb@gmail.com>\n"
|
||||
"Language-Team: Turkish <takim@gnome.org.tr>\n"
|
||||
"Language: tr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -46,7 +46,7 @@ msgstr "Xorg üstünde GNOME Klasik"
|
||||
msgid "Favorites"
|
||||
msgstr "Gözdeler"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
msgstr "Uygulamalar"
|
||||
|
||||
@@ -163,43 +163,43 @@ msgstr "Bellek istatistikleri"
|
||||
msgid "Swap stats"
|
||||
msgstr "Takas istatistikleri"
|
||||
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
msgid "Upload stats"
|
||||
msgstr "Yükleme istatistikleri"
|
||||
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
msgid "Download stats"
|
||||
msgstr "İndirme istatistikleri"
|
||||
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
msgid "System stats"
|
||||
msgstr "Sistem istatistikleri"
|
||||
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
msgid "Show"
|
||||
msgstr "Göster"
|
||||
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
msgid "CPU"
|
||||
msgstr "İşlemci"
|
||||
|
||||
#: extensions/system-monitor/extension.js:407
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
msgid "Memory"
|
||||
msgstr "Bellek"
|
||||
|
||||
#: extensions/system-monitor/extension.js:409
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
msgid "Swap"
|
||||
msgstr "Takas"
|
||||
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
msgid "Upload"
|
||||
msgstr "Yükle"
|
||||
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
msgid "Download"
|
||||
msgstr "İndir"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
msgid "Open System Monitor"
|
||||
msgstr "Sistem Gözlemcisini Aç"
|
||||
|
||||
@@ -231,47 +231,47 @@ msgstr "Tema adı"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "~/.themes/name/gnome-shell konumundan edinilen tema adı"
|
||||
|
||||
#: extensions/window-list/extension.js:71
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Kapat"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unminimize"
|
||||
msgstr "Önceki duruma getir"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Minimize"
|
||||
msgstr "Simge durumuna küçült"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Unmaximize"
|
||||
msgstr "Önceki duruma getir"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Maximize"
|
||||
msgstr "En büyük duruma getir"
|
||||
|
||||
#: extensions/window-list/extension.js:470
|
||||
#: extensions/window-list/extension.js:471
|
||||
msgid "Minimize all"
|
||||
msgstr "Tümünü simge durumuna küçült"
|
||||
|
||||
#: extensions/window-list/extension.js:476
|
||||
#: extensions/window-list/extension.js:477
|
||||
msgid "Unminimize all"
|
||||
msgstr "Tümünü önceki duruma getir"
|
||||
|
||||
#: extensions/window-list/extension.js:482
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Maximize all"
|
||||
msgstr "Tümünü en büyük duruma getir"
|
||||
|
||||
#: extensions/window-list/extension.js:490
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Tümünü önceki duruma getir"
|
||||
|
||||
#: extensions/window-list/extension.js:498
|
||||
#: extensions/window-list/extension.js:499
|
||||
msgid "Close all"
|
||||
msgstr "Tümünü kapat"
|
||||
|
||||
#: extensions/window-list/extension.js:772
|
||||
#: extensions/window-list/extension.js:778
|
||||
msgid "Window List"
|
||||
msgstr "Pencere Listesi"
|
||||
|
||||
@@ -311,6 +311,10 @@ msgstr ""
|
||||
"Pencere listesinin tüm bağlı monitörlerde mi yoksa yalnızca birincil "
|
||||
"monitörde mi gösterileceğini belirtir."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
|
||||
msgid "Show workspace previews in window list"
|
||||
msgstr "Pencere listesinde çalışma alanı ön izlemelerini göster"
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
msgid "Window Grouping"
|
||||
msgstr "Pencere Kümeleme"
|
||||
@@ -331,20 +335,31 @@ msgstr "Pencereleri her zaman kümele"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Tüm monitörlerde göster"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Çalışma Alanı Belirteci"
|
||||
#: extensions/window-list/prefs.js:92
|
||||
msgid "Show workspace previews"
|
||||
msgstr "Çalışma alanı ön izlemelerini göster"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: extensions/workspace-indicator/prefs.js:30
|
||||
msgid "Show Previews In Top Bar"
|
||||
msgstr "Ön İzlemeleri Üst Çubukta Göster"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:88
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Çalışma Alanı %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
msgid "Workspace Names"
|
||||
msgstr "Çalışma Alanı Adları"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
msgid "Add Workspace"
|
||||
msgstr "Çalışma Alanı Ekle"
|
||||
|
||||
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
|
||||
msgid "Show workspace previews in top bar"
|
||||
msgstr "Çalışma alanı ön izlemelerini üst çubukta göster"
|
||||
|
||||
#: extensions/workspace-indicator/workspaceIndicator.js:430
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Çalışma Alanı Belirteci"
|
||||
|
||||
Reference in New Issue
Block a user