Compare commits
41 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b28db1283 | ||
|
|
d4dac27d8e | ||
|
|
bca459c6d5 | ||
|
|
d9951501bf | ||
|
|
e5ff28e45d | ||
|
|
a1ce38fee8 | ||
|
|
ce302b0dfd | ||
|
|
a168041b82 | ||
|
|
c735818868 | ||
|
|
106ae2c28d | ||
|
|
363f396365 | ||
|
|
62ccff1558 | ||
|
|
959dc522e7 | ||
|
|
a75f8a7d52 | ||
|
|
f3144d472a | ||
|
|
566e7806b0 | ||
|
|
d3cf3c0961 | ||
|
|
084a2ed7c7 | ||
|
|
b8f7287205 | ||
|
|
965cad8b95 | ||
|
|
b7f737492d | ||
|
|
6b34c996d3 | ||
|
|
7f23ccbff7 | ||
|
|
c06c33b488 | ||
|
|
043a268b57 | ||
|
|
f44f90b966 | ||
|
|
a99515feef | ||
|
|
7953cd130d | ||
|
|
75b1ea879b | ||
|
|
b89a93a4fc | ||
|
|
a00a7d7a9a | ||
|
|
3bbbb5dac7 | ||
|
|
ae9411a23d | ||
|
|
0334834a0f | ||
|
|
b0ba8ca5c0 | ||
|
|
ae00cf6b4e | ||
|
|
ee730d9e29 | ||
|
|
c290d7ddb3 | ||
|
|
de033a04fa | ||
|
|
1219dfc144 | ||
|
|
dd16556530 |
17
.editorconfig
Normal file
17
.editorconfig
Normal file
@@ -0,0 +1,17 @@
|
||||
# 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,10 +3,13 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
include:
|
||||
- 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'
|
||||
- remote: 'https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/master/templates/fedora.yml'
|
||||
- remote: "https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/master/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"
|
||||
|
||||
stages:
|
||||
- pre_review
|
||||
@@ -30,7 +33,8 @@ default:
|
||||
|
||||
variables:
|
||||
FDO_UPSTREAM_REPO: GNOME/gnome-shell-extensions
|
||||
LINT_LOG: "eslint-report.xml"
|
||||
MESON_BUILD_DIR: build
|
||||
TARBALL_ARTIFACT_PATH: "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
|
||||
|
||||
workflow:
|
||||
rules:
|
||||
@@ -108,14 +112,16 @@ 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
|
||||
@@ -141,28 +147,13 @@ fedora-build:
|
||||
stage: build
|
||||
<<: *prereview_req
|
||||
script:
|
||||
- meson setup build --werror -Dextension_set=all -Dclassic_mode=true
|
||||
- meson compile -C build
|
||||
- meson test -C build
|
||||
- meson install -C build
|
||||
- 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"
|
||||
artifacts:
|
||||
paths:
|
||||
- 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'
|
||||
- "$MESON_BUILD_DIR"
|
||||
|
||||
fedora-dist:
|
||||
stage: deploy
|
||||
@@ -171,7 +162,7 @@ fedora-dist:
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: normal
|
||||
script:
|
||||
- meson dist -C build
|
||||
- meson dist -C "$MESON_BUILD_DIR"
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
changes:
|
||||
@@ -180,21 +171,11 @@ 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
|
||||
reports:
|
||||
dotenv: dist.env
|
||||
rules:
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
|
||||
release-module:
|
||||
stage: deploy
|
||||
needs:
|
||||
- fedora-dist-tarball
|
||||
extends: .release-module
|
||||
- "$TARBALL_ARTIFACT_PATH"
|
||||
rules:
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
#!/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,9 +20,6 @@ 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
|
||||
|
||||
44
NEWS
44
NEWS
@@ -1,19 +1,45 @@
|
||||
47.alpha
|
||||
========
|
||||
* Improve workspace previews in window-list and workspace-indicator
|
||||
[Florian; !307, !316]
|
||||
46.5
|
||||
====
|
||||
* window-list: Fix regression in chrome tracking [Florian; !379]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
46.4
|
||||
====
|
||||
* Update template CI images to fix release pipeline [Florian; !377]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
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]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner, Bartłomiej Piotrowski
|
||||
|
||||
Translators:
|
||||
Милош Поповић [sr], Jose Riha [sk], Chao-Hsiung Liao [zh_TW],
|
||||
Daniel Șerbănescu [ro], Giannis Antypas [el], twlvnn kraftwerk [bg]
|
||||
|
||||
46.2
|
||||
====
|
||||
* apps-menu: Fix a11y of category labels [Florian; !319]
|
||||
* window-list: Fix long-press support [Florian; !320]
|
||||
* window-list: Animate transitions [Florian; !325]
|
||||
* Misc. bug fixes and cleanups [Florian; !315, !321, !324]
|
||||
* Misc. bug fixes and cleanups [Florian; !324]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
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]
|
||||
Hugo Carvalho [pt], Jose Riha [sk], Jordi Mas i Hernandez [ca],
|
||||
Scrambled 777 [hi]
|
||||
|
||||
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
|
||||
installdir=`mktemp -p $srcdir -d _install.XXXXXX` || exit 1
|
||||
destdir=`mktemp -p $srcdir -d _dest.XXXXXX` || exit 1
|
||||
|
||||
meson setup --prefix=$installdir -Dextension_set=all $srcdir $builddir
|
||||
meson install -C $builddir
|
||||
meson setup --prefix=/usr -Dextension_set=all $srcdir $builddir
|
||||
meson install --destdir $destdir -C $builddir
|
||||
|
||||
rm -rf $srcdir/zip-files
|
||||
mkdir $srcdir/zip-files
|
||||
|
||||
extensiondir=$installdir/share/gnome-shell/extensions
|
||||
schemadir=$installdir/share/glib-2.0/schemas
|
||||
extensiondir=$destdir/usr/share/gnome-shell/extensions
|
||||
schemadir=$destdir/usr/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 *.css 2>/dev/null))
|
||||
sources=(NEWS COPYING $(cd $f; ls *.js))
|
||||
|
||||
[ -d $f/icons ] && sources+=(icons)
|
||||
|
||||
@@ -50,4 +50,4 @@ for f in $extensiondir/*; do
|
||||
done
|
||||
|
||||
rm -rf $builddir
|
||||
rm -rf $installdir
|
||||
rm -rf $destdir
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
//
|
||||
// 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,9 +4,6 @@
|
||||
//
|
||||
// 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,9 +3,6 @@
|
||||
//
|
||||
// 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,18 +16,20 @@ 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,7 +5,6 @@
|
||||
//
|
||||
// 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,7 +5,6 @@
|
||||
//
|
||||
// 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';
|
||||
@@ -20,32 +19,17 @@ import {PlacesManager} from './placeDisplay.js';
|
||||
|
||||
const N_ = x => x;
|
||||
|
||||
const PLACE_ICON_SIZE = 16;
|
||||
|
||||
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
class PlaceMenuItem extends PopupMenu.PopupImageMenuItem {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(info) {
|
||||
super({
|
||||
super(info.name, info.icon, {
|
||||
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',
|
||||
@@ -70,8 +54,8 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
}
|
||||
|
||||
_propertiesChanged(info) {
|
||||
this._icon.gicon = info.icon;
|
||||
this._label.text = info.name;
|
||||
this.setIcon(info.icon);
|
||||
this.label.text = info.name;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
//
|
||||
// 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';
|
||||
@@ -61,15 +60,15 @@ class PlaceInfo extends EventEmitter {
|
||||
return;
|
||||
}
|
||||
|
||||
let source = {
|
||||
get_icon: () => this.icon,
|
||||
const source = {
|
||||
get_drive: () => null,
|
||||
};
|
||||
let op = new ShellMountOperation.ShellMountOperation(source);
|
||||
try {
|
||||
await this.file.mount_enclosing_volume(0, op.mountOp, null);
|
||||
|
||||
if (tryMount)
|
||||
this._ensureMountAndLaunch(context, false);
|
||||
this._ensureMountAndLaunch(context, false).catch(logError);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.FAILED_HANDLED))
|
||||
Main.notifyError(_('Failed to mount volume for “%s”').format(this.name), e.message);
|
||||
@@ -81,7 +80,7 @@ class PlaceInfo extends EventEmitter {
|
||||
|
||||
launch(timestamp) {
|
||||
let launchContext = global.create_app_launch_context(timestamp, -1);
|
||||
this._ensureMountAndLaunch(launchContext, true);
|
||||
this._ensureMountAndLaunch(launchContext, true).catch(logError);
|
||||
}
|
||||
|
||||
getIcon() {
|
||||
|
||||
@@ -5,9 +5,6 @@
|
||||
//
|
||||
// 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,8 +2,6 @@
|
||||
//
|
||||
// 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,13 +19,15 @@ 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,
|
||||
@@ -77,7 +79,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);
|
||||
this.actor);
|
||||
|
||||
this._updateMinimizeItem();
|
||||
this._updateMaximizeItem();
|
||||
@@ -163,14 +165,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: 'application-x-executable',
|
||||
icon_name: 'icon-missing',
|
||||
icon_size: ICON_TEXTURE_SIZE,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class BaseButton extends DashItemContainer {
|
||||
class BaseButton extends St.Button {
|
||||
static {
|
||||
GObject.registerClass({
|
||||
GTypeFlags: GObject.TypeFlags.ABSTRACT,
|
||||
@@ -184,22 +186,12 @@ class BaseButton extends DashItemContainer {
|
||||
}
|
||||
|
||||
constructor(perMonitor, monitorIndex) {
|
||||
super();
|
||||
|
||||
this._button = new St.Button({
|
||||
super({
|
||||
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;
|
||||
@@ -207,7 +199,7 @@ class BaseButton extends DashItemContainer {
|
||||
|
||||
this.connect('notify::allocation',
|
||||
this._updateIconGeometry.bind(this));
|
||||
this._button.connect('clicked', this._onClicked.bind(this));
|
||||
this.connect('clicked', this._onClicked.bind(this));
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
this.connect('popup-menu', this._onPopupMenu.bind(this));
|
||||
|
||||
@@ -224,6 +216,12 @@ class BaseButton extends DashItemContainer {
|
||||
this._windowEnteredOrLeftMonitor.bind(this),
|
||||
this);
|
||||
}
|
||||
|
||||
this._tooltip = new Tooltip(this, {
|
||||
style_class: 'dash-label',
|
||||
visible: false,
|
||||
});
|
||||
Main.uiGroup.add_child(this._tooltip);
|
||||
}
|
||||
|
||||
get active() {
|
||||
@@ -246,18 +244,6 @@ class BaseButton extends DashItemContainer {
|
||||
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;
|
||||
@@ -396,6 +382,7 @@ class BaseButton extends DashItemContainer {
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
this._tooltip.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -408,17 +395,15 @@ 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._button.set_child(this._windowTitle);
|
||||
this.set_child(this._windowTitle);
|
||||
this.label_actor = this._windowTitle.label_actor;
|
||||
|
||||
this._contextMenu = new WindowContextMenu(this, this.metaWindow);
|
||||
@@ -464,9 +449,6 @@ class WindowButton extends BaseButton {
|
||||
}
|
||||
|
||||
_updateVisibility() {
|
||||
if (this._unmanaging)
|
||||
return;
|
||||
|
||||
this.visible = this._isWindowVisible(this.metaWindow);
|
||||
}
|
||||
|
||||
@@ -550,7 +532,7 @@ class AppButton extends BaseButton {
|
||||
this._updateVisibility();
|
||||
|
||||
let stack = new St.Widget({layout_manager: new Clutter.BinLayout()});
|
||||
this._button.set_child(stack);
|
||||
this.set_child(stack);
|
||||
|
||||
this._singleWindowTitle = new St.Bin({
|
||||
x_expand: true,
|
||||
@@ -747,24 +729,28 @@ class WindowList extends St.Widget {
|
||||
let box = new St.BoxLayout({x_expand: true, y_expand: true});
|
||||
this.add_child(box);
|
||||
|
||||
this._windowList = new St.BoxLayout({
|
||||
let layout = new Clutter.BoxLayout({homogeneous: true});
|
||||
this._windowList = new St.Widget({
|
||||
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 BottomWorkspaceIndicator({
|
||||
baseStyleClass: 'window-list-workspace-indicator',
|
||||
settings,
|
||||
});
|
||||
this._workspaceIndicator = new WorkspaceIndicator();
|
||||
indicatorsBox.add_child(this._workspaceIndicator.container);
|
||||
|
||||
this._mutterSettings = new Gio.Settings({schema_id: 'org.gnome.mutter'});
|
||||
@@ -777,14 +763,13 @@ class WindowList extends St.Widget {
|
||||
this._updateWorkspaceIndicatorVisibility();
|
||||
|
||||
this._menuManager = new PopupMenu.PopupMenuManager(this);
|
||||
this._workspaceIndicator.connectObject('menu-set',
|
||||
() => this._onWorkspaceMenuSet(), this);
|
||||
this._onWorkspaceMenuSet();
|
||||
this._menuManager.addMenu(this._workspaceIndicator.menu);
|
||||
|
||||
Main.layoutManager.addChrome(this, {
|
||||
const chromeOptions = {
|
||||
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');
|
||||
|
||||
@@ -821,10 +806,12 @@ class WindowList extends St.Widget {
|
||||
|
||||
Main.overview.connectObject(
|
||||
'showing', () => {
|
||||
Main.layoutManager.untrackChrome(this);
|
||||
this.hide();
|
||||
this._updateKeyboardAnchor();
|
||||
},
|
||||
'hidden', () => {
|
||||
Main.layoutManager.trackChrome(this, chromeOptions);
|
||||
this.visible = !this._monitor.inFullscreen;
|
||||
this._updateKeyboardAnchor();
|
||||
}, this);
|
||||
@@ -838,7 +825,7 @@ class WindowList extends St.Widget {
|
||||
|
||||
this._windowSignals = new Map();
|
||||
global.display.connectObject(
|
||||
'window-created', (dsp, win) => this._addWindow(win, true), this);
|
||||
'window-created', (dsp, win) => this._addWindow(win), this);
|
||||
|
||||
Main.xdndHandler.connectObject(
|
||||
'drag-begin', () => this._monitorDrag(),
|
||||
@@ -876,11 +863,6 @@ 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,
|
||||
@@ -955,14 +937,14 @@ class WindowList extends St.Widget {
|
||||
w2.metaWindow.get_stable_sequence();
|
||||
});
|
||||
for (let i = 0; i < windows.length; i++)
|
||||
this._addWindow(windows[i].metaWindow, false);
|
||||
this._addWindow(windows[i].metaWindow);
|
||||
} 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], false);
|
||||
this._addApp(apps[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -976,26 +958,26 @@ class WindowList extends St.Widget {
|
||||
return;
|
||||
|
||||
if (app.state === Shell.AppState.RUNNING)
|
||||
this._addApp(app, true);
|
||||
this._addApp(app);
|
||||
else if (app.state === Shell.AppState.STOPPED)
|
||||
this._removeApp(app);
|
||||
}
|
||||
|
||||
_addApp(app, animate) {
|
||||
_addApp(app) {
|
||||
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);
|
||||
child?.animateOutAndDestroy();
|
||||
if (child)
|
||||
child.destroy();
|
||||
}
|
||||
|
||||
_addWindow(win, animate) {
|
||||
_addWindow(win) {
|
||||
if (!this._grouped)
|
||||
this._checkGrouping();
|
||||
|
||||
@@ -1013,7 +995,6 @@ 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) {
|
||||
@@ -1030,7 +1011,8 @@ class WindowList extends St.Widget {
|
||||
|
||||
let children = this._windowList.get_children();
|
||||
let child = children.find(c => c.metaWindow === win);
|
||||
child?.animateOutAndDestroy();
|
||||
if (child)
|
||||
child.destroy();
|
||||
}
|
||||
|
||||
_monitorDrag() {
|
||||
@@ -1101,28 +1083,6 @@ 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);
|
||||
@@ -1174,3 +1134,67 @@ 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,32 +12,5 @@ extension_data += files(
|
||||
'stylesheet-light.css'
|
||||
)
|
||||
|
||||
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_sources += files('prefs.js', 'workspaceIndicator.js')
|
||||
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||
|
||||
@@ -36,9 +36,5 @@ 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,7 +3,6 @@
|
||||
//
|
||||
// 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';
|
||||
@@ -81,19 +80,6 @@ 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,7 +4,6 @@
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
@import url("stylesheet-workspace-switcher-dark.css");
|
||||
|
||||
.window-list {
|
||||
spacing: 2px;
|
||||
@@ -82,6 +81,36 @@
|
||||
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,7 +6,6 @@
|
||||
*/
|
||||
|
||||
@import url("stylesheet-dark.css");
|
||||
@import url("stylesheet-workspace-switcher-light.css");
|
||||
|
||||
#panel.bottom-panel {
|
||||
border-top-width: 1px;
|
||||
@@ -51,3 +50,22 @@
|
||||
color: #888;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* workspace switcher */
|
||||
.window-list-workspace-indicator .workspace {
|
||||
border: 2px solid #f6f5f4;
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace.active {
|
||||
border-color: #888;
|
||||
}
|
||||
|
||||
.window-list-window-preview {
|
||||
background-color: #ededed;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.window-list-window-preview.active {
|
||||
background-color: #f6f5f4;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// 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-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
@@ -20,9 +18,7 @@ import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
|
||||
const TOOLTIP_OFFSET = 6;
|
||||
const TOOLTIP_ANIMATION_TIME = 150;
|
||||
|
||||
const SCROLL_TIME = 100;
|
||||
|
||||
let baseStyleClassName = '';
|
||||
const MAX_THUMBNAILS = 6;
|
||||
|
||||
class WindowPreview extends St.Button {
|
||||
static {
|
||||
@@ -31,7 +27,7 @@ class WindowPreview extends St.Button {
|
||||
|
||||
constructor(window) {
|
||||
super({
|
||||
style_class: `${baseStyleClassName}-window-preview`,
|
||||
style_class: 'window-list-window-preview',
|
||||
});
|
||||
|
||||
this._delegate = this;
|
||||
@@ -43,7 +39,7 @@ class WindowPreview extends St.Button {
|
||||
'size-changed', () => this._checkRelayout(),
|
||||
'position-changed', () => this._checkRelayout(),
|
||||
'notify::minimized', this._updateVisible.bind(this),
|
||||
'notify::window-type', this._updateVisible.bind(this),
|
||||
'notify::skip-taskbar', this._updateVisible.bind(this),
|
||||
this);
|
||||
this._updateVisible();
|
||||
|
||||
@@ -72,7 +68,7 @@ class WindowPreview extends St.Button {
|
||||
}
|
||||
|
||||
_updateVisible() {
|
||||
this.visible = this._window.window_type !== Meta.WindowType.DESKTOP &&
|
||||
this.visible = !this._window.skip_taskbar &&
|
||||
this._window.showing_on_its_workspace();
|
||||
}
|
||||
}
|
||||
@@ -104,39 +100,19 @@ 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();
|
||||
|
||||
const box = new St.BoxLayout({
|
||||
style_class: 'workspace-box',
|
||||
y_expand: true,
|
||||
vertical: true,
|
||||
});
|
||||
this.set_child(box);
|
||||
|
||||
this._preview = new St.Bin({
|
||||
super({
|
||||
style_class: 'workspace',
|
||||
child: new Clutter.Actor({
|
||||
layout_manager: new WorkspaceLayout(),
|
||||
@@ -144,15 +120,7 @@ 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',
|
||||
@@ -160,19 +128,9 @@ 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
|
||||
|
||||
@@ -181,10 +139,6 @@ 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),
|
||||
@@ -197,18 +151,6 @@ 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;
|
||||
@@ -231,7 +173,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._preview.child.add_child(preview);
|
||||
this.child.add_child(preview);
|
||||
}
|
||||
|
||||
_removeWindow(window) {
|
||||
@@ -251,7 +193,7 @@ class WorkspaceThumbnail extends St.Button {
|
||||
if (!preview)
|
||||
continue;
|
||||
|
||||
this._preview.child.set_child_above_sibling(preview, lastPreview);
|
||||
this.child.set_child_above_sibling(preview, lastPreview);
|
||||
lastPreview = preview;
|
||||
}
|
||||
}
|
||||
@@ -270,9 +212,6 @@ class WorkspaceThumbnail extends St.Button {
|
||||
}
|
||||
|
||||
_syncTooltip() {
|
||||
if (this.showLabel)
|
||||
return;
|
||||
|
||||
if (this.hover) {
|
||||
this._tooltip.set({
|
||||
text: Meta.prefs_get_workspace_name(this._index),
|
||||
@@ -281,17 +220,16 @@ class WorkspaceThumbnail extends St.Button {
|
||||
});
|
||||
|
||||
const [stageX, stageY] = this.get_transformed_position();
|
||||
const [thumbWidth, thumbHeight] = this.allocation.get_size();
|
||||
const [tipWidth, tipHeight] = this._tooltip.get_size();
|
||||
const thumbWidth = this.allocation.get_width();
|
||||
const tipWidth = this._tooltip.width;
|
||||
const tipHeight = this._tooltip.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 - monitor.y > thumbHeight + TOOLTIP_OFFSET
|
||||
? stageY - tipHeight - TOOLTIP_OFFSET // show above
|
||||
: stageY + thumbHeight + TOOLTIP_OFFSET; // show below
|
||||
const y = stageY - tipHeight - TOOLTIP_OFFSET;
|
||||
this._tooltip.set_position(x, y);
|
||||
}
|
||||
|
||||
@@ -308,136 +246,17 @@ 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(params = {}) {
|
||||
constructor() {
|
||||
super(0.5, _('Workspace Indicator'), true);
|
||||
|
||||
const {
|
||||
baseStyleClass = 'workspace-indicator',
|
||||
settings,
|
||||
} = params;
|
||||
|
||||
this._settings = settings;
|
||||
|
||||
baseStyleClassName = baseStyleClass;
|
||||
this.add_style_class_name(baseStyleClassName);
|
||||
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');
|
||||
|
||||
let container = new St.Widget({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
@@ -449,89 +268,163 @@ export class WorkspaceIndicator extends PanelMenu.Button {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this._currentWorkspace = workspaceManager.get_active_workspace_index();
|
||||
this._statusLabel = new St.Label({
|
||||
style_class: 'status-label',
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
text: this._getStatusText(),
|
||||
});
|
||||
container.add_child(this._statusLabel);
|
||||
this._statusLabel = new St.Label({text: this._getStatusText()});
|
||||
|
||||
this._thumbnails = new WorkspacePreviews();
|
||||
container.add_child(this._thumbnails);
|
||||
this._statusBin = new St.Bin({
|
||||
style_class: 'status-label-bin',
|
||||
x_expand: true,
|
||||
y_expand: true,
|
||||
child: this._statusLabel,
|
||||
});
|
||||
container.add_child(this._statusBin);
|
||||
|
||||
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._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',
|
||||
(a, event) => Main.wm.handleWorkspaceScroll(event));
|
||||
|
||||
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.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||
this._updateMenu();
|
||||
this._updateThumbnails();
|
||||
this._updateThumbnailVisibility();
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
if (this._inTopBar)
|
||||
Main.panel.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
|
||||
this._inTopBar = false;
|
||||
|
||||
super._onDestroy();
|
||||
this._settings = new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
|
||||
this._settings.connectObject('changed::workspace-names',
|
||||
() => this._updateMenuLabels(), this);
|
||||
}
|
||||
|
||||
_updateThumbnailVisibility() {
|
||||
const useMenu = !this._settings.get_boolean('embed-previews');
|
||||
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._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);
|
||||
this._statusBin.visible = useMenu;
|
||||
this._thumbnailsBox.visible = !useMenu;
|
||||
}
|
||||
|
||||
_onWorkspaceSwitched() {
|
||||
this._currentWorkspace = global.workspace_manager.get_active_workspace_index();
|
||||
let workspaceManager = global.workspace_manager;
|
||||
this._currentWorkspace = workspaceManager.get_active_workspace_index();
|
||||
|
||||
this._updateMenuOrnament();
|
||||
this._updateActiveThumbnail();
|
||||
|
||||
this._statusLabel.set_text(this._getStatusText());
|
||||
}
|
||||
|
||||
_getStatusText() {
|
||||
const {nWorkspaces} = global.workspace_manager;
|
||||
const current = this._currentWorkspace + 1;
|
||||
return `${current} / ${nWorkspaces}`;
|
||||
_nWorkspacesChanged() {
|
||||
this._updateMenu();
|
||||
this._updateThumbnails();
|
||||
this._updateThumbnailVisibility();
|
||||
}
|
||||
|
||||
_createPreviewMenu() {
|
||||
const menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.TOP);
|
||||
_updateMenuOrnament() {
|
||||
for (let i = 0; i < this._workspacesItems.length; i++) {
|
||||
this._workspacesItems[i].setOrnament(i === this._currentWorkspace
|
||||
? PopupMenu.Ornament.DOT
|
||||
: PopupMenu.Ornament.NO_DOT);
|
||||
}
|
||||
}
|
||||
|
||||
const previews = new WorkspacePreviews({show_labels: true});
|
||||
menu.box.add_child(previews);
|
||||
menu.actor.add_style_class_name(`${baseStyleClassName}-menu`);
|
||||
return menu;
|
||||
_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);
|
||||
}
|
||||
|
||||
_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;
|
||||
}
|
||||
}
|
||||
|
||||
_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);
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,6 @@
|
||||
//
|
||||
// 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,17 +4,442 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||
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, 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';
|
||||
|
||||
import {WorkspaceIndicator} from './workspaceIndicator.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);
|
||||
}
|
||||
}
|
||||
|
||||
export default class WorkspaceIndicatorExtension extends Extension {
|
||||
enable() {
|
||||
this._indicator = new WorkspaceIndicator({
|
||||
settings: this.getSettings(),
|
||||
});
|
||||
this._indicator = new WorkspaceIndicator();
|
||||
Main.panel.addToStatusArea('workspace-indicator', this._indicator);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,10 +7,6 @@ extension_data += configure_file(
|
||||
output: metadata_name,
|
||||
configuration: metadata_conf
|
||||
)
|
||||
extension_data += files(
|
||||
'stylesheet-dark.css',
|
||||
'stylesheet-light.css',
|
||||
)
|
||||
extension_schemas += files('schemas/' + metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||
extension_data += files('stylesheet.css')
|
||||
|
||||
extension_sources += files('prefs.js', 'workspaceIndicator.js')
|
||||
extension_sources += files('prefs.js')
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
//
|
||||
// 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';
|
||||
@@ -18,25 +17,6 @@ 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);
|
||||
|
||||
@@ -138,7 +118,7 @@ class WorkspacesList extends GObject.Object {
|
||||
}
|
||||
}
|
||||
|
||||
class WorkspacesGroup extends Adw.PreferencesGroup {
|
||||
class WorkspaceSettingsWidget extends Adw.PreferencesGroup {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
|
||||
@@ -284,9 +264,6 @@ class NewWorkspaceRow extends Adw.PreferencesRow {
|
||||
|
||||
export default class WorkspaceIndicatorPrefs extends ExtensionPreferences {
|
||||
getPreferencesWidget() {
|
||||
const page = new Adw.PreferencesPage();
|
||||
page.add(new GeneralGroup(this.getSettings()));
|
||||
page.add(new WorkspacesGroup());
|
||||
return page;
|
||||
return new WorkspaceSettingsWidget();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
<!--
|
||||
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>
|
||||
@@ -1,63 +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
|
||||
*/
|
||||
|
||||
.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 {
|
||||
padding: 5px;
|
||||
spacing: 3px;
|
||||
}
|
||||
|
||||
.workspace-indicator-menu .workspaces-box {
|
||||
padding: 5px;
|
||||
spacing: 6px;
|
||||
}
|
||||
|
||||
.workspace-indicator-menu .workspace-box {
|
||||
spacing: 6px;
|
||||
}
|
||||
|
||||
.workspace-indicator-menu .workspace,
|
||||
.workspace-indicator .workspace {
|
||||
border: 2px 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: #9f9f9f;
|
||||
}
|
||||
|
||||
.workspace-indicator-window-preview {
|
||||
background-color: #bebebe;
|
||||
border: 1px solid #828282;
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
.workspace-indicator-window-preview.active {
|
||||
background-color: #d4d4d4;
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
/*
|
||||
* 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;
|
||||
}
|
||||
35
extensions/workspace-indicator/stylesheet.css
Normal file
35
extensions/workspace-indicator/stylesheet.css
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* 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;
|
||||
}
|
||||
38
meson.build
38
meson.build
@@ -2,10 +2,11 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
project('gnome-shell-extensions',
|
||||
version: '47.alpha',
|
||||
project(
|
||||
'gnome-shell-extensions',
|
||||
version: '46.5',
|
||||
meson_version: '>= 0.58.0',
|
||||
license: 'GPL2+'
|
||||
license: 'GPL-2.0-or-later',
|
||||
)
|
||||
|
||||
gettext_domain = meson.project_name()
|
||||
@@ -34,7 +35,7 @@ classic_extensions = [
|
||||
'apps-menu',
|
||||
'places-menu',
|
||||
'launch-new-instance',
|
||||
'window-list'
|
||||
'window-list',
|
||||
]
|
||||
|
||||
default_extensions = classic_extensions
|
||||
@@ -44,15 +45,11 @@ default_extensions += [
|
||||
'screenshot-window-sizer',
|
||||
'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')
|
||||
|
||||
@@ -71,11 +68,10 @@ 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('Classic mode is enabled, ' +
|
||||
'but the required extension @0@ is not.'.format(e))
|
||||
error(f'Classic mode is enabled, but the required extension @e@ is not')
|
||||
endif
|
||||
endforeach
|
||||
endif
|
||||
@@ -83,7 +79,7 @@ endif
|
||||
# Sanity check: Make sure enabled extensions are valid
|
||||
foreach e : enabled_extensions
|
||||
if not all_extensions.contains(e)
|
||||
error('Invalid extension @0@.'.format(e))
|
||||
error(f'Invalid extension @e@.')
|
||||
endif
|
||||
endforeach
|
||||
|
||||
@@ -91,24 +87,20 @@ 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,7 +6,8 @@
|
||||
|
||||
import os, sys
|
||||
from pathlib import Path
|
||||
import argparse, subprocess
|
||||
from xml.etree.ElementTree import ElementTree
|
||||
import argparse
|
||||
|
||||
def check_version(version, file, type='news'):
|
||||
if type == 'news':
|
||||
@@ -16,8 +17,11 @@ def check_version(version, file, type='news'):
|
||||
if not ok:
|
||||
raise Exception("{} does not start with {}".format(file, version))
|
||||
elif type == 'metainfo':
|
||||
subprocess.run(['appstream-util', 'validate-version', file, version],
|
||||
check=True)
|
||||
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))
|
||||
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,24 +1,28 @@
|
||||
# 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 master\n"
|
||||
"Project-Id-Version: gnome-shell-extensions main\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 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"
|
||||
"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"
|
||||
"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"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"X-Generator: Gtranslator 46.1\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -37,19 +41,19 @@ msgstr "Класически GNOME в Wayland"
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "Класически GNOME в Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
#: extensions/apps-menu/extension.js:126
|
||||
msgid "Favorites"
|
||||
msgstr "Любими"
|
||||
|
||||
#: extensions/apps-menu/extension.js:370
|
||||
msgid "Applications"
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
msgstr "Програми"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
|
||||
msgid "Application and workspace list"
|
||||
msgstr "Списък с програмите и работните плотове"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
@@ -57,34 +61,34 @@ msgstr ""
|
||||
"Списък от низове. Всеки съдържа идентификатор на програма (име на файл „."
|
||||
"desktop“), следван от знака „:“ и номер на работен плот"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:19
|
||||
#: extensions/auto-move-windows/prefs.js:159
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Правила за работните плотове"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:245
|
||||
#: extensions/auto-move-windows/prefs.js:314
|
||||
msgid "Add Rule"
|
||||
msgstr "Добавяне на правило"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:123
|
||||
#: extensions/places-menu/placeDisplay.js:210
|
||||
#: extensions/places-menu/placeDisplay.js:218
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Неуспешно изваждане на устройство „%s“:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:139
|
||||
#: extensions/drive-menu/extension.js:142
|
||||
msgid "Removable devices"
|
||||
msgstr "Преносими медии"
|
||||
|
||||
#: extensions/drive-menu/extension.js:161
|
||||
#: extensions/drive-menu/extension.js:164
|
||||
msgid "Open Files"
|
||||
msgstr "Отваряне на файлове"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Повече пространство за прозорците"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
@@ -95,11 +99,11 @@ 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:17
|
||||
msgid "Place window captions on top"
|
||||
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:18
|
||||
msgid ""
|
||||
"If true, place window captions on top the respective thumbnail, overriding "
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
@@ -109,47 +113,119 @@ 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:49
|
||||
#: extensions/places-menu/placeDisplay.js:60
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Неуспешно стартиране на „%s“"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:64
|
||||
#: extensions/places-menu/placeDisplay.js:75
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Неуспешно монтиране на тома „%s“"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:125
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:135
|
||||
#: extensions/places-menu/placeDisplay.js:158
|
||||
msgid "Computer"
|
||||
msgstr "Компютър"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:336
|
||||
#: extensions/places-menu/placeDisplay.js:333
|
||||
msgid "Home"
|
||||
msgstr "Домашна папка"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:381
|
||||
#: extensions/places-menu/placeDisplay.js:378
|
||||
msgid "Browse Network"
|
||||
msgstr "Мрежа"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Смяна на размерите на снимката на екрана"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Смяна на размерите на снимката на екрана наобратно"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
#: 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
|
||||
msgid "Theme name"
|
||||
msgstr "Име на темата"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr ""
|
||||
"Името на темата, която да бъде заредена от „~/.themes/name/gnome-shell“"
|
||||
@@ -158,74 +234,74 @@ msgstr ""
|
||||
msgid "Close"
|
||||
msgstr "Затваряне"
|
||||
|
||||
#: extensions/window-list/extension.js:92
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unminimize"
|
||||
msgstr "Деминимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:92
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Minimize"
|
||||
msgstr "Минимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Unmaximize"
|
||||
msgstr "Демаксимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Maximize"
|
||||
msgstr "Максимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:434
|
||||
#: extensions/window-list/extension.js:471
|
||||
msgid "Minimize all"
|
||||
msgstr "Минимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:440
|
||||
#: extensions/window-list/extension.js:477
|
||||
msgid "Unminimize all"
|
||||
msgstr "Деминимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:446
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Maximize all"
|
||||
msgstr "Максимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Демаксимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:462
|
||||
#: extensions/window-list/extension.js:499
|
||||
msgid "Close all"
|
||||
msgstr "Затваряне на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:741
|
||||
#: extensions/window-list/extension.js:773
|
||||
msgid "Window List"
|
||||
msgstr "Списък на прозорците"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
|
||||
msgid "When to group windows"
|
||||
msgstr "Кога прозорците да се групират"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Кога прозорците на една програма да се групират в списъка с прозорците. "
|
||||
"Възможните стойности са „never“ (никога), „auto“ (автоматично) и "
|
||||
"„always“ (винаги)."
|
||||
"Възможните стойности са „never“ (никога), „auto“ (автоматично) и „always“ "
|
||||
"(винаги)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:76
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
|
||||
#: extensions/window-list/prefs.js:79
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Да се показват прозорците от всички работни плотове"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr ""
|
||||
"Дали да се показват прозорците от всички работни плотове или само от текущия."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Извеждане на списъка с прозорци на всички монитори"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -233,40 +309,43 @@ msgstr ""
|
||||
"Дали списъкът с прозорци да се извежда на всички монитори или само на "
|
||||
"основния"
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:35
|
||||
msgid "Window Grouping"
|
||||
msgstr "Групиране на прозорци"
|
||||
|
||||
#: extensions/window-list/prefs.js:37
|
||||
#: extensions/window-list/prefs.js:40
|
||||
msgid "Never group windows"
|
||||
msgstr "Никога да не се групират"
|
||||
|
||||
#: extensions/window-list/prefs.js:38
|
||||
#: extensions/window-list/prefs.js:41
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Групиране при ограничено място"
|
||||
|
||||
#: extensions/window-list/prefs.js:39
|
||||
#: extensions/window-list/prefs.js:42
|
||||
msgid "Always group windows"
|
||||
msgstr "Винаги да се групират"
|
||||
|
||||
#: extensions/window-list/prefs.js:63
|
||||
#: extensions/window-list/prefs.js:66
|
||||
msgid "Show on all monitors"
|
||||
msgstr "На всички монитори"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Индикатор на работните плотове"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:18
|
||||
msgid "Workspace Names"
|
||||
msgstr "Имена на работните плотове"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:39
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Работен плот %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:184
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
msgid "Workspace Names"
|
||||
msgstr "Имена на работните плотове"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
msgid "Add Workspace"
|
||||
msgstr "Добавяне на работен плот"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "Програми"
|
||||
|
||||
119
po/ca.po
119
po/ca.po
@@ -1,25 +1,22 @@
|
||||
# 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 Hernandez <jmas@softcatala.org>, 2011.
|
||||
# Jordi Mas i Hernàndez <jmas@softcatala.org>, 2011, 2024
|
||||
# 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-02-06 18:43+0000\n"
|
||||
"PO-Revision-Date: 2024-04-24 22:52+0200\n"
|
||||
"Last-Translator: Jordi Mas <jmas@softcatala.org>\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"
|
||||
"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"
|
||||
@@ -42,7 +39,7 @@ msgstr "GNOME clàssic amb Xorg"
|
||||
msgid "Favorites"
|
||||
msgstr "Preferides"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
msgstr "Aplicacions"
|
||||
|
||||
@@ -109,9 +106,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
|
||||
@@ -151,7 +148,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 processador"
|
||||
msgstr "Estadístiques de la CPU"
|
||||
|
||||
#: extensions/system-monitor/extension.js:159
|
||||
msgid "Memory stats"
|
||||
@@ -159,47 +156,67 @@ msgstr "Estadístiques de memòria"
|
||||
|
||||
#: extensions/system-monitor/extension.js:177
|
||||
msgid "Swap stats"
|
||||
msgstr "Estadístiques del «swap»"
|
||||
msgstr "Estadístiques de l'intercanvi"
|
||||
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
msgid "Upload stats"
|
||||
msgstr "Estadístiques de pujada"
|
||||
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
msgid "Download stats"
|
||||
msgstr "Estadístiques de descàrrega"
|
||||
msgstr "Estadístiques de baixada"
|
||||
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
msgid "System stats"
|
||||
msgstr "Estadístiques del sistema"
|
||||
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
msgid "Show"
|
||||
msgstr "Mostra"
|
||||
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
msgid "CPU"
|
||||
msgstr "Processador"
|
||||
msgstr "CPU"
|
||||
|
||||
#: extensions/system-monitor/extension.js:407
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
msgid "Memory"
|
||||
msgstr "Memòria"
|
||||
|
||||
#: extensions/system-monitor/extension.js:409
|
||||
msgid "Swap"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
msgid "Upload"
|
||||
msgstr "Pujades"
|
||||
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
msgid "Download"
|
||||
msgstr "Descàrregues"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
msgid "Swap"
|
||||
msgstr "Intercanvi"
|
||||
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
msgid "Upload"
|
||||
msgstr "Pujada"
|
||||
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
msgid "Download"
|
||||
msgstr "Baixada"
|
||||
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
msgid "Open System Monitor"
|
||||
msgstr ""
|
||||
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"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
|
||||
msgid "Theme name"
|
||||
@@ -209,47 +226,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:71
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Tanca"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unminimize"
|
||||
msgstr "Desminimitza"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Minimize"
|
||||
msgstr "Minimitza"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Unmaximize"
|
||||
msgstr "Desmaximitza"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Maximize"
|
||||
msgstr "Maximitza"
|
||||
|
||||
#: extensions/window-list/extension.js:470
|
||||
#: extensions/window-list/extension.js:471
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:476
|
||||
#: extensions/window-list/extension.js:477
|
||||
msgid "Unminimize all"
|
||||
msgstr "Desminimitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:482
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:490
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Desmaximitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:498
|
||||
#: extensions/window-list/extension.js:499
|
||||
msgid "Close all"
|
||||
msgstr "Tanca-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:772
|
||||
#: extensions/window-list/extension.js:773
|
||||
msgid "Window List"
|
||||
msgstr "Llista de finestres"
|
||||
|
||||
@@ -263,8 +280,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
|
||||
@@ -309,8 +326,8 @@ msgstr "Agrupa les finestres sempre"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Mostra a tots els monitors"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicador de l'espai de treball"
|
||||
|
||||
@@ -327,5 +344,3 @@ 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: 2023-02-18 15:10+0000\n"
|
||||
"PO-Revision-Date: 2023-08-01 23:41+0300\n"
|
||||
"POT-Creation-Date: 2024-07-24 10:26+0000\n"
|
||||
"PO-Revision-Date: 2024-08-12 23:29+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.3.2\n"
|
||||
"X-Generator: Poedit 3.4.4\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:118
|
||||
#: extensions/apps-menu/extension.js:126
|
||||
msgid "Favorites"
|
||||
msgstr "Αγαπημένα"
|
||||
|
||||
#: extensions/apps-menu/extension.js:380
|
||||
msgid "Applications"
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
msgstr "Εφαρμογές"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
|
||||
msgid "Application and workspace list"
|
||||
msgstr "Λίστα εφαρμογών και χώρου εργασίας"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
@@ -62,34 +62,34 @@ msgstr ""
|
||||
"(όνομα αρχείου επιφάνειας εργασίας), ακολουθούμενη από άνω-κάτω τελεία και "
|
||||
"τον αριθμό του χώρου εργασίας"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:152
|
||||
#: extensions/auto-move-windows/prefs.js:159
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Κανόνες χώρων εργασίας"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:306
|
||||
#: extensions/auto-move-windows/prefs.js:314
|
||||
msgid "Add Rule"
|
||||
msgstr "Προσθήκη κανόνα"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:126
|
||||
#: extensions/places-menu/placeDisplay.js:212
|
||||
#: extensions/drive-menu/extension.js:123
|
||||
#: extensions/places-menu/placeDisplay.js:218
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Αποτυχία εξαγωγής του δίσκου «%s»:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:142
|
||||
msgid "Removable devices"
|
||||
msgstr "Αφαιρούμενες συσκευές"
|
||||
|
||||
#: extensions/drive-menu/extension.js:167
|
||||
#: extensions/drive-menu/extension.js:164
|
||||
msgid "Open Files"
|
||||
msgstr "Άνοιγμα αρχείων"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Χρησιμοποιήστε περισσότερη οθόνη για τα παράθυρα"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
@@ -100,11 +100,11 @@ 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:17
|
||||
msgid "Place window captions on top"
|
||||
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:18
|
||||
msgid ""
|
||||
"If true, place window captions on top the respective thumbnail, overriding "
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
@@ -115,47 +115,119 @@ 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:52
|
||||
#: extensions/places-menu/placeDisplay.js:60
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Αποτυχία εκκίνησης «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:67
|
||||
#: extensions/places-menu/placeDisplay.js:75
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Αποτυχία προσάρτησης τόμου για «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:127
|
||||
#: extensions/places-menu/placeDisplay.js:150
|
||||
#: extensions/places-menu/placeDisplay.js:135
|
||||
#: extensions/places-menu/placeDisplay.js:158
|
||||
msgid "Computer"
|
||||
msgstr "Υπολογιστής"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:340
|
||||
#: extensions/places-menu/placeDisplay.js:333
|
||||
msgid "Home"
|
||||
msgstr "Προσωπικός φάκελος"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:385
|
||||
#: extensions/places-menu/placeDisplay.js:378
|
||||
msgid "Browse Network"
|
||||
msgstr "Περιήγηση δικτύου"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Περιδιάβαση τα μεγέθη των στιγμιοτύπων"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Μεγέθη κυκλικών στιγμιοτύπων προς τα πίσω"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
#: 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
|
||||
msgid "Theme name"
|
||||
msgstr "Όνομα θέματος"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr ""
|
||||
"Το όνομα του θέματος που θα φορτωθεί από το ~ /.themes/name/gnome-shell"
|
||||
@@ -164,51 +236,51 @@ msgstr ""
|
||||
msgid "Close"
|
||||
msgstr "Κλείσιμο"
|
||||
|
||||
#: extensions/window-list/extension.js:92
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unminimize"
|
||||
msgstr "Αποελαχιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:92
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Minimize"
|
||||
msgstr "Ελαχιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Unmaximize"
|
||||
msgstr "Απομεγιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Maximize"
|
||||
msgstr "Μεγιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:471
|
||||
msgid "Minimize all"
|
||||
msgstr "Ελαχιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:489
|
||||
#: extensions/window-list/extension.js:477
|
||||
msgid "Unminimize all"
|
||||
msgstr "Αποελαχιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:495
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Maximize all"
|
||||
msgstr "Μεγιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:503
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Απομεγιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:511
|
||||
#: extensions/window-list/extension.js:499
|
||||
msgid "Close all"
|
||||
msgstr "Κλείσιμο όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:795
|
||||
#: extensions/window-list/extension.js:773
|
||||
msgid "Window List"
|
||||
msgstr "Λίστα παραθύρου"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
|
||||
msgid "When to group windows"
|
||||
msgstr "Πότε θα ομαδοποιούνται τα παράθυρα"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
@@ -217,21 +289,21 @@ msgstr ""
|
||||
"παραθύρου. Δυνατές τιμές είναι «never» (ποτέ), «auto» (αυτόματα) και "
|
||||
"«always» (πάντα)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
|
||||
#: extensions/window-list/prefs.js:79
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Εμφάνιση των παραθύρων από όλους τους χώρους εργασίας"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr ""
|
||||
"Αν θα εμφανίζονται παράθυρα όλων των χώρων εργασίας ή μόνο του τρέχοντα."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Να εμφανίζεται ο κατάλογος παραθύρων σε όλες τις οθόνες"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -259,24 +331,27 @@ msgstr "Να γίνεται πάντα ομαδοποίηση παραθύρων
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Να εμφανίζεται σε όλες τις οθόνες"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:261
|
||||
#: extensions/workspace-indicator/extension.js:266
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Δείκτης χώρου εργασίας"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:62
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Χώρος εργασίας %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:129
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
msgid "Workspace Names"
|
||||
msgstr "Ονόματα χώρων εργασίας"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:255
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
msgid "Add Workspace"
|
||||
msgstr "Προσθήκη χώρου εργασίας"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "Εφαρμογές"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Εφαρμογή"
|
||||
|
||||
@@ -362,12 +437,6 @@ msgstr "Προσθήκη χώρου εργασίας"
|
||||
#~ "λειτουργικότητα από μόνο του.\n"
|
||||
#~ "Παρ' όλα αυτά είναι δυνατό να προσαρμόσετε το μήνυμα χαιρετισμού."
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "Μνήμη"
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "GNOME Shell Classic"
|
||||
|
||||
@@ -418,8 +487,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-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"
|
||||
"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"
|
||||
"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: Gtranslator 46.1\n"
|
||||
"X-Generator: Poedit 3.4.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:400
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
msgid "Apps"
|
||||
msgstr "יישומים"
|
||||
|
||||
@@ -157,43 +157,43 @@ msgstr "סטטיסטיקת זיכרון"
|
||||
msgid "Swap stats"
|
||||
msgstr "סטטיסטיקת תחלופה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
msgid "Upload stats"
|
||||
msgstr "סטטיסטיקת העלאה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
msgid "Download stats"
|
||||
msgstr "סטטיסטיקת הורדה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
msgid "System stats"
|
||||
msgstr "סטטיסטיקת מערכת"
|
||||
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
msgid "Show"
|
||||
msgstr "הצגה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
msgid "CPU"
|
||||
msgstr "מעבד"
|
||||
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
#: extensions/system-monitor/extension.js:407
|
||||
msgid "Memory"
|
||||
msgstr "זיכרון"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
#: extensions/system-monitor/extension.js:409
|
||||
msgid "Swap"
|
||||
msgstr "תחלופה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
msgid "Upload"
|
||||
msgstr "העלאה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
msgid "Download"
|
||||
msgstr "הורדה"
|
||||
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
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:72
|
||||
#: extensions/window-list/extension.js:71
|
||||
msgid "Close"
|
||||
msgstr "סגירה"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Unminimize"
|
||||
msgstr "ביטול המזעור"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Minimize"
|
||||
msgstr "מזעור"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:105
|
||||
msgid "Unmaximize"
|
||||
msgstr "ביטול ההגדלה"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:105
|
||||
msgid "Maximize"
|
||||
msgstr "הגדלה"
|
||||
|
||||
#: extensions/window-list/extension.js:471
|
||||
#: extensions/window-list/extension.js:470
|
||||
msgid "Minimize all"
|
||||
msgstr "מזעור הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:477
|
||||
#: extensions/window-list/extension.js:476
|
||||
msgid "Unminimize all"
|
||||
msgstr "ביטול מזעור הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:482
|
||||
msgid "Maximize all"
|
||||
msgstr "הגדלת הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:491
|
||||
#: extensions/window-list/extension.js:490
|
||||
msgid "Unmaximize all"
|
||||
msgstr "ביטול הגדלת הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:499
|
||||
#: extensions/window-list/extension.js:498
|
||||
msgid "Close all"
|
||||
msgstr "סגירת הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:778
|
||||
#: extensions/window-list/extension.js:772
|
||||
msgid "Window List"
|
||||
msgstr "רשימת חלונות"
|
||||
|
||||
@@ -302,10 +302,6 @@ 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 "קיבוץ חלונות"
|
||||
@@ -326,35 +322,24 @@ msgstr "תמיד לקבץ חלונות"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "הצגה בכל הצגים"
|
||||
|
||||
#: extensions/window-list/prefs.js:92
|
||||
msgid "Show workspace previews"
|
||||
msgstr "הצגת תצוגה מקדימה של מרחבי העבודה"
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "מחוון מרחבי עבודה"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:30
|
||||
msgid "Show Previews In Top Bar"
|
||||
msgstr "הצגת תצוגה מקדימה בלוח העליון"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:88
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "מרחב עבודה %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
msgid "Workspace Names"
|
||||
msgstr "שם מרחב העבודה"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
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-05-12 13:45+0000\n"
|
||||
"PO-Revision-Date: 2024-05-14 15:33+0530\n"
|
||||
"POT-Creation-Date: 2024-04-29 14:28+0000\n"
|
||||
"PO-Revision-Date: 2024-05-14 15:40+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:400
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
msgid "Apps"
|
||||
msgstr "ऐप्स"
|
||||
|
||||
@@ -264,7 +264,7 @@ msgstr "अधिकतम खत्म करें"
|
||||
msgid "Close all"
|
||||
msgstr "सभी बंद करें"
|
||||
|
||||
#: extensions/window-list/extension.js:778
|
||||
#: extensions/window-list/extension.js:773
|
||||
msgid "Window List"
|
||||
msgstr "विंडो सूची"
|
||||
|
||||
@@ -300,10 +300,6 @@ 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 "विंडो समूहबद्धता"
|
||||
@@ -324,31 +320,20 @@ msgstr "हमेशा विंडोज समूहित करें"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "सभी मॉनिटरों पर दिखाएं"
|
||||
|
||||
#: extensions/window-list/prefs.js:92
|
||||
msgid "Show workspace previews"
|
||||
msgstr "कार्यस्थान पूर्वावलोकन दिखाएं"
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "कार्यस्थान सूचक"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:30
|
||||
msgid "Show Previews In Top Bar"
|
||||
msgstr "शीर्षपट्टी में पूर्वावलोकन दिखाएं"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:88
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "कार्यस्थान %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
msgid "Workspace Names"
|
||||
msgstr "कार्यस्थान नाम"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
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-04-29 15:27+0000\n"
|
||||
"PO-Revision-Date: 2024-06-28 16:24+0200\n"
|
||||
"POT-Creation-Date: 2024-02-06 18:43+0000\n"
|
||||
"PO-Revision-Date: 2024-03-04 12:30+0100\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:400
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
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:336
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
msgid "Upload stats"
|
||||
msgstr "Feltöltési statisztikák"
|
||||
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
msgid "Download stats"
|
||||
msgstr "Letöltési statisztikák"
|
||||
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
msgid "System stats"
|
||||
msgstr "Rendszerstatisztikák"
|
||||
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
msgid "Show"
|
||||
msgstr "Megjelenítés"
|
||||
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
msgid "CPU"
|
||||
msgstr "Processzor"
|
||||
|
||||
#: 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 "Cserehely"
|
||||
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
msgid "Upload"
|
||||
msgstr "Feltöltés"
|
||||
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
msgid "Download"
|
||||
msgstr "Letöltés"
|
||||
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
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:72
|
||||
#: extensions/window-list/extension.js:71
|
||||
msgid "Close"
|
||||
msgstr "Bezárás"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Unminimize"
|
||||
msgstr "Minimalizálás megszüntetése"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Minimize"
|
||||
msgstr "Minimalizálás"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:105
|
||||
msgid "Unmaximize"
|
||||
msgstr "Maximalizálás megszüntetése"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:105
|
||||
msgid "Maximize"
|
||||
msgstr "Maximalizálás"
|
||||
|
||||
#: extensions/window-list/extension.js:471
|
||||
#: extensions/window-list/extension.js:470
|
||||
msgid "Minimize all"
|
||||
msgstr "Minden minimalizálása"
|
||||
|
||||
#: extensions/window-list/extension.js:477
|
||||
#: extensions/window-list/extension.js:476
|
||||
msgid "Unminimize all"
|
||||
msgstr "Minden minimalizálásának megszüntetése"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:482
|
||||
msgid "Maximize all"
|
||||
msgstr "Minden maximalizálása"
|
||||
|
||||
#: extensions/window-list/extension.js:491
|
||||
#: extensions/window-list/extension.js:490
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Minden maximalizálásának megszüntetése"
|
||||
|
||||
#: extensions/window-list/extension.js:499
|
||||
#: extensions/window-list/extension.js:498
|
||||
msgid "Close all"
|
||||
msgstr "Minden bezárása"
|
||||
|
||||
#: extensions/window-list/extension.js:778
|
||||
#: extensions/window-list/extension.js:772
|
||||
msgid "Window List"
|
||||
msgstr "Ablaklista"
|
||||
|
||||
@@ -307,10 +307,6 @@ 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"
|
||||
@@ -331,32 +327,20 @@ msgstr "Mindig csoportosítsa az ablakokat"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Megjelenítés minden monitoron"
|
||||
|
||||
#: extensions/window-list/prefs.js:92
|
||||
msgid "Show workspace previews"
|
||||
msgstr "Munkaterület-előnézetek megjelenítése"
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Munkaterület-indikátor"
|
||||
|
||||
#: 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
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "%d. munkaterület"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
msgid "Workspace Names"
|
||||
msgstr "Munkaterületnevek"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
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: 2023-02-18 15:10+0000\n"
|
||||
"PO-Revision-Date: 2023-07-29 13:49+0300\n"
|
||||
"POT-Creation-Date: 2024-04-29 14:28+0000\n"
|
||||
"PO-Revision-Date: 2024-08-04 13:22+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.3.2\n"
|
||||
"X-Generator: Poedit 3.4.4\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:118
|
||||
#: extensions/apps-menu/extension.js:126
|
||||
msgid "Favorites"
|
||||
msgstr "Favorite"
|
||||
|
||||
#: extensions/apps-menu/extension.js:380
|
||||
msgid "Applications"
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
msgid "Apps"
|
||||
msgstr "Aplicații"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
|
||||
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:7
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
@@ -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:152
|
||||
#: extensions/auto-move-windows/prefs.js:159
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Regulile spațiilor de lucru"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:306
|
||||
#: extensions/auto-move-windows/prefs.js:314
|
||||
msgid "Add Rule"
|
||||
msgstr "Adaugă o regulă"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:126
|
||||
#: extensions/places-menu/placeDisplay.js:212
|
||||
#: extensions/drive-menu/extension.js:123
|
||||
#: extensions/places-menu/placeDisplay.js:218
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Scoaterea unității „%s” a eșuat:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:142
|
||||
msgid "Removable devices"
|
||||
msgstr "Dispozitive detașabile"
|
||||
|
||||
#: extensions/drive-menu/extension.js:167
|
||||
#: extensions/drive-menu/extension.js:164
|
||||
msgid "Open Files"
|
||||
msgstr "Deschide fișiere"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
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:6
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
@@ -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:11
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
|
||||
msgid "Place window captions on top"
|
||||
msgstr "Plasează titlul ferestrelor deasupra"
|
||||
|
||||
#: 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:18
|
||||
msgid ""
|
||||
"If true, place window captions on top the respective thumbnail, overriding "
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
@@ -113,47 +113,119 @@ 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:52
|
||||
#: extensions/places-menu/placeDisplay.js:60
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Eșec la lansarea „%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:67
|
||||
#: extensions/places-menu/placeDisplay.js:75
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Eșec la montarea volumului pentru „%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:127
|
||||
#: extensions/places-menu/placeDisplay.js:150
|
||||
#: extensions/places-menu/placeDisplay.js:135
|
||||
#: extensions/places-menu/placeDisplay.js:158
|
||||
msgid "Computer"
|
||||
msgstr "Calculator"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:340
|
||||
#: extensions/places-menu/placeDisplay.js:333
|
||||
msgid "Home"
|
||||
msgstr "Acasă"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:385
|
||||
#: extensions/places-menu/placeDisplay.js:378
|
||||
msgid "Browse Network"
|
||||
msgstr "Navighează rețeaua"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Ciclează dimensiunile capturilor de ecran"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Ciclează dimensiunile capturilor de ecran în sens invers"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
#: 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
|
||||
msgid "Theme name"
|
||||
msgstr "Numele temei"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Numele temei, ce va fi încărcată din ~/.themes/name/gnome-shell"
|
||||
|
||||
@@ -161,51 +233,51 @@ msgstr "Numele temei, ce va fi încărcată din ~/.themes/name/gnome-shell"
|
||||
msgid "Close"
|
||||
msgstr "Închide"
|
||||
|
||||
#: extensions/window-list/extension.js:92
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unminimize"
|
||||
msgstr "Deminimizează"
|
||||
|
||||
#: extensions/window-list/extension.js:92
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Minimize"
|
||||
msgstr "Minimizează"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Unmaximize"
|
||||
msgstr "Demaximizează"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Maximize"
|
||||
msgstr "Maximizează"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:471
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimizează tot"
|
||||
|
||||
#: extensions/window-list/extension.js:489
|
||||
#: extensions/window-list/extension.js:477
|
||||
msgid "Unminimize all"
|
||||
msgstr "Deminimizează tot"
|
||||
|
||||
#: extensions/window-list/extension.js:495
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximizează tot"
|
||||
|
||||
#: extensions/window-list/extension.js:503
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Demaximizează tot"
|
||||
|
||||
#: extensions/window-list/extension.js:511
|
||||
#: extensions/window-list/extension.js:499
|
||||
msgid "Close all"
|
||||
msgstr "Închide tot"
|
||||
|
||||
#: extensions/window-list/extension.js:795
|
||||
#: extensions/window-list/extension.js:773
|
||||
msgid "Window List"
|
||||
msgstr "Lista ferestrelor"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
|
||||
msgid "When to group windows"
|
||||
msgstr "Când să fie grupate ferestrele"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
@@ -213,22 +285,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:20
|
||||
#: 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 "Arată ferestrele din toate spațiile de lucru"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr ""
|
||||
"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:27
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
|
||||
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:28
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -256,24 +328,27 @@ msgstr "Grupează ferestrele întotdeauna"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Arată pe toate monitoarele"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:261
|
||||
#: extensions/workspace-indicator/extension.js:266
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicator al spațiului de lucru"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:62
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Spațiu de lucru %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:129
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
msgid "Workspace Names"
|
||||
msgstr "Numele spațiilor de lucru"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:255
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
msgid "Add Workspace"
|
||||
msgstr "Adaugă un spațiu de lucru"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "Aplicații"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Aplicație"
|
||||
|
||||
@@ -368,9 +443,3 @@ 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-04-29 15:27+0000\n"
|
||||
"PO-Revision-Date: 2024-05-25 14:46+0300\n"
|
||||
"POT-Creation-Date: 2024-02-06 18:43+0000\n"
|
||||
"PO-Revision-Date: 2024-02-11 18:21+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.4\n"
|
||||
"X-Generator: Poedit 3.4.2\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:400
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
msgid "Apps"
|
||||
msgstr "Приложения"
|
||||
|
||||
@@ -158,43 +158,43 @@ msgstr "Статистика памяти"
|
||||
msgid "Swap stats"
|
||||
msgstr "Статистика подкачки"
|
||||
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
msgid "Upload stats"
|
||||
msgstr "Статистика отдачи"
|
||||
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
msgid "Download stats"
|
||||
msgstr "Статистика загрузки"
|
||||
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
msgid "System stats"
|
||||
msgstr "Статистика системы"
|
||||
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
msgid "Show"
|
||||
msgstr "Показать"
|
||||
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
msgid "CPU"
|
||||
msgstr "ЦП"
|
||||
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
#: extensions/system-monitor/extension.js:407
|
||||
msgid "Memory"
|
||||
msgstr "Память"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
#: extensions/system-monitor/extension.js:409
|
||||
msgid "Swap"
|
||||
msgstr "Подкачка"
|
||||
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
msgid "Upload"
|
||||
msgstr "Отдача"
|
||||
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
msgid "Download"
|
||||
msgstr "Загрузка"
|
||||
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
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:72
|
||||
#: extensions/window-list/extension.js:71
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize)
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Unminimize"
|
||||
msgstr "Вернуть"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Minimize"
|
||||
msgstr "Свернуть"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:105
|
||||
msgid "Unmaximize"
|
||||
msgstr "Восстановить"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:105
|
||||
msgid "Maximize"
|
||||
msgstr "Развернуть"
|
||||
|
||||
#: extensions/window-list/extension.js:471
|
||||
#: extensions/window-list/extension.js:470
|
||||
msgid "Minimize all"
|
||||
msgstr "Свернуть все"
|
||||
|
||||
# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize)
|
||||
#: extensions/window-list/extension.js:477
|
||||
#: extensions/window-list/extension.js:476
|
||||
msgid "Unminimize all"
|
||||
msgstr "Вернуть все"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:482
|
||||
msgid "Maximize all"
|
||||
msgstr "Развернуть все"
|
||||
|
||||
#: extensions/window-list/extension.js:491
|
||||
#: extensions/window-list/extension.js:490
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Восстановить все"
|
||||
|
||||
#: extensions/window-list/extension.js:499
|
||||
#: extensions/window-list/extension.js:498
|
||||
msgid "Close all"
|
||||
msgstr "Закрыть все"
|
||||
|
||||
#: extensions/window-list/extension.js:778
|
||||
#: extensions/window-list/extension.js:772
|
||||
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,10 +307,6 @@ 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 "Группировка окон"
|
||||
@@ -331,34 +327,23 @@ msgstr "Всегда группировать окна"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Показывать на всех мониторах"
|
||||
|
||||
#: extensions/window-list/prefs.js:92
|
||||
msgid "Show workspace previews"
|
||||
msgstr "Показывать предпросмотры рабочих столов"
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Индикатор рабочих столов"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:30
|
||||
msgid "Show Previews In Top Bar"
|
||||
msgstr "Показывать предпросмотры в верхней панели"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:88
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Рабочий стол %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
msgid "Workspace Names"
|
||||
msgstr "Названия рабочих столов"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
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-04-29 15:27+0000\n"
|
||||
"PO-Revision-Date: 2024-05-02 00:11+0200\n"
|
||||
"Last-Translator: Martin Srebotnjak <miles@filmsi.net>\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"
|
||||
"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 2.2.1\n"
|
||||
"X-Generator: Poedit 3.4.2\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:400
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
msgid "Apps"
|
||||
msgstr "Programi"
|
||||
|
||||
@@ -158,43 +158,43 @@ msgstr "Delovanje pomnilnika"
|
||||
msgid "Swap stats"
|
||||
msgstr "Podatki izmenjevalnega prostora"
|
||||
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
msgid "Upload stats"
|
||||
msgstr "Podatki pošiljanja"
|
||||
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
msgid "Download stats"
|
||||
msgstr "Podatki prejema"
|
||||
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
msgid "System stats"
|
||||
msgstr "Podrobnosti sistema"
|
||||
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
msgid "Show"
|
||||
msgstr "Pokaži"
|
||||
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
msgid "CPU"
|
||||
msgstr "CPE"
|
||||
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
#: extensions/system-monitor/extension.js:407
|
||||
msgid "Memory"
|
||||
msgstr "Pomnilnik"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
#: extensions/system-monitor/extension.js:409
|
||||
msgid "Swap"
|
||||
msgstr "Izmenjevalni razdelek"
|
||||
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
msgid "Upload"
|
||||
msgstr "Poslano"
|
||||
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
msgid "Download"
|
||||
msgstr "Prejeto"
|
||||
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
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:72
|
||||
#: extensions/window-list/extension.js:71
|
||||
msgid "Close"
|
||||
msgstr "Zapri"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Unminimize"
|
||||
msgstr "Povečaj"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Minimize"
|
||||
msgstr "Skrči"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:105
|
||||
msgid "Unmaximize"
|
||||
msgstr "Pomanjšaj"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:105
|
||||
msgid "Maximize"
|
||||
msgstr "Razpni"
|
||||
|
||||
#: extensions/window-list/extension.js:471
|
||||
#: extensions/window-list/extension.js:470
|
||||
msgid "Minimize all"
|
||||
msgstr "Skrči vse"
|
||||
|
||||
#: extensions/window-list/extension.js:477
|
||||
#: extensions/window-list/extension.js:476
|
||||
msgid "Unminimize all"
|
||||
msgstr "Pomanjšaj vse"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:482
|
||||
msgid "Maximize all"
|
||||
msgstr "Razpni vse"
|
||||
|
||||
#: extensions/window-list/extension.js:491
|
||||
#: extensions/window-list/extension.js:490
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Pomanjšaj vse"
|
||||
|
||||
#: extensions/window-list/extension.js:499
|
||||
#: extensions/window-list/extension.js:498
|
||||
msgid "Close all"
|
||||
msgstr "Zapri vse"
|
||||
|
||||
#: extensions/window-list/extension.js:778
|
||||
#: extensions/window-list/extension.js:772
|
||||
msgid "Window List"
|
||||
msgstr "Seznam oken"
|
||||
|
||||
@@ -303,10 +303,6 @@ 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"
|
||||
@@ -327,31 +323,289 @@ msgstr "Okna vedno združuj"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Pokaži na vseh zaslonih"
|
||||
|
||||
#: extensions/window-list/prefs.js:92
|
||||
msgid "Show workspace previews"
|
||||
msgstr "Pokaži predoglede delovne površine"
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Kazalnik delovnih površin"
|
||||
|
||||
#: 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
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Delovna površina %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
msgid "Workspace Names"
|
||||
msgstr "Imena delovnih površin"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
msgid "Add Workspace"
|
||||
msgstr "Dodaj delovno površino"
|
||||
|
||||
#: 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 "Applications"
|
||||
#~ msgstr "Programi"
|
||||
|
||||
#: extensions/workspace-indicator/workspaceIndicator.js:430
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Kazalnik delovnih površin"
|
||||
#~ 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"
|
||||
|
||||
188
po/zh_TW.po
188
po/zh_TW.po
@@ -9,16 +9,17 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2022-05-06 11:44+0000\n"
|
||||
"PO-Revision-Date: 2022-05-12 00:01+0800\n"
|
||||
"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
|
||||
"Language-Team: Chinese <zh-l10n@linux.org.tw>\n"
|
||||
"POT-Creation-Date: 2024-04-29 14:28+0000\n"
|
||||
"PO-Revision-Date: 2024-07-24 10:25+0000\n"
|
||||
"Last-Translator: Chao-Hsiung Liao <pesder@mail.edu.tw>\n"
|
||||
"Language-Team: Chinese (Traditional) <http://darkbear.mercusysddns.com/"
|
||||
"projects/gnome-45/gnome-shell-extensions-po-ui-gnome-46-zh_tw/zh_Hant/>\n"
|
||||
"Language: zh_TW\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
"X-Generator: Weblate 5.6.2\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -37,19 +38,19 @@ msgstr "GNOME Classic 採行 Wayland"
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME Classic 採行 Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:118
|
||||
#: extensions/apps-menu/extension.js:126
|
||||
msgid "Favorites"
|
||||
msgstr "喜愛"
|
||||
|
||||
#: extensions/apps-menu/extension.js:379
|
||||
msgid "Applications"
|
||||
msgstr "應用程式"
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
msgid "Apps"
|
||||
msgstr "程式"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
|
||||
msgid "Application and workspace list"
|
||||
msgstr "應用程式與工作區列表"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
@@ -57,34 +58,34 @@ msgstr ""
|
||||
"字串的列表,每個都包含一個應用程式 id (桌面檔名稱),後面接著半形分號 \";\" 與"
|
||||
"工作區號碼"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:152
|
||||
#: extensions/auto-move-windows/prefs.js:159
|
||||
msgid "Workspace Rules"
|
||||
msgstr "工作區規則"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:306
|
||||
#: extensions/auto-move-windows/prefs.js:314
|
||||
msgid "Add Rule"
|
||||
msgstr "加入規則"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:126
|
||||
#: extensions/places-menu/placeDisplay.js:210
|
||||
#: extensions/drive-menu/extension.js:123
|
||||
#: extensions/places-menu/placeDisplay.js:218
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "裝置「%s」退出失敗:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:142
|
||||
msgid "Removable devices"
|
||||
msgstr "可移除式裝置"
|
||||
|
||||
#: extensions/drive-menu/extension.js:167
|
||||
#: extensions/drive-menu/extension.js:164
|
||||
msgid "Open Files"
|
||||
msgstr "開啟檔案"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "視窗使用更多螢幕空間"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
@@ -93,11 +94,11 @@ 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:17
|
||||
msgid "Place window captions on top"
|
||||
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:18
|
||||
msgid ""
|
||||
"If true, place window captions on top the respective thumbnail, overriding "
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
@@ -106,47 +107,119 @@ msgstr ""
|
||||
"如果為真,在對映的縮圖頂端放置視窗說明標題,凌駕 Shell 將它放置在底部的預設"
|
||||
"值。變更這個設定值需要重新啟動 Shell 來套用效果。"
|
||||
|
||||
#: 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:49
|
||||
#: extensions/places-menu/placeDisplay.js:60
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "無法啟動「%s」"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:64
|
||||
#: extensions/places-menu/placeDisplay.js:75
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "無法掛載儲存區「%s」"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:125
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:135
|
||||
#: extensions/places-menu/placeDisplay.js:158
|
||||
msgid "Computer"
|
||||
msgstr "電腦"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:336
|
||||
#: extensions/places-menu/placeDisplay.js:333
|
||||
msgid "Home"
|
||||
msgstr "家目錄"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:381
|
||||
#: extensions/places-menu/placeDisplay.js:378
|
||||
msgid "Browse Network"
|
||||
msgstr "瀏覽網路"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "循環螢幕擷圖大小"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "往回循環螢幕擷圖大小"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
#: 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 "置換區狀態"
|
||||
|
||||
#: 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 "置換區"
|
||||
|
||||
#: 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 "顯示置換區使用率"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
|
||||
msgid "Show upload"
|
||||
msgstr "顯示上傳"
|
||||
|
||||
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
|
||||
msgid "Show download"
|
||||
msgstr "顯示下載"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
|
||||
msgid "Theme name"
|
||||
msgstr "主題名稱"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "主題的名稱,要從 ~/.themes/name/gnome-shell 載入"
|
||||
|
||||
@@ -154,71 +227,71 @@ msgstr "主題的名稱,要從 ~/.themes/name/gnome-shell 載入"
|
||||
msgid "Close"
|
||||
msgstr "關閉"
|
||||
|
||||
#: extensions/window-list/extension.js:92
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unminimize"
|
||||
msgstr "取消最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:92
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Minimize"
|
||||
msgstr "最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Unmaximize"
|
||||
msgstr "取消最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Maximize"
|
||||
msgstr "最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:441
|
||||
#: extensions/window-list/extension.js:471
|
||||
msgid "Minimize all"
|
||||
msgstr "全部最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:447
|
||||
#: extensions/window-list/extension.js:477
|
||||
msgid "Unminimize all"
|
||||
msgstr "全部取消最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:453
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Maximize all"
|
||||
msgstr "全部最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:461
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unmaximize all"
|
||||
msgstr "全部取消最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:469
|
||||
#: extensions/window-list/extension.js:499
|
||||
msgid "Close all"
|
||||
msgstr "全部關閉"
|
||||
|
||||
#: extensions/window-list/extension.js:753
|
||||
#: extensions/window-list/extension.js:773
|
||||
msgid "Window List"
|
||||
msgstr "視窗列表"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
|
||||
msgid "When to group windows"
|
||||
msgstr "何時群組視窗"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"決定在視窗列表中何時群組視窗。可能的數值有「never」、「auto」、「always」。"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
|
||||
#: extensions/window-list/prefs.js:79
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "顯示所有工作區的視窗"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr "是否顯示所有工作區,還是僅顯示目前工作區的視窗。"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "在所有螢幕顯示視窗列表"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -244,24 +317,27 @@ msgstr "永遠群組視窗"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "顯示於所有螢幕"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:261
|
||||
#: extensions/workspace-indicator/extension.js:266
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "工作區指示器"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:62
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "工作區 %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:129
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
msgid "Workspace Names"
|
||||
msgstr "工作區名稱"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:255
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
msgid "Add Workspace"
|
||||
msgstr "新增工作區"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "應用程式"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "應用程式"
|
||||
|
||||
@@ -342,12 +418,6 @@ msgstr "新增工作區"
|
||||
#~ "功能。\n"
|
||||
#~ "不過,它可以讓您自訂歡迎訊息。"
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "記憶體"
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "GNOME Shell Classic"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user