Compare commits

...

7 Commits

Author SHA1 Message Date
Florian Müllner
f840f70052 Bump version to 3.27.1
Update NEWS.
2017-10-17 17:51:35 +02:00
Florian Müllner
ef99394ffb nativeWindowPlacement: Use custom strategy to hook into layout
Instead of copying a long function for a single changed line, wrap the
layout algorithm in a LayoutStrategy so the workspace code picks it
up without modifications.

https://bugzilla.gnome.org/show_bug.cgi?id=787934
2017-10-13 16:08:07 +02:00
Florian Müllner
778eebc421 nativeWindowPlacement: Handle captions-on-top settings changes
Currently the injection to move title captions to the top depends on
the value of the setting at the time the extension is enabled.
Instead, do the injections unconditionally and query the setting
inside the function to pick up settings changes.

https://bugzilla.gnome.org/show_bug.cgi?id=787934
2017-10-13 16:08:07 +02:00
Florian Müllner
97d1cbca19 naturalWindowPlacement: Don't copy relayout() function
To move title captions to the top, we can simply apply a translation
before calling the unmodified original function.

https://bugzilla.gnome.org/show_bug.cgi?id=787934
2017-10-13 16:08:07 +02:00
Florian Müllner
a0cae3d130 naturalWindowPlacement: Remove unused stuff
https://bugzilla.gnome.org/show_bug.cgi?id=787934
2017-10-13 16:08:07 +02:00
Florian Müllner
01893ca048 apps-menu: Fix whitespace errors 2017-10-13 16:08:07 +02:00
Xavi Ivars
c86a67823c [l10n] Updated Catalan (Valencian) translation 2017-10-05 14:01:50 +02:00
5 changed files with 185 additions and 315 deletions

4
NEWS
View File

@@ -1,3 +1,7 @@
3.27.1
======
* updated translations (ca@valencia)
3.26.1
======
* native-window-placement: Adjust to gnome-shell changes

View File

@@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell-extensions],[3.26.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=extensions])
AC_INIT([gnome-shell-extensions],[3.27.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=extensions])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([config])

View File

@@ -36,7 +36,7 @@ const ActivitiesMenuItem = new Lang.Class({
Extends: PopupMenu.PopupBaseMenuItem,
_init: function(button) {
this.parent();
this.parent();
this._button = button;
this.actor.add_child(new St.Label({ text: _("Activities Overview") }));
},
@@ -44,7 +44,7 @@ const ActivitiesMenuItem = new Lang.Class({
activate: function(event) {
this._button.menu.toggle();
Main.overview.toggle();
this.parent(event);
this.parent(event);
},
});
@@ -53,8 +53,8 @@ const ApplicationMenuItem = new Lang.Class({
Extends: PopupMenu.PopupBaseMenuItem,
_init: function(button, app) {
this.parent();
this._app = app;
this.parent();
this._app = app;
this._button = button;
this._iconBin = new St.Bin();
@@ -93,10 +93,10 @@ const ApplicationMenuItem = new Lang.Class({
},
activate: function(event) {
this._app.open_new_window(-1);
this._app.open_new_window(-1);
this._button.selectCategory(null, null);
this._button.menu.toggle();
this.parent(event);
this.parent(event);
},
setActive: function(active, params) {
@@ -127,8 +127,8 @@ const CategoryMenuItem = new Lang.Class({
Extends: PopupMenu.PopupBaseMenuItem,
_init: function(button, category) {
this.parent();
this._category = category;
this.parent();
this._category = category;
this._button = button;
this._oldX = -1;
@@ -147,7 +147,7 @@ const CategoryMenuItem = new Lang.Class({
activate: function(event) {
this._button.selectCategory(this._category, this);
this._button.scrollToCatButton(this);
this.parent(event);
this.parent(event);
},
_isNavigatingSubmenu: function([x, y]) {
@@ -249,7 +249,7 @@ const ApplicationsMenu = new Lang.Class({
},
isEmpty: function() {
return false;
return false;
},
open: function(animate) {

View File

@@ -1,24 +1,7 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
// import just everything from workspace.js:
const Clutter = imports.gi.Clutter;
const Gio = imports.gi.Gio;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
const Pango = imports.gi.Pango;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const Signals = imports.signals;
const DND = imports.ui.dnd;
const Lightbox = imports.ui.lightbox;
const Main = imports.ui.main;
const Overview = imports.ui.overview;
const Panel = imports.ui.panel;
const Tweener = imports.ui.tweener;
const Workspace = imports.ui.workspace;
const WindowPositionFlags = Workspace.WindowPositionFlags;
const ExtensionUtils = imports.misc.extensionUtils;
const Me = ExtensionUtils.getCurrentExtension();
@@ -31,25 +14,6 @@ const WINDOW_PLACEMENT_NATURAL_ACCURACY = 20; // accuracy
const WINDOW_PLACEMENT_NATURAL_GAPS = 5; // half of the minimum gap between windows
const WINDOW_PLACEMENT_NATURAL_MAX_TRANSLATIONS = 5000; // safety limit for preventing endless loop if something is wrong in the algorithm
const PLACE_WINDOW_CAPTIONS_ON_TOP = true; // place window titles in overview on top of windows with overlap parameter
const WORKSPACE_BORDER_GAP = 10; // minimum gap between the workspace area and the workspace selector
const WINDOW_AREA_TOP_GAP = 20; // minimum gap between the workspace area and the top border. This keeps window captions and close buttons visible. 13px (26/2) should currently be enough.
const BUTTON_LAYOUT_SCHEMA = 'org.gnome.desktop.wm.preferences';
const BUTTON_LAYOUT_KEY = 'button-layout';
function injectToFunction(parent, name, func) {
let origin = parent[name];
parent[name] = function() {
let ret;
ret = origin.apply(this, arguments);
if (ret === undefined)
ret = func.apply(this, arguments);
return ret;
}
}
const Rect = new Lang.Class({
Name: 'NativeWindowPlacement.Rect',
@@ -110,40 +74,31 @@ const Rect = new Lang.Class({
}
});
let winInjections, workspaceInjections, connectedSignals;
const NaturalLayoutStrategy = new Lang.Class({
Name: 'NaturalLayoutStrategy',
Extends: Workspace.LayoutStrategy,
function resetState() {
winInjections = { };
workspaceInjections = { };
connectedSignals = [ ];
}
_init: function(settings) {
this._settings = settings;
},
function enable() {
resetState();
let settings = Convenience.getSettings();
let useMoreScreen = settings.get_boolean('use-more-screen');
let windowCaptionsOnTop = settings.get_boolean('window-captions-on-top');
let signalId = settings.connect('changed::use-more-screen', function() {
useMoreScreen = settings.get_boolean('use-more-screen');
});
connectedSignals.push({ obj: settings, id: signalId });
computeLayout: function(windows, layout) {
layout.windows = windows;
},
/**
* _calculateWindowTransformationsNatural:
* @clones: Array of #MetaWindow
*
* Returns clones with matching target coordinates and scales to arrange windows in a natural way that no overlap exists and relative window size is preserved.
* This function is almost a 1:1 copy of the function
* PresentWindowsEffect::calculateWindowTransformationsNatural() from KDE, see:
* https://projects.kde.org/projects/kde/kdebase/kde-workspace/repository/revisions/master/entry/kwin/effects/presentwindows/presentwindows.cpp
*/
Workspace.Workspace.prototype._calculateWindowTransformationsNatural = function(clones, area) {
computeWindowSlots: function(layout, area) {
// As we are using pseudo-random movement (See "slot") we need to make sure the list
// is always sorted the same way no matter which window is currently active.
let area_rect = new Rect(area.x, area.y, area.width, area.height);
let bounds = area_rect.copy();
let clones = layout.windows;
let direction = 0;
let directions = [];
@@ -201,7 +156,7 @@ function enable() {
rects[j].translate(diff[0], diff[1]);
if (useMoreScreen) {
if (this._settings.get_boolean('use-more-screen')) {
// Try to keep the bounding rect the same aspect as the screen so that more
// screen real estate is utilised. We do this by splitting the screen into nine
// equal sections, if the window center is in any of the corner sections pull the
@@ -291,157 +246,39 @@ function enable() {
return slots;
}
workspaceInjections['_calculateWindowTransformationsNatural'] = undefined;
});
/**
* _updateWindowPositions:
* @flags:
* INITIAL - this is the initial positioning of the windows.
* ANIMATE - Indicates that we need animate changing position.
*/
workspaceInjections['_updateWindowPositions'] = Workspace.Workspace.prototype._updateWindowPositions;
Workspace.Workspace.prototype._updateWindowPositions = function(flags) {
if (this._currentLayout == null) {
this._recalculateWindowPositions(flags);
return;
}
let winInjections, workspaceInjections;
let initialPositioning = flags & WindowPositionFlags.INITIAL;
let animate = flags & WindowPositionFlags.ANIMATE;
function resetState() {
winInjections = { };
workspaceInjections = { };
}
let layout = this._currentLayout;
let strategy = layout.strategy;
function enable() {
resetState();
let [, , padding] = this._getSpacingAndPadding();
let area = Workspace.padArea(this._actualGeometry, padding);
/// EDIT replace this version by our own:
//let slots = strategy.computeWindowSlots(layout, area);
/// EDIT copied from _realRecalculateWindowPositions:
let clones = this._windows.slice();
if (clones.length == 0)
return;
clones.sort(function(a, b) {
return a.metaWindow.get_stable_sequence() - b.metaWindow.get_stable_sequence();
});
if (this._reservedSlot)
clones.push(this._reservedSlot);
/// EDIT our own window placement function:
let slots = this._calculateWindowTransformationsNatural(clones, area);
let currentWorkspace = global.screen.get_active_workspace();
let isOnCurrentWorkspace = this.metaWorkspace == null || this.metaWorkspace == currentWorkspace;
for (let i = 0; i < slots.length; i++) {
let slot = slots[i];
let [x, y, scale, clone] = slot;
let metaWindow = clone.metaWindow;
let overlay = clone.overlay;
clone.slotId = i;
// Positioning a window currently being dragged must be avoided;
// we'll just leave a blank spot in the layout for it.
if (clone.inDrag)
continue;
let cloneWidth = clone.actor.width * scale;
let cloneHeight = clone.actor.height * scale;
clone.slot = [x, y, cloneWidth, cloneHeight];
if (overlay && (initialPositioning || !clone.positioned))
overlay.hide();
if (!clone.positioned) {
// This window appeared after the overview was already up
// Grow the clone from the center of the slot
clone.actor.x = x + cloneWidth / 2;
clone.actor.y = y + cloneHeight / 2;
clone.actor.scale_x = 0;
clone.actor.scale_y = 0;
clone.positioned = true;
}
if (animate && isOnCurrentWorkspace) {
if (!metaWindow.showing_on_its_workspace()) {
/* Hidden windows should fade in and grow
* therefore we need to resize them now so they
* can be scaled up later */
if (initialPositioning) {
clone.actor.opacity = 0;
clone.actor.scale_x = 0;
clone.actor.scale_y = 0;
clone.actor.x = x;
clone.actor.y = y;
}
Tweener.addTween(clone.actor,
{ opacity: 255,
time: Overview.ANIMATION_TIME,
transition: 'easeInQuad'
});
}
this._animateClone(clone, overlay, x, y, scale, initialPositioning);
} else {
// cancel any active tweens (otherwise they might override our changes)
Tweener.removeTweens(clone.actor);
clone.actor.set_position(x, y);
clone.actor.set_scale(scale, scale);
clone.overlay.relayout(false);
this._showWindowOverlay(clone, overlay, isOnCurrentWorkspace);
}
}
}
let settings = Convenience.getSettings();
workspaceInjections['_getBestLayout'] = Workspace.Workspace.prototype._getBestLayout;
Workspace.Workspace.prototype._getBestLayout = function(windows) {
let strategy = new NaturalLayoutStrategy(settings);
let layout = { strategy };
strategy.computeLayout(windows, layout);
return layout;
}
/// position window titles on top of windows in overlay ////
if (windowCaptionsOnTop) {
winInjections['relayout'] = Workspace.WindowOverlay.prototype.relayout;
Workspace.WindowOverlay.prototype.relayout = function(animate) {
if (settings.get_boolean('window-captions-on-top')) {
let [, , , cloneHeight] = this._windowClone.slot;
this.title.translation_y = -cloneHeight;
}
/// This is almost a direct copy of the original relayout function. Differences are marked.
winInjections['relayout'] = Workspace.WindowOverlay.prototype.relayout;
Workspace.WindowOverlay.prototype.relayout = function(animate) {
winInjections['relayout'].call(this, animate);
let title = this.title;
let border = this.border;
this._parentActor.set_child_above_sibling(title, border);
Tweener.removeTweens(title);
let [cloneX, cloneY, cloneWidth, cloneHeight] = this._windowClone.slot;
// Clutter.Actor.get_preferred_width() will return the fixed width if one
// is set, so we need to reset the width by calling set_width(-1), to forward
// the call down to StLabel.
// We also need to save and restore the current width, otherwise the animation
// starts from the wrong point.
let prevTitleWidth = title.width;
title.set_width(-1);
let [titleMinWidth, titleNatWidth] = title.get_preferred_width(-1);
let titleWidth = Math.max(titleMinWidth, Math.min(titleNatWidth, cloneWidth));
title.width = prevTitleWidth;
let titleX = cloneX + (cloneWidth - titleWidth) / 2;
/// this is the actual difference to original gnome-shell:
//let titleY = cloneY + cloneHeight - (title.height - this.borderSize) / 2;
let titleY = cloneY - (title.height - this.borderSize) / 2;
if (animate)
this._animateOverlayActor(title, Math.floor(titleX), Math.floor(titleY), titleWidth);
else {
title.width = titleWidth;
title.set_position(Math.floor(titleX), Math.floor(titleY));
}
};
}
winInjections['relayout'].call(this, animate);
};
}
function removeInjection(object, injection, name) {
@@ -459,9 +296,6 @@ function disable() {
for (i in winInjections)
removeInjection(Workspace.WindowOverlay.prototype, winInjections, i);
for each (i in connectedSignals)
i.obj.disconnect(i.id);
global.stage.queue_relayout();
resetState();
}

View File

@@ -7,50 +7,45 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-17 14:40+0200\n"
"PO-Revision-Date: 2014-08-17 14:38+0200\n"
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\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-09-08 06:09+0000\n"
"PO-Revision-Date: 2017-07-08 13:29+0100\n"
"Last-Translator: Xavi Ivars <xavi.ivars@gmail.com>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
"Language: ca@valencia\n"
"Language: ca-valencia\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bits\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: ../data/gnome-classic.desktop.in.h:1
#: ../data/gnome-classic.session.desktop.in.in.h:1
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
msgstr "GNOME clàssic"
#: ../data/gnome-classic.desktop.in.h:2
#: data/gnome-classic.desktop.in:4
msgid "This session logs you into GNOME Classic"
msgstr "Esta sessió vos permet utilitzar el GNOME clàssic"
#: ../data/gnome-shell-classic.desktop.in.in.h:1
msgid "GNOME Shell Classic"
msgstr "GNOME Shell clàssic"
#: ../data/gnome-shell-classic.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Gestió de finestres i iniciació d'aplicacions"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:1
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
msgid "Attach modal dialog to the parent window"
msgstr "Adjunta el diàleg modal a la finestra pare"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:2
#: 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 ""
"Si s'executa el GNOME Shell, esta clau sobreescriu la clau «org.gnome."
"mutter»."
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:3
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
msgid "Arrangement of buttons on the titlebar"
msgstr "Disposició dels botons en la barra de ttol"
msgstr "Disposició dels botons en la barra de títol"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:4
#: 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."
@@ -58,58 +53,58 @@ msgstr ""
"Si s'executa el GNOME Shell, esta clau sobreescriu la clau «org.gnome."
"desktop.wm.preferences»."
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:5
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Habilita la tesselització a les vores en deixar anar les finestres a les "
"Habilita la tessel·lització a les vores en deixar anar les finestres a les "
"vores de la pantalla"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:6
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
msgid "Workspaces only on primary monitor"
msgstr "Els espais de treball només es mostren en el monitor principal"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:7
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"Retarda el canvi de focus, en mode ratolí, fins que el punter estiga quiet"
#: ../extensions/alternate-tab/prefs.js:20
#: extensions/alternate-tab/prefs.js:20
msgid "Thumbnail only"
msgstr "Només miniatures"
#: ../extensions/alternate-tab/prefs.js:21
#: extensions/alternate-tab/prefs.js:21
msgid "Application icon only"
msgstr "Només la icona de l'aplicació"
#: ../extensions/alternate-tab/prefs.js:22
#: extensions/alternate-tab/prefs.js:22
msgid "Thumbnail and application icon"
msgstr "Miniatura i icona de l'aplicació"
#: ../extensions/alternate-tab/prefs.js:38
#: extensions/alternate-tab/prefs.js:38
msgid "Present windows as"
msgstr "Mostra les finestres com a"
#: ../extensions/alternate-tab/prefs.js:69
#: extensions/alternate-tab/prefs.js:69
msgid "Show only windows in the current workspace"
msgstr "Mostra només les icones de l'espai de treball actual"
#: ../extensions/apps-menu/extension.js:39
#: extensions/apps-menu/extension.js:41
msgid "Activities Overview"
msgstr "Vista general d'activitats"
#: ../extensions/apps-menu/extension.js:113
#: extensions/apps-menu/extension.js:141
msgid "Favorites"
msgstr "Preferides"
#: ../extensions/apps-menu/extension.js:282
#: extensions/apps-menu/extension.js:436
msgid "Applications"
msgstr "Aplicacions"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:1
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
msgid "Application and workspace list"
msgstr "Aplicació i llista d'espais de treball"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
#: 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"
@@ -118,90 +113,94 @@ msgstr ""
"d'aplicació (nom del fitxer de l'escriptori), seguit de dos punts i el "
"número de l'espai de treball"
#: ../extensions/auto-move-windows/prefs.js:60
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Aplicació"
#: ../extensions/auto-move-windows/prefs.js:69
#: ../extensions/auto-move-windows/prefs.js:127
#: extensions/auto-move-windows/prefs.js:69
#: extensions/auto-move-windows/prefs.js:127
msgid "Workspace"
msgstr "Espai de treball"
#: ../extensions/auto-move-windows/prefs.js:85
#: extensions/auto-move-windows/prefs.js:85
msgid "Add Rule"
msgstr "Afig una regla"
#: ../extensions/auto-move-windows/prefs.js:106
#: extensions/auto-move-windows/prefs.js:106
msgid "Create new matching rule"
msgstr "Crea una regla de coincidència nova"
#: ../extensions/auto-move-windows/prefs.js:111
#: extensions/auto-move-windows/prefs.js:111
msgid "Add"
msgstr "Afig"
#: ../extensions/drive-menu/extension.js:106
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:107
#, javascript-format
msgid "Ejecting drive '%s' failed:"
msgid "Ejecting drive %s failed:"
msgstr "Ha fallat l'expulsió de la unitat «%s»:"
#: ../extensions/drive-menu/extension.js:123
#: extensions/drive-menu/extension.js:125
msgid "Removable devices"
msgstr "Dispositius extraïbles"
#: ../extensions/drive-menu/extension.js:150
msgid "Open File"
msgstr "Obri el fitxer"
#: extensions/drive-menu/extension.js:150
msgid "Open Files"
msgstr "Obri els fitxers"
#: ../extensions/example/extension.js:17
#: extensions/example/extension.js:17
msgid "Hello, world!"
msgstr "Hola, món!"
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
msgid "Alternative greeting text."
msgstr "Text de rebuda alternatiu."
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:2
#: 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 ""
"Si no és buit, conté el text que es mostrarà quan es faça clic en el quadre."
#: ../extensions/example/prefs.js:30
#: extensions/example/prefs.js:30
msgid "Message"
msgstr "Missatge"
#: ../extensions/example/prefs.js:43
#. 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."
"Nevertheless its possible to customize the greeting message."
msgstr ""
"L'«Example» està pensat com una extensió del GNOME Shell que demostri la "
"manera correcta de crear extensions. Com a extensió pròpiament dita no fa "
"gairebé res.\n"
"Tot i així permet personalitzar el missatge del rebedor."
"Tot i així permet personalitzar el missatge de benvinguda."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows"
msgstr "Utilitza més pantalla per les finestres"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
#: 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 ""
"Intenta utilitzar més espai de la pantalla per posicionar les miniatures de "
"les finestres adaptant-les al ràtio d'aspecte de la pantalla, consolidant-"
"les més per reduir la capsa que les envolta. Este paràmetre de configuració "
"només s'aplica a l'estratègia de posicionament de finestres natural."
"les finestres adaptant-les a la ràtio d'aspecte de la pantalla, consolidant-"
"les més per reduir la capsa que les envolta. Este paràmetre de "
"configuració només s'aplica a l'estratègia de posicionament de finestres "
"natural."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Place window captions on top"
msgstr "Posiciona els títols de les finestres al damunt"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
#: 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 "
@@ -209,135 +208,168 @@ msgid ""
msgstr ""
"Si és «true» (cert), posiciona el títol de la finestra damunt de la "
"miniatura corresponent, substituint el comportament per defecte del Shell de "
"posicionar-lo a baix. Cal reiniciar el Shell per tal de que este canvi tinga "
"posicionar-lo a baix. Cal reiniciar el Shell per tal que este canvi tinga "
"efecte."
#: ../extensions/places-menu/extension.js:78
#: ../extensions/places-menu/extension.js:81
#: extensions/places-menu/extension.js:78
#: extensions/places-menu/extension.js:81
msgid "Places"
msgstr "Llocs"
#: ../extensions/places-menu/placeDisplay.js:57
#: extensions/places-menu/placeDisplay.js:65
#, javascript-format
msgid "Failed to launch \"%s\""
msgid "Failed to mount volume for “%s”"
msgstr "No s'ha pogut muntar el volum «%s»"
#: extensions/places-menu/placeDisplay.js:78
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "No s'ha pogut iniciar «%s»"
#: ../extensions/places-menu/placeDisplay.js:99
#: ../extensions/places-menu/placeDisplay.js:122
#: extensions/places-menu/placeDisplay.js:137
#: extensions/places-menu/placeDisplay.js:160
msgid "Computer"
msgstr "Ordinador"
#: ../extensions/places-menu/placeDisplay.js:200
#: extensions/places-menu/placeDisplay.js:303
msgid "Home"
msgstr "Inici"
#: ../extensions/places-menu/placeDisplay.js:287
#: extensions/places-menu/placeDisplay.js:347
msgid "Browse Network"
msgstr "Navega per la xarxa"
#: ../extensions/systemMonitor/extension.js:214
msgid "CPU"
msgstr "CPU"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
msgid "Cycle Screenshot Sizes"
msgstr "Mostra cíclicament mides de captura de pantalla"
#: ../extensions/systemMonitor/extension.js:267
msgid "Memory"
msgstr "Memòria"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
msgid "Cycle Screenshot Sizes Backward"
msgstr "Mostra cíclicament cap arrere mides de captura de pantalla"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
msgid "Theme name"
msgstr "Nom del tema"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
#: 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 "El nom del tema que es carregarà des de ~/.themes/name/gnome-shell"
#: ../extensions/window-list/extension.js:110
#: extensions/window-list/extension.js:110
msgid "Close"
msgstr "Tanca"
#: ../extensions/window-list/extension.js:120
#: extensions/window-list/extension.js:129
msgid "Unminimize"
msgstr "Desminimitza"
#: ../extensions/window-list/extension.js:121
#: extensions/window-list/extension.js:130
msgid "Minimize"
msgstr "Minimitza"
#: ../extensions/window-list/extension.js:127
#: extensions/window-list/extension.js:136
msgid "Unmaximize"
msgstr "Desmaximitza"
#: ../extensions/window-list/extension.js:128
#: extensions/window-list/extension.js:137
msgid "Maximize"
msgstr "Maximitza"
#: ../extensions/window-list/extension.js:300
#: extensions/window-list/extension.js:420
msgid "Minimize all"
msgstr "Minimitza-ho tot"
#: ../extensions/window-list/extension.js:308
#: extensions/window-list/extension.js:428
msgid "Unminimize all"
msgstr "Desminimitza-ho tot"
#: ../extensions/window-list/extension.js:316
#: extensions/window-list/extension.js:436
msgid "Maximize all"
msgstr "Maximitza-ho tot"
#: ../extensions/window-list/extension.js:325
#: extensions/window-list/extension.js:445
msgid "Unmaximize all"
msgstr "Desmaximitza-ho tot"
#: ../extensions/window-list/extension.js:334
#: extensions/window-list/extension.js:454
msgid "Close all"
msgstr "Tanca-ho tot"
#: ../extensions/window-list/extension.js:644
#: ../extensions/workspace-indicator/extension.js:30
#: extensions/window-list/extension.js:678
#: extensions/workspace-indicator/extension.js:30
msgid "Workspace Indicator"
msgstr "Indicador de l'espai de treball"
#: ../extensions/window-list/extension.js:798
#: extensions/window-list/extension.js:842
msgid "Window List"
msgstr "Llista de finestres"
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:1
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
msgid "When to group windows"
msgstr "Quan s'han d'agrupar les finestres"
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:2
#: 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\"."
"Possible values are never”, “auto and always."
msgstr ""
"Decideix quan s'han d'agrupar les finestres de la mateixa aplicació a la "
"llista de finestres. Els valors possibles són: «never» (mai), "
"«auto» (automàticament) i «always» (sempre)."
#: ../extensions/window-list/prefs.js:30
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
msgid "Show the window list on all monitors"
msgstr "Mostra la llista de finestres a tots els monitors"
#: 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."
msgstr ""
"Si es mostra la llista de finestres en tots els monitors connectats o només "
"al primari."
#: extensions/window-list/prefs.js:32
msgid "Window Grouping"
msgstr "Agrupació de finestres"
#: ../extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:50
msgid "Never group windows"
msgstr "Mai agrupes les finestres"
#: ../extensions/window-list/prefs.js:50
#: extensions/window-list/prefs.js:51
msgid "Group windows when space is limited"
msgstr "Agrupa les finestres quan l'espai estiga limitat"
#: ../extensions/window-list/prefs.js:51
#: extensions/window-list/prefs.js:52
msgid "Always group windows"
msgstr "Agrupa les finestres sempre"
#: ../extensions/workspace-indicator/prefs.js:141
#: extensions/window-list/prefs.js:75
msgid "Show on all monitors"
msgstr "Mostra a tots els monitors"
#: extensions/workspace-indicator/prefs.js:141
msgid "Workspace Names"
msgstr "Noms dels espais de treball"
#: ../extensions/workspace-indicator/prefs.js:157
#: extensions/workspace-indicator/prefs.js:157
msgid "Name"
msgstr "Nom"
#: ../extensions/workspace-indicator/prefs.js:198
#: extensions/workspace-indicator/prefs.js:198
#, javascript-format
msgid "Workspace %d"
msgstr "Espai de treball %d"
#~ msgid "GNOME Shell Classic"
#~ msgstr "GNOME Shell clàssic"
#~ msgid "Window management and application launching"
#~ msgstr "Gestió de finestres i iniciació d'aplicacions"
#~ msgid "CPU"
#~ msgstr "CPU"
#~ msgid "Memory"
#~ msgstr "Memòria"