Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f840f70052 | ||
|
|
ef99394ffb | ||
|
|
778eebc421 | ||
|
|
97d1cbca19 | ||
|
|
a0cae3d130 | ||
|
|
01893ca048 | ||
|
|
c86a67823c |
4
NEWS
4
NEWS
@@ -1,3 +1,7 @@
|
||||
3.27.1
|
||||
======
|
||||
* updated translations (ca@valencia)
|
||||
|
||||
3.26.1
|
||||
======
|
||||
* native-window-placement: Adjust to gnome-shell changes
|
||||
|
||||
@@ -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])
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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 títol"
|
||||
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 it’s 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"
|
||||
|
||||
Reference in New Issue
Block a user