Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fb66afbf71 | ||
|
|
365fa6abc9 | ||
|
|
d7a824f35f | ||
|
|
0d8e412220 | ||
|
|
991f6ef508 | ||
|
|
37f03f5e2e | ||
|
|
b4a4ff0a06 | ||
|
|
de8876bd5e | ||
|
|
5ad272e628 | ||
|
|
3b22582752 | ||
|
|
e734fcbd21 | ||
|
|
435879c121 | ||
|
|
ed81650f55 | ||
|
|
1276a880de | ||
|
|
584016c291 | ||
|
|
9e976f06b4 | ||
|
|
369801dbeb | ||
|
|
2c3c7e8a73 | ||
|
|
bb8f34de83 | ||
|
|
6c98658fe1 | ||
|
|
3f06c2bc04 |
23
NEWS
23
NEWS
@@ -1,3 +1,26 @@
|
||||
3.38.2
|
||||
======
|
||||
* window-list: Honor changes in skip-taskbar property [Sergio; !130]
|
||||
* 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 [Ray; !145]
|
||||
|
||||
Contributors:
|
||||
Sergio Costas, Florian Müllner, Thun Pin, Ray Strode
|
||||
|
||||
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...d82ed82871
@@ -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
|
||||
|
||||
@@ -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();
|
||||
@@ -783,9 +787,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 +952,6 @@ class WindowList extends St.Widget {
|
||||
}
|
||||
|
||||
_onWindowAdded(ws, win) {
|
||||
if (win.skip_taskbar)
|
||||
return;
|
||||
|
||||
if (!this._grouped)
|
||||
this._checkGrouping();
|
||||
|
||||
@@ -1016,11 +1017,11 @@ class WindowList extends St.Widget {
|
||||
}
|
||||
}
|
||||
|
||||
_onDragBegin() {
|
||||
_monitorDrag() {
|
||||
DND.addDragMonitor(this._dragMonitor);
|
||||
}
|
||||
|
||||
_onDragEnd() {
|
||||
_stopMonitoringDrag() {
|
||||
DND.removeDragMonitor(this._dragMonitor);
|
||||
this._removeActivateTimeout();
|
||||
}
|
||||
@@ -1094,6 +1095,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;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
project('gnome-shell-extensions',
|
||||
version: '3.38.0',
|
||||
version: '3.38.2',
|
||||
meson_version: '>= 0.44.0',
|
||||
license: 'GPL2+'
|
||||
)
|
||||
|
||||
@@ -32,6 +32,7 @@ id
|
||||
is
|
||||
it
|
||||
ja
|
||||
kab
|
||||
kk
|
||||
km
|
||||
kn
|
||||
|
||||
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