Compare commits

...

10 Commits

Author SHA1 Message Date
Florian Müllner
9b93931de6 Bump version to 3.35.3
Update NEWS.
2020-01-05 13:23:09 +01:00
Florian Müllner
47a2fd36e1 Update sass submodule 2020-01-05 13:23:09 +01:00
Fran Dieguez
be19802f78 Update Galician translation 2019-12-25 14:29:08 +00:00
Florian Müllner
35746251fd Bump version to 3.35.2
Update NEWS.
2019-12-11 18:59:03 +01:00
Willy Stadnick
a2b014ccbf screenshot-window-sizer: Fix cycling through all valid sizes
When cycling through window sizes, we should skip any sizes that are
bigger than the available area. We do that, but the current code
assumes that the possible sizes are sorted, which is no longer the
case since the addition of "phone" sizes in commit 5b43d4733c.

As a result, we may now skip sizes that would fit perfectly fine.
Address this by filtering out invalid sizes beforehand instead of
assuming a certain order (wich no longer work due to the addition
of a portrait format).

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/97
2019-11-26 00:49:08 +01:00
Florian Müllner
95131dc252 workspace-indicator: Exclude DESKTOP windows from window previews
While nautilus removed its desktop support a while ago in favor of an
extension, it's still possible that some external X11 desktop icon app
is used. As DESKTOP windows cannot be moved between workspaces or stacked,
and aren't perceived as regular windows, it doesn't make sense to show
them as previews in the workspace switcher.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/93
2019-11-21 21:42:16 +00:00
Florian Müllner
f3acb27d61 window-list: Exclude DESKTOP windows from window previews
While nautilus removed its desktop support a while ago in favor of an
extension, it's still possible that some external X11 desktop icon app
is used. As DESKTOP windows cannot be moved between workspaces or stacked,
and aren't perceived as regular windows, it doesn't make sense to show
them as previews in the workspace switcher.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/93
2019-11-21 21:42:16 +00:00
Florian Müllner
a904d51cf7 window-list: Fix faking overview
The public overview properties are now read-only, so switch to the
private properties which back them to fake the overview visibility.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/96
2019-11-21 22:38:50 +01:00
Florian Müllner
30ad3d670f extensions: Stop setting GTypeName
The type name generated by gjs now includes the filename, so we
don't have to set it ourselves to make sure it's unique.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/95
2019-11-21 22:25:43 +01:00
Marco Trevisan (Treviño)
63615cb657 cleanup: Use inheritance for Actor classes instead of composition
Use GObject types when inheriting from native actor classes.

Related to https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/559

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/89
2019-11-21 21:22:26 +00:00
11 changed files with 101 additions and 452 deletions

16
NEWS
View File

@@ -1,3 +1,19 @@
3.35.3
======
Translators:
Fran Dieguez [gl]
3.35.2
======
* Adjust to gnome-shell changes [Marco, Florian; !89, !95, !96]
* window-list, workspace-indicator: Exclude DESKTOP windows from previews
[Florian; !93]
* screenshot-window-sizer: Fix cycling through all valid sizes [Willy; !97]
Contributors:
Marco Trevisan (Treviño), Florian Müllner, Willy Stadnick
3.34.1
======
* Adjust to gnome-settings-daemon plugin removals [Xiaoguang; !94]

View File

@@ -22,9 +22,8 @@ const Columns = {
ADJUSTMENT: 4,
};
const Widget = GObject.registerClass({
GTypeName: 'AutoMoveWindowsPrefsWidget',
}, class Widget extends Gtk.Grid {
const Widget = GObject.registerClass(
class Widget extends Gtk.Grid {
_init(params) {
super._init(params);
this.set_orientation(Gtk.Orientation.VERTICAL);

View File

@@ -82,7 +82,8 @@ function cycleScreenshotSizes(display, window, binding) {
// Double both axes if on a hidpi display
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
let scaledSizes = SIZES.map(size => size.map(wh => wh * scaleFactor));
let scaledSizes = SIZES.map(size => size.map(wh => wh * scaleFactor))
.filter(([w, h]) => w <= workArea.width && h <= workArea.height);
// Find the nearest 16:9 size for the current window size
let nearestIndex;
@@ -105,10 +106,7 @@ function cycleScreenshotSizes(display, window, binding) {
// get the next size up or down from ideal
let newIndex = (nearestIndex + (backwards ? -1 : 1)) % scaledSizes.length;
let newWidth, newHeight;
[newWidth, newHeight] = scaledSizes[newIndex];
if (newWidth > workArea.width || newHeight > workArea.height)
[newWidth, newHeight] = scaledSizes[0];
let [newWidth, newHeight] = scaledSizes[newIndex];
// Push the window onscreen if it would be resized offscreen
let newX = outerRect.x;

View File

@@ -132,9 +132,8 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
}
}
const WindowTitle = GObject.registerClass({
GTypeName: 'WindowListWindowTitle',
}, class WindowTitle extends St.BoxLayout {
const WindowTitle = GObject.registerClass(
class WindowTitle extends St.BoxLayout {
_init(metaWindow) {
this._metaWindow = metaWindow;
@@ -205,7 +204,6 @@ const WindowTitle = GObject.registerClass({
const BaseButton = GObject.registerClass({
GTypeName: 'WindowListBaseButton',
GTypeFlags: GObject.TypeFlags.ABSTRACT,
Properties: {
'ignore-workspace': GObject.ParamSpec.boolean(
@@ -348,9 +346,8 @@ const BaseButton = GObject.registerClass({
});
const WindowButton = GObject.registerClass({
GTypeName: 'WindowListWindowButton',
}, class WindowButton extends BaseButton {
const WindowButton = GObject.registerClass(
class WindowButton extends BaseButton {
_init(metaWindow, perMonitor, monitorIndex) {
super._init(perMonitor, monitorIndex);
@@ -480,9 +477,8 @@ class AppContextMenu extends PopupMenu.PopupMenu {
}
}
const AppButton = GObject.registerClass({
GTypeName: 'WindowListAppButton',
}, class AppButton extends BaseButton {
const AppButton = GObject.registerClass(
class AppButton extends BaseButton {
_init(app, perMonitor, monitorIndex) {
super._init(perMonitor, monitorIndex);
@@ -672,9 +668,8 @@ const AppButton = GObject.registerClass({
});
const WindowList = GObject.registerClass({
GTypeName: 'WindowListWindowList',
}, class WindowList extends St.Widget {
const WindowList = GObject.registerClass(
class WindowList extends St.Widget {
_init(perMonitor, monitor) {
this._perMonitor = perMonitor;
this._monitor = monitor;
@@ -923,11 +918,11 @@ const WindowList = GObject.registerClass({
}
_updateKeyboardAnchor() {
if (!Main.keyboard.actor)
if (!Main.keyboard.keyboardActor)
return;
let translationY = Main.overview.visible ? 0 : this.height;
Main.keyboard.actor.translation_y = -translationY;
Main.keyboard.keyboardActor.translation_y = -translationY;
}
_onAppStateChanged(appSys, app) {

View File

@@ -6,18 +6,17 @@ const Main = imports.ui.main;
const Overview = imports.ui.overview;
const { WorkspacesDisplay } = imports.ui.workspacesView;
let MyWorkspacesDisplay = class extends WorkspacesDisplay {
constructor() {
super();
let MyWorkspacesDisplay = GObject.registerClass(
class MyWorkspacesDisplay extends WorkspacesDisplay {
_init() {
super._init();
this.actor.add_constraint(
this.add_constraint(
new Layout.MonitorConstraint({
primary: true,
work_area: true,
}));
this.actor.connect('destroy', this._onDestroy.bind(this));
this._workareasChangedId = global.display.connect('workareas-changed',
this._onWorkAreasChanged.bind(this));
this._onWorkAreasChanged();
@@ -50,8 +49,8 @@ let MyWorkspacesDisplay = class extends WorkspacesDisplay {
super._updateWorkspacesViews();
this._workspacesViews.forEach(v => {
Main.layoutManager.overviewGroup.remove_actor(v.actor);
Main.windowPicker.add_actor(v.actor);
Main.layoutManager.overviewGroup.remove_actor(v);
Main.windowPicker.add_actor(v);
});
}
@@ -59,11 +58,12 @@ let MyWorkspacesDisplay = class extends WorkspacesDisplay {
if (this._workareasChangedId)
global.display.disconnect(this._workareasChangedId);
this._workareasChangedId = 0;
super._onDestroy();
}
};
});
var WindowPicker = GObject.registerClass({
GTypeName: 'WindowListWindowPicker',
Signals: {
'open-state-changed': { param_types: [GObject.TYPE_BOOLEAN] },
},
@@ -98,7 +98,7 @@ var WindowPicker = GObject.registerClass({
Main.overview.addAction = a => this._backgroundGroup.add_action(a);
this._workspacesDisplay = new MyWorkspacesDisplay();
this.add_child(this._workspacesDisplay.actor);
this.add_child(this._workspacesDisplay);
Main.overview.addAction = addActionOrig;
@@ -174,12 +174,12 @@ var WindowPicker = GObject.registerClass({
}
_fakeOverviewAnimation(onComplete) {
Main.overview.animationInProgress = true;
Main.overview._animationInProgress = true;
GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
Overview.ANIMATION_TIME,
() => {
Main.overview.animationInProgress = false;
Main.overview._animationInProgress = false;
if (onComplete)
onComplete();
});
@@ -187,7 +187,7 @@ var WindowPicker = GObject.registerClass({
_fakeOverviewVisible(visible) {
// Fake overview state for WorkspacesDisplay
Main.overview.visible = visible;
Main.overview._visible = visible;
// Hide real windows
Main.layoutManager._inOverview = visible;

View File

@@ -9,9 +9,8 @@ const PopupMenu = imports.ui.popupMenu;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
let WindowPreview = GObject.registerClass({
GTypeName: 'WindowListWindowPreview',
}, class WindowPreview extends St.Button {
let WindowPreview = GObject.registerClass(
class WindowPreview extends St.Button {
_init(window) {
super._init({
style_class: 'window-list-window-preview',
@@ -78,6 +77,7 @@ let WindowPreview = GObject.registerClass({
_relayout() {
let monitor = Main.layoutManager.findIndexForActor(this);
this.visible = monitor === this._window.get_monitor() &&
this._window.window_type !== Meta.WindowType.DESKTOP &&
this._window.showing_on_its_workspace();
if (!this.visible)
@@ -97,9 +97,8 @@ let WindowPreview = GObject.registerClass({
}
});
let WorkspaceThumbnail = GObject.registerClass({
GTypeName: 'WindowListWorkspaceThumbnail',
}, class WorkspaceThumbnail extends St.Button {
let WorkspaceThumbnail = GObject.registerClass(
class WorkspaceThumbnail extends St.Button {
_init(index) {
super._init({
style_class: 'workspace',
@@ -204,9 +203,8 @@ let WorkspaceThumbnail = GObject.registerClass({
}
});
var WorkspaceIndicator = GObject.registerClass({
GTypeName: 'WindowListWorkspaceIndicator',
}, class WorkspaceIndicator extends PanelMenu.Button {
var WorkspaceIndicator = GObject.registerClass(
class WorkspaceIndicator extends PanelMenu.Button {
_init() {
super._init(0.0, _('Workspace Indicator'), true);
this.setMenu(new PopupMenu.PopupMenu(this, 0.0, St.Side.BOTTOM));

View File

@@ -6,9 +6,10 @@ const Main = imports.ui.main;
const Workspace = imports.ui.workspace;
const WorkspacesView = imports.ui.workspacesView;
var MyWindowOverlay = class extends Workspace.WindowOverlay {
constructor(windowClone, parentActor) {
super(windowClone, parentActor);
var MyWindowOverlay = GObject.registerClass(
class MyWindowOverlay extends Workspace.WindowOverlay {
_init(windowClone, parentActor) {
super._init(windowClone, parentActor);
this._id = null;
this._text = new St.Label({
@@ -39,21 +40,22 @@ var MyWindowOverlay = class extends Workspace.WindowOverlay {
this._text.set_position(Math.floor(textX) + 5, Math.floor(textY) + 5);
this._text.raise_top();
}
};
});
var MyWorkspace = class extends Workspace.Workspace {
constructor(metaWorkspace, monitorIndex) {
super(metaWorkspace, monitorIndex);
var MyWorkspace = GObject.registerClass(
class MyWorkspace extends Workspace.Workspace {
_init(metaWorkspace, monitorIndex) {
super._init(metaWorkspace, monitorIndex);
if (metaWorkspace && metaWorkspace.index() < 9) {
this._tip = new St.Label({
style_class: 'extension-windowsNavigator-window-tooltip',
visible: false,
});
this.actor.add_actor(this._tip);
this.add_actor(this._tip);
this.actor.connect('notify::scale-x', () => {
this._tip.set_scale(1 / this.actor.scale_x, 1 / this.actor.scale_x);
this.connect('notify::scale-x', () => {
this._tip.set_scale(1 / this.scale_x, 1 / this.scale_x);
});
} else {
this._tip = null;
@@ -67,7 +69,7 @@ var MyWorkspace = class extends Workspace.Workspace {
// Hand code this instead of using _getSpacingAndPadding
// because that fails on empty workspaces
let node = this.actor.get_theme_node();
let node = this.get_theme_node();
let padding = {
left: node.get_padding(St.Side.LEFT),
top: node.get_padding(St.Side.TOP),
@@ -111,11 +113,12 @@ var MyWorkspace = class extends Workspace.Workspace {
this._windowOverlays[i].hideTooltip();
}
}
};
});
var MyWorkspacesView = class extends WorkspacesView.WorkspacesView {
constructor(width, height, x, y, workspaces) {
super(width, height, x, y, workspaces);
var MyWorkspacesView = GObject.registerClass(
class MyWorkspacesView extends WorkspacesView.WorkspacesView {
_init(width, height, x, y, workspaces) {
super._init(width, height, x, y, workspaces);
this._pickWorkspace = false;
this._pickWindow = false;
@@ -238,7 +241,7 @@ var MyWorkspacesView = class extends WorkspacesView.WorkspacesView {
}
return false;
}
};
});
class Extension {
constructor() {

View File

@@ -15,9 +15,8 @@ const _ = Gettext.gettext;
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
const WORKSPACE_KEY = 'workspace-names';
let WindowPreview = GObject.registerClass({
GTypeName: 'WorkspaceIndicatorWindowPreview',
}, class WindowPreview extends St.Button {
let WindowPreview = GObject.registerClass(
class WindowPreview extends St.Button {
_init(window) {
super._init({
style_class: 'workspace-indicator-window-preview',
@@ -84,6 +83,7 @@ let WindowPreview = GObject.registerClass({
_relayout() {
let monitor = Main.layoutManager.findIndexForActor(this);
this.visible = monitor === this._window.get_monitor() &&
this._window.window_type !== Meta.WindowType.DESKTOP &&
this._window.showing_on_its_workspace();
if (!this.visible)
@@ -103,9 +103,8 @@ let WindowPreview = GObject.registerClass({
}
});
let WorkspaceThumbnail = GObject.registerClass({
GTypeName: 'WorkspaceIndicatorWorkspaceThumbnail',
}, class WorkspaceThumbnail extends St.Button {
let WorkspaceThumbnail = GObject.registerClass(
class WorkspaceThumbnail extends St.Button {
_init(index) {
super._init({
style_class: 'workspace',

View File

@@ -1,5 +1,5 @@
project('gnome-shell-extensions',
version: '3.34.1',
version: '3.35.3',
meson_version: '>= 0.44.0',
license: 'GPL2+'
)

405
po/gl.po
View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-25 18:13+0200\n"
"POT-Creation-Date: 2019-11-21 21:24+0000\n"
"PO-Revision-Date: 2019-12-25 15:24+0100\n"
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
"Language-Team: Galician\n"
"Language: gl\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2.1\n"
"X-Generator: Poedit 2.2.4\n"
"X-Project-Style: gnome\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
@@ -32,25 +32,25 @@ msgstr "Esta sesión iniciarao en GNOME clásico"
msgid "Favorites"
msgstr "Favoritos"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Aplicativos"
msgstr "Aplicacións"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
msgid "Application and workspace list"
msgstr "Lista de aplicativos e espazos de traballo"
msgstr "Lista de aplicacións e espazos de traballo"
#: 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 ""
"Unha lista de cadeas, cada unha das cales contén un id de aplicativo (nome de "
"Unha lista de cadeas, cada unha das cales contén un id de aplicación (nome de "
"ficheiro desktop), seguido por unha coma e o número do espazo de traballo"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Aplicativo"
msgstr "Aplicación"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
@@ -70,17 +70,17 @@ msgid "Add"
msgstr "Engadir"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:103
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Fallo ao extraer a unidade «%s»:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:119
msgid "Removable devices"
msgstr "Dispositivos extraíbeis"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:146
msgid "Open Files"
msgstr "Abrir ficheiros"
@@ -131,11 +131,11 @@ msgstr "Produciuse un fallo ao montar o volume para «%s»"
msgid "Computer"
msgstr "Computador"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Cartafol persoal"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Explorar a rede"
@@ -155,23 +155,23 @@ msgstr "Nome do tema"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "O nome do tema, a cargar desde ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Pechar"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Restabelecer"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimizar"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Restaurar"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maximizar"
@@ -208,7 +208,7 @@ msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”."
msgstr ""
"Decide cando agrupar as xanelas do mesmo aplicativo na lista de xanelas. Os "
"Decide cando agrupar as xanelas da mesma aplicación na lista de xanelas. Os "
"valores posíbeis son «never» (nunca), «auto» (automático) e «always» (sempre)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
@@ -258,374 +258,15 @@ msgstr "Mostrar en todos os monitores"
msgid "Workspace Indicator"
msgstr "Indicador de espazo de traballo"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:129
msgid "Workspace Names"
msgstr "Nomes dos espazos de traballo"
#: extensions/workspace-indicator/prefs.js:151
#: extensions/workspace-indicator/prefs.js:149
msgid "Name"
msgstr "Nome"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:189
#, javascript-format
msgid "Workspace %d"
msgstr "Espazos de traballo %d"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Anexar o diálogo modal á xanela pai"
#~ msgid ""
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
#~ msgstr ""
#~ "Esta chave sobrescribe a chave en org.gnome.mutter cando executa GNOME Shell."
#~ msgid "Arrangement of buttons on the titlebar"
#~ msgstr "Ordenación dos botóns na barra de título"
#~ msgid ""
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when running "
#~ "GNOME Shell."
#~ msgstr ""
#~ "Esta chave sobrescribe a chave en org.gnome.desktop.wm.preferences ao "
#~ "executar GNOME Shell."
#~ msgid "Enable edge tiling when dropping windows on screen edges"
#~ msgstr "Activar o mosaico nos bordos ao arrastrar xanelas aos bordos da xanela"
#~ msgid "Workspaces only on primary monitor"
#~ msgstr "Espazos de traballo só no monitor primario"
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
#~ msgstr ""
#~ "Atrasar o cambio de foco no modo rato até que o punteiro se deteña ao moverse"
#~ msgid "Thumbnail only"
#~ msgstr "Só miniaturas"
#~ msgid "Application icon only"
#~ msgstr "Só icona do aplicativo"
#~ msgid "Thumbnail and application icon"
#~ msgstr "Miniatura e icona do aplicativo"
#~ msgid "Present windows as"
#~ msgstr "Presentar xanelas como"
#~ msgid "Activities Overview"
#~ msgstr "Vista xeral de actividades"
#~ msgid "Hello, world!"
#~ msgstr "Hola, mundo!"
#~ msgid "Alternative greeting text."
#~ msgstr "Texto de benvida alternativo"
#~ msgid ""
#~ "If not empty, it contains the text that will be shown when clicking on the "
#~ "panel."
#~ msgstr ""
#~ "Se non está baleiro, contén o texto que se despregará ao premer sobre o panel"
#~ msgid "Message"
#~ msgstr "Mensaxe"
#~ 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 its possible to customize the greeting message."
#~ msgstr ""
#~ "«Exemplo» pretende mostrar como construir extensións de bo comportamento "
#~ "para a Shell e por iso ten pouca funcionalidade por si só.\n"
#~ "Porén, é posíbel personalizar a mensaxe de benvida."
#~ msgid "CPU"
#~ msgstr "CPU"
#~ msgid "Memory"
#~ msgstr "Memoria"
#~ msgid "GNOME Shell Classic"
#~ msgstr "GNOME Shell clásico"
#~ msgid "Window management and application launching"
#~ msgstr "Xestor de xanelas e inicio de aplicativos"
#~ msgid "Suspend"
#~ msgstr "Suspender"
#~ msgid "Hibernate"
#~ msgstr "Hibernar"
#~ msgid "Power Off"
#~ msgstr "Apagar"
#~ msgid "Enable suspending"
#~ msgstr "Activar a suspensión"
#~ msgid "Control the visibility of the Suspend menu item"
#~ msgstr "Controla a visibilidade do elemento de menú «Suspender»"
#~ msgid "Enable hibernating"
#~ msgstr "Activar hibernación"
#~ msgid "Control the visibility of the Hibernate menu item"
#~ msgstr "Controla a visibilidade do elemento de menú «Hibernar»"
#~ msgid "Normal"
#~ msgstr "Normal"
#~ msgid "Left"
#~ msgstr "Esquerda"
#~ msgid "Right"
#~ msgstr "Dereita"
#~ msgid "Upside-down"
#~ msgstr "Co de arriba cara abaixo"
#~ msgid "Display"
#~ msgstr "Pantalla"
#~ msgid "Display Settings"
#~ msgstr "Preferencias da pantalla"
#~ msgid "Devices"
#~ msgstr "Dispositivos"
#~ msgid "Bookmarks"
#~ msgstr "Marcadores"
#~ msgid "Network"
#~ msgstr "Rede"
#~ msgid "File System"
#~ msgstr "Sistema de ficheiros"
#~ msgid "The application icon mode."
#~ msgstr "O modo da icona do aplicativo."
#~ msgid ""
#~ "Configures how the windows are shown in the switcher. Valid possibilities "
#~ "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
#~ "only' (shows only the application icon) or 'both'."
#~ msgstr ""
#~ "Configura como se mostran as xanelas no intercambiador. As opcións posíbeis "
#~ "son «thumbnail-only» (mostra unha miniatura da xanela, «app-icon-only» (só "
#~ "mostra a icona do aplicativo) ou «both» (móstranse ambas cosas)."
#~ msgid "Drag here to add favorites"
#~ msgstr "Arrastre aquí para engadir aos favoritos"
#~ msgid "New Window"
#~ msgstr "Nova xanela"
#~ msgid "Quit Application"
#~ msgstr "Saír do aplicativo"
#~ msgid "Remove from Favorites"
#~ msgstr "Eliminar dos favoritos"
#~ msgid "Position of the dock"
#~ msgstr "Posición da doca"
#~ msgid ""
#~ "Sets the position of the dock in the screen. Allowed values are 'right' or "
#~ "'left'"
#~ msgstr ""
#~ "Estabelece a posición da doca na pantalla. Os valores permitidos son «right» "
#~ "e «left»"
#~ msgid "Icon size"
#~ msgstr "Tamaño da icona"
#~ msgid "Sets icon size of the dock."
#~ msgstr "Estabelece o tamaño das iconas na doca."
#~ msgid "Enable/disable autohide"
#~ msgstr "Activar/desactivar autoagochado"
#~ msgid "Autohide effect"
#~ msgstr "Efecto de autoagochado"
#~ msgid ""
#~ "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
#~ "'move'"
#~ msgstr ""
#~ "Estabelece o efecto de agochado da doca. Os valores permitidos son "
#~ "«resize» (redimensionar( e «rescale» (re-escalar) e «move» (mover)"
#~ msgid "Autohide duration"
#~ msgstr "Duración do autoagochado"
#~ msgid "Sets the time duration of the autohide effect."
#~ msgstr "Estabelece a duración do efecto de autoagochado."
#~ msgid "Monitor"
#~ msgstr "Pantalla"
#~ msgid ""
#~ "Sets monitor to display dock in. The default value (-1) is the primary "
#~ "monitor."
#~ msgstr ""
#~ "Estabelece a pantalla na que mostrar o taboleiro. O valor predeterminado es "
#~ "(-1), que é a pantalla principal."
#~ msgid "%s is away."
#~ msgstr "%s está ausente."
#~ msgid "%s is offline."
#~ msgstr "%s está desconectado."
#~ msgid "%s is online."
#~ msgstr "%s está conectado."
#~ msgid "%s is busy."
#~ msgstr "%s está ocupado."
#~ msgid "Removable Devices"
#~ msgstr "Dispositivos extraíbeis"
#~ msgid "Configure display settings..."
#~ msgstr "Configurar as preferencias de pantalla…"
#~ msgid "The alt tab behaviour."
#~ msgstr "O comportamento de Alt+Tab"
#~ msgid ""
#~ "Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and "
#~ "workspace_icons. See the configuration dialogs for details."
#~ msgstr ""
#~ "Estabelece o comportamento do Alt+Tab. Os valores posíbeis son: "
#~ "«native» (nativo), «all_thumbnails» (todo e miniaturas) e "
#~ "«worspace_icons» (iconas de áreas de traballo). Para obter información máis "
#~ "detallada, consulte a configuración dos diálogos."
#~ msgid ""
#~ "This mode presents all applications from all workspaces in one selection "
#~ "list. Instead of using the application icon of every window, it uses small "
#~ "thumbnails resembling the window itself."
#~ msgstr ""
#~ "Este modo presenta todos os aplicativos de todas as áreas de traballo nunha "
#~ "lista de selección. No lugar de usar a icona de aplicativo de cada xanela, "
#~ "usa pequenas miniaturas que semellan a propia xanela."
#~ msgid "Workspace & Icons"
#~ msgstr "Espazos de traballo e iconas"
#~ msgid ""
#~ "This mode let's you switch between the applications of your current "
#~ "workspace and gives you additionally the option to switch to the last used "
#~ "application of your previous workspace. This is always the last symbol in "
#~ "the list and is segregated by a separator/vertical line if available. \n"
#~ "Every window is represented by its application icon."
#~ msgstr ""
#~ "Este modo permítelle alternar entre os aplicativos da súa área de traballo "
#~ "actual e dálle a opción de cambiar ao último aplicativo empregada da súa "
#~ "área de traballo anterior. Este sempre é o último símbolo da lista e está "
#~ "separado por un separador/liña vertical se está dispoñíbel.\n"
#~ "Cada xanela está representada pola súa icona de aplicativo."
#~ msgid "Move current selection to front before closing the popup"
#~ msgstr "Mover a selección actual ao frente antes de pechar a xanela emerxente"
#~ msgid ""
#~ "The Alternate Tab can be used in different modes, that affect the way "
#~ "windows are chosen and presented."
#~ msgstr ""
#~ "A combinación de teclas Alt+Tab pódese usar en diferentes modos, que afectan "
#~ "á maneira na que se elixen e presentan as xanelas."
#~ msgid "Notifications"
#~ msgstr "Notificacións"
#~ msgid "Online Accounts"
#~ msgstr "Contas en liña"
#~ msgid "Lock Screen"
#~ msgstr "Bloquear Pantaia"
#~ msgid "Switch User"
#~ msgstr "Trocar de Usario"
#~ msgid "Log Out..."
#~ msgstr "Sair da sesión"
#~ msgid ""
#~ "This is the first time you use the Alternate Tab extension. \n"
#~ "Please choose your preferred behaviour:\n"
#~ "\n"
#~ "All & Thumbnails:\n"
#~ " This mode presents all applications from all workspaces in one "
#~ "selection \n"
#~ " list. Instead of using the application icon of every window, it uses "
#~ "small \n"
#~ " thumbnails resembling the window itself. \n"
#~ "\n"
#~ "Workspace & Icons:\n"
#~ " This mode let's you switch between the applications of your current \n"
#~ " workspace and gives you additionally the option to switch to the last "
#~ "used \n"
#~ " application of your previous workspace. This is always the last symbol "
#~ "in \n"
#~ " the list and is segregated by a separator/vertical line if available. \n"
#~ " Every window is represented by its application icon. \n"
#~ "\n"
#~ "Native:\n"
#~ " This mode is the native GNOME 3 behaviour or in other words: Clicking \n"
#~ " native switches the Alternate Tab extension off. \n"
#~ msgstr ""
#~ "É a primeira vez que usa a extensión de Tab alternativo.\n"
#~ "Seleccione o comportamento prefirido:\n"
#~ "\n"
#~ "Todo e miniaturas:\n"
#~ " Este modo mostra tódolos aplicativos de tódolos espazos de traballa "
#~ "nunha\n"
#~ " lista de selección. No lugar de usar as iconas de aplicativos para cada\n"
#~ " xanela, usa miniaturas pequenas que representan as xanelas.\n"
#~ "\n"
#~ "Espazos de traballo e iconas:\n"
#~ " Este modo permítelle cambiar entre os aplicativos do seu espazo de "
#~ "traballo \n"
#~ " actual e permítelle engadir a opción de cambiar entre o último "
#~ "aplicativo\n"
#~ " usado do seu espazo de traballo anterior. Sempre é o último símbolo na\n"
#~ " lista e está separado por unha liña separador/vertical se está "
#~ "dispoñíbel.\n"
#~ " Cada xanela está representada pola icona do aplicativo.\n"
#~ "\n"
#~ "Nativo:\n"
#~ " Este modo é o comportamento nativo de GNOME 3 ou noutras palabras: ao \n"
#~ " seleccionar nativo desactiva a extensión Tab alternativo.\n"
#~ msgid "Alt Tab Behaviour"
#~ msgstr "Comportamento do Alt Tab"
#~ msgid "Native"
#~ msgstr "Nativa"
#~ msgid "Cancel"
#~ msgstr "Cancelar"
#~ msgid "Ask the user for a default behaviour if true."
#~ msgstr "Preguntarlle o comportamento predeterminado ao usuario se é certo."
#~ msgid "Indicates if Alternate Tab is newly installed"
#~ msgstr "Indica se o Tab alternativo está instalado recentemente"
#~ msgid ""
#~ "The algorithm used to layout thumbnails in the overview. 'grid' to use the "
#~ "default grid based algorithm, 'natural' to use another one that reflects "
#~ "more the position and size of the actual window"
#~ msgstr ""
#~ "O algoritmo usado pola disposición de miniaturas na vista previa. «grid» "
#~ "para usar o algoritmo predeterminado baseado na grella, «natural» para usar "
#~ "outro que reflexa máis a posición e tamaño da xanela actual"
#~ msgid "Window placement strategy"
#~ msgstr "Estratexia de disposición de xanelas"
#~ msgid "Available"
#~ msgstr "Dispoñible"
#~ msgid "Busy"
#~ msgstr "Ocupado"