Compare commits

...

47 Commits
48.2 ... 47.5

Author SHA1 Message Date
Florian Müllner
f53c8fd4bc Bump version to 47.5
Update NEWS.
2025-05-24 19:13:46 +02:00
Neal Gompa
d7db924424 build: Do not install anything in xsessions when X11 is disabled
Fixes: b05eb4eb6d ("build: Allow disabling the X11 session")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/400>
(cherry picked from commit 2552c92fe1)
2025-05-23 19:14:44 +02:00
Neal Gompa
71e78265d5 build: Allow disabling the X11 session
This is consistent with gnome-session and the rest of the GNOME
session stack.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/396>
(cherry picked from commit b05eb4eb6d)
2025-05-23 19:14:44 +02:00
Florian Müllner
fa5c4bade1 Bump version to 47.4
Update NEWS.
2025-02-05 00:40:33 +01:00
Florian Müllner
a7d4d8df80 window-list: Use correct params when re-tracking chrome
Since commit 981e8e42, we temporarily untrack the window-list actor
while in the overview.

However as we don't pass pass the chrome parameters when re-tracking
chrome, the window-list no longer contributes to struts or tracks
fullscreen changes, whoops.

Make sure to pass the original parameters when re-tracking chrome
to restore the expected behavior.

Fixes: 981e8e42 ("window-list: Untrack chrome while in overview")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/550
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/379>
(cherry picked from commit 01f7df1e8a)
2025-01-16 12:09:05 +01:00
Florian Müllner
791682e836 ci: Switch ci-templates to master
The alternative is to monitor the upstream repository and update
the references when necessary. I don't have the resources to do
that, so trust upstream to not mess up their development branch.

(cherry picked from commit 4e50e9f8dc)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/376>
2025-01-13 16:29:57 +01:00
Florian Müllner
c815e506dd Bump version to 47.3
Update NEWS.
2025-01-12 21:59:15 +01:00
Florian Müllner
176206a38c places-menu: Remove left-over modeline
This one slipped through commit 253ddb864 ...

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/370>
(cherry picked from commit 83c41bad30)
2025-01-12 20:53:59 +00:00
Bartłomiej Piotrowski
72b2534790 ci: Switch to GNOME GitLab mirror of ci-templates
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/368>
(cherry picked from commit 0f69d7663b)
2025-01-12 20:53:59 +00:00
Florian Müllner
28ac6906c2 ci: Adapt to updated release module template
The release module moved into production now. The process changed
slightly with regard to the testing period, so we will have to
adapt the existing job a bit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/367>
(cherry picked from commit 5d8d3601b4)
2025-01-12 20:53:59 +00:00
Florian Müllner
e30f634d08 ci: Move LINT_LOG variable out of global section
It is only used by the eslint job, so better define it there.

While at it, make sure the variable is quoted as that's considered
good practice (even when safe to use unquoted as in this case).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/367>
(cherry picked from commit ea77b557e5)
2025-01-12 20:53:59 +00:00
Florian Müllner
aed90a3f6c ci: Use variable for meson build directory
This ensures that the value is consistent between jobs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/367>
(cherry picked from commit 9f48149346)
2025-01-12 20:53:59 +00:00
Florian Müllner
7054010520 Revert "ci: Use meson introspect to generate artifact path"
The new release service that now moved into production expects
the tag to match the release version.

Instead of using the $VERSION-real pattern in case of error,
switch to a pre-push hook to hopefully prevent those errors
in the first place:

  https://gitlab.gnome.org/-/snippets/6710

This reverts commit 8c014a6b1d.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/367>
(cherry picked from commit 0d1b279a64)
2025-01-12 20:53:59 +00:00
Florian Müllner
cc3e2842a8 ci: Bump js image
gnome-shell switched to F41 for its JS image, follow suit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/365>
(cherry picked from commit b30871d105)
2025-01-12 20:53:59 +00:00
Florian Müllner
f6d4e44ee4 workspace-indicator: Do not only exclude DESKTOP windows
There are other window types that should be excluded from workspace
previews, including more common ones like menus. Instead of checking
for a variety of window types, delegate the decision to mutter by
checking for the `skip-taskbar` property.

(The internal `skip-pager` property would be more apt in this case,
but as it only differs from `skip-taskbar` for X11 clients that
explicitly set one and not the other, it shouldn't matter in practice)

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/537
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/363>
(cherry picked from commit 77a11fd9cd)
2025-01-12 20:53:59 +00:00
Florian Müllner
bcf0be86af window-list: Untrack chrome while in overview
The window list is set up to track the monitor's fullscreen state.
Monitors are never considered in fullscreen while showing the overview,
so if shell's layout manager updates the fullscreen visibility after
we hid the bottom bar, it ends up being visible in the overview.

To avoid this, untrack the actor while the overview is visible.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/509
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/364>
(cherry picked from commit 981e8e42e2)
2025-01-12 20:53:59 +00:00
Florian Müllner
fb86b18cf1 window-list: Fix disconnecting window signals in context menu
Menus are not actors themselves, so they are not "destroyables" in
terms of automatic signal disconnection, with the result that we
currently leak window signals.

Fix this by using the menu's actor as tracked object, so the signals
are disconnected automatically when the actor is destroyed.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/474
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/362>
(cherry picked from commit 4a841dfd49)
2025-01-12 20:53:59 +00:00
Florian Müllner
6400be4a6c places-menu: Update fake mount operation source
gnome-shell now checks for an associated drive to automatically
cancel the operation on disconnect, so fake the corresponding
method. While at it, drop the `get_icon()` method that hasn't
been used for quite a while now.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/508
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/361>
(cherry picked from commit 8957f488dc)
2025-01-12 20:53:59 +00:00
Florian Müllner
b1f727fa34 places-menu: Catch errors during async operation
Uncaught errors in async functions don't provide a good stack, because
the unhandled promise rejection masks the error that triggered it.

While we already handle *expected* errors inside the function, make
sure we catch all errors to get useful stack information for unexpected
errors as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/361>
(cherry picked from commit e0b68a319e)
2025-01-12 20:53:59 +00:00
Yi-Jyun Pan
97d0a0e514 Update Chinese (Taiwan) translation 2025-01-12 15:59:38 +00:00
Florian Müllner
70e2a02e69 Bump version to 47.2
Update NEWS.
2024-11-25 16:14:41 +01:00
Florian Müllner
079daac9bb screenshot-window-sizer: Mention shortcut in description
Loosely based on the README entry, so users know how to actually use the
extension.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/541
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/358>
2024-11-25 15:43:54 +01:00
Florian Müllner
99d49c1800 places-menu: Inherit from PopupImageMenuItem
PopupImageMenuItems used to position the icon after the label,
so we ended up with our own icon+label items.

However the icon position was changed years ago in the shell, so
inherit from PopupImageMenuItem instead.

This does not only simplify the code a bit, but also pulls in
features we are currently missing, like a11y labelling.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/542
(cherry picked from commit 568826e489)
2024-11-25 14:19:07 +01:00
Florian Müllner
95c4bc5d87 build: Sync check-version script with gnome-shell
The script was updated to not require appstream-util to check for
a corresponding release element in metainfo.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/354>
(cherry picked from commit 1218aee87f)
2024-11-25 14:18:56 +01:00
Florian Müllner
451a12d1fd cleanup: Use consistent line break style in meson.build
Either have all arguments on the same line, or have a separate
line for every argument (that is, don't special-case the first
arg).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit 265935e14b)
2024-11-25 14:18:35 +01:00
Florian Müllner
48b917ab86 cleanup: Fix indent errors in meson.build
We are supposed to use a 2-space indent, but some inconsistencies
sneaked in over time.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit b903618050)
2024-11-25 14:18:00 +01:00
Florian Müllner
d273dc4e59 cleanup: Always use dangling commas in meson.build
This is meson's default formatting, and matches what we already
do in JS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit 720933b08e)
2024-11-25 14:17:53 +01:00
Florian Müllner
683080441f cleanup: Use format strings in meson.build
Those are a bit more concise than ''.format(), and have been
in meson for a long time.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit 85ee8829bf)
2024-11-25 14:17:45 +01:00
Florian Müllner
5bbf7f5c6c build: Use SPDX identifier for license
Meson strongly recommends to use SPDX identifiers for the license
string, and there's no reason for us to not do so.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit 6df4905286)
2024-11-25 14:17:35 +01:00
Florian Müllner
f30990535f extensions: Remove modelines
We already include an .editorconfig that is supported by many
editors, including emacs, so no need to repeat an emacs-specific
modeline in every source file.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit 253ddb8642)
2024-11-25 14:17:25 +01:00
Florian Müllner
d14885f96d Add .editorconfig
This should ensure that all editors which support
https://editorconfig.org/ use the correct indentation
with spaces (not tabs) by default.

This is hardly a full specification of our coding style,
but it's a correct subset and better than nothing.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit 0ca156a2b6)
2024-11-25 14:15:52 +01:00
Марко Костић
0a153b78f9 Update Serbian translation 2024-11-04 07:15:02 +00:00
Nathan Follens
598007f994 Update Dutch translation 2024-10-27 22:37:35 +00:00
Fabio Tomat
06caed8c0c Update Friulian translation 2024-10-20 20:01:51 +00:00
Florian Müllner
9991f90804 Bump version to 47.1
Update NEWS.
2024-10-18 21:54:13 +02:00
Florian Müllner
0bc77ef7c9 build: Rename meson_options.txt to meson.options
The name is a bit cleaner, and has been the preferred option(!)
since meson 1.1.

Mutter recently updated the name, so follow suite.

The meson version bump shouldn't be an issue, given that several
hard dependencies like mutter and glib already require higher
versions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/349>
(cherry picked from commit 1088435120)
2024-10-18 19:15:44 +02:00
Florian Müllner
099b2eeb49 cleanup: Use null for nick/blurb in ParamSpecs
As they are only used by gstreamer for gst-inspect & other tools.
Projects like mutter and gtk have already completely dropped them,
so follow their lead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/347>
(cherry picked from commit 46a4fa0976)
2024-10-18 19:15:02 +02:00
Florian Müllner
b13984a752 export-zips: Use --destdir instead of custom prefix
meson skips some steps like schema compilation when DESTDIR is
set, so this is slightly more efficient.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/345>
(cherry picked from commit 8f75ccae34)
2024-10-17 20:59:07 +02:00
Florian Müllner
67cdd0bea2 window-list: Remove outdated style
A long time ago, the window list used to embed the bottom message
tray, which caused notifications to inherit the window-list's
font style.

Since that's no longer the case, we have no business in messing
with notification styling, so stop doing that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/338>
(cherry picked from commit f1671bc206)
2024-10-17 20:56:38 +02:00
Florian Müllner
87a849c5af window-list: Switch to Adw.SwitchRow
libadwaita fixed the actionable implementation of Adw.SwitchRow,
so can use the convenience widget instead of composing our own.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/341>
(cherry picked from commit 548d7659e1)
2024-10-17 20:56:26 +02:00
Florian Müllner
f0bff952be window-list: Remove superfluous bindings
The setting is already bound to the switch via the corresponding action,
no need to also set up a binding.

In fact, the second binding is actively harmful, as it keeps the
connection alive until dispose, so the setting is reset on
garbage collection.

Closes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/511

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/341>
(cherry picked from commit 0162644041)
2024-10-17 20:56:18 +02:00
Florian Müllner
b3ff771a1d window-list: Add missing action
Commit 24ba03fe9 added a new setting, but forgot to create the
corresponding action.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/341>
(cherry picked from commit 062a3d21ab)
2024-10-17 20:56:09 +02:00
Florian Müllner
3ef718d34c window-list: Fix active state
Commit c72b8b21 fixed the styling of the active window's button,
but missed that the `active` property uses the style information
as well.

Adjust it to use the correct actor when checking for the style class.

Closes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/529

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/342>
(cherry picked from commit a5a92026ac)
2024-10-17 20:55:59 +02:00
Florian Müllner
fb2d87c1da window-list: Fix minimized styling
Commit 039c66e7b7 wrapped the button in a container to
animate transitions, but didn't adjust the `.minimized`
styling to still apply to the button (where it is
expected) rather than the wrapper.

Fix this just like commit c72b8b21 did for the
`.focused` styling.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/342>
(cherry picked from commit 28fd210f28)
2024-10-17 20:55:52 +02:00
Florian Müllner
6d3fbceec9 classic: Add missing top bar indicators
The only intended difference from the regular session is that the
date menu moves to the right. However in the meantime, gnome-shell
added a couple more (usually hidden) indicators, but we never
updated the session mode definition.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/339>
(cherry picked from commit 81aade6659)
2024-10-17 20:55:43 +02:00
Florian Müllner
4da312040b window-list: Don't recreate icons on theme changes
All icons use `StIcon`, which already updates itself correctly
on icon theme changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/337>
(cherry picked from commit d43abe0869)
2024-10-17 20:55:22 +02:00
Florian Müllner
89276cc184 window-list: Small stylesheet cleanup
The light stylesheet duplicates some declarations, and the
last occurrence matches what we already inherit from the
dark stylesheet.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/337>
(cherry picked from commit 860c56f83e)
2024-10-17 20:55:07 +02:00
33 changed files with 426 additions and 400 deletions

17
.editorconfig Normal file
View 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

View File

@@ -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'

View File

@@ -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`);

View File

@@ -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

51
NEWS
View File

@@ -1,3 +1,54 @@
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
====

View File

@@ -5,6 +5,6 @@
"enabledExtensions": [@CLASSIC_EXTENSIONS@],
"panel": { "left": ["activities"],
"center": [],
"right": ["a11y", "keyboard", "dateMenu", "quickSettings"]
"right": ["screenRecording", "screenSharing", "dwellClick", "a11y", "keyboard", "dateMenu", "quickSettings"]
}
}

View File

@@ -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'

View File

@@ -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

View File

@@ -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';

View File

@@ -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';

View File

@@ -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),
};

View File

@@ -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)

View File

@@ -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';

View File

@@ -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;
}
}

View File

@@ -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() {

View File

@@ -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@"
}

View File

@@ -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';

View File

@@ -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 */

View File

@@ -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,7 +223,7 @@ 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
@@ -453,9 +449,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 +587,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 +772,11 @@ class WindowList extends St.Widget {
() => this._onWorkspaceMenuSet(), this);
this._onWorkspaceMenuSet();
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 +813,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);

View File

@@ -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);
}
}

View File

@@ -81,7 +81,3 @@
width: 24px;
height: 24px;
}
.notification {
font-weight: normal;
}

View File

@@ -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%);
}

View File

@@ -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';

View File

@@ -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';

View File

@@ -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),
};

View File

@@ -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.5',
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 = {

View File

@@ -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.'
)

View File

@@ -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')

View File

@@ -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
View File

@@ -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 its 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"

View File

@@ -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"

View File

@@ -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 "Програми"

View File

@@ -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」(兩者)"