Compare commits
54 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa8c38a1d1 | ||
|
|
f6f867a8c9 | ||
|
|
57dde50df3 | ||
|
|
62dfc2c415 | ||
|
|
4be569660b | ||
|
|
bc136c600d | ||
|
|
c501931155 | ||
|
|
f53c8fd4bc | ||
|
|
d7db924424 | ||
|
|
71e78265d5 | ||
|
|
fa5c4bade1 | ||
|
|
a7d4d8df80 | ||
|
|
791682e836 | ||
|
|
c815e506dd | ||
|
|
176206a38c | ||
|
|
72b2534790 | ||
|
|
28ac6906c2 | ||
|
|
e30f634d08 | ||
|
|
aed90a3f6c | ||
|
|
7054010520 | ||
|
|
cc3e2842a8 | ||
|
|
f6d4e44ee4 | ||
|
|
bcf0be86af | ||
|
|
fb86b18cf1 | ||
|
|
6400be4a6c | ||
|
|
b1f727fa34 | ||
|
|
97d0a0e514 | ||
|
|
70e2a02e69 | ||
|
|
079daac9bb | ||
|
|
99d49c1800 | ||
|
|
95c4bc5d87 | ||
|
|
451a12d1fd | ||
|
|
48b917ab86 | ||
|
|
d273dc4e59 | ||
|
|
683080441f | ||
|
|
5bbf7f5c6c | ||
|
|
f30990535f | ||
|
|
d14885f96d | ||
|
|
0a153b78f9 | ||
|
|
598007f994 | ||
|
|
06caed8c0c | ||
|
|
9991f90804 | ||
|
|
0bc77ef7c9 | ||
|
|
099b2eeb49 | ||
|
|
b13984a752 | ||
|
|
67cdd0bea2 | ||
|
|
87a849c5af | ||
|
|
f0bff952be | ||
|
|
b3ff771a1d | ||
|
|
3ef718d34c | ||
|
|
fb2d87c1da | ||
|
|
6d3fbceec9 | ||
|
|
4da312040b | ||
|
|
89276cc184 |
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/bc70242ffb8402243e934659ecc1a2d1c89eca2b/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
|
||||
@@ -16,7 +19,7 @@ stages:
|
||||
- deploy
|
||||
|
||||
default:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/40:2024-07-11.0
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/41:2024-10-18.0
|
||||
# Cancel jobs if newer commits are pushed to the branch
|
||||
interruptible: true
|
||||
# Auto-retry jobs in case of infra failures
|
||||
@@ -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
|
||||
|
||||
58
NEWS
58
NEWS
@@ -1,3 +1,61 @@
|
||||
47.6
|
||||
====
|
||||
* Misc. bug fixes and cleanups [Florian; !409, !411, !405, !413]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
47.5
|
||||
====
|
||||
* Allow disabling the X11 session [Neal; !396, !400]
|
||||
|
||||
Contributors:
|
||||
Neal Gompa
|
||||
|
||||
47.4
|
||||
====
|
||||
* window-list: Fix regression in chrome tracking [Florian; !379]
|
||||
* Misc. bug fixes and cleanups [Florian; !376]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
47.3
|
||||
====
|
||||
* 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; !362, !365, !367,
|
||||
!368, !370]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner, Bartłomiej Piotrowski
|
||||
|
||||
Translators:
|
||||
Yi-Jyun Pan [zh_TW]
|
||||
|
||||
47.2
|
||||
====
|
||||
* places-menu: Fix a11y labelling [Florian; #542]
|
||||
* screenshot-window-sizer: Mention shortcut in description [Florian; !358]
|
||||
* Misc. bug fixes and cleanups [Florian; !353, !354]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Fabio Tomat [fur], Nathan Follens [nl], Марко Костић [sr]
|
||||
|
||||
47.1
|
||||
====
|
||||
* classic: Add missing top-bar indicators [Florian; !339]
|
||||
* window-list: Fix window state styling [Florian; !342]
|
||||
* window-list: Fix "ignore-workspace" setting getting reset [Florian; !341]
|
||||
* Misc. bug fixes and cleanups [Florian; !337, !338, !345, !347, !349]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
47.0
|
||||
====
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
"enabledExtensions": [@CLASSIC_EXTENSIONS@],
|
||||
"panel": { "left": ["activities"],
|
||||
"center": [],
|
||||
"right": ["a11y", "keyboard", "dateMenu", "quickSettings"]
|
||||
"right": ["screenRecording", "screenSharing", "dwellClick", "a11y", "keyboard", "dateMenu", "quickSettings"]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,41 +2,46 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
have_x11 = get_option('x11')
|
||||
|
||||
session_desktop_base = 'gnome-classic'
|
||||
|
||||
session_desktops = [
|
||||
session_desktop_base,
|
||||
session_desktop_base + '-xorg',
|
||||
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'
|
||||
)
|
||||
if have_x11
|
||||
session_desktops += [session_desktop_base + '-xorg']
|
||||
endif
|
||||
|
||||
foreach name : session_desktops
|
||||
session_desktop = name + '.desktop'
|
||||
if name.endswith('-xorg')
|
||||
session_instdir = xsessiondir
|
||||
elif name.endswith('-wayland')
|
||||
session_instdir = wlsessiondir
|
||||
else
|
||||
# FIXME: The same target can not be copied into two directories.
|
||||
# There is a workaround in meson/session-post-install.py until proper
|
||||
# solution arises:
|
||||
# https://github.com/mesonbuild/meson/issues/2416
|
||||
session_instdir = wlsessiondir
|
||||
#session_instdir = [ xesssiondir, wlsessiondir ]
|
||||
endif
|
||||
i18n.merge_file(
|
||||
input: session_desktop + '.in',
|
||||
output: session_desktop,
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
install_dir: session_instdir,
|
||||
type: 'desktop',
|
||||
)
|
||||
endforeach
|
||||
|
||||
classic_uuids = []
|
||||
foreach e : classic_extensions
|
||||
classic_uuids += e + uuid_suffix
|
||||
classic_uuids += e + uuid_suffix
|
||||
endforeach
|
||||
|
||||
mode_conf = configuration_data()
|
||||
@@ -47,7 +52,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%%@*}`
|
||||
@@ -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';
|
||||
@@ -496,7 +495,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
let id;
|
||||
try {
|
||||
id = entry.get_desktop_file_id(); // catch non-UTF8 filenames
|
||||
} catch (e) {
|
||||
} catch {
|
||||
continue;
|
||||
}
|
||||
let app = appSys.lookup_app(id);
|
||||
|
||||
@@ -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';
|
||||
@@ -45,11 +42,11 @@ class NewItemModel extends GObject.Object {
|
||||
class Rule extends GObject.Object {
|
||||
static [GObject.properties] = {
|
||||
'app-info': GObject.ParamSpec.object(
|
||||
'app-info', 'app-info', 'app-info',
|
||||
'app-info', null, null,
|
||||
GObject.ParamFlags.READWRITE,
|
||||
Gio.DesktopAppInfo),
|
||||
'workspace': GObject.ParamSpec.uint(
|
||||
'workspace', 'workspace', 'workspace',
|
||||
'workspace', null, null,
|
||||
GObject.ParamFlags.READWRITE,
|
||||
1, WORKSPACE_MAX, 1),
|
||||
};
|
||||
@@ -196,7 +193,7 @@ class AutoMoveSettingsWidget extends Adw.PreferencesGroup {
|
||||
class WorkspaceSelector extends Gtk.Widget {
|
||||
static [GObject.properties] = {
|
||||
'number': GObject.ParamSpec.uint(
|
||||
'number', 'number', 'number',
|
||||
'number', null, null,
|
||||
GObject.ParamFlags.READWRITE,
|
||||
1, WORKSPACE_MAX, 1),
|
||||
};
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"settings-schema": "@gschemaname@",
|
||||
"gettext-domain": "@gettext_domain@",
|
||||
"name": "Screenshot Window Sizer",
|
||||
"description": "Resize windows for GNOME Software screenshots",
|
||||
"description": "Resize windows for GNOME Software screenshots with Ctrl+Alt+s shortcut",
|
||||
"shell-version": [ "@shell_current@" ],
|
||||
"url": "@url@"
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
|
||||
'notify::minimized', this._updateMinimizeItem.bind(this),
|
||||
'notify::maximized-horizontally', this._updateMaximizeItem.bind(this),
|
||||
'notify::maximized-vertically', this._updateMaximizeItem.bind(this),
|
||||
this);
|
||||
this.actor);
|
||||
|
||||
this._updateMinimizeItem();
|
||||
this._updateMaximizeItem();
|
||||
@@ -125,10 +125,6 @@ class WindowTitle extends St.BoxLayout {
|
||||
this.label_actor.clutter_text.single_line_mode = true;
|
||||
this.add_child(this.label_actor);
|
||||
|
||||
this._textureCache = St.TextureCache.get_default();
|
||||
this._textureCache.connectObject('icon-theme-changed',
|
||||
() => this._updateIcon(), this);
|
||||
|
||||
this._metaWindow.connectObject(
|
||||
'notify::wm-class',
|
||||
() => this._updateIcon(), GObject.ConnectFlags.AFTER,
|
||||
@@ -176,7 +172,7 @@ class BaseButton extends DashItemContainer {
|
||||
GTypeFlags: GObject.TypeFlags.ABSTRACT,
|
||||
Properties: {
|
||||
'ignore-workspace': GObject.ParamSpec.boolean(
|
||||
'ignore-workspace', 'ignore-workspace', 'ignore-workspace',
|
||||
'ignore-workspace', null, null,
|
||||
GObject.ParamFlags.READWRITE,
|
||||
false),
|
||||
},
|
||||
@@ -227,15 +223,13 @@ class BaseButton extends DashItemContainer {
|
||||
}
|
||||
|
||||
get active() {
|
||||
return this.has_style_class_name('focused');
|
||||
return this._button.has_style_class_name('focused');
|
||||
}
|
||||
|
||||
// eslint-disable-next-line camelcase
|
||||
get ignore_workspace() {
|
||||
return this._ignoreWorkspace;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line camelcase
|
||||
set ignore_workspace(ignore) {
|
||||
if (this._ignoreWorkspace === ignore)
|
||||
return;
|
||||
@@ -453,9 +447,9 @@ class WindowButton extends BaseButton {
|
||||
super._updateStyle();
|
||||
|
||||
if (this.metaWindow.minimized)
|
||||
this.add_style_class_name('minimized');
|
||||
this._button.add_style_class_name('minimized');
|
||||
else
|
||||
this.remove_style_class_name('minimized');
|
||||
this._button.remove_style_class_name('minimized');
|
||||
}
|
||||
|
||||
_windowEnteredOrLeftMonitor(metaDisplay, monitorIndex, metaWindow) {
|
||||
@@ -591,11 +585,6 @@ class AppButton extends BaseButton {
|
||||
this._appContextMenu.actor.hide();
|
||||
Main.uiGroup.add_child(this._appContextMenu.actor);
|
||||
|
||||
this._textureCache = St.TextureCache.get_default();
|
||||
this._textureCache.connectObject('icon-theme-changed', () => {
|
||||
this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE);
|
||||
}, this);
|
||||
|
||||
this.app.connectObject('windows-changed',
|
||||
() => this._windowsChanged(), this);
|
||||
this._windowsChanged();
|
||||
@@ -781,10 +770,20 @@ class WindowList extends St.Widget {
|
||||
() => this._onWorkspaceMenuSet(), this);
|
||||
this._onWorkspaceMenuSet();
|
||||
|
||||
Main.layoutManager.addChrome(this, {
|
||||
const inOverview = Main.overview.visible ||
|
||||
(Main.layoutManager._startingUp && Main.sessionMode.hasOverview);
|
||||
|
||||
const overviewChromeOptions = {
|
||||
affectsStruts: true,
|
||||
};
|
||||
const chromeOptions = {
|
||||
...overviewChromeOptions,
|
||||
trackFullscreen: true,
|
||||
});
|
||||
};
|
||||
Main.layoutManager.addChrome(this, inOverview
|
||||
? overviewChromeOptions
|
||||
: chromeOptions);
|
||||
|
||||
Main.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox);
|
||||
Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic');
|
||||
|
||||
@@ -821,18 +820,17 @@ class WindowList extends St.Widget {
|
||||
|
||||
Main.overview.connectObject(
|
||||
'showing', () => {
|
||||
this._retrackChrome(overviewChromeOptions);
|
||||
this.hide();
|
||||
this._updateKeyboardAnchor();
|
||||
},
|
||||
'hidden', () => {
|
||||
this._retrackChrome(chromeOptions);
|
||||
this.visible = !this._monitor.inFullscreen;
|
||||
this._updateKeyboardAnchor();
|
||||
}, this);
|
||||
|
||||
global.display.connectObject('in-fullscreen-changed', () => {
|
||||
// Work-around for initial change from unknown to !fullscreen
|
||||
if (Main.overview.visible)
|
||||
this.hide();
|
||||
this._updateKeyboardAnchor();
|
||||
}, this);
|
||||
|
||||
@@ -887,6 +885,11 @@ class WindowList extends St.Widget {
|
||||
this._monitor.y + this._monitor.height - this.height);
|
||||
}
|
||||
|
||||
_retrackChrome(options) {
|
||||
Main.layoutManager.untrackChrome(this);
|
||||
Main.layoutManager.trackChrome(this, options);
|
||||
}
|
||||
|
||||
_updateWorkspaceIndicatorVisibility() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
let hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') ||
|
||||
|
||||
@@ -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';
|
||||
@@ -30,6 +29,8 @@ class WindowListPrefsWidget extends Adw.PreferencesPage {
|
||||
this._settings.create_action('show-on-all-monitors'));
|
||||
this._actionGroup.add_action(
|
||||
this._settings.create_action('display-all-workspaces'));
|
||||
this._actionGroup.add_action(
|
||||
this._settings.create_action('embed-previews'));
|
||||
|
||||
const groupingGroup = new Adw.PreferencesGroup({
|
||||
title: _('Window Grouping'),
|
||||
@@ -58,41 +59,22 @@ class WindowListPrefsWidget extends Adw.PreferencesPage {
|
||||
const miscGroup = new Adw.PreferencesGroup();
|
||||
this.add(miscGroup);
|
||||
|
||||
let toggle = new Gtk.Switch({
|
||||
action_name: 'window-list.show-on-all-monitors',
|
||||
valign: Gtk.Align.CENTER,
|
||||
});
|
||||
let row = new Adw.ActionRow({
|
||||
let row = new Adw.SwitchRow({
|
||||
title: _('Show on all monitors'),
|
||||
activatable_widget: toggle,
|
||||
action_name: 'window-list.show-on-all-monitors',
|
||||
});
|
||||
row.add_suffix(toggle);
|
||||
miscGroup.add(row);
|
||||
|
||||
toggle = new Gtk.Switch({
|
||||
action_name: 'window-list.display-all-workspaces',
|
||||
valign: Gtk.Align.CENTER,
|
||||
});
|
||||
this._settings.bind('display-all-workspaces',
|
||||
toggle, 'active', Gio.SettingsBindFlags.DEFAULT);
|
||||
row = new Adw.ActionRow({
|
||||
row = new Adw.SwitchRow({
|
||||
title: _('Show windows from all workspaces'),
|
||||
activatable_widget: toggle,
|
||||
action_name: 'window-list.display-all-workspaces',
|
||||
});
|
||||
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({
|
||||
row = new Adw.SwitchRow({
|
||||
title: _('Show workspace previews'),
|
||||
activatable_widget: toggle,
|
||||
action_name: 'window-list.embed-previews',
|
||||
});
|
||||
row.add_suffix(toggle);
|
||||
miscGroup.add(row);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,3 @@
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.notification {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
@@ -21,21 +21,11 @@
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.bottom-panel .window-button > StWidget {
|
||||
-st-natural-width: 18.7em;
|
||||
max-width: 18.75em;
|
||||
}
|
||||
|
||||
.window-button > StWidget {
|
||||
color: #000;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.window-button > StWidget {
|
||||
-st-natural-width: 18.75em;
|
||||
max-width: 18.75em;
|
||||
}
|
||||
|
||||
.window-button:hover > StWidget {
|
||||
background-color: st-darken(#eee,5%);
|
||||
}
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -43,7 +43,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 +72,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();
|
||||
}
|
||||
}
|
||||
@@ -113,11 +113,11 @@ class WorkspaceLayout extends Clutter.LayoutManager {
|
||||
class WorkspaceThumbnail extends St.Button {
|
||||
static [GObject.properties] = {
|
||||
'active': GObject.ParamSpec.boolean(
|
||||
'active', '', '',
|
||||
'active', null, null,
|
||||
GObject.ParamFlags.READWRITE,
|
||||
false),
|
||||
'show-label': GObject.ParamSpec.boolean(
|
||||
'show-label', '', '',
|
||||
'show-label', null, null,
|
||||
GObject.ParamFlags.READWRITE,
|
||||
false),
|
||||
};
|
||||
@@ -311,7 +311,7 @@ class WorkspaceThumbnail extends St.Button {
|
||||
class WorkspacePreviews extends Clutter.Actor {
|
||||
static [GObject.properties] = {
|
||||
'show-labels': GObject.ParamSpec.boolean(
|
||||
'show-labels', '', '',
|
||||
'show-labels', null, null,
|
||||
GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT_ONLY,
|
||||
false),
|
||||
};
|
||||
@@ -459,8 +459,6 @@ export class WorkspaceIndicator extends PanelMenu.Button {
|
||||
this._thumbnails = new WorkspacePreviews();
|
||||
container.add_child(this._thumbnails);
|
||||
|
||||
this._workspacesItems = [];
|
||||
|
||||
workspaceManager.connectObject(
|
||||
'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER,
|
||||
this);
|
||||
|
||||
@@ -30,6 +30,7 @@ rules:
|
||||
- error
|
||||
- arrays: always-multiline
|
||||
objects: always-multiline
|
||||
imports: always-multiline
|
||||
functions: never
|
||||
comma-spacing:
|
||||
- error
|
||||
|
||||
50
meson.build
50
meson.build
@@ -2,10 +2,11 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
project('gnome-shell-extensions',
|
||||
version: '47.0',
|
||||
meson_version: '>= 0.58.0',
|
||||
license: 'GPL2+'
|
||||
project(
|
||||
'gnome-shell-extensions',
|
||||
version: '47.6',
|
||||
meson_version: '>= 1.1.0',
|
||||
license: 'GPL-2.0-or-later',
|
||||
)
|
||||
|
||||
gettext_domain = meson.project_name()
|
||||
@@ -30,11 +31,13 @@ shell_version = ver_arr[0]
|
||||
|
||||
uuid_suffix = '@gnome-shell-extensions.gcampax.github.com'
|
||||
|
||||
have_x11 = get_option('x11')
|
||||
|
||||
classic_extensions = [
|
||||
'apps-menu',
|
||||
'places-menu',
|
||||
'launch-new-instance',
|
||||
'window-list'
|
||||
'window-list',
|
||||
]
|
||||
|
||||
default_extensions = classic_extensions
|
||||
@@ -45,15 +48,11 @@ default_extensions += [
|
||||
'status-icons',
|
||||
'system-monitor',
|
||||
'windowsNavigator',
|
||||
'workspace-indicator'
|
||||
'workspace-indicator',
|
||||
]
|
||||
|
||||
all_extensions = default_extensions
|
||||
all_extensions += [
|
||||
'auto-move-windows',
|
||||
'native-window-placement',
|
||||
'user-theme'
|
||||
]
|
||||
all_extensions += ['auto-move-windows', 'native-window-placement', 'user-theme']
|
||||
|
||||
enabled_extensions = get_option('enable_extensions')
|
||||
|
||||
@@ -72,11 +71,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
|
||||
@@ -84,32 +82,30 @@ 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
|
||||
|
||||
if classic_mode_enabled
|
||||
subdir('data')
|
||||
meson.add_install_script(
|
||||
'meson/session-post-install.py',
|
||||
join_paths(get_option('prefix'), datadir)
|
||||
)
|
||||
if have_x11
|
||||
meson.add_install_script(
|
||||
'meson/session-post-install.py',
|
||||
join_paths(get_option('prefix'), datadir),
|
||||
)
|
||||
endif
|
||||
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 = {
|
||||
|
||||
@@ -20,3 +20,9 @@ option('classic_mode',
|
||||
value: false,
|
||||
description: 'Enable installing data files for classic mode.'
|
||||
)
|
||||
|
||||
option('x11',
|
||||
type: 'boolean',
|
||||
value: true,
|
||||
description: 'Enable X11 session support.'
|
||||
)
|
||||
@@ -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')
|
||||
|
||||
|
||||
@@ -15,10 +15,10 @@ else:
|
||||
|
||||
# FIXME: Meson is unable to copy a generated target file:
|
||||
# https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0
|
||||
dst_dir = os.path.join(install_root, 'wayland-sessions')
|
||||
dst_dir = os.path.join(install_root, 'xsessions')
|
||||
if not os.path.exists(dst_dir):
|
||||
os.makedirs(dst_dir)
|
||||
|
||||
src = os.path.join(install_root, 'xsessions', 'gnome-classic.desktop')
|
||||
src = os.path.join(install_root, 'wayland-sessions', 'gnome-classic.desktop')
|
||||
dst = os.path.join(dst_dir, 'gnome-classic.desktop')
|
||||
shutil.copyfile(src, dst)
|
||||
|
||||
129
po/fur.po
129
po/fur.po
@@ -6,16 +6,16 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2024-02-06 18:43+0000\n"
|
||||
"PO-Revision-Date: 2024-04-16 21:02+0200\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n"
|
||||
"POT-Creation-Date: 2024-10-18 19:45+0000\n"
|
||||
"PO-Revision-Date: 2024-10-20 20:01+0000\n"
|
||||
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
|
||||
"Language-Team: Friulian <fur@li.org>\n"
|
||||
"Language-Team: Friulian <f.t.public@gmail.com>\n"
|
||||
"Language: fur\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Editor: HaiPO 2.1 beta\n"
|
||||
"X-Generator: Poedit 3.4.2\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
@@ -39,7 +39,7 @@ msgstr "GNOME Classic su Xorg"
|
||||
msgid "Favorites"
|
||||
msgstr "Preferîts"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
msgstr "Aplicazions"
|
||||
|
||||
@@ -52,8 +52,8 @@ msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
msgstr ""
|
||||
"Une liste di stringhis, ogniune e ten il ID di une aplicazion (non dal file ."
|
||||
"desktop), cun daûr doi ponts e il numar dal spazi di lavôr"
|
||||
"Une liste di stringhis, ogniune e ten il ID di une aplicazion (non dal file "
|
||||
".desktop), cun daûr doi ponts e il numar dal spazi di lavôr"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:159
|
||||
msgid "Workspace Rules"
|
||||
@@ -89,8 +89,8 @@ msgid ""
|
||||
"This setting applies only with the natural placement strategy."
|
||||
msgstr ""
|
||||
"Cîr di doprâ plui schermi par plaçâ lis miniaturis dai barcons, adatant il "
|
||||
"rapuart di aspiet dal visôr e consolidant ancjemo di plui lis miniaturis par "
|
||||
"ridusi il spazi complessîf. Cheste impostazion si apliche dome se "
|
||||
"rapuart di aspiet dal visôr e consolidant ancjemo di plui lis miniaturis par"
|
||||
" ridusi il spazi complessîf. Cheste impostazion si apliche dome se "
|
||||
"l'algoritmi di plaçament al è naturâl."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
|
||||
@@ -155,43 +155,43 @@ msgstr "Statistichis memorie"
|
||||
msgid "Swap stats"
|
||||
msgstr "Statistichis memorie di scambi"
|
||||
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
msgid "Upload stats"
|
||||
msgstr "Statistichis cjariament in rêt"
|
||||
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
msgid "Download stats"
|
||||
msgstr "Statistichis discjariaments"
|
||||
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
msgid "System stats"
|
||||
msgstr "Statistichis di sisteme"
|
||||
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
msgid "Show"
|
||||
msgstr "Mostre"
|
||||
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: extensions/system-monitor/extension.js:407
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
msgid "Memory"
|
||||
msgstr "Memorie"
|
||||
|
||||
#: extensions/system-monitor/extension.js:409
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
msgid "Swap"
|
||||
msgstr "Memorie di scambi"
|
||||
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
msgid "Upload"
|
||||
msgstr "Cjariaments in rêt"
|
||||
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
msgid "Download"
|
||||
msgstr "Discjariaments"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
msgid "Open System Monitor"
|
||||
msgstr "Vierç monitor di sisteme"
|
||||
|
||||
@@ -223,47 +223,47 @@ msgstr "Non dal teme"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Il non dal teme, che si cjame da ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:71
|
||||
#: extensions/window-list/extension.js:70
|
||||
msgid "Close"
|
||||
msgstr "Siere"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:97
|
||||
msgid "Unminimize"
|
||||
msgstr "Gjave minimizazion"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:97
|
||||
msgid "Minimize"
|
||||
msgstr "Minimize"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:104
|
||||
msgid "Unmaximize"
|
||||
msgstr "Gjave massimizazion"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:104
|
||||
msgid "Maximize"
|
||||
msgstr "Massimize"
|
||||
|
||||
#: extensions/window-list/extension.js:470
|
||||
#: extensions/window-list/extension.js:485
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimize ducj"
|
||||
|
||||
#: extensions/window-list/extension.js:476
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unminimize all"
|
||||
msgstr "Gjave a ducj la minimizazion"
|
||||
|
||||
#: extensions/window-list/extension.js:482
|
||||
#: extensions/window-list/extension.js:497
|
||||
msgid "Maximize all"
|
||||
msgstr "Massimize ducj"
|
||||
|
||||
#: extensions/window-list/extension.js:490
|
||||
#: extensions/window-list/extension.js:505
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Gjave a ducj la massimizazion"
|
||||
|
||||
#: extensions/window-list/extension.js:498
|
||||
#: extensions/window-list/extension.js:513
|
||||
msgid "Close all"
|
||||
msgstr "Siere ducj"
|
||||
|
||||
#: extensions/window-list/extension.js:772
|
||||
#: extensions/window-list/extension.js:780
|
||||
msgid "Window List"
|
||||
msgstr "Liste barcons"
|
||||
|
||||
@@ -280,7 +280,7 @@ msgstr ""
|
||||
"barcons. I valôrs pussibii a son “never”, “auto” e “always”."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
|
||||
#: extensions/window-list/prefs.js:79
|
||||
#: extensions/window-list/prefs.js:70
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Mostre i barcons di ducj i spazis di lavôr"
|
||||
|
||||
@@ -301,44 +301,59 @@ msgstr ""
|
||||
"Indiche se mostrâ la liste dai barcons su ducj i visôrs tacâts o nome sul "
|
||||
"chel principâl."
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
|
||||
msgid "Show workspace previews in window list"
|
||||
msgstr "Mostre lis anteprimis dai spazis di lavôr te liste dai barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:37
|
||||
msgid "Window Grouping"
|
||||
msgstr "Intropament di barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:40
|
||||
#: extensions/window-list/prefs.js:42
|
||||
msgid "Never group windows"
|
||||
msgstr "No sta meti mai in grup i barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:41
|
||||
#: extensions/window-list/prefs.js:43
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Met dongje i barcons cuant che il spazi al è limitât"
|
||||
|
||||
#: extensions/window-list/prefs.js:42
|
||||
#: extensions/window-list/prefs.js:44
|
||||
msgid "Always group windows"
|
||||
msgstr "Met simpri in grup i barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:66
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Mostre su ducj i visôrs"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicadôr spazi di lavôr"
|
||||
#: extensions/window-list/prefs.js:76
|
||||
msgid "Show workspace previews"
|
||||
msgstr "Mostre anteprimis dai spazis di lavôr"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: extensions/workspace-indicator/prefs.js:30
|
||||
msgid "Show Previews In Top Bar"
|
||||
msgstr "Mostre anteprimis te sbare superiôr"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:88
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Spazi di lavôr %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
msgid "Workspace Names"
|
||||
msgstr "Nons dai spazis di lavôr"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
msgid "Add Workspace"
|
||||
msgstr "Zonte spazi di lavôr"
|
||||
|
||||
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
|
||||
msgid "Show workspace previews in top bar"
|
||||
msgstr "Mostre anteprimis dai spazis di lavôr te sbare superiôr"
|
||||
|
||||
#: extensions/workspace-indicator/workspaceIndicator.js:430
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicadôr spazi di lavôr"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "Aplicazions"
|
||||
|
||||
@@ -367,24 +382,24 @@ msgstr "Zonte spazi di lavôr"
|
||||
#~ msgstr "Disposizion dai botons te sbare dal titul"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
#~ "GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Cheste clâf a sorplante chê in org.gnome.desktop.wm.preferences cuant che "
|
||||
#~ "al è in esecuzion GNOME Shell."
|
||||
#~ "Cheste clâf a sorplante chê in org.gnome.desktop.wm.preferences cuant che al"
|
||||
#~ " è in esecuzion GNOME Shell."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
#~ "Abilite la tasseladure sul ôr cuant che i balcons a vegnin molâts sul ôr "
|
||||
#~ "dal visôr"
|
||||
#~ "Abilite la tasseladure sul ôr cuant che i balcons a vegnin molâts sul ôr dal"
|
||||
#~ " visôr"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Spazis di lavôr dome sul visôr principâl"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "Tarde la mude dal focus te modalitât mouse fintremai che il pontadôr no "
|
||||
#~ "si ferme"
|
||||
#~ "Tarde la mude dal focus te modalitât mouse fintremai che il pontadôr no si "
|
||||
#~ "ferme"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Dome miniaturis"
|
||||
@@ -408,8 +423,8 @@ msgstr "Zonte spazi di lavôr"
|
||||
#~ msgstr "Test di benvignût alternatîf"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on the "
|
||||
#~ "panel."
|
||||
#~ msgstr ""
|
||||
#~ "Se no vueit, al ten il test che al vegnarà mostrât scliçant sul panel."
|
||||
|
||||
@@ -417,12 +432,10 @@ msgstr "Zonte spazi di lavôr"
|
||||
#~ msgstr "Messaç"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||
#~ "and as such it has little functionality on its own.\n"
|
||||
#~ "Example aims to show how to build well behaved extensions for the Shell and as such it has little functionality on its own.\n"
|
||||
#~ "Nevertheless it’s possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "Example al ponte a mostrâ cemût imbastî estensions de Shell che si "
|
||||
#~ "compuartedin ben e par chest no 'ndi à tantis funzions.\n"
|
||||
#~ "Example al ponte a mostrâ cemût imbastî estensions de Shell che si compuartedin ben e par chest no 'ndi à tantis funzions.\n"
|
||||
#~ "Ad ogni mût al è pussibil personalizâ il messaç di benvignût."
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
|
||||
83
po/nl.po
83
po/nl.po
@@ -9,8 +9,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-02-06 18:43+0000\n"
|
||||
"PO-Revision-Date: 2024-02-18 17:17+0100\n"
|
||||
"POT-Creation-Date: 2024-10-15 16:32+0000\n"
|
||||
"PO-Revision-Date: 2024-10-27 23:36+0100\n"
|
||||
"Last-Translator: Nathan Follens <nfollens@gnome.org>\n"
|
||||
"Language-Team: GNOME-NL https://matrix.to/#/#nl:gnome.org\n"
|
||||
"Language: nl\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 3.4.2\n"
|
||||
"X-Generator: Poedit 3.4.4\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
@@ -42,7 +42,7 @@ msgstr "GNOME klassiek op Xorg"
|
||||
msgid "Favorites"
|
||||
msgstr "Favorieten"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
msgstr "Toepassingen"
|
||||
|
||||
@@ -159,43 +159,43 @@ msgstr "Geheugenstatistieken"
|
||||
msgid "Swap stats"
|
||||
msgstr "Wisselgeheugenstatistieken"
|
||||
|
||||
#: extensions/system-monitor/extension.js:327
|
||||
#: extensions/system-monitor/extension.js:336
|
||||
msgid "Upload stats"
|
||||
msgstr "Uploadstatistieken"
|
||||
|
||||
#: extensions/system-monitor/extension.js:341
|
||||
#: extensions/system-monitor/extension.js:350
|
||||
msgid "Download stats"
|
||||
msgstr "Downloadstatistieken"
|
||||
|
||||
#: extensions/system-monitor/extension.js:355
|
||||
#: extensions/system-monitor/extension.js:364
|
||||
msgid "System stats"
|
||||
msgstr "Systeemstatistieken"
|
||||
|
||||
#: extensions/system-monitor/extension.js:403
|
||||
#: extensions/system-monitor/extension.js:412
|
||||
msgid "Show"
|
||||
msgstr "Tonen"
|
||||
|
||||
#: extensions/system-monitor/extension.js:405
|
||||
#: extensions/system-monitor/extension.js:414
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: extensions/system-monitor/extension.js:407
|
||||
#: extensions/system-monitor/extension.js:416
|
||||
msgid "Memory"
|
||||
msgstr "Geheugen"
|
||||
|
||||
#: extensions/system-monitor/extension.js:409
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
msgid "Swap"
|
||||
msgstr "Wisselgeheugen"
|
||||
|
||||
#: extensions/system-monitor/extension.js:411
|
||||
#: extensions/system-monitor/extension.js:420
|
||||
msgid "Upload"
|
||||
msgstr "Upload"
|
||||
|
||||
#: extensions/system-monitor/extension.js:413
|
||||
#: extensions/system-monitor/extension.js:422
|
||||
msgid "Download"
|
||||
msgstr "Download"
|
||||
|
||||
#: extensions/system-monitor/extension.js:418
|
||||
#: extensions/system-monitor/extension.js:427
|
||||
msgid "Open System Monitor"
|
||||
msgstr "Systeemmonitor openen"
|
||||
|
||||
@@ -227,47 +227,47 @@ msgstr "Themanaam"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "De naam van het thema, te laden vanuit ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:71
|
||||
#: extensions/window-list/extension.js:70
|
||||
msgid "Close"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:97
|
||||
msgid "Unminimize"
|
||||
msgstr "Zichtbaar maken"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
#: extensions/window-list/extension.js:97
|
||||
msgid "Minimize"
|
||||
msgstr "Minimaliseren"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:104
|
||||
msgid "Unmaximize"
|
||||
msgstr "Herstellen"
|
||||
|
||||
#: extensions/window-list/extension.js:105
|
||||
#: extensions/window-list/extension.js:104
|
||||
msgid "Maximize"
|
||||
msgstr "Maximaliseren"
|
||||
|
||||
#: extensions/window-list/extension.js:470
|
||||
#: extensions/window-list/extension.js:489
|
||||
msgid "Minimize all"
|
||||
msgstr "Alles minimaliseren"
|
||||
|
||||
#: extensions/window-list/extension.js:476
|
||||
#: extensions/window-list/extension.js:495
|
||||
msgid "Unminimize all"
|
||||
msgstr "Alles zichtbaar maken"
|
||||
|
||||
#: extensions/window-list/extension.js:482
|
||||
#: extensions/window-list/extension.js:501
|
||||
msgid "Maximize all"
|
||||
msgstr "Alles maximaliseren"
|
||||
|
||||
#: extensions/window-list/extension.js:490
|
||||
#: extensions/window-list/extension.js:509
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Alles herstellen"
|
||||
|
||||
#: extensions/window-list/extension.js:498
|
||||
#: extensions/window-list/extension.js:517
|
||||
msgid "Close all"
|
||||
msgstr "Alles sluiten"
|
||||
|
||||
#: extensions/window-list/extension.js:772
|
||||
#: extensions/window-list/extension.js:789
|
||||
msgid "Window List"
|
||||
msgstr "Vensterlijst"
|
||||
|
||||
@@ -281,8 +281,8 @@ msgid ""
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Beslist wanneer vensters van dezelfde toepassing in de vensterlijst te "
|
||||
"groeperen. Mogelijke waarden zijn ‘never’ (nooit), ‘auto’ en "
|
||||
"‘always’ (altijd)."
|
||||
"groeperen. Mogelijke waarden zijn ‘never’ (nooit), ‘auto’ en ‘always’ "
|
||||
"(altijd)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
|
||||
#: extensions/window-list/prefs.js:79
|
||||
@@ -307,6 +307,10 @@ msgstr ""
|
||||
"Bepaalt of de vensterlijst op alle verbonden beeldschermen of enkel op het "
|
||||
"primaire beeldscherm wordt weergegeven."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
|
||||
msgid "Show workspace previews in window list"
|
||||
msgstr "Voorbeelden van werkbladen tonen in vensterlijst"
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
msgid "Window Grouping"
|
||||
msgstr "Venstergroepering"
|
||||
@@ -327,24 +331,35 @@ msgstr "Vensters altijd groeperen"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Tonen op alle beeldschermen"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:253
|
||||
#: extensions/workspace-indicator/extension.js:259
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Werkbladindicator"
|
||||
#: extensions/window-list/prefs.js:92
|
||||
msgid "Show workspace previews"
|
||||
msgstr "Voorbeelden van werkbladen tonen"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: extensions/workspace-indicator/prefs.js:30
|
||||
msgid "Show Previews In Top Bar"
|
||||
msgstr "Voorbeelden tonen in bovenste balk"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:88
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Werkblad %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
msgid "Workspace Names"
|
||||
msgstr "Werkbladnamen"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
msgid "Add Workspace"
|
||||
msgstr "Werkblad toevoegen"
|
||||
|
||||
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
|
||||
msgid "Show workspace previews in top bar"
|
||||
msgstr "Voorbeelden van werkbladen tonen in bovenste balk"
|
||||
|
||||
#: extensions/workspace-indicator/workspaceIndicator.js:430
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Werkbladindicator"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "Toepassingen"
|
||||
|
||||
|
||||
75
po/sr.po
75
po/sr.po
@@ -10,8 +10,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2024-04-29 14:28+0000\n"
|
||||
"PO-Revision-Date: 2024-06-20 01:27+0200\n"
|
||||
"POT-Creation-Date: 2024-10-27 22:37+0000\n"
|
||||
"PO-Revision-Date: 2024-11-04 08:14+0100\n"
|
||||
"Last-Translator: Марко М. Костић <marko.m.kostic@gmail.com>\n"
|
||||
"Language-Team: Serbian <gnome-sr@googlegroups.org>\n"
|
||||
"Language: sr\n"
|
||||
@@ -21,7 +21,7 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : "
|
||||
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-Generator: Gtranslator 45.3\n"
|
||||
"X-Generator: Poedit 3.4.4\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -44,7 +44,7 @@ msgstr "Класичан Гном на Икс серверу"
|
||||
msgid "Favorites"
|
||||
msgstr "Омиљено"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
#: extensions/apps-menu/extension.js:400
|
||||
msgid "Apps"
|
||||
msgstr "Апликације"
|
||||
|
||||
@@ -227,47 +227,47 @@ 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:70
|
||||
msgid "Close"
|
||||
msgstr "Затвори"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:97
|
||||
msgid "Unminimize"
|
||||
msgstr "Поништи умањење"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:97
|
||||
msgid "Minimize"
|
||||
msgstr "Умањи"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:104
|
||||
msgid "Unmaximize"
|
||||
msgstr "Поништи увећање"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:104
|
||||
msgid "Maximize"
|
||||
msgstr "Увећај"
|
||||
|
||||
#: extensions/window-list/extension.js:471
|
||||
#: extensions/window-list/extension.js:485
|
||||
msgid "Minimize all"
|
||||
msgstr "Умањи све"
|
||||
|
||||
#: extensions/window-list/extension.js:477
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unminimize all"
|
||||
msgstr "Поништи умањење свега"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:497
|
||||
msgid "Maximize all"
|
||||
msgstr "Увећај све"
|
||||
|
||||
#: extensions/window-list/extension.js:491
|
||||
#: extensions/window-list/extension.js:505
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Поништи увећање свега"
|
||||
|
||||
#: extensions/window-list/extension.js:499
|
||||
#: extensions/window-list/extension.js:513
|
||||
msgid "Close all"
|
||||
msgstr "Затвори све"
|
||||
|
||||
#: extensions/window-list/extension.js:773
|
||||
#: extensions/window-list/extension.js:780
|
||||
msgid "Window List"
|
||||
msgstr "Списак прозора"
|
||||
|
||||
@@ -281,11 +281,11 @@ msgid ""
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Одређује када ће бити груписани прозори истог програма у списку прозора. "
|
||||
"Дозвољене вредности су „never“ (никад), „auto“ (аутоматски) и "
|
||||
"„always“ (увек)."
|
||||
"Дозвољене вредности су „never“ (никад), „auto“ (аутоматски) и „always“ "
|
||||
"(увек)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
|
||||
#: extensions/window-list/prefs.js:79
|
||||
#: extensions/window-list/prefs.js:70
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Прикажи прозоре свих радних простора"
|
||||
|
||||
@@ -305,44 +305,59 @@ msgstr ""
|
||||
"Да ли да прикаже списак прозора на свим прикљученим мониторима или само на "
|
||||
"главном."
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
|
||||
msgid "Show workspace previews in window list"
|
||||
msgstr "Прикажи прегледе радних простора у списку прозора"
|
||||
|
||||
#: extensions/window-list/prefs.js:37
|
||||
msgid "Window Grouping"
|
||||
msgstr "Груписање прозора"
|
||||
|
||||
#: extensions/window-list/prefs.js:40
|
||||
#: extensions/window-list/prefs.js:42
|
||||
msgid "Never group windows"
|
||||
msgstr "Никад не групиши прозоре"
|
||||
|
||||
#: extensions/window-list/prefs.js:41
|
||||
#: extensions/window-list/prefs.js:43
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Групиши прозоре када је простор ограничен"
|
||||
|
||||
#: extensions/window-list/prefs.js:42
|
||||
#: extensions/window-list/prefs.js:44
|
||||
msgid "Always group windows"
|
||||
msgstr "Увек групиши прозоре"
|
||||
|
||||
#: extensions/window-list/prefs.js:66
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Прикажи на свим мониторима"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Показатељ радних простора"
|
||||
#: extensions/window-list/prefs.js:76
|
||||
msgid "Show workspace previews"
|
||||
msgstr "Прикажи прегледе радних простора"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: extensions/workspace-indicator/prefs.js:30
|
||||
msgid "Show Previews In Top Bar"
|
||||
msgstr "Прикажи прегледе у горњој траци"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:88
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "%d. радни простор"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
#: extensions/workspace-indicator/prefs.js:155
|
||||
msgid "Workspace Names"
|
||||
msgstr "Називи радних простора"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:281
|
||||
msgid "Add Workspace"
|
||||
msgstr "Додај радни простор"
|
||||
|
||||
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
|
||||
msgid "Show workspace previews in top bar"
|
||||
msgstr "Прикажи прегледе радних простора у горњој траци"
|
||||
|
||||
#: extensions/workspace-indicator/workspaceIndicator.js:430
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Показатељ радних простора"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "Програми"
|
||||
|
||||
|
||||
87
po/zh_TW.po
87
po/zh_TW.po
@@ -9,9 +9,9 @@ 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: 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"
|
||||
"POT-Creation-Date: 2024-11-25 15:07+0000\n"
|
||||
"PO-Revision-Date: 2025-01-12 23:57+0800\n"
|
||||
"Last-Translator: Yi-Jyun Pan <pan93412@gmail.com>\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"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 5.6.2\n"
|
||||
"X-Generator: Poedit 3.5\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -38,11 +38,11 @@ msgstr "GNOME Classic 採行 Wayland"
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME Classic 採行 Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:126
|
||||
#: extensions/apps-menu/extension.js:125
|
||||
msgid "Favorites"
|
||||
msgstr "喜愛"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
#: extensions/apps-menu/extension.js:399
|
||||
msgid "Apps"
|
||||
msgstr "程式"
|
||||
|
||||
@@ -58,11 +58,11 @@ msgstr ""
|
||||
"字串的列表,每個都包含一個應用程式 id (桌面檔名稱),後面接著半形分號 \";\" 與"
|
||||
"工作區號碼"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:159
|
||||
#: extensions/auto-move-windows/prefs.js:156
|
||||
msgid "Workspace Rules"
|
||||
msgstr "工作區規則"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:314
|
||||
#: extensions/auto-move-windows/prefs.js:311
|
||||
msgid "Add Rule"
|
||||
msgstr "加入規則"
|
||||
|
||||
@@ -107,8 +107,8 @@ msgstr ""
|
||||
"如果為真,在對映的縮圖頂端放置視窗說明標題,凌駕 Shell 將它放置在底部的預設"
|
||||
"值。變更這個設定值需要重新啟動 Shell 來套用效果。"
|
||||
|
||||
#: extensions/places-menu/extension.js:91
|
||||
#: extensions/places-menu/extension.js:94
|
||||
#: extensions/places-menu/extension.js:75
|
||||
#: extensions/places-menu/extension.js:78
|
||||
msgid "Places"
|
||||
msgstr "位置"
|
||||
|
||||
@@ -223,47 +223,47 @@ 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:70
|
||||
msgid "Close"
|
||||
msgstr "關閉"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:97
|
||||
msgid "Unminimize"
|
||||
msgstr "取消最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:97
|
||||
msgid "Minimize"
|
||||
msgstr "最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:104
|
||||
msgid "Unmaximize"
|
||||
msgstr "取消最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:104
|
||||
msgid "Maximize"
|
||||
msgstr "最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:471
|
||||
#: extensions/window-list/extension.js:485
|
||||
msgid "Minimize all"
|
||||
msgstr "全部最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:477
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unminimize all"
|
||||
msgstr "全部取消最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:497
|
||||
msgid "Maximize all"
|
||||
msgstr "全部最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:491
|
||||
#: extensions/window-list/extension.js:505
|
||||
msgid "Unmaximize all"
|
||||
msgstr "全部取消最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:499
|
||||
#: extensions/window-list/extension.js:513
|
||||
msgid "Close all"
|
||||
msgstr "全部關閉"
|
||||
|
||||
#: extensions/window-list/extension.js:773
|
||||
#: extensions/window-list/extension.js:780
|
||||
msgid "Window List"
|
||||
msgstr "視窗列表"
|
||||
|
||||
@@ -279,7 +279,7 @@ msgstr ""
|
||||
"決定在視窗列表中何時群組視窗。可能的數值有「never」、「auto」、「always」。"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
|
||||
#: extensions/window-list/prefs.js:79
|
||||
#: extensions/window-list/prefs.js:69
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "顯示所有工作區的視窗"
|
||||
|
||||
@@ -297,44 +297,59 @@ msgid ""
|
||||
"primary one."
|
||||
msgstr "是否在所有連接的螢幕顯示視窗列表或是只出現在主要螢幕上。"
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
|
||||
msgid "Show workspace previews in window list"
|
||||
msgstr "在視窗清單顯示工作區預覽"
|
||||
|
||||
#: extensions/window-list/prefs.js:36
|
||||
msgid "Window Grouping"
|
||||
msgstr "視窗群組"
|
||||
|
||||
#: extensions/window-list/prefs.js:40
|
||||
#: extensions/window-list/prefs.js:41
|
||||
msgid "Never group windows"
|
||||
msgstr "永不群組視窗"
|
||||
|
||||
#: extensions/window-list/prefs.js:41
|
||||
#: extensions/window-list/prefs.js:42
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "當空間受限時群組視窗"
|
||||
|
||||
#: extensions/window-list/prefs.js:42
|
||||
#: extensions/window-list/prefs.js:43
|
||||
msgid "Always group windows"
|
||||
msgstr "永遠群組視窗"
|
||||
|
||||
#: extensions/window-list/prefs.js:66
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Show on all monitors"
|
||||
msgstr "顯示於所有螢幕"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "工作區指示器"
|
||||
#: extensions/window-list/prefs.js:75
|
||||
msgid "Show workspace previews"
|
||||
msgstr "顯示工作區預覽"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: extensions/workspace-indicator/prefs.js:29
|
||||
msgid "Show Previews In Top Bar"
|
||||
msgstr "在頂端列顯示預覽"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:87
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "工作區 %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
#: extensions/workspace-indicator/prefs.js:154
|
||||
msgid "Workspace Names"
|
||||
msgstr "工作區名稱"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:280
|
||||
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 "應用程式"
|
||||
|
||||
@@ -468,8 +483,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」(顯示視窗的縮"
|
||||
#~ "圖)、「app-icon-only」(僅顯示應用程式圖示),或「both」(兩者)"
|
||||
|
||||
Reference in New Issue
Block a user