Compare commits
38 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eee341e907 | ||
|
|
aad96bb1c4 | ||
|
|
50d3ee5703 | ||
|
|
08dfb78815 | ||
|
|
6949a5d075 | ||
|
|
893d3b0473 | ||
|
|
f5128e13f2 | ||
|
|
8318ea919f | ||
|
|
bde20e78f0 | ||
|
|
02db9525e7 | ||
|
|
8d4586bd57 | ||
|
|
8872659621 | ||
|
|
46c7677643 | ||
|
|
4b9f4b1b63 | ||
|
|
b64c93897b | ||
|
|
a7939f18d1 | ||
|
|
15efbc29be | ||
|
|
6e5466a4ec | ||
|
|
737c897624 | ||
|
|
c317a876dd | ||
|
|
72c67aacc4 | ||
|
|
ba7e3fc0b5 | ||
|
|
61cf679b8c | ||
|
|
ba55bacab4 | ||
|
|
9445bd2205 | ||
|
|
6ed1f45ffd | ||
|
|
81be1d2e2f | ||
|
|
52abf74088 | ||
|
|
623bc6dbf3 | ||
|
|
04b23ec68f | ||
|
|
b65f362f0d | ||
|
|
7c30f35b12 | ||
|
|
9e976f06b4 | ||
|
|
369801dbeb | ||
|
|
2c3c7e8a73 | ||
|
|
bb8f34de83 | ||
|
|
6c98658fe1 | ||
|
|
3f06c2bc04 |
@@ -1,33 +1,81 @@
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v2
|
||||
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
|
||||
|
||||
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.txt"
|
||||
LINT_LOG: "eslint-report.xml"
|
||||
JS_LOG: "js-report.txt"
|
||||
|
||||
.only_default: &only_default
|
||||
only:
|
||||
- branches
|
||||
- tags
|
||||
- merge_requests
|
||||
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'
|
||||
|
||||
check_commit_log:
|
||||
image: registry.gitlab.gnome.org/gnome/gjs:fedora.static-analysis
|
||||
stage: review
|
||||
extends:
|
||||
- .fdo.ci-fairy
|
||||
stage: pre_review
|
||||
script:
|
||||
- ./.gitlab-ci/check-commit-log.sh
|
||||
only:
|
||||
- merge_requests
|
||||
<<: *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
|
||||
|
||||
js_check:
|
||||
stage: review
|
||||
script:
|
||||
- find extensions -name '*.js' -exec js68 -c -s '{}' ';' 2>&1 | tee $JS_LOG
|
||||
- find extensions -name '*.js' -exec js78 -c '{}' ';' 2>&1 | tee $JS_LOG
|
||||
- (! grep -q . $JS_LOG)
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
paths:
|
||||
- ${JS_LOG}
|
||||
@@ -36,18 +84,18 @@ js_check:
|
||||
eslint:
|
||||
stage: review
|
||||
script:
|
||||
- eslint -o $LINT_LOG extensions --no-color || { cat $LINT_LOG; false; }
|
||||
<<: *only_default
|
||||
- eslint -o $LINT_LOG -f junit extensions
|
||||
artifacts:
|
||||
paths:
|
||||
- ${LINT_LOG}
|
||||
when: on_failure
|
||||
reports:
|
||||
junit: ${LINT_LOG}
|
||||
|
||||
build-bundles:
|
||||
stage: build
|
||||
needs: ["check_commit_log"]
|
||||
script:
|
||||
- ./export-zips.sh
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
name: 'Extension bundles'
|
||||
expose_as: 'Get Extension bundles here'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
|
||||
echo Cannot review non-merge request
|
||||
exit 1
|
||||
echo This is not a merge request, skipping
|
||||
exit 0
|
||||
fi
|
||||
|
||||
git fetch $CI_MERGE_REQUEST_PROJECT_URL.git $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
||||
@@ -16,16 +16,59 @@ if [ -z "$commits" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function commit_message_has_url() {
|
||||
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() {
|
||||
commit=$1
|
||||
commit_message=$(git show -s --format='format:%b' $commit)
|
||||
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]\+\)"
|
||||
echo "$commit_message" | grep -qe "^$CI_MERGE_REQUEST_PROJECT_URL\/\(-\/\)\?merge_requests\/$CI_MERGE_REQUEST_IID$"
|
||||
return $?
|
||||
}
|
||||
|
||||
for commit in $commits; do
|
||||
if ! commit_message_has_url $commit; then
|
||||
echo "Missing merge request or issue URL on commit $(echo $commit | cut -c -8)"
|
||||
exit 1
|
||||
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
|
||||
fi
|
||||
done
|
||||
|
||||
generate_junit_report commit-message-junit-report.xml
|
||||
|
||||
! grep -q '<failure' commit-message-junit-report.xml
|
||||
exit $?
|
||||
|
||||
28
NEWS
28
NEWS
@@ -1,3 +1,31 @@
|
||||
40.alpha
|
||||
========
|
||||
* 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]
|
||||
* 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]
|
||||
|
||||
Contributors:
|
||||
Sergio Costas, Florian Müllner, Jordan Petridis, Thun Pin, Ray Strode,
|
||||
Jonas Ådahl
|
||||
|
||||
Translators:
|
||||
Fabio Tomat [fur], Jordi Mas [ca]
|
||||
|
||||
3.38.1
|
||||
======
|
||||
|
||||
Contributors:
|
||||
Yacine Bouklif, Florian Müllner
|
||||
|
||||
Translators:
|
||||
Yacine Bouklif [kab], Cheng-Chia Tseng [zh_TW], Stas Solovey [ru],
|
||||
Yosef Or Boczko [he]
|
||||
|
||||
3.38.0
|
||||
======
|
||||
|
||||
|
||||
Submodule data/gnome-shell-sass updated: 03c1f82039...710fc54a26
@@ -116,10 +116,12 @@ function myCheckWorkspaces() {
|
||||
let keepAliveWorkspaces = [];
|
||||
let foundNonEmpty = false;
|
||||
for (let i = this._workspaces.length - 1; i >= 0; i--) {
|
||||
if (!foundNonEmpty)
|
||||
foundNonEmpty = this._workspaces[i].list_windows().length > 0;
|
||||
else if (!this._workspaces[i]._keepAliveId)
|
||||
if (!foundNonEmpty) {
|
||||
foundNonEmpty = this._workspaces[i].list_windows().some(
|
||||
w => !w.is_on_all_workspaces());
|
||||
} else if (!this._workspaces[i]._keepAliveId) {
|
||||
keepAliveWorkspaces.push(this._workspaces[i]);
|
||||
}
|
||||
}
|
||||
|
||||
// make sure the original method only removes empty workspaces at the end
|
||||
|
||||
@@ -103,7 +103,6 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
direction++;
|
||||
if (direction === 4)
|
||||
direction = 0;
|
||||
|
||||
}
|
||||
|
||||
let loopCounter = 0;
|
||||
|
||||
@@ -486,7 +486,6 @@ var PlacesManager = class {
|
||||
}
|
||||
|
||||
_reloadBookmarks() {
|
||||
|
||||
this._bookmarks = [];
|
||||
|
||||
let content = Shell.get_file_contents_utf8_sync(this._bookmarksFile.get_path());
|
||||
|
||||
@@ -352,6 +352,9 @@ class WindowButton extends BaseButton {
|
||||
super._init(perMonitor, monitorIndex);
|
||||
|
||||
this.metaWindow = metaWindow;
|
||||
this._skipTaskbarId = metaWindow.connect('notify::skip-taskbar', () => {
|
||||
this._updateVisibility();
|
||||
});
|
||||
this._updateVisibility();
|
||||
|
||||
this._windowTitle = new WindowTitle(this.metaWindow);
|
||||
@@ -412,6 +415,7 @@ class WindowButton extends BaseButton {
|
||||
|
||||
_onDestroy() {
|
||||
super._onDestroy();
|
||||
this.metaWindow.disconnect(this._skipTaskbarId);
|
||||
this.metaWindow.disconnect(this._workspaceChangedId);
|
||||
global.display.disconnect(this._notifyFocusId);
|
||||
this._contextMenu.destroy();
|
||||
@@ -608,7 +612,6 @@ class AppButton extends BaseButton {
|
||||
this._contextMenuManager.addMenu(this._appContextMenu);
|
||||
this.label_actor = this._multiWindowTitle.label_actor;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
_onClicked(actor, button) {
|
||||
@@ -783,9 +786,9 @@ class WindowList extends St.Widget {
|
||||
});
|
||||
|
||||
this._dragBeginId = Main.xdndHandler.connect('drag-begin',
|
||||
this._onDragBegin.bind(this));
|
||||
this._monitorDrag.bind(this));
|
||||
this._dragEndId = Main.xdndHandler.connect('drag-end',
|
||||
this._onDragEnd.bind(this));
|
||||
this._stopMonitoringDrag.bind(this));
|
||||
this._dragMonitor = {
|
||||
dragMotion: this._onDragMotion.bind(this),
|
||||
};
|
||||
@@ -948,9 +951,6 @@ class WindowList extends St.Widget {
|
||||
}
|
||||
|
||||
_onWindowAdded(ws, win) {
|
||||
if (win.skip_taskbar)
|
||||
return;
|
||||
|
||||
if (!this._grouped)
|
||||
this._checkGrouping();
|
||||
|
||||
@@ -1016,11 +1016,11 @@ class WindowList extends St.Widget {
|
||||
}
|
||||
}
|
||||
|
||||
_onDragBegin() {
|
||||
_monitorDrag() {
|
||||
DND.addDragMonitor(this._dragMonitor);
|
||||
}
|
||||
|
||||
_onDragEnd() {
|
||||
_stopMonitoringDrag() {
|
||||
DND.removeDragMonitor(this._dragMonitor);
|
||||
this._removeActivateTimeout();
|
||||
}
|
||||
@@ -1094,6 +1094,7 @@ class WindowList extends St.Widget {
|
||||
|
||||
global.display.disconnect(this._fullscreenChangedId);
|
||||
|
||||
this._stopMonitoringDrag();
|
||||
Main.xdndHandler.disconnect(this._dragBeginId);
|
||||
Main.xdndHandler.disconnect(this._dragEndId);
|
||||
|
||||
|
||||
@@ -24,27 +24,14 @@ class WindowPreview extends St.Button {
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
|
||||
this._sizeChangedId = this._window.connect('size-changed',
|
||||
this._relayout.bind(this));
|
||||
() => this.queue_relayout());
|
||||
this._positionChangedId = this._window.connect('position-changed',
|
||||
this._relayout.bind(this));
|
||||
this._minimizedChangedId = this._window.connect('notify::minimized',
|
||||
this._relayout.bind(this));
|
||||
this._monitorEnteredId = global.display.connect('window-entered-monitor',
|
||||
this._relayout.bind(this));
|
||||
this._monitorLeftId = global.display.connect('window-left-monitor',
|
||||
this._relayout.bind(this));
|
||||
|
||||
// Do initial layout when we get a parent
|
||||
let id = this.connect('parent-set', () => {
|
||||
this.disconnect(id);
|
||||
if (!this.get_parent())
|
||||
return;
|
||||
this._laterId = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
|
||||
this._laterId = 0;
|
||||
this._relayout();
|
||||
return false;
|
||||
() => {
|
||||
this._updateVisible();
|
||||
this.queue_relayout();
|
||||
});
|
||||
});
|
||||
this._minimizedChangedId = this._window.connect('notify::minimized',
|
||||
this._updateVisible.bind(this));
|
||||
|
||||
this._focusChangedId = global.display.connect('notify::focus-window',
|
||||
this._onFocusChanged.bind(this));
|
||||
@@ -52,19 +39,15 @@ class WindowPreview extends St.Button {
|
||||
}
|
||||
|
||||
// needed for DND
|
||||
get realWindow() {
|
||||
return this._window.get_compositor_private();
|
||||
get metaWindow() {
|
||||
return this._window;
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
this._window.disconnect(this._sizeChangedId);
|
||||
this._window.disconnect(this._positionChangedId);
|
||||
this._window.disconnect(this._minimizedChangedId);
|
||||
global.display.disconnect(this._monitorEnteredId);
|
||||
global.display.disconnect(this._monitorLeftId);
|
||||
global.display.disconnect(this._focusChangedId);
|
||||
if (this._laterId)
|
||||
Meta.later_remove(this._laterId);
|
||||
}
|
||||
|
||||
_onFocusChanged() {
|
||||
@@ -74,26 +57,42 @@ class WindowPreview extends St.Button {
|
||||
this.remove_style_class_name('active');
|
||||
}
|
||||
|
||||
_relayout() {
|
||||
let monitor = Main.layoutManager.findIndexForActor(this);
|
||||
this.visible = monitor === this._window.get_monitor() &&
|
||||
_updateVisible() {
|
||||
const monitor = Main.layoutManager.findIndexForActor(this);
|
||||
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
this.visible = this._window.get_frame_rect().overlap(workArea) &&
|
||||
this._window.window_type !== Meta.WindowType.DESKTOP &&
|
||||
this._window.showing_on_its_workspace();
|
||||
}
|
||||
});
|
||||
|
||||
if (!this.visible)
|
||||
return;
|
||||
let WorkspaceLayout = GObject.registerClass(
|
||||
class WorkspaceLayout extends Clutter.LayoutManager {
|
||||
vfunc_get_preferred_width() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
let workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
let hscale = this.get_parent().allocation.get_width() / workArea.width;
|
||||
let vscale = this.get_parent().allocation.get_height() / workArea.height;
|
||||
vfunc_get_preferred_height() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
let frameRect = this._window.get_frame_rect();
|
||||
this.set_size(
|
||||
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
|
||||
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
|
||||
this.set_position(
|
||||
Math.round(frameRect.x * hscale),
|
||||
Math.round(frameRect.y * vscale));
|
||||
vfunc_allocate(container, box) {
|
||||
const monitor = Main.layoutManager.findIndexForActor(container);
|
||||
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
const hscale = box.get_width() / workArea.width;
|
||||
const vscale = box.get_height() / workArea.height;
|
||||
|
||||
for (const child of container) {
|
||||
const childBox = new Clutter.ActorBox();
|
||||
const frameRect = child.metaWindow.get_frame_rect();
|
||||
childBox.set_size(
|
||||
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
|
||||
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
|
||||
childBox.set_origin(
|
||||
Math.round((frameRect.x - workArea.x) * hscale),
|
||||
Math.round((frameRect.y - workArea.y) * vscale));
|
||||
child.allocate(childBox);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -103,7 +102,7 @@ class WorkspaceThumbnail extends St.Button {
|
||||
super._init({
|
||||
style_class: 'workspace',
|
||||
child: new Clutter.Actor({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
layout_manager: new WorkspaceLayout(),
|
||||
clip_to_allocation: true,
|
||||
}),
|
||||
});
|
||||
@@ -134,16 +133,15 @@ class WorkspaceThumbnail extends St.Button {
|
||||
}
|
||||
|
||||
acceptDrop(source) {
|
||||
if (!source.realWindow)
|
||||
if (!source.metaWindow)
|
||||
return false;
|
||||
|
||||
let window = source.realWindow.get_meta_window();
|
||||
this._moveWindow(window);
|
||||
this._moveWindow(source.metaWindow);
|
||||
return true;
|
||||
}
|
||||
|
||||
handleDragOver(source) {
|
||||
if (source.realWindow)
|
||||
if (source.metaWindow)
|
||||
return DND.DragMotionResult.MOVE_DROP;
|
||||
else
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
|
||||
@@ -1,45 +1,12 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
/* exported init */
|
||||
const { Clutter, GObject, St } = imports.gi;
|
||||
const { Clutter, Graphene, GObject, St } = imports.gi;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const Workspace = imports.ui.workspace;
|
||||
const WorkspacesView = imports.ui.workspacesView;
|
||||
|
||||
class MyWindowOverlay extends Workspace.WindowOverlay {
|
||||
constructor(windowClone, parentActor) {
|
||||
super(windowClone, parentActor);
|
||||
|
||||
this._id = null;
|
||||
this._text = new St.Label({
|
||||
style_class: 'extension-windowsNavigator-window-tooltip',
|
||||
visible: false,
|
||||
});
|
||||
parentActor.add_actor(this._text);
|
||||
}
|
||||
|
||||
showTooltip() {
|
||||
this._parentActor.set_child_below_sibling(this._text, null);
|
||||
this._text.show();
|
||||
this._text.text = (this._windowClone.slotId + 1).toString();
|
||||
}
|
||||
|
||||
hideTooltip() {
|
||||
if (this._text && this._text.visible)
|
||||
this._text.hide();
|
||||
}
|
||||
|
||||
relayout(animate) {
|
||||
super.relayout(animate);
|
||||
|
||||
let [cloneX, cloneY, cloneWidth_, cloneHeight_] = this._windowClone.slot;
|
||||
|
||||
let textX = cloneX - 2;
|
||||
let textY = cloneY - 2;
|
||||
this._text.set_position(Math.floor(textX) + 5, Math.floor(textY) + 5);
|
||||
this._parentActor.set_child_below_sibling(this._text, null);
|
||||
}
|
||||
}
|
||||
const WINDOW_SLOT = 4;
|
||||
|
||||
var MyWorkspace = GObject.registerClass(
|
||||
class MyWorkspace extends Workspace.Workspace {
|
||||
@@ -61,57 +28,89 @@ class MyWorkspace extends Workspace.Workspace {
|
||||
}
|
||||
}
|
||||
|
||||
vfunc_allocate(box) {
|
||||
super.vfunc_allocate(box);
|
||||
|
||||
if (this._tip)
|
||||
this._tip.allocate_preferred_size(0, 0);
|
||||
}
|
||||
|
||||
showTooltip() {
|
||||
if (!this._tip || !this._actualGeometry)
|
||||
if (!this._tip)
|
||||
return;
|
||||
this._tip.text = (this.metaWorkspace.index() + 1).toString();
|
||||
|
||||
// Hand code this instead of using _getSpacingAndPadding
|
||||
// because that fails on empty workspaces
|
||||
let node = this.get_theme_node();
|
||||
let padding = {
|
||||
left: node.get_padding(St.Side.LEFT),
|
||||
top: node.get_padding(St.Side.TOP),
|
||||
bottom: node.get_padding(St.Side.BOTTOM),
|
||||
right: node.get_padding(St.Side.RIGHT),
|
||||
};
|
||||
|
||||
let area = Workspace.padArea(this._actualGeometry, padding);
|
||||
this._tip.x = area.x;
|
||||
this._tip.y = area.y;
|
||||
this._tip.show();
|
||||
this.set_child_below_sibling(this._tip, null);
|
||||
}
|
||||
|
||||
hideTooltip() {
|
||||
if (!this._tip)
|
||||
return;
|
||||
if (!this._tip.get_parent())
|
||||
return;
|
||||
this._tip.hide();
|
||||
if (this._tip)
|
||||
this._tip.hide();
|
||||
}
|
||||
|
||||
getWindowWithTooltip(id) {
|
||||
for (let i = 0; i < this._windows.length; i++) {
|
||||
if (this._windows[i].slotId + 1 === id)
|
||||
return this._windows[i].metaWindow;
|
||||
}
|
||||
return null;
|
||||
const slot = this.layout_manager._windowSlots[id - 1];
|
||||
return slot ? slot[WINDOW_SLOT].metaWindow : null;
|
||||
}
|
||||
|
||||
showWindowsTooltips() {
|
||||
for (let i in this._windowOverlays) {
|
||||
if (this._windowOverlays[i])
|
||||
this._windowOverlays[i].showTooltip();
|
||||
for (let i = 0; i < this.layout_manager._windowSlots.length; i++) {
|
||||
if (this.layout_manager._windowSlots[i])
|
||||
this.layout_manager._windowSlots[i][WINDOW_SLOT].showTooltip(`${i + 1}`);
|
||||
}
|
||||
}
|
||||
|
||||
hideWindowsTooltips() {
|
||||
for (let i in this._windowOverlays) {
|
||||
if (this._windowOverlays[i])
|
||||
this._windowOverlays[i].hideTooltip();
|
||||
for (let i in this.layout_manager._windowSlots) {
|
||||
if (this.layout_manager._windowSlots[i])
|
||||
this.layout_manager._windowSlots[i][WINDOW_SLOT].hideTooltip();
|
||||
}
|
||||
}
|
||||
|
||||
// overriding _addWindowClone to apply the tooltip patch on the cloned
|
||||
// windowPreview
|
||||
_addWindowClone(metaWindow) {
|
||||
const clone = super._addWindowClone(metaWindow);
|
||||
|
||||
// appling the tooltip patch
|
||||
(function patchPreview() {
|
||||
this._text = new St.Label({
|
||||
style_class: 'extension-windowsNavigator-window-tooltip',
|
||||
visible: false,
|
||||
});
|
||||
|
||||
this._text.add_constraint(new Clutter.BindConstraint({
|
||||
source: this._borderCenter,
|
||||
coordinate: Clutter.BindCoordinate.POSITION,
|
||||
}));
|
||||
this._text.add_constraint(new Clutter.AlignConstraint({
|
||||
source: this._borderCenter,
|
||||
align_axis: Clutter.AlignAxis.X_AXIS,
|
||||
pivot_point: new Graphene.Point({ x: 0.5, y: -1 }),
|
||||
factor: this._closeButtonSide === St.Side.LEFT ? 1 : 0,
|
||||
}));
|
||||
this._text.add_constraint(new Clutter.AlignConstraint({
|
||||
source: this._borderCenter,
|
||||
align_axis: Clutter.AlignAxis.Y_AXIS,
|
||||
pivot_point: new Graphene.Point({ x: -1, y: 0.5 }),
|
||||
factor: 0,
|
||||
}));
|
||||
|
||||
this.add_child(this._text);
|
||||
}).call(clone);
|
||||
|
||||
clone.showTooltip = function (text) {
|
||||
this._text.set({ text });
|
||||
this._text.show();
|
||||
};
|
||||
|
||||
clone.hideTooltip = function () {
|
||||
if (this._text && this._text.visible)
|
||||
this._text.hide();
|
||||
};
|
||||
|
||||
return clone;
|
||||
}
|
||||
});
|
||||
|
||||
var MyWorkspacesView = GObject.registerClass(
|
||||
@@ -244,19 +243,16 @@ class MyWorkspacesView extends WorkspacesView.WorkspacesView {
|
||||
|
||||
class Extension {
|
||||
constructor() {
|
||||
this._origWindowOverlay = Workspace.WindowOverlay;
|
||||
this._origWorkspace = Workspace.Workspace;
|
||||
this._origWorkspacesView = WorkspacesView.WorkspacesView;
|
||||
}
|
||||
|
||||
enable() {
|
||||
Workspace.WindowOverlay = MyWindowOverlay;
|
||||
Workspace.Workspace = MyWorkspace;
|
||||
WorkspacesView.WorkspacesView = MyWorkspacesView;
|
||||
}
|
||||
|
||||
disable() {
|
||||
Workspace.WindowOverlay = this._origWindowOverlay;
|
||||
Workspace.Workspace = this._origWorkspace;
|
||||
WorkspacesView.WorkspacesView = this._origWorkspacesView;
|
||||
}
|
||||
|
||||
@@ -30,27 +30,14 @@ class WindowPreview extends St.Button {
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
|
||||
this._sizeChangedId = this._window.connect('size-changed',
|
||||
this._relayout.bind(this));
|
||||
() => this.queue_relayout());
|
||||
this._positionChangedId = this._window.connect('position-changed',
|
||||
this._relayout.bind(this));
|
||||
this._minimizedChangedId = this._window.connect('notify::minimized',
|
||||
this._relayout.bind(this));
|
||||
this._monitorEnteredId = global.display.connect('window-entered-monitor',
|
||||
this._relayout.bind(this));
|
||||
this._monitorLeftId = global.display.connect('window-left-monitor',
|
||||
this._relayout.bind(this));
|
||||
|
||||
// Do initial layout when we get a parent
|
||||
let id = this.connect('parent-set', () => {
|
||||
this.disconnect(id);
|
||||
if (!this.get_parent())
|
||||
return;
|
||||
this._laterId = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
|
||||
this._laterId = 0;
|
||||
this._relayout();
|
||||
return false;
|
||||
() => {
|
||||
this._updateVisible();
|
||||
this.queue_relayout();
|
||||
});
|
||||
});
|
||||
this._minimizedChangedId = this._window.connect('notify::minimized',
|
||||
this._updateVisible.bind(this));
|
||||
|
||||
this._focusChangedId = global.display.connect('notify::focus-window',
|
||||
this._onFocusChanged.bind(this));
|
||||
@@ -58,19 +45,15 @@ class WindowPreview extends St.Button {
|
||||
}
|
||||
|
||||
// needed for DND
|
||||
get realWindow() {
|
||||
return this._window.get_compositor_private();
|
||||
get metaWindow() {
|
||||
return this._window;
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
this._window.disconnect(this._sizeChangedId);
|
||||
this._window.disconnect(this._positionChangedId);
|
||||
this._window.disconnect(this._minimizedChangedId);
|
||||
global.display.disconnect(this._monitorEnteredId);
|
||||
global.display.disconnect(this._monitorLeftId);
|
||||
global.display.disconnect(this._focusChangedId);
|
||||
if (this._laterId)
|
||||
Meta.later_remove(this._laterId);
|
||||
}
|
||||
|
||||
_onFocusChanged() {
|
||||
@@ -80,26 +63,42 @@ class WindowPreview extends St.Button {
|
||||
this.remove_style_class_name('active');
|
||||
}
|
||||
|
||||
_relayout() {
|
||||
let monitor = Main.layoutManager.findIndexForActor(this);
|
||||
this.visible = monitor === this._window.get_monitor() &&
|
||||
_updateVisible() {
|
||||
const monitor = Main.layoutManager.findIndexForActor(this);
|
||||
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
this.visible = this._window.get_frame_rect().overlap(workArea) &&
|
||||
this._window.window_type !== Meta.WindowType.DESKTOP &&
|
||||
this._window.showing_on_its_workspace();
|
||||
}
|
||||
});
|
||||
|
||||
if (!this.visible)
|
||||
return;
|
||||
let WorkspaceLayout = GObject.registerClass(
|
||||
class WorkspaceLayout extends Clutter.LayoutManager {
|
||||
vfunc_get_preferred_width() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
let workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
let hscale = this.get_parent().allocation.get_width() / workArea.width;
|
||||
let vscale = this.get_parent().allocation.get_height() / workArea.height;
|
||||
vfunc_get_preferred_height() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
let frameRect = this._window.get_frame_rect();
|
||||
this.set_size(
|
||||
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
|
||||
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
|
||||
this.set_position(
|
||||
Math.round(frameRect.x * hscale),
|
||||
Math.round(frameRect.y * vscale));
|
||||
vfunc_allocate(container, box) {
|
||||
const monitor = Main.layoutManager.findIndexForActor(container);
|
||||
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
const hscale = box.get_width() / workArea.width;
|
||||
const vscale = box.get_height() / workArea.height;
|
||||
|
||||
for (const child of container) {
|
||||
const childBox = new Clutter.ActorBox();
|
||||
const frameRect = child.metaWindow.get_frame_rect();
|
||||
childBox.set_size(
|
||||
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
|
||||
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
|
||||
childBox.set_origin(
|
||||
Math.round((frameRect.x - workArea.x) * hscale),
|
||||
Math.round((frameRect.y - workArea.y) * vscale));
|
||||
child.allocate(childBox);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -109,7 +108,7 @@ class WorkspaceThumbnail extends St.Button {
|
||||
super._init({
|
||||
style_class: 'workspace',
|
||||
child: new Clutter.Actor({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
layout_manager: new WorkspaceLayout(),
|
||||
clip_to_allocation: true,
|
||||
}),
|
||||
});
|
||||
@@ -140,16 +139,15 @@ class WorkspaceThumbnail extends St.Button {
|
||||
}
|
||||
|
||||
acceptDrop(source) {
|
||||
if (!source.realWindow)
|
||||
if (!source.metaWindow)
|
||||
return false;
|
||||
|
||||
let window = source.realWindow.get_meta_window();
|
||||
this._moveWindow(window);
|
||||
this._moveWindow(source.metaWindow);
|
||||
return true;
|
||||
}
|
||||
|
||||
handleDragOver(source) {
|
||||
if (source.realWindow)
|
||||
if (source.metaWindow)
|
||||
return DND.DragMotionResult.MOVE_DROP;
|
||||
else
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
|
||||
@@ -34,4 +34,10 @@ 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>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
---
|
||||
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
|
||||
env:
|
||||
es6: true
|
||||
extends: 'eslint:recommended'
|
||||
@@ -24,7 +25,9 @@ rules:
|
||||
# allow: [^vfunc_, ^on_, _instance_init]
|
||||
comma-dangle:
|
||||
- error
|
||||
- always-multiline
|
||||
- arrays: always-multiline
|
||||
objects: always-multiline
|
||||
functions: never
|
||||
comma-spacing:
|
||||
- error
|
||||
- before: false
|
||||
@@ -87,6 +90,7 @@ rules:
|
||||
- error
|
||||
- all
|
||||
- conditionalAssign: false
|
||||
nestedBinaryExpressions: false
|
||||
returnAssign: false
|
||||
no-implicit-coercion:
|
||||
- error
|
||||
@@ -105,15 +109,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: >-
|
||||
@@ -129,6 +133,8 @@ 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
|
||||
@@ -165,6 +171,9 @@ 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
|
||||
@@ -217,12 +226,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: 2017
|
||||
ecmaVersion: 2020
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
project('gnome-shell-extensions',
|
||||
version: '3.38.0',
|
||||
version: '40.alpha',
|
||||
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].to_int().is_even()
|
||||
shell_version = '@0@.@1@'.format(ver_arr[0], ver_arr[1])
|
||||
else
|
||||
if ver_arr[1].version_compare('>=0')
|
||||
shell_version = ver_arr[0]
|
||||
else # pre-release (alpha, beta, rc)
|
||||
shell_version = '.'.join(ver_arr)
|
||||
endif
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ id
|
||||
is
|
||||
it
|
||||
ja
|
||||
kab
|
||||
kk
|
||||
km
|
||||
kn
|
||||
|
||||
2
po/ca.po
2
po/ca.po
@@ -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 capsa que les envolta. Aquest paràmetre de "
|
||||
"les més per a reduir la caixa que les envolta. Aquest paràmetre de "
|
||||
"configuració només s'aplica a l'estratègia de posicionament de finestres "
|
||||
"natural."
|
||||
|
||||
|
||||
60
po/fur.po
60
po/fur.po
@@ -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-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-07-12 18:10+0200\n"
|
||||
"POT-Creation-Date: 2020-10-08 21:24+0000\n"
|
||||
"PO-Revision-Date: 2020-10-17 22:14+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.3.1\n"
|
||||
"X-Generator: Poedit 2.4.1\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.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 a si invie cun GNOME classic"
|
||||
msgstr "Cheste session ti fâs jentrâ in 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 a ten il ID di une aplicazion (non dal file ."
|
||||
"desktop), seguît di 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: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 "Argagn rimovibil"
|
||||
msgstr "Dispositîfs estraibii"
|
||||
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Vierç i file"
|
||||
msgstr "Vierç i files"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Dopre plui spazi par i balcons"
|
||||
msgstr "Dopre plui schermi pai barcons"
|
||||
|
||||
#: 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 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\"."
|
||||
"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."
|
||||
|
||||
#: 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 balcon insomp"
|
||||
msgstr "Met il titul dal barcon parsore"
|
||||
|
||||
#: 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 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."
|
||||
"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."
|
||||
|
||||
#: 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 "Cjase"
|
||||
msgstr "Home"
|
||||
|
||||
#: 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 caturis di schermi ciclichis"
|
||||
msgstr "Dimensions videadis catuardis ciclichis"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Dimensions caturis di schermi ciclichis indaûr"
|
||||
msgstr "Dimensions videadis caturadis 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 balcons"
|
||||
msgstr "Liste barcons"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
msgid "When to group windows"
|
||||
msgstr "Quant ingrumâ i balcons"
|
||||
msgstr "Cuant meti in grup i barcons"
|
||||
|
||||
#: 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 intropâ i balcons de stesse aplicazion su le liste dai "
|
||||
"balcons. I pussibii valôrs a son “never”, “auto” e “always”."
|
||||
"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”."
|
||||
|
||||
#: 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 "
|
||||
"principâl."
|
||||
"chel principâl."
|
||||
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Ingrumament balcons"
|
||||
msgstr "Intropament di barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "No ingrumâ i balcons"
|
||||
msgstr "No sta meti mai in grup i barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Ingrume i balcons quanche al'è pôc puest"
|
||||
msgstr "Met dongje i barcons cuant che il spazi al è limitât"
|
||||
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Ingrume simpri i balcons"
|
||||
msgstr "Met simpri in grup i barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
|
||||
100
po/he.po
100
po/he.po
@@ -9,8 +9,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2020-03-31 07:16+0000\n"
|
||||
"PO-Revision-Date: 2020-04-01 18:20+0300\n"
|
||||
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-09-28 22:04+0300\n"
|
||||
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
|
||||
"Language-Team: Hebrew <yoseforb@gmail.com>\n"
|
||||
"Language: he\n"
|
||||
@@ -49,41 +49,27 @@ msgstr ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:59
|
||||
msgid "Application"
|
||||
msgstr "יישום"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
#| msgid "Workspace Names"
|
||||
msgid "Workspace Rules"
|
||||
msgstr "כללי מרחב העבודה"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:70
|
||||
#: extensions/auto-move-windows/prefs.js:133
|
||||
msgid "Workspace"
|
||||
msgstr "מרחב עבודה"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:88
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "הוספת כלל"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:110
|
||||
msgid "Create new matching rule"
|
||||
msgstr "יצירת כלל חדש תואם"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:116
|
||||
msgid "Add"
|
||||
msgstr "הוספה"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:103
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
#| msgid "Ejecting drive '%s' failed:"
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "שליפת הכונן „%s” נכשלה:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:119
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "התקנים נתיקים"
|
||||
|
||||
#: extensions/drive-menu/extension.js:146
|
||||
#| msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "פתיחת קבצים"
|
||||
|
||||
@@ -115,14 +101,13 @@ msgstr ""
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
"restarting the shell to have any effect."
|
||||
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "מיקומים"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
#| msgid "Failed to launch \"%s\""
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "שיגור „%s” נכשל"
|
||||
|
||||
@@ -149,7 +134,6 @@ msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Cycle Screenshot Sizes"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#| msgid "Cycle Screenshot Sizes"
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Cycle Screenshot Sizes Backward"
|
||||
|
||||
@@ -181,27 +165,27 @@ msgstr "ביטול ההגדלה"
|
||||
msgid "Maximize"
|
||||
msgstr "הגדלה"
|
||||
|
||||
#: extensions/window-list/extension.js:429
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "מזעור הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:435
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "ביטול מזעור הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:441
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "הגדלת הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:449
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "ביטול הגדלת הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:457
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "סגירת הכל"
|
||||
|
||||
#: extensions/window-list/extension.js:737
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "רשימת חלונות"
|
||||
|
||||
@@ -210,9 +194,6 @@ msgid "When to group windows"
|
||||
msgstr "מתי לקבץ חלונות"
|
||||
|
||||
#: 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\"."
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
@@ -221,15 +202,11 @@ msgstr ""
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
#| msgid "Show only windows in the current workspace"
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "הצגת חלונות מכל מרחבי העבודה"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#| msgid ""
|
||||
#| "Whether to show the window list on all connected monitors or only on the "
|
||||
#| "primary one."
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr "Whether to show windows from all workspaces or only the current one."
|
||||
|
||||
@@ -245,44 +222,57 @@ msgstr ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "קיבוץ חלונות"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "לעולם לא לקבץ חלונות"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "קיבוץ חלונות כאשר המקום מוגבל"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "תמיד לקבץ חלונות"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "הצגה בכל הצגים"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:209
|
||||
#: extensions/workspace-indicator/extension.js:215
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "מחוון מרחבי עבודה"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:129
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "שם מרחב העבודה"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:149
|
||||
msgid "Name"
|
||||
msgstr "שם"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:189
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "מרחב עבודה %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
#| msgid "Workspace"
|
||||
msgid "Add Workspace"
|
||||
msgstr "הוספת מרחב עבודה"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "יישום"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "יצירת כלל חדש תואם"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "הוספה"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "שם"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Attach modal dialog to the parent window"
|
||||
|
||||
|
||||
254
po/kab.po
Normal file
254
po/kab.po
Normal file
@@ -0,0 +1,254 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2020-09-14 20:54+0000\n"
|
||||
"PO-Revision-Date: 2020-09-19 12:50+0100\n"
|
||||
"Language: kab_DZ\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"Last-Translator: Yacine Bouklif <yacinebouklif@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"X-Generator: Poedit 2.4.1\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME aklasiki"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Tiɣimit-agi ak-teqqen ɣer GNOME aklasiki"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Inurifen"
|
||||
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Isnasen"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||
msgid "Application and workspace list"
|
||||
msgstr "Tabdart n yisnasen akked tallunt n umahil"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
msgstr ""
|
||||
"Tabdart n yiɣewwaren, yal yiwet tesɛa id n usnas (isem n ufaylu n desktop), "
|
||||
"ad ḍefrent snat n tenqiḍin akked wuḍḍun n tallunt n umahil"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Ilugan n tallunt n umahil"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Rnu alugen"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Aḍeqqer n uḍebsi “%s” ur yeddi ara:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Ibenkan izirazen"
|
||||
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Ldi ifuyla"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Seqdec ugar n yigdilen i yisfuyla"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
|
||||
msgid ""
|
||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
"This setting applies only with the natural placement strategy."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Place window captions on top"
|
||||
msgstr "Sers tawaṭṭfa n usfaylu uksawen"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
"If true, place window captions on top the respective thumbnail, overriding "
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
"restarting the shell to have any effect."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "Imeḍqan"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Asekker n “%s” ur yeddi ara"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Aserkeb n ubleɣ “%s” ur yeddi ara"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Aselkim"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Asebter agejdan"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Snirem azeḍḍa"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
msgid "Theme name"
|
||||
msgstr "Isem n usentel"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Isem n usentel ara yettusidren si ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Mdel"
|
||||
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Semẓi"
|
||||
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "Semẓi akk"
|
||||
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "Semɣer akk"
|
||||
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "Mdel akk"
|
||||
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "Tabdart n yisfuyla"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
msgid "When to group windows"
|
||||
msgstr "Melmi ara ttusgerwen yisfuyla"
|
||||
|
||||
#: 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 ""
|
||||
"Ad iwali ma ad isegrew isfuyla seg yiwen n usnas di tebdart n yisfuyla. "
|
||||
"Azalen yellan: “never”, “auto” akked “always”."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Sken isfuyla si meṛṛa tallunin n umahil"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr ""
|
||||
"Ma yella ad ttwaseknen yisfuyla si meṛṛa tallunin n umahil neɣ ala seg win "
|
||||
"iremden."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Sken tabdart n yisfuyla ɣef yigdilen meṛṛa"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
msgstr ""
|
||||
"Ma yella ad ttwaseknen yisfuyla si meṛṛa tallunin n umahil neɣ ala ɣef "
|
||||
"uzwaran."
|
||||
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Asegrew n yisfuyla"
|
||||
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Werǧin ad tesgerweḍ isfuyla"
|
||||
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Segrew isfuyla ticki tallunt txuṣ"
|
||||
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Yalas ssegraw isfuyla"
|
||||
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Sken ɣef yigdilen meṛṛa"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Ismawen n tallunin n umahil"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Tallunt n umahil %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "Rnu tallunt n umahil"
|
||||
308
po/ru.po
308
po/ru.po
@@ -7,11 +7,11 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2017-08-11 01:33+0000\n"
|
||||
"PO-Revision-Date: 2017-09-20 11:37+0300\n"
|
||||
"Last-Translator: Stas Solovey <whats_up@tut.by>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-09-21 16:55+0300\n"
|
||||
"Last-Translator: Alexey Rubtsov <rushills@gmail.com>\n"
|
||||
"Language-Team: Русский <gnome-cyr@gnome.org>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 2.0.3\n"
|
||||
"X-Generator: Poedit 2.4.1\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -29,73 +29,11 @@ msgstr "Классический GNOME"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Данный сеанс использует классический рабочий стол GNOME"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Прикреплять модальное диалоговое окно к родительскому окну"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Этот ключ переопределяет ключ в org.gnome.mutter при запуске GNOME Shell."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Расположение кнопок в заголовке"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"Этот ключ переопределяет ключ в org.gnome.desktop.wm.preferences при запуске "
|
||||
"GNOME Shell."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Автоматически изменять размеры окна при перемещении окна к краям экрана"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Рабочие места только на основном мониторе"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Задержка изменения фокуса в режиме мыши после остановки указателя"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Только миниатюры"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Только значок приложения"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Миниатюра и значок приложения"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Отображать окна как"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Отображать окна только текущей рабочей области"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "Обзор"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Избранное"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Приложения"
|
||||
|
||||
@@ -111,73 +49,29 @@ msgstr ""
|
||||
"Список строк, содержащих идентификатор приложения (имя desktop-файла), за "
|
||||
"которым следует двоеточие и номер рабочего места"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Приложение"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Правила для рабочей области"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "Рабочая область"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Добавить правило"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Создать новое правило соответствия"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "Добавить"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:107
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Не удалось извлечь диск «%s»:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Съёмные устройства"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Открыть файлы"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Привет, мир!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Альтернативный текст приветствия."
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"Если строка не пуста, то содержащийся в ней текст будет показан при нажатии "
|
||||
"на панель."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Сообщение"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:43
|
||||
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"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Цель расширения Example — показать, как создавать расширения для Shell, само "
|
||||
"по себе оно имеет малую функциональность.\n"
|
||||
"Тем не менее, можно настроить приветственное сообщение."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Использовать дополнительную область экрана для окон"
|
||||
@@ -207,31 +101,31 @@ msgstr ""
|
||||
"умолчанию заголовки располагаются снизу). При изменении этого параметра, "
|
||||
"чтобы оно вступило в силу, необходимо перезапустить Shell."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "Места"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Не удалось смонтировать том для «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Не удалось запустить «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Не удалось смонтировать том для «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Компьютер"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Домашняя папка"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Обзор сети"
|
||||
|
||||
@@ -251,54 +145,49 @@ msgstr "Название темы"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Название темы, загружаемой из ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize)
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Вернуть"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Свернуть"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Восстановить"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Развернуть"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "Свернуть все"
|
||||
|
||||
# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize)
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "Вернуть все"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "Развернуть все"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Восстановить все"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "Закрыть все"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Индикатор рабочей области"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "Список окон"
|
||||
|
||||
@@ -316,10 +205,20 @@ msgstr ""
|
||||
"«always» — всегда."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Отображать окна со всех рабочих областей"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr ""
|
||||
"Показывать ли список окон со всех рабочих областей или только с текущей."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Показывать список окон на всех мониторах"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -327,39 +226,124 @@ msgstr ""
|
||||
"Показывать ли список окон на всех подключенных мониторах или только на "
|
||||
"основном."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Группировка окон"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Никогда не группировать окна"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Группировать окна, если место ограничено"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Всегда группировать окна"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Показывать на всех мониторах"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Индикатор рабочей области"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Названия рабочих областей"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Название"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Рабочая область %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "Добавить рабочую область"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Прикреплять модальное диалоговое окно к родительскому окну"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Этот ключ переопределяет ключ в org.gnome.mutter при запуске GNOME Shell."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Расположение кнопок в заголовке"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Этот ключ переопределяет ключ в org.gnome.desktop.wm.preferences при "
|
||||
#~ "запуске GNOME Shell."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
#~ "Автоматически изменять размеры окна при перемещении окна к краям экрана"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Рабочие места только на основном мониторе"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr "Задержка изменения фокуса в режиме мыши после остановки указателя"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Только миниатюры"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Только значок приложения"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Миниатюра и значок приложения"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Отображать окна как"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Обзор"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Приложение"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Создать новое правило соответствия"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Добавить"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Привет, мир!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Альтернативный текст приветствия."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "Если строка не пуста, то содержащийся в ней текст будет показан при "
|
||||
#~ "нажатии на панель."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Сообщение"
|
||||
|
||||
#~ 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"
|
||||
#~ "Nevertheless it’s possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "Цель расширения Example — показать, как создавать расширения для Shell, "
|
||||
#~ "само по себе оно имеет малую функциональность.\n"
|
||||
#~ "Тем не менее, можно настроить приветственное сообщение."
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Название"
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "ЦП"
|
||||
|
||||
|
||||
69
po/zh_TW.po
69
po/zh_TW.po
@@ -9,18 +9,18 @@ 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: 2020-04-17 16:03+0000\n"
|
||||
"PO-Revision-Date: 2020-05-02 16:06+0800\n"
|
||||
"POT-Creation-Date: 2020-08-12 23:03+0000\n"
|
||||
"PO-Revision-Date: 2020-09-22 23:06+0800\n"
|
||||
"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
|
||||
"Language-Team: Chinese <zh-l10n@linux.org.tw>\n"
|
||||
"Language: zh_TW\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"X-Generator: Poedit 2.4.1\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME Classic"
|
||||
|
||||
@@ -48,27 +48,14 @@ msgstr ""
|
||||
"字串的列表,每個都包含一個應用程式 id (桌面檔名稱),後面接著半形分號 \";\" 與"
|
||||
"工作區號碼"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:59
|
||||
msgid "Application"
|
||||
msgstr "應用程式"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "工作區規則"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:70
|
||||
#: extensions/auto-move-windows/prefs.js:133
|
||||
msgid "Workspace"
|
||||
msgstr "工作區"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:88
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "加入規則"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:110
|
||||
msgid "Create new matching rule"
|
||||
msgstr "建立新的比對規則"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:116
|
||||
msgid "Add"
|
||||
msgstr "加入"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
@@ -174,27 +161,27 @@ msgstr "取消最大化"
|
||||
msgid "Maximize"
|
||||
msgstr "最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:429
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "全部最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:435
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "全部取消最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:441
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "全部最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:449
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "全部取消最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:457
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "全部關閉"
|
||||
|
||||
#: extensions/window-list/extension.js:737
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "視窗列表"
|
||||
|
||||
@@ -210,7 +197,7 @@ msgstr ""
|
||||
"決定在視窗列表中何時群組視窗。可能的數值有「never」、「auto」、「always」。"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:89
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "顯示所有工作區的視窗"
|
||||
|
||||
@@ -228,28 +215,28 @@ msgid ""
|
||||
"primary one."
|
||||
msgstr "是否在所有連接的螢幕顯示視窗列表或是只出現在主要螢幕上。"
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "視窗群組"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "永不群組視窗"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "當空間受限時群組視窗"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "永遠群組視窗"
|
||||
|
||||
#: extensions/window-list/prefs.js:82
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "顯示於所有螢幕"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:209
|
||||
#: extensions/workspace-indicator/extension.js:215
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "工作區指示器"
|
||||
|
||||
@@ -266,6 +253,18 @@ msgstr "工作區 %d"
|
||||
msgid "Add Workspace"
|
||||
msgstr "新增工作區"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "應用程式"
|
||||
|
||||
#~ msgid "Workspace"
|
||||
#~ msgstr "工作區"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "建立新的比對規則"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "加入"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "名稱"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user