Compare commits

..

15 Commits

Author SHA1 Message Date
Florian Müllner
fb66afbf71 Bump version to 3.38.2
Update NEWS.
2020-12-03 00:14:49 +01:00
Florian Müllner
365fa6abc9 Update sass submodule 2020-12-03 00:14:49 +01:00
Florian Müllner
d7a824f35f workspace-indicator: Use overlap to determine preview visibility
In order to better reflect the actual workspace, show any preview
that is at least partially located on the monitor, not only those
that have the major part on that monitor.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/142>

(cherry picked from commit 50d3ee5703)
2020-12-03 00:09:21 +01:00
Florian Müllner
0d8e412220 window-list: Use overlap to determine preview visibility
In order to better reflect the actual workspace, show any preview
that is at least partially located on the monitor, not only those
that have the major part on that monitor.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/142>

(cherry picked from commit 08dfb78815)
2020-12-03 00:09:19 +01:00
Florian Müllner
991f6ef508 workspace-indicator: Account for monitor offset in window previews
Windows' frame rects are in screen coordinates, while the workspace
thumbnails are based on the monitor work area. Unless we account
for the difference, previews end up mispositioned in multi-monitor
setups.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/142>

(cherry picked from commit 6949a5d075)
2020-12-03 00:09:16 +01:00
Florian Müllner
37f03f5e2e window-list: Account for monitor offset in window previews
Windows' frame rects are in screen coordinates, while the workspace
thumbnails are based on the monitor work area. Unless we account
for the difference, previews end up mispositioned in multi-monitor
setups.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/142>

(cherry picked from commit 893d3b0473)
2020-12-03 00:09:12 +01:00
Florian Müllner
b4a4ff0a06 workspace-indicator: Round calculated preview sizes
While not strictly necessary, there's no reason to differ from the
copy in the window-list extension ...

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/142>

(cherry picked from commit f5128e13f2)
2020-12-03 00:09:09 +01:00
Ray Strode
de8876bd5e window-list: Stop monitoring drag operation if window list is destroyed
If a user is in the middle of a drag in the window list and the
window list associated with the drag gets destroyed, the drag
monitor gets leaked.

Later when the drag motion is processed, spew goes to the log:

clutter_actor_contains: assertion 'CLUTTER_IS_ACTOR (self)' failed

Examples of triggers for this bug:

- The monitor topology changes
- The screen gets locked during the drag

This commit fixes the spew and the leak by ensuring any pending
drag monitoring is disabled when the window lists are destroyed.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/145>

(cherry picked from commit 8318ea919f)
2020-12-03 00:08:57 +01:00
Thun Pin
5ad272e628 window-navigator: Adjust to 3.38 overview changes
gnome-shell's overview code changed significantly in 3.38,
adjust the extension to work without the separate overlay.

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

(cherry picked from commit 737c897624)
2020-12-03 00:08:30 +01:00
Florian Müllner
3b22582752 auto-move-windows: Exclude sticky windows from empty-check
We modify gnome-shell's workspace tracker to only remove empty
workspaces from the end. However we currently don't take into
account that sticky windows appear on all workspaces, so those
are preventing any workspace from getting removed at the moment.

Exclude them when determining whether a workspace is empty to
get the expected behavior.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/135

(cherry picked from commit 61cf679b8c)
2020-12-03 00:08:07 +01:00
Florian Müllner
e734fcbd21 window-list: Adjust to overview changes
Window DND in the overview is now based on the metaWindow,
not the window actor (misnamed as "real window").

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/133
2020-11-19 04:54:07 +01:00
Florian Müllner
435879c121 workspace-indicator: Adjust to overview changes
Window DND in the overview is now based on the metaWindow,
not the window actor (misnamed as "real window").

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/133
2020-11-19 04:54:07 +01:00
Florian Müllner
ed81650f55 window-list: Use custom layout manager for thumbnails
The current code positions window previews explicitly using a fixed
layout manager. For that it relies on a valid parent allocation,
which is error-prone and frequently results in warnings.

Address this by moving the positioning code into a custom layout
manager, and only update the visibility from the window preview.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/260
2020-10-21 13:44:44 +02:00
Florian Müllner
1276a880de workspace-indicator: Use custom layout manager for thumbnails
The current code positions window previews explicitly using a fixed
layout manager. For that it relies on a valid parent allocation,
which is error-prone and frequently results in warnings.

Address this by moving the positioning code into a custom layout
manager, and only update the visibility from the window preview.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/260
2020-10-21 13:44:44 +02:00
Sergio Costas
584016c291 window-list: Honor changes in skip-taskbar property
Although window-list checks the 'skip-taskbar' property when a
window is added to the desktop to decide wether it should be
shown in the bar or not, it doesn't honor that when the property
is changed after a window has already been added. Since the new
WaylandClient API allows to change this property for already
mapped windows, supporting this is a good idea.

This patch fixes this.

Fix https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/130


(cherry picked from commit b65f362f0d)
2020-10-08 21:50:07 +00:00
12 changed files with 74 additions and 182 deletions

View File

@@ -1,81 +1,33 @@
include:
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/8445ff7af2a68795afb98f486251f2ef8f90621c/templates/ci-fairy.yml"
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/33:2020-11-17.0
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v2
stages:
- pre_review
- review
- build
default:
# Cancel jobs if newer commits are pushed to the branch
interruptible: true
# Auto-retry jobs in case of infra failures
retry:
max: 1
when:
- 'runner_system_failure'
- 'stuck_or_timeout_failure'
- 'scheduler_failure'
- 'api_failure'
variables:
LINT_LOG: "eslint-report.xml"
LINT_LOG: "eslint-report.txt"
JS_LOG: "js-report.txt"
workflow:
rules:
- if: '$CI_MERGE_REQUEST_IID'
- if: '$CI_COMMIT_TAG'
- if: '$CI_COMMIT_BRANCH'
.pipeline_guard: &pipeline_guard
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_TAG'
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
- if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/'
- when: 'manual'
.only_default: &only_default
only:
- branches
- tags
- merge_requests
check_commit_log:
extends:
- .fdo.ci-fairy
stage: pre_review
image: registry.gitlab.gnome.org/gnome/gjs:fedora.static-analysis
stage: review
script:
- ./.gitlab-ci/check-commit-log.sh
<<: *pipeline_guard
artifacts:
expire_in: 1 week
paths:
- commit-message-junit-report.xml
reports:
junit: commit-message-junit-report.xml
check-merge-request:
extends:
- .fdo.ci-fairy
stage: pre_review
script:
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
then
ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request-report.xml ;
else
echo "Not a merge request" ;
fi
<<: *pipeline_guard
artifacts:
expire_in: 1 week
paths:
- check-merge-request-report.xml
reports:
junit: check-merge-request-report.xml
only:
- merge_requests
js_check:
stage: review
script:
- find extensions -name '*.js' -exec js78 -c '{}' ';' 2>&1 | tee $JS_LOG
- find extensions -name '*.js' -exec js68 -c -s '{}' ';' 2>&1 | tee $JS_LOG
- (! grep -q . $JS_LOG)
<<: *only_default
artifacts:
paths:
- ${JS_LOG}
@@ -84,18 +36,18 @@ js_check:
eslint:
stage: review
script:
- eslint -o $LINT_LOG -f junit extensions
- eslint -o $LINT_LOG extensions --no-color || { cat $LINT_LOG; false; }
<<: *only_default
artifacts:
paths:
- ${LINT_LOG}
reports:
junit: ${LINT_LOG}
when: on_failure
build-bundles:
stage: build
needs: ["check_commit_log"]
script:
- ./export-zips.sh
<<: *only_default
artifacts:
name: 'Extension bundles'
expose_as: 'Get Extension bundles here'

View File

@@ -1,8 +1,8 @@
#!/usr/bin/env bash
if [ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
echo This is not a merge request, skipping
exit 0
echo Cannot review non-merge request
exit 1
fi
git fetch $CI_MERGE_REQUEST_PROJECT_URL.git $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
@@ -16,59 +16,16 @@ if [ -z "$commits" ]; then
exit 1
fi
JUNIT_REPORT_TESTS_FILE=$(mktemp)
function append_failed_test_case() {
test_name="$1"
commit="$2"
test_message="$3"
commit_short=${commit:0:8}
echo "<testcase name=\"$test_name: $commit_short\"><failure message=\"$commit_short: $test_message\"/></testcase>" >> $JUNIT_REPORT_TESTS_FILE
echo &>2 "Commit check failed: $commit_short: $test_message"
}
function append_passed_test_case() {
test_name="$1"
commit="$2"
commit_short=${commit:0:8}
echo "<testcase name=\"$test_name: $commit_short\"></testcase>" >> $JUNIT_REPORT_TESTS_FILE
}
function generate_junit_report() {
junit_report_file="$1"
num_tests=$(cat "$JUNIT_REPORT_TESTS_FILE" | wc -l)
num_failures=$(grep '<failure />' "$JUNIT_REPORT_TESTS_FILE" | wc -l )
echo Generating JUnit report \"$(pwd)/$junit_report_file\" with $num_tests tests and $num_failures failures.
cat > $junit_report_file << __EOF__
<?xml version="1.0" encoding="utf-8"?>
<testsuites tests="$num_tests" errors="0" failures="$num_failures">
<testsuite name="commit-review" tests="$num_tests" errors="0" failures="$num_failures" skipped="0">
$(< $JUNIT_REPORT_TESTS_FILE)
</testsuite>
</testsuites>
__EOF__
}
function commit_message_has_mr_url() {
function commit_message_has_url() {
commit=$1
commit_message=$(git show -s --format='format:%b' $commit)
echo "$commit_message" | grep -qe "^$CI_MERGE_REQUEST_PROJECT_URL\/\(-\/\)\?merge_requests\/$CI_MERGE_REQUEST_IID$"
echo "$commit_message" | grep -qe "\($CI_MERGE_REQUEST_PROJECT_URL/\(-/\)\?\(issues\|merge_requests\)/[0-9]\+\|https://bugzilla.gnome.org/show_bug.cgi?id=[0-9]\+\)"
return $?
}
for commit in $commits; do
if commit_message_has_mr_url $commit; then
append_failed_test_case superfluous_url $commit \
"Commit message must not contain a link to its own merge request"
else
append_passed_test_case superfluous_url $commit
if ! commit_message_has_url $commit; then
echo "Missing merge request or issue URL on commit $(echo $commit | cut -c -8)"
exit 1
fi
done
generate_junit_report commit-message-junit-report.xml
! grep -q '<failure' commit-message-junit-report.xml
exit $?

15
NEWS
View File

@@ -1,20 +1,15 @@
40.alpha
========
3.38.2
======
* window-list: Honor changes in skip-taskbar property [Sergio; !130]
* window-list, workspace-indicator: Adjust to 3.38 changes [Florian; !133]
* window-list, workspace-indicator: Improve previews in workspace thumbs
[Florian; #260, !142]
* window-list, workspace-indicator: Adjust to 3.38 changes [Florian; !133]
* auto-move: Improve behavior on multi-monitor setups [Florian; !135]
* windowNavigator: Adjust to 3.38 changes [Thun; #259]
* Misc. bug fixes and cleanups [Florian, Jonas Å, Jordan, Ray; !131, !136,
!137, !140, !141, !144, !146, !145]
* Misc. bug fixes [Ray; !145]
Contributors:
Sergio Costas, Florian Müllner, Jordan Petridis, Thun Pin, Ray Strode,
Jonas Ådahl
Translators:
Fabio Tomat [fur], Jordi Mas [ca]
Sergio Costas, Florian Müllner, Thun Pin, Ray Strode
3.38.1
======

View File

@@ -103,6 +103,7 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
direction++;
if (direction === 4)
direction = 0;
}
let loopCounter = 0;

View File

@@ -486,6 +486,7 @@ var PlacesManager = class {
}
_reloadBookmarks() {
this._bookmarks = [];
let content = Shell.get_file_contents_utf8_sync(this._bookmarksFile.get_path());

View File

@@ -612,6 +612,7 @@ class AppButton extends BaseButton {
this._contextMenuManager.addMenu(this._appContextMenu);
this.label_actor = this._multiWindowTitle.label_actor;
}
}
_onClicked(actor, button) {

View File

@@ -34,10 +34,4 @@ and will be picked automatically at next login.
<gnome:userid>fmuellner</gnome:userid>
</foaf:Person>
</maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Marge Bot</foaf:name>
<gnome:userid>marge-bot</gnome:userid>
</foaf:Person>
</maintainer>
</Project>

View File

@@ -1,5 +1,4 @@
---
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
env:
es6: true
extends: 'eslint:recommended'
@@ -25,9 +24,7 @@ rules:
# allow: [^vfunc_, ^on_, _instance_init]
comma-dangle:
- error
- arrays: always-multiline
objects: always-multiline
functions: never
- always-multiline
comma-spacing:
- error
- before: false
@@ -90,7 +87,6 @@ rules:
- error
- all
- conditionalAssign: false
nestedBinaryExpressions: false
returnAssign: false
no-implicit-coercion:
- error
@@ -109,15 +105,15 @@ rules:
no-prototype-builtins: 'off'
no-restricted-properties:
- error
- object: Lang
property: copyProperties
message: Use Object.assign()
- object: Lang
property: bind
message: Use arrow notation or Function.prototype.bind()
- object: Lang
property: Class
message: Use ES6 classes
- object: imports
property: mainloop
message: Use GLib main loops and timeouts
no-restricted-syntax:
- error
- selector: >-
@@ -133,8 +129,6 @@ rules:
BlockStatement[body.length=1]
CallExpression[arguments.length=0][callee.object.type="Super"][callee.property.name="_init"]
message: _init() that only calls super._init() is unnecessary
- selector: BinaryExpression[operator="instanceof"][right.name="Array"]
message: Use Array.isArray()
no-return-assign: error
no-return-await: error
no-self-compare: error
@@ -171,9 +165,6 @@ rules:
object-shorthand: error
operator-assignment: error
operator-linebreak: error
padded-blocks:
- error
- never
# These may be a bit controversial, we can try them out and enable them later
# prefer-const: error
# prefer-destructuring: error
@@ -226,12 +217,12 @@ globals:
ARGV: readonly
Debugger: readonly
GIRepositoryGType: readonly
globalThis: readonly
imports: readonly
Intl: readonly
log: readonly
logError: readonly
print: readonly
printerr: readonly
window: readonly
parserOptions:
ecmaVersion: 2020
ecmaVersion: 2017

View File

@@ -1,5 +1,5 @@
project('gnome-shell-extensions',
version: '40.alpha',
version: '3.38.2',
meson_version: '>= 0.44.0',
license: 'GPL2+'
)
@@ -21,9 +21,9 @@ sessiondir = join_paths(datadir, 'gnome-session', 'sessions')
xsessiondir = join_paths(datadir, 'xsessions')
ver_arr = meson.project_version().split('.')
if ver_arr[1].version_compare('>=0')
shell_version = ver_arr[0]
else # pre-release (alpha, beta, rc)
if ver_arr[1].to_int().is_even()
shell_version = '@0@.@1@'.format(ver_arr[0], ver_arr[1])
else
shell_version = '.'.join(ver_arr)
endif

View File

@@ -83,7 +83,7 @@ msgid ""
msgstr ""
"Intenta utilitzar més espai de la pantalla per a posicionar les miniatures de "
"les finestres adaptant-les a la ràtio d'aspecte de la pantalla, consolidant-"
"les més per a reduir la caixa que les envolta. Aquest paràmetre de "
"les més per a reduir la capsa que les envolta. Aquest paràmetre de "
"configuració només s'aplica a l'estratègia de posicionament de finestres "
"natural."

View File

@@ -8,23 +8,23 @@ 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: 2020-10-08 21:24+0000\n"
"PO-Revision-Date: 2020-10-17 22:14+0200\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-07-12 18:10+0200\n"
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
"Language-Team: Friulian <fur@li.org>\n"
"Language: fur\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.4.1\n"
"X-Generator: Poedit 2.3.1\n"
#: data/gnome-classic.desktop.in:3
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
msgstr "GNOME Classic"
#: data/gnome-classic.desktop.in:4
msgid "This session logs you into GNOME Classic"
msgstr "Cheste session ti fâs jentrâ in GNOME Classic"
msgstr "Cheste session a si invie cun GNOME classic"
#: extensions/apps-menu/extension.js:113
msgid "Favorites"
@@ -43,8 +43,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 a ten il ID di une aplicazion (non dal file ."
"desktop), seguît di doi ponts e il numar dal spazi di lavôr"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
@@ -63,15 +63,15 @@ msgstr "No si è rivâts a parâ fûr la unitât “%s”»:"
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Dispositîfs estraibii"
msgstr "Argagn rimovibil"
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Vierç i files"
msgstr "Vierç i file"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows"
msgstr "Dopre plui schermi pai barcons"
msgstr "Dopre plui spazi par i balcons"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
msgid ""
@@ -79,14 +79,14 @@ msgid ""
"aspect ratio, and consolidating them further to reduce the bounding box. "
"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 "
"l'algoritmi di plaçament al è naturâl."
"Cîr di doprâ plui puest par plaçâ lis miniaturis dai balcons, adatânsi al "
"rapuart di aspiet dal visôr e consolidanlis ancjemo di plui par ridusi il "
"spazi complessîf. Cheste impostazion a si apliche dome se l'algoritmo di "
"posizionament al è \"natural\"."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Place window captions on top"
msgstr "Met il titul dal barcon parsore"
msgstr "Met il titul dal balcon insomp"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid ""
@@ -94,9 +94,9 @@ msgid ""
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"Se VÊR, al place i titui dai barcons denant des relativis miniaturis, "
"sorpassant il compuartament predefinît de shell, che lis place in bas. "
"Cambiant cheste impostazion si scugne tornâ a inviâ la shell."
"Se VÊR, al place i titui dai balcons insomp as relativis miniaturis, lant in "
"volte al compuartament normâl de shell, che lis place in bas.Cambiant cheste "
"impostazion a si scugne tornâ a inviâ la shell."
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
@@ -120,7 +120,7 @@ msgstr "Computer"
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Home"
msgstr "Cjase"
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
@@ -128,11 +128,11 @@ msgstr "Esplore rêt"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
msgid "Cycle Screenshot Sizes"
msgstr "Dimensions videadis catuardis ciclichis"
msgstr "Dimensions caturis di schermi ciclichis"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
msgid "Cycle Screenshot Sizes Backward"
msgstr "Dimensions videadis caturadis ciclichis indaûr"
msgstr "Dimensions caturis di schermi ciclichis indaûr"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
msgid "Theme name"
@@ -184,19 +184,19 @@ msgstr "Siere ducj"
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Liste barcons"
msgstr "Liste balcons"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
msgid "When to group windows"
msgstr "Cuant meti in grup i barcons"
msgstr "Quant ingru i balcons"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”."
msgstr ""
"Al decît cuant meti dongje i barcons de stesse aplicazion su la liste dai "
"barcons. I valôrs pussibii a son “never”, “auto” e “always”."
"Al decît cuant intropâ i balcons de stesse aplicazion su le liste dai "
"balcons. I pussibii valôrs a son “never”, “auto” e “always”."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:100
@@ -218,23 +218,23 @@ msgid ""
"primary one."
msgstr ""
"Indiche se mostrâ la liste dai barcons su ducj i visôrs tacâts o nome sul "
"chel principâl."
"principâl."
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Intropament di barcons"
msgstr "Ingrumament balcons"
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "No sta meti mai in grup i barcons"
msgstr "No ingru i balcons"
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Met dongje i barcons cuant che il spazi al è limitât"
msgstr "Ingrume i balcons quanche al'è pôc puest"
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Met simpri in grup i barcons"
msgstr "Ingrume simpri i balcons"
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"