Compare commits
	
		
			70 Commits
		
	
	
		
			3.21.90
			...
			wip/ptomat
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					a1e41b6519 | ||
| 
						 | 
					8c49267658 | ||
| 
						 | 
					d0bab1f7ac | ||
| 
						 | 
					f00826f3fb | ||
| 
						 | 
					717c0ea19f | ||
| 
						 | 
					3cd8dd0f32 | ||
| 
						 | 
					aedd616346 | ||
| 
						 | 
					b3de3ff00b | ||
| 
						 | 
					b66dff8aed | ||
| 
						 | 
					ff814df03a | ||
| 
						 | 
					c9a528025c | ||
| 
						 | 
					5f3ec8a6f1 | ||
| 
						 | 
					becd29c50a | ||
| 
						 | 
					a029a35050 | ||
| 
						 | 
					d6a78d61d1 | ||
| 
						 | 
					9be46bd212 | ||
| 
						 | 
					4df3afced0 | ||
| 
						 | 
					90f8e1df80 | ||
| 
						 | 
					ea2ac89e61 | ||
| 
						 | 
					695bfb9616 | ||
| 
						 | 
					5dbdde8c15 | ||
| 
						 | 
					854bfc17ed | ||
| 
						 | 
					c8b192bcae | ||
| 
						 | 
					f07306897f | ||
| 
						 | 
					44d731fff5 | ||
| 
						 | 
					52f939f64c | ||
| 
						 | 
					f1d12c18d8 | ||
| 
						 | 
					373ebb50eb | ||
| 
						 | 
					b0b5be63b9 | ||
| 
						 | 
					68f439425b | ||
| 
						 | 
					cae4d92191 | ||
| 
						 | 
					f336295475 | ||
| 
						 | 
					06d0e7d74a | ||
| 
						 | 
					5e0e3edc7b | ||
| 
						 | 
					02a51bfa65 | ||
| 
						 | 
					dbd04df311 | ||
| 
						 | 
					e6adcd99c7 | ||
| 
						 | 
					3171819c36 | ||
| 
						 | 
					e4976b535d | ||
| 
						 | 
					06d1602f17 | ||
| 
						 | 
					603d0dfbc3 | ||
| 
						 | 
					0b6c5b4620 | ||
| 
						 | 
					d7894dbc44 | ||
| 
						 | 
					d25d8126ea | ||
| 
						 | 
					2402d3e115 | ||
| 
						 | 
					ac4284d348 | ||
| 
						 | 
					f9ef80749a | ||
| 
						 | 
					22f0d3076e | ||
| 
						 | 
					127b6dca1c | ||
| 
						 | 
					8cfff33291 | ||
| 
						 | 
					21f534c7f0 | ||
| 
						 | 
					9faa1db942 | ||
| 
						 | 
					2fc9bffb23 | ||
| 
						 | 
					f16eae45a2 | ||
| 
						 | 
					622e73c34c | ||
| 
						 | 
					eb1c3d7045 | ||
| 
						 | 
					fc26895f70 | ||
| 
						 | 
					ca224b379f | ||
| 
						 | 
					42b609b852 | ||
| 
						 | 
					a24169e2aa | ||
| 
						 | 
					144d1dca88 | ||
| 
						 | 
					38ab6ba3ec | ||
| 
						 | 
					bc6a0626c1 | ||
| 
						 | 
					497f4f4a3c | ||
| 
						 | 
					8c8c89a5f1 | ||
| 
						 | 
					d658a5148a | ||
| 
						 | 
					2c3e0dab0f | ||
| 
						 | 
					e2400e35bd | ||
| 
						 | 
					fc4562491b | ||
| 
						 | 
					6e3bedb888 | 
							
								
								
									
										45
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								NEWS
									
									
									
									
									
								
							@@ -1,3 +1,48 @@
 | 
			
		||||
3.22.0
 | 
			
		||||
======
 | 
			
		||||
* Misc. bug fixes [Florian, Rui; #771391, #771536] #771656]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
  Rui Matos, Florian Müllner
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
  Ask Hjorth Larsen [da], GNOME Translation Robot [gd], Alexandre Franke [fr],
 | 
			
		||||
  Daniel Korostil [uk], Jordi Mas [ca], Khaled Hosny [ar], David King [en_GB]
 | 
			
		||||
 | 
			
		||||
3.21.92
 | 
			
		||||
=======
 | 
			
		||||
* Adjust screen capture to work with multiple stage views [Jonas; #770128]
 | 
			
		||||
* Improve handling of cycle shortcuts [Florian; #771063]
 | 
			
		||||
* Fix windows not getting undimmed in some cases [Rui; #770163, #752524]
 | 
			
		||||
* Disable extension version check by default [Florian; #770887]
 | 
			
		||||
* Misc. bug fixes [Rui, Florian, Michael; #770382, #770888, #770328]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
  Jonas Ådahl, Michael Catanzaro, Fran Dieguez, Olivier Fourdan, Rui Matos,
 | 
			
		||||
  Florian Müllner
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
  Changwoo Ryu [ko], Baurzhan Muftakhidinov [kk], Aurimas Černius [lt],
 | 
			
		||||
  Muhammet Kara [tr], Trần Ngọc Quân [vi], A S Alam [pa], Yosef Or Boczko [he],
 | 
			
		||||
  Anders Jonsson [sv], Tiago Santos [pt], Hannie Dumoleyn [nl],
 | 
			
		||||
  Rūdolfs Mazurs [lv], Claude Paroz [fr], Arash Mousavi [fa],
 | 
			
		||||
  Fran Dieguez [gl], Stas Solovey [ru], Tom Tryfonidis [el]
 | 
			
		||||
 | 
			
		||||
3.21.91
 | 
			
		||||
=======
 | 
			
		||||
Translations:
 | 
			
		||||
  Mario Blättermann [de], Jiri Grönroos [fi], Dušan Kazik [sk],
 | 
			
		||||
  Andika Triwidada [id], Daniel Mustieles [es], Fabio Tomat [fur],
 | 
			
		||||
  Enrico Nicoletto [pt_BR], Matej Urbančič [sl], Мирослав Николић [sr, sr@latin]
 | 
			
		||||
 | 
			
		||||
3.21.90.1
 | 
			
		||||
=========
 | 
			
		||||
Contributors:
 | 
			
		||||
  Piotr Drąg
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
  Marek Černocký [cs], Balázs Úr [hu]
 | 
			
		||||
 | 
			
		||||
3.21.90
 | 
			
		||||
=======
 | 
			
		||||
* Improve on-screen keyboard on wayland [Carlos; #765009]
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
AC_PREREQ(2.63)
 | 
			
		||||
AC_INIT([gnome-shell],[3.21.90],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
 | 
			
		||||
AC_INIT([gnome-shell],[3.22.0],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
 | 
			
		||||
AX_IS_RELEASE([git-directory])
 | 
			
		||||
 | 
			
		||||
AC_CONFIG_HEADERS([config.h])
 | 
			
		||||
@@ -78,7 +78,7 @@ AC_MSG_RESULT($enable_systemd)
 | 
			
		||||
CLUTTER_MIN_VERSION=1.21.5
 | 
			
		||||
GOBJECT_INTROSPECTION_MIN_VERSION=1.49.1
 | 
			
		||||
GJS_MIN_VERSION=1.39.0
 | 
			
		||||
MUTTER_MIN_VERSION=3.21.90
 | 
			
		||||
MUTTER_MIN_VERSION=3.22.0
 | 
			
		||||
GTK_MIN_VERSION=3.15.0
 | 
			
		||||
GIO_MIN_VERSION=2.45.3
 | 
			
		||||
LIBECAL_MIN_VERSION=3.5.3
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@ Type=Application
 | 
			
		||||
Exec=gapplication launch org.gnome.Shell.PortalHelper
 | 
			
		||||
DBusActivatable=true
 | 
			
		||||
NoDisplay=true
 | 
			
		||||
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
 | 
			
		||||
Icon=network-workgroup
 | 
			
		||||
StartupNotify=true
 | 
			
		||||
OnlyShowIn=GNOME;
 | 
			
		||||
 
 | 
			
		||||
@@ -22,7 +22,7 @@
 | 
			
		||||
      </description>
 | 
			
		||||
    </key>
 | 
			
		||||
    <key name="disable-extension-version-validation" type="b">
 | 
			
		||||
      <default>false</default>
 | 
			
		||||
      <default>true</default>
 | 
			
		||||
      <summary>Disables the validation of extension version compatibility</summary>
 | 
			
		||||
      <description>
 | 
			
		||||
        GNOME Shell will only load extensions that claim to support the current
 | 
			
		||||
 
 | 
			
		||||
@@ -604,6 +604,10 @@ StScrollBar {
 | 
			
		||||
  width: 96px;
 | 
			
		||||
  height: 96px; }
 | 
			
		||||
 | 
			
		||||
/* Window Cycler */
 | 
			
		||||
.cycler-highlight {
 | 
			
		||||
  border: 5px solid #215d9c; }
 | 
			
		||||
 | 
			
		||||
/* Workspace Switcher */
 | 
			
		||||
.workspace-switcher-group {
 | 
			
		||||
  padding: 12px; }
 | 
			
		||||
 
 | 
			
		||||
 Submodule data/theme/gnome-shell-sass updated: 7ab2789464...b2190083c2
									
								
							@@ -604,6 +604,10 @@ StScrollBar {
 | 
			
		||||
  width: 96px;
 | 
			
		||||
  height: 96px; }
 | 
			
		||||
 | 
			
		||||
/* Window Cycler */
 | 
			
		||||
.cycler-highlight {
 | 
			
		||||
  border: 5px solid #215d9c; }
 | 
			
		||||
 | 
			
		||||
/* Workspace Switcher */
 | 
			
		||||
.workspace-switcher-group {
 | 
			
		||||
  padding: 12px; }
 | 
			
		||||
 
 | 
			
		||||
@@ -152,6 +152,7 @@ const Application = new Lang.Class({
 | 
			
		||||
        let scroll = new Gtk.ScrolledWindow({ hscrollbar_policy: Gtk.PolicyType.NEVER,
 | 
			
		||||
                                              shadow_type: Gtk.ShadowType.IN,
 | 
			
		||||
                                              halign: Gtk.Align.CENTER,
 | 
			
		||||
                                              propagate_natural_width: true,
 | 
			
		||||
                                              margin: 18 });
 | 
			
		||||
        this._window.add(scroll);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -804,6 +804,11 @@ const LoginDialog = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        this._user = null;
 | 
			
		||||
 | 
			
		||||
        if (this._nextSignalId) {
 | 
			
		||||
            this._authPrompt.disconnect(this._nextSignalId);
 | 
			
		||||
            this._nextSignalId = 0;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (beginRequest == AuthPrompt.BeginRequestType.PROVIDE_USERNAME) {
 | 
			
		||||
            if (!this._disableUserList)
 | 
			
		||||
                this._showUserList();
 | 
			
		||||
 
 | 
			
		||||
@@ -6,9 +6,7 @@
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const Signals = imports.signals;
 | 
			
		||||
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
const ShellJS = imports.gi.ShellJS;
 | 
			
		||||
 | 
			
		||||
const Config = imports.misc.config;
 | 
			
		||||
const FileUtils = imports.misc.fileUtils;
 | 
			
		||||
@@ -140,12 +138,11 @@ function createExtensionObject(uuid, dir, type) {
 | 
			
		||||
    return extension;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _extension = null;
 | 
			
		||||
 | 
			
		||||
function installImporter(extension) {
 | 
			
		||||
    _extension = extension;
 | 
			
		||||
    ShellJS.add_extension_importer('imports.misc.extensionUtils._extension', 'imports', extension.path);
 | 
			
		||||
    _extension = null;
 | 
			
		||||
    let oldSearchPath = imports.searchPath.slice();  // make a copy
 | 
			
		||||
    imports.searchPath = [extension.path];
 | 
			
		||||
    extension.imports = imports['.'];  // "subdir" creates a new importer object
 | 
			
		||||
    imports.searchPath = oldSearchPath;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const ExtensionFinder = new Lang.Class({
 | 
			
		||||
 
 | 
			
		||||
@@ -354,6 +354,67 @@ const AppSwitcherPopup = new Lang.Class({
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const CyclerHighlight = new Lang.Class({
 | 
			
		||||
    Name: 'CyclerHighlight',
 | 
			
		||||
 | 
			
		||||
    _init: function() {
 | 
			
		||||
        this._window = null;
 | 
			
		||||
 | 
			
		||||
        this.actor = new St.Widget({ layout_manager: new Clutter.BinLayout() });
 | 
			
		||||
 | 
			
		||||
        this._clone = new Clutter.Clone();
 | 
			
		||||
        this.actor.add_actor(this._clone);
 | 
			
		||||
 | 
			
		||||
        this._highlight = new St.Widget({ style_class: 'cycler-highlight' });
 | 
			
		||||
        this.actor.add_actor(this._highlight);
 | 
			
		||||
 | 
			
		||||
        let coordinate = Clutter.BindCoordinate.ALL;
 | 
			
		||||
        let constraint = new Clutter.BindConstraint({ coordinate: coordinate });
 | 
			
		||||
        this._clone.bind_property('source', constraint, 'source', 0);
 | 
			
		||||
 | 
			
		||||
        this.actor.add_constraint(constraint);
 | 
			
		||||
 | 
			
		||||
        this.actor.connect('notify::allocation',
 | 
			
		||||
                           Lang.bind(this, this._onAllocationChanged));
 | 
			
		||||
        this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    set window(w) {
 | 
			
		||||
        if (this._window == w)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        this._window = w;
 | 
			
		||||
 | 
			
		||||
        if (this._clone.source)
 | 
			
		||||
            this._clone.source.sync_visibility();
 | 
			
		||||
 | 
			
		||||
        let windowActor = this._window ? this._window.get_compositor_private()
 | 
			
		||||
                                       : null;
 | 
			
		||||
 | 
			
		||||
        if (windowActor)
 | 
			
		||||
            windowActor.hide();
 | 
			
		||||
 | 
			
		||||
        this._clone.source = windowActor;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onAllocationChanged: function() {
 | 
			
		||||
        if (!this._window) {
 | 
			
		||||
            this._highlight.set_size(0, 0);
 | 
			
		||||
            this._highlight.hide();
 | 
			
		||||
        } else {
 | 
			
		||||
            let [x, y] = this.actor.allocation.get_origin();
 | 
			
		||||
            let rect = this._window.get_frame_rect();
 | 
			
		||||
            this._highlight.set_size(rect.width, rect.height);
 | 
			
		||||
            this._highlight.set_position(rect.x - x, rect.y - y);
 | 
			
		||||
            this._highlight.show();
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDestroy: function() {
 | 
			
		||||
        this.window = null;
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const CyclerPopup = new Lang.Class({
 | 
			
		||||
    Name: 'CyclerPopup',
 | 
			
		||||
    Extends: SwitcherPopup.SwitcherPopup,
 | 
			
		||||
@@ -367,6 +428,9 @@ const CyclerPopup = new Lang.Class({
 | 
			
		||||
        if (this._items.length == 0)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        this._highlight = new CyclerHighlight();
 | 
			
		||||
        global.window_group.add_actor(this._highlight.actor);
 | 
			
		||||
 | 
			
		||||
        // We don't show an actual popup, so just provide what SwitcherPopup
 | 
			
		||||
        // expects instead of inheriting from SwitcherList
 | 
			
		||||
        this._switcherList = { actor: new St.Widget(),
 | 
			
		||||
@@ -375,11 +439,37 @@ const CyclerPopup = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _highlightItem: function(index, justOutline) {
 | 
			
		||||
        Main.activateWindow(this._items[index]);
 | 
			
		||||
        this._highlight.window = this._items[index];
 | 
			
		||||
        global.window_group.set_child_above_sibling(this._highlight.actor, null);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _finish: function() {
 | 
			
		||||
        this._highlightItem(this._selectedIndex);
 | 
			
		||||
        let window = this._items[this._selectedIndex];
 | 
			
		||||
        let ws = window.get_workspace();
 | 
			
		||||
        let activeWs = global.screen.get_active_workspace();
 | 
			
		||||
 | 
			
		||||
        if (window.minimized) {
 | 
			
		||||
            Main.wm.skipNextEffect(window.get_compositor_private());
 | 
			
		||||
            window.unminimize();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (activeWs == ws) {
 | 
			
		||||
            Main.activateWindow(window);
 | 
			
		||||
        } else {
 | 
			
		||||
            // If the selected window is on a different workspace, we don't
 | 
			
		||||
            // want it to disappear, then slide in with the workspace; instead,
 | 
			
		||||
            // always activate it on the active workspace ...
 | 
			
		||||
            activeWs.activate_with_focus(window, global.get_current_time());
 | 
			
		||||
 | 
			
		||||
            // ... then slide it over to the original workspace if necessary
 | 
			
		||||
            Main.wm.actionMoveWindow(window, ws);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.parent();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDestroy: function() {
 | 
			
		||||
        this._highlight.actor.destroy();
 | 
			
		||||
 | 
			
		||||
        this.parent();
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -475,6 +475,11 @@ const ChatSource = new Lang.Class({
 | 
			
		||||
            this._channel.close_async(function(channel, result) {
 | 
			
		||||
                channel.close_finish(result);
 | 
			
		||||
            });
 | 
			
		||||
        } else {
 | 
			
		||||
            // Don't indicate any unread messages when the notification
 | 
			
		||||
            // that represents them has been destroyed.
 | 
			
		||||
            this._pendingMessages = [];
 | 
			
		||||
            this.countUpdated();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Keep source alive while the channel is open
 | 
			
		||||
 
 | 
			
		||||
@@ -1632,6 +1632,8 @@ const NMApplet = new Lang.Class({
 | 
			
		||||
        this._readConnections();
 | 
			
		||||
        this._readDevices();
 | 
			
		||||
        this._syncNMState();
 | 
			
		||||
        this._syncMainConnection();
 | 
			
		||||
        this._syncVPNConnections();
 | 
			
		||||
 | 
			
		||||
        this._client.connect('notify::manager-running', Lang.bind(this, this._syncNMState));
 | 
			
		||||
        this._client.connect('notify::networking-enabled', Lang.bind(this, this._syncNMState));
 | 
			
		||||
 
 | 
			
		||||
@@ -683,6 +683,8 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        this._dimmedWindows = [];
 | 
			
		||||
 | 
			
		||||
        this._skippedActors = [];
 | 
			
		||||
 | 
			
		||||
        this._allowedKeybindings = {};
 | 
			
		||||
 | 
			
		||||
        this._isWorkspacePrepended = false;
 | 
			
		||||
@@ -1035,6 +1037,10 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
        this._workspaceTracker.keepWorkspaceAlive(workspace, duration);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    skipNextEffect: function(actor) {
 | 
			
		||||
        this._skippedActors.push(actor);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setCustomKeybindingHandler: function(name, modes, handler) {
 | 
			
		||||
        if (Meta.keybindings_set_custom_handler(name, handler))
 | 
			
		||||
            this.allowKeybinding(name, modes);
 | 
			
		||||
@@ -1061,6 +1067,9 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _shouldAnimateActor: function(actor, types) {
 | 
			
		||||
        if (this._removeEffect(this._skippedActors, actor))
 | 
			
		||||
            return false;
 | 
			
		||||
 | 
			
		||||
        if (!this._shouldAnimate())
 | 
			
		||||
            return false;
 | 
			
		||||
 | 
			
		||||
@@ -1349,9 +1358,13 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
    _hasAttachedDialogs: function(window, ignoreWindow) {
 | 
			
		||||
        var count = 0;
 | 
			
		||||
        window.foreach_transient(function(win) {
 | 
			
		||||
            if (win != ignoreWindow && win.is_attached_dialog())
 | 
			
		||||
            if (win != ignoreWindow &&
 | 
			
		||||
                win.is_attached_dialog() &&
 | 
			
		||||
                win.get_transient_for() == window) {
 | 
			
		||||
                count++;
 | 
			
		||||
            return false;
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
            return true;
 | 
			
		||||
        });
 | 
			
		||||
        return count != 0;
 | 
			
		||||
    },
 | 
			
		||||
@@ -1420,6 +1433,11 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
            actor._windowType = type;
 | 
			
		||||
        }));
 | 
			
		||||
        actor.meta_window.connect('unmanaged', Lang.bind(this, function(window) {
 | 
			
		||||
                let parent = window.get_transient_for();
 | 
			
		||||
                if (parent)
 | 
			
		||||
                    this._checkDimming(parent);
 | 
			
		||||
        }));
 | 
			
		||||
 | 
			
		||||
        if (actor.meta_window.is_attached_dialog())
 | 
			
		||||
            this._checkDimming(actor.get_meta_window().get_transient_for());
 | 
			
		||||
 
 | 
			
		||||
@@ -19,8 +19,7 @@ const WorkspaceSwitcherPopup = new Lang.Class({
 | 
			
		||||
    Name: 'WorkspaceSwitcherPopup',
 | 
			
		||||
 | 
			
		||||
    _init : function() {
 | 
			
		||||
        this.actor = new St.Widget({ reactive: true,
 | 
			
		||||
                                     x: 0,
 | 
			
		||||
        this.actor = new St.Widget({ x: 0,
 | 
			
		||||
                                     y: 0,
 | 
			
		||||
                                     width: global.screen_width,
 | 
			
		||||
                                     height: global.screen_height,
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ top_builddir = ..
 | 
			
		||||
# These options get passed to xgettext.
 | 
			
		||||
XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ \
 | 
			
		||||
        --keyword=C_:1c,2 --keyword=NC_:1c,2 \
 | 
			
		||||
        --keyword=g_dngettext:2,3 \
 | 
			
		||||
        --keyword=g_dngettext:2,3 --add-comments \
 | 
			
		||||
        --flag=g_dngettext:2:pass-c-format \
 | 
			
		||||
        --flag=g_strdup_printf:1:c-format \
 | 
			
		||||
        --flag=g_string_printf:2:c-format \
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										713
									
								
								po/ca.po
									
									
									
									
									
								
							
							
						
						
									
										713
									
								
								po/ca.po
									
									
									
									
									
								
							@@ -10,324 +10,16 @@ msgstr ""
 | 
			
		||||
"Project-Id-Version: HEAD\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2016-03-13 10:20+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2016-03-13 14:47+0100\n"
 | 
			
		||||
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
 | 
			
		||||
"POT-Creation-Date: 2016-09-16 21:22+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2016-09-16 21:22+0200\n"
 | 
			
		||||
"Last-Translator: Jordi Mas <jmas@softcatala.org>\n"
 | 
			
		||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
 | 
			
		||||
"Language: ca\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"
 | 
			
		||||
"X-Generator: Gtranslator 2.91.6\n"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:1
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "Sistema"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:2
 | 
			
		||||
msgid "Show the notification list"
 | 
			
		||||
msgstr "Mostra la llista de notificacions"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:3
 | 
			
		||||
msgid "Focus the active notification"
 | 
			
		||||
msgstr "Posa el focus en la notificació activa"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:4
 | 
			
		||||
msgid "Show the overview"
 | 
			
		||||
msgstr "Mostra la vista general"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:5
 | 
			
		||||
msgid "Show all applications"
 | 
			
		||||
msgstr "Mostra totes les aplicacions"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:6
 | 
			
		||||
msgid "Open the application menu"
 | 
			
		||||
msgstr "Obre el menú d'aplicació"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
msgstr "Preferències de les extensions del GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
 | 
			
		||||
msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
msgstr "Configureu les extensions del GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Gestor de finestres i llançador d'aplicacions"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Habilita les eines internes en el diàleg de l'Alt+F2 que són útils per als "
 | 
			
		||||
"desenvolupadors i provadors"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
 | 
			
		||||
msgid ""
 | 
			
		||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
 | 
			
		||||
"dialog."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Permet l'accés a les eines de depuració i de seguiment internes a través del "
 | 
			
		||||
"diàleg de l'Alt+F2."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
 | 
			
		||||
msgid "UUIDs of extensions to enable"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Identificadors universals únics de les extensions que s'han d'habilitar"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4
 | 
			
		||||
msgid ""
 | 
			
		||||
"GNOME Shell extensions have a UUID property; this key lists extensions which "
 | 
			
		||||
"should be loaded. Any extension that wants to be loaded needs to be in this "
 | 
			
		||||
"list. You can also manipulate this list with the EnableExtension and "
 | 
			
		||||
"DisableExtension D-Bus methods on org.gnome.Shell."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Les extensions del GNOME Shell tenen un identificador universal. Aquesta "
 | 
			
		||||
"clau conté una llista de les extensions que s'han de carregar. Qualsevol "
 | 
			
		||||
"extensió que s'hagi de carregar ha de ser a la llista. Podeu modificar "
 | 
			
		||||
"aquesta llista amb els mètodes de D-Bus «EnableExtension» (activa una "
 | 
			
		||||
"extensió) i «DisableExtension» (desactiva una extensió) a org.gnome.Shell."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
 | 
			
		||||
msgid "Disables the validation of extension version compatibility"
 | 
			
		||||
msgstr "Desactiva la validació de la compatibilitat de versió d'extensions"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:6
 | 
			
		||||
msgid ""
 | 
			
		||||
"GNOME Shell will only load extensions that claim to support the current "
 | 
			
		||||
"running version. Enabling this option will disable this check and try to "
 | 
			
		||||
"load all extensions regardless of the versions they claim to support."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"El GNOME Shell només carregarà extensions que afirmin ser compatibles amb la "
 | 
			
		||||
"versió en execució. Si s'activa aquesta opció, es desactivarà la comprovació "
 | 
			
		||||
"i es provarà de carregar totes les extensions sense tenir en compte les "
 | 
			
		||||
"versions amb què afirmin ser compatibles."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
 | 
			
		||||
msgid "List of desktop file IDs for favorite applications"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Llista d'identificadors de fitxers d'escriptori de les aplicacions preferides"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
 | 
			
		||||
msgid ""
 | 
			
		||||
"The applications corresponding to these identifiers will be displayed in the "
 | 
			
		||||
"favorites area."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Es mostraran, a l'àrea de preferits, les aplicacions que corresponguin a "
 | 
			
		||||
"aquests identificadors."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
 | 
			
		||||
msgid "App Picker View"
 | 
			
		||||
msgstr "Vista del seleccionador d'aplicacions"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:10
 | 
			
		||||
msgid "Index of the currently selected view in the application picker."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Índex de la vista seleccionada actualment en el seleccionador d'aplicacions."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:11
 | 
			
		||||
msgid "History for command (Alt-F2) dialog"
 | 
			
		||||
msgstr "Historial de les ordres utilitzades en el diàleg de l'Alt+F2"
 | 
			
		||||
 | 
			
		||||
#. Translators: looking glass is a debugger and inspector tool, see https://live.gnome.org/GnomeShell/LookingGlass
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
 | 
			
		||||
msgid "History for the looking glass dialog"
 | 
			
		||||
msgstr "Historial del depurador del GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
 | 
			
		||||
msgid "Always show the 'Log out' menu item in the user menu."
 | 
			
		||||
msgstr "Mostra sempre l'element de menú «Surt» al menú d'usuari."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
 | 
			
		||||
"user, single-session situations."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Aquesta clau sobreescriu l'ocultació automàtica de l'element de menú «Surt» "
 | 
			
		||||
"quan només hi ha un usuari i un sol tipus de sessió."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether to remember password for mounting encrypted or remote filesystems"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Si s'han de recordar les contrasenyes dels punts de muntatge encriptats o "
 | 
			
		||||
"els sistemes de fitxers remots"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will request a password when an encrypted device or a remote "
 | 
			
		||||
"filesystem is mounted. If the password can be saved for future use a "
 | 
			
		||||
"'Remember Password' checkbox will be present. This key sets the default "
 | 
			
		||||
"state of the checkbox."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"El GNOME Shell us demanarà la contrasenya quan es munti un dispositiu "
 | 
			
		||||
"encriptat o un sistema de fitxers remot. Si es pot desar la contrasenya per "
 | 
			
		||||
"utilitzar-lo en el futur, es mostrarà la casella de verificació «Recorda la "
 | 
			
		||||
"contrasenya». Aquesta clau estableix el valor per defecte d'aquesta casella "
 | 
			
		||||
"de verificació."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Si l'adaptador de Bluetooth predeterminat té dispositius configurats "
 | 
			
		||||
"associats"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"El Shell només mostrà una entrada de menú Bluetooth si un adaptador Bluetooh "
 | 
			
		||||
"està engegat, o si hi ha dispositius configurats associats a l'adaptador "
 | 
			
		||||
"predeterminat. Això es reiniciarà si l'adaptador predeterminat té "
 | 
			
		||||
"dispositius associats."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "Mostra el número de la setmana al calendari"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr "Si és «true» (cert) es mostra el número de la setmana al calendari."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
msgid "Keybinding to open the application menu"
 | 
			
		||||
msgstr "Vinculació per obrir el menú d'aplicació"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid "Keybinding to open the application menu."
 | 
			
		||||
msgstr "La vinculació per obrir el menú d'aplicació."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
msgstr "Vinculació per obrir la vista «Mostra les aplicacions»"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Vinculació per obrir la vista «Mostra les aplicacions» de les activitats de "
 | 
			
		||||
"la vista general."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
msgstr "Vinculació per obrir la vista general"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
msgstr "Vinculació per obrir la vista general d'activitats."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"La vinculació per commutar la visibilitat de la llista de notificacions"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"La vinculació per commutar la visibilitat de la llista de notificacions."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
msgid "Keybinding to focus the active notification"
 | 
			
		||||
msgstr "Vinculació per posar el focus a la notificació activa"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
msgid "Keybinding to focus the active notification."
 | 
			
		||||
msgstr "Vinculació per posar el focus a la notificació activa."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Vinculació que fa una pausa i continua tots els «tweens» en execució, per "
 | 
			
		||||
"motius de depuració"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "Quin tipus de teclat s'ha d'utilitzar"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "El tipus de teclat que s'utilitzarà."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
msgid "Limit switcher to current workspace."
 | 
			
		||||
msgstr "Limita el canviador a l'espai de treball actual."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
"shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Si és «true» (cert), només les aplicacions que tinguin finestres en l'espai "
 | 
			
		||||
"de treball actual es mostren en el canviador. En cas contrari es mostren "
 | 
			
		||||
"totes les aplicacions."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
msgid "The application icon mode."
 | 
			
		||||
msgstr "El mode d'icona de les aplicacions."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
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 ""
 | 
			
		||||
"Configureu com es mostren les finestres en l'intercanviador. Els valors "
 | 
			
		||||
"possibles són: «thumbnail-only» (mostra una miniatura de la finestra), «app-"
 | 
			
		||||
"icon-only» (mostra la icona de l'aplicació) o «both» (ambdues coses: mostra "
 | 
			
		||||
"la miniatura de la finestra i la icona de l'aplicació)."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Si és «true» (cert), només les finestres de l'espai de treball actual es "
 | 
			
		||||
"mostren en el canviador. En cas contrari, es mostren totes les finestres."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
msgid "Attach modal dialog to the parent window"
 | 
			
		||||
msgstr "Adjunta el diàleg modal a la finestra pare"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Si s'executa el GNOME Shell, aquesta clau sobreescriu la clau «org.gnome."
 | 
			
		||||
"mutter»."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Habilita la tesselització a les vores en deixar anar les finestres a les "
 | 
			
		||||
"vores de la pantalla"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
msgstr "Els espais de treball es gestionen dinàmicament"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
 | 
			
		||||
msgid "Workspaces only on primary monitor"
 | 
			
		||||
msgstr "Només en el monitor principal hi ha espais de treball"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
 | 
			
		||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Retarda el canvi del focus, quan s'està en mode ratolí, fins que el punter "
 | 
			
		||||
"no estigui quiet"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
 | 
			
		||||
msgid "Network Login"
 | 
			
		||||
msgstr "Inici de sessió de la xarxa"
 | 
			
		||||
"X-Generator: Poedit 1.8.7.1\n"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:117
 | 
			
		||||
#, javascript-format
 | 
			
		||||
@@ -340,7 +32,7 @@ msgstr "Extensions del GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:483
 | 
			
		||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
 | 
			
		||||
#: ../js/ui/status/network.js:916
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
@@ -374,7 +66,7 @@ msgstr "No esteu llistat?"
 | 
			
		||||
 | 
			
		||||
#. Translators: this message is shown below the username entry field
 | 
			
		||||
#. to clue the user in on how to login to the local network realm
 | 
			
		||||
#: ../js/gdm/loginDialog.js:854
 | 
			
		||||
#: ../js/gdm/loginDialog.js:859
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
msgstr "(p. ex. l'usuari o %s)"
 | 
			
		||||
@@ -382,12 +74,12 @@ msgstr "(p. ex. l'usuari o %s)"
 | 
			
		||||
#. TTLS and PEAP are actually much more complicated, but this complication
 | 
			
		||||
#. is not visible here since we only care about phase2 authentication
 | 
			
		||||
#. (and don't even care of which one)
 | 
			
		||||
#: ../js/gdm/loginDialog.js:859 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Nom d'usuari:"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1196
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1201
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Finestra d'entrada"
 | 
			
		||||
 | 
			
		||||
@@ -495,6 +187,16 @@ msgstr "%d de %B de %Y, a les %l∶%M %p"
 | 
			
		||||
msgid "Web Authentication Redirect"
 | 
			
		||||
msgstr "Redirecció per l'autenticació web"
 | 
			
		||||
 | 
			
		||||
#. No support for non-modal system dialogs, so ignore the option
 | 
			
		||||
#. let modal = options['modal'] || true;
 | 
			
		||||
#: ../js/ui/accessDialog.js:62 ../js/ui/status/location.js:426
 | 
			
		||||
msgid "Deny Access"
 | 
			
		||||
msgstr "Denega l'accés"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/accessDialog.js:63 ../js/ui/status/location.js:429
 | 
			
		||||
msgid "Grant Access"
 | 
			
		||||
msgstr "Permetre l'accés"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appDisplay.js:794
 | 
			
		||||
msgid "Frequently used applications will appear here"
 | 
			
		||||
msgstr "Les aplicacions utilitzades freqüentment apareixeran aquí"
 | 
			
		||||
@@ -561,7 +263,7 @@ msgstr "Canvia el fons de l'escriptori…"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Paràmetres de la pantalla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:374
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Paràmetres"
 | 
			
		||||
 | 
			
		||||
@@ -617,55 +319,55 @@ msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "Ds"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:416
 | 
			
		||||
#: ../js/ui/calendar.js:442
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "Mes anterior"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:426
 | 
			
		||||
#: ../js/ui/calendar.js:452
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Mes següent"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:579
 | 
			
		||||
#: ../js/ui/calendar.js:605
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:634
 | 
			
		||||
#: ../js/ui/calendar.js:660
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Setmana %V"
 | 
			
		||||
 | 
			
		||||
#. Translators: Shown in calendar event list for all day events
 | 
			
		||||
#. * Keep it short, best if you can use less then 10 characters
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/calendar.js:695
 | 
			
		||||
#: ../js/ui/calendar.js:721
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Tot el dia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:821
 | 
			
		||||
#: ../js/ui/calendar.js:836
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "Cites"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:830
 | 
			
		||||
#: ../js/ui/calendar.js:845
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A %d de %B"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:834
 | 
			
		||||
#: ../js/ui/calendar.js:849
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A %d de %B de %Y"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:919
 | 
			
		||||
#: ../js/ui/calendar.js:931
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Notificacions"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1070
 | 
			
		||||
#: ../js/ui/calendar.js:1082
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Cap notificació"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1073
 | 
			
		||||
#: ../js/ui/calendar.js:1085
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Cap cita"
 | 
			
		||||
 | 
			
		||||
@@ -803,7 +505,7 @@ msgstr "No ha funcionat. Torneu-ho a provar."
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the other person changing their old IM name to their new
 | 
			
		||||
#. IM name.
 | 
			
		||||
#: ../js/ui/components/telepathyClient.js:759
 | 
			
		||||
#: ../js/ui/components/telepathyClient.js:765
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s is now known as %s"
 | 
			
		||||
msgstr "En/na %s ara es diu %s"
 | 
			
		||||
@@ -936,7 +638,7 @@ msgstr[1] ""
 | 
			
		||||
"Es reiniciarà l'ordinador automàticament i s'instal·laran les "
 | 
			
		||||
"actualitzacions d'aquí %d segons."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:127
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:127 ../js/ui/endSessionDialog.js:147
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Restart & Install"
 | 
			
		||||
msgstr "Reinicia i instal·la"
 | 
			
		||||
@@ -951,30 +653,45 @@ msgctxt "checkbox"
 | 
			
		||||
msgid "Power off after updates are installed"
 | 
			
		||||
msgstr "Apaga després d'instal·lar les actualitzacions"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:338
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:137
 | 
			
		||||
msgctxt "title"
 | 
			
		||||
msgid "Restart & Install Upgrade"
 | 
			
		||||
msgstr "Reinicia i instal·la l'actualització"
 | 
			
		||||
 | 
			
		||||
#. Translators: This is the text displayed for system upgrades in the
 | 
			
		||||
#. shut down dialog. First %s gets replaced with the distro name and
 | 
			
		||||
#. second %s with the distro version to upgrade to
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:142
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"%s %s will be installed after restart. Upgrade installation can take a long "
 | 
			
		||||
"time: ensure that you have backed up and that the computer is plugged in."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:361
 | 
			
		||||
msgid "Running on battery power: please plug in before installing updates."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"S'està utilitzant la bateria: connecteu l'ordinador a la xarxa elèctrica "
 | 
			
		||||
"abans d'instal·lar les actualitzacions."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:355
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:378
 | 
			
		||||
msgid "Some applications are busy or have unsaved work."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Hi ha algunes aplicacions que estan ocupades o que tenen documents sense "
 | 
			
		||||
"desar."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:362
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:385
 | 
			
		||||
msgid "Other users are logged in."
 | 
			
		||||
msgstr "Altres usuaris tenen la sessió oberta."
 | 
			
		||||
 | 
			
		||||
#. Translators: Remote here refers to a remote session, like a ssh login
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:640
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:671
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s (remote)"
 | 
			
		||||
msgstr "%s (remot)"
 | 
			
		||||
 | 
			
		||||
#. Translators: Console here refers to a tty like a VT console
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:643
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:674
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s (console)"
 | 
			
		||||
msgstr "%s (consola)"
 | 
			
		||||
@@ -988,7 +705,7 @@ msgstr "Instal·la"
 | 
			
		||||
msgid "Download and install “%s” from extensions.gnome.org?"
 | 
			
		||||
msgstr "Voleu baixar i instal·lar «%s» d'extensions.gnome.org?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:713
 | 
			
		||||
#: ../js/ui/keyboard.js:742 ../js/ui/status/keyboard.js:782
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Teclat"
 | 
			
		||||
 | 
			
		||||
@@ -1025,7 +742,7 @@ msgstr "Habilitat"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Inhabilitat"
 | 
			
		||||
 | 
			
		||||
@@ -1073,7 +790,7 @@ msgstr "Multimèdia"
 | 
			
		||||
msgid "Undo"
 | 
			
		||||
msgstr "Desfés"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/overview.js:117
 | 
			
		||||
#: ../js/ui/overview.js:113
 | 
			
		||||
msgid "Overview"
 | 
			
		||||
msgstr "Vista general"
 | 
			
		||||
 | 
			
		||||
@@ -1081,7 +798,7 @@ msgstr "Vista general"
 | 
			
		||||
#. in the search entry when no search is
 | 
			
		||||
#. active; it should not exceed ~30
 | 
			
		||||
#. characters.
 | 
			
		||||
#: ../js/ui/overview.js:244
 | 
			
		||||
#: ../js/ui/overview.js:240
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "Teclegeu per cercar…"
 | 
			
		||||
 | 
			
		||||
@@ -1145,11 +862,11 @@ msgid_plural "%d new notifications"
 | 
			
		||||
msgstr[0] "%d notificació nova"
 | 
			
		||||
msgstr[1] "%d notificacions noves"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
 | 
			
		||||
#: ../js/ui/screenShield.js:449 ../js/ui/status/system.js:382
 | 
			
		||||
msgid "Lock"
 | 
			
		||||
msgstr "Bloqueja"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/screenShield.js:684
 | 
			
		||||
#: ../js/ui/screenShield.js:704
 | 
			
		||||
msgid "GNOME needs to lock the screen"
 | 
			
		||||
msgstr "El GNOME necessita bloquejar la pantalla"
 | 
			
		||||
 | 
			
		||||
@@ -1160,11 +877,11 @@ msgstr "El GNOME necessita bloquejar la pantalla"
 | 
			
		||||
#.
 | 
			
		||||
#. XXX: another option is to kick the user into the gdm login
 | 
			
		||||
#. screen, where we're not affected by grabs
 | 
			
		||||
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
 | 
			
		||||
#: ../js/ui/screenShield.js:825 ../js/ui/screenShield.js:1291
 | 
			
		||||
msgid "Unable to lock"
 | 
			
		||||
msgstr "No es pot blocar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
 | 
			
		||||
#: ../js/ui/screenShield.js:826 ../js/ui/screenShield.js:1292
 | 
			
		||||
msgid "Lock was blocked by an application"
 | 
			
		||||
msgstr "Una aplicació està bloquejant el bloqueig"
 | 
			
		||||
 | 
			
		||||
@@ -1248,7 +965,7 @@ msgstr "Text gran"
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Bluetooth"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:56
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:56 ../js/ui/status/network.js:624
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Paràmetres del Bluetooth"
 | 
			
		||||
 | 
			
		||||
@@ -1283,7 +1000,7 @@ msgstr "Desactiva"
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "Brillantor"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/keyboard.js:736
 | 
			
		||||
#: ../js/ui/status/keyboard.js:805
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "Mostra la disposició del teclat"
 | 
			
		||||
 | 
			
		||||
@@ -1311,14 +1028,6 @@ msgstr "Ubicació inhabilitada"
 | 
			
		||||
msgid "Enable"
 | 
			
		||||
msgstr "Habilita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:426
 | 
			
		||||
msgid "Deny Access"
 | 
			
		||||
msgstr "Denega l'accés"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:429
 | 
			
		||||
msgid "Grant Access"
 | 
			
		||||
msgstr "Permetre l'accés"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:435
 | 
			
		||||
#, javascript-format
 | 
			
		||||
@@ -1329,7 +1038,7 @@ msgstr "Voleu donar a %s accés a la vostra ubicació?"
 | 
			
		||||
msgid "Location access can be changed at any time from the privacy settings."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Podeu canviar la configuració de l'accés a la ubicació sempre que vulgueu "
 | 
			
		||||
"des del la configuració de la privacitat."
 | 
			
		||||
"des de la configuració de la privacitat."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:101
 | 
			
		||||
msgid "<unknown>"
 | 
			
		||||
@@ -1397,7 +1106,7 @@ msgstr "%s ha fallat la connexió"
 | 
			
		||||
msgid "Wired Settings"
 | 
			
		||||
msgstr "Paràmetres de la xarxa amb fils"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624
 | 
			
		||||
#: ../js/ui/status/network.js:545
 | 
			
		||||
msgid "Mobile Broadband Settings"
 | 
			
		||||
msgstr "Configuració de la xarxa de banda ampla mòbil"
 | 
			
		||||
 | 
			
		||||
@@ -1415,8 +1124,8 @@ msgid "%s Disabled"
 | 
			
		||||
msgstr "%s Inhabilitat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:632
 | 
			
		||||
msgid "Use as Internet connection"
 | 
			
		||||
msgstr "Utilitza com a connexió a Internet"
 | 
			
		||||
msgid "Connect to Internet"
 | 
			
		||||
msgstr "Connecta a l'Internet"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:813
 | 
			
		||||
msgid "Airplane Mode is On"
 | 
			
		||||
@@ -1553,27 +1262,27 @@ msgstr "%d %%"
 | 
			
		||||
msgid "Airplane Mode On"
 | 
			
		||||
msgstr "El mode d'avió és actiu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/system.js:343
 | 
			
		||||
#: ../js/ui/status/system.js:351
 | 
			
		||||
msgid "Switch User"
 | 
			
		||||
msgstr "Canvia d'usuari"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/system.js:348
 | 
			
		||||
#: ../js/ui/status/system.js:356
 | 
			
		||||
msgid "Log Out"
 | 
			
		||||
msgstr "Surt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/system.js:353
 | 
			
		||||
#: ../js/ui/status/system.js:361
 | 
			
		||||
msgid "Account Settings"
 | 
			
		||||
msgstr "Paràmetres del compte"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/system.js:370
 | 
			
		||||
#: ../js/ui/status/system.js:378
 | 
			
		||||
msgid "Orientation Lock"
 | 
			
		||||
msgstr "Bloqueja l'orientació"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/system.js:378
 | 
			
		||||
#: ../js/ui/status/system.js:386
 | 
			
		||||
msgid "Suspend"
 | 
			
		||||
msgstr "Atura temporalment"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/system.js:381
 | 
			
		||||
#: ../js/ui/status/system.js:389
 | 
			
		||||
msgid "Power Off"
 | 
			
		||||
msgstr "Apaga"
 | 
			
		||||
 | 
			
		||||
@@ -1699,13 +1408,9 @@ msgstr "Mou a la pantalla de l'esquerra"
 | 
			
		||||
msgid "Move to Monitor Right"
 | 
			
		||||
msgstr "Mou a la pantalla de la dreta"
 | 
			
		||||
 | 
			
		||||
#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1
 | 
			
		||||
msgid "Evolution Calendar"
 | 
			
		||||
msgstr "Calendari de l'Evolution"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1835
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1873
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
msgid_plural "%u Outputs"
 | 
			
		||||
@@ -1714,14 +1419,14 @@ msgstr[1] "%u sortides"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1845
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1883
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Input"
 | 
			
		||||
msgid_plural "%u Inputs"
 | 
			
		||||
msgstr[0] "%u entrada"
 | 
			
		||||
msgstr[1] "%u entrades"
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2371
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2738
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Sons del sistema"
 | 
			
		||||
 | 
			
		||||
@@ -1741,12 +1446,12 @@ msgstr "Utilitza un mode específic, p. ex. «gdm» per la pantalla d'entrada"
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Llista els modes possibles"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:246
 | 
			
		||||
#: ../src/shell-app.c:270
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Desconegut"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:487
 | 
			
		||||
#: ../src/shell-app.c:511
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "No s'ha pogut iniciar «%s»"
 | 
			
		||||
@@ -1763,6 +1468,268 @@ msgstr "La contrasenya no pot ser buida"
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
msgstr "L'usuari ha descartat el diàleg d'autenticació"
 | 
			
		||||
 | 
			
		||||
#~ msgid "System"
 | 
			
		||||
#~ msgstr "Sistema"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show the notification list"
 | 
			
		||||
#~ msgstr "Mostra la llista de notificacions"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Focus the active notification"
 | 
			
		||||
#~ msgstr "Posa el focus en la notificació activa"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show the overview"
 | 
			
		||||
#~ msgstr "Mostra la vista general"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show all applications"
 | 
			
		||||
#~ msgstr "Mostra totes les aplicacions"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Open the application menu"
 | 
			
		||||
#~ msgstr "Obre el menú d'aplicació"
 | 
			
		||||
 | 
			
		||||
#~ msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
#~ msgstr "Preferències de les extensions del GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
#~ msgstr "Configureu les extensions del GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#~ msgid "GNOME Shell"
 | 
			
		||||
#~ msgstr "GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Window management and application launching"
 | 
			
		||||
#~ msgstr "Gestor de finestres i llançador d'aplicacions"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Habilita les eines internes en el diàleg de l'Alt+F2 que són útils per "
 | 
			
		||||
#~ "als desenvolupadors i provadors"
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "Allows access to internal debugging and monitoring tools using the Alt-F2 "
 | 
			
		||||
#~ "dialog."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Permet l'accés a les eines de depuració i de seguiment internes a través "
 | 
			
		||||
#~ "del diàleg de l'Alt+F2."
 | 
			
		||||
 | 
			
		||||
#~ msgid "UUIDs of extensions to enable"
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Identificadors universals únics de les extensions que s'han d'habilitar"
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "GNOME Shell extensions have a UUID property; this key lists extensions "
 | 
			
		||||
#~ "which should be loaded. Any extension that wants to be loaded needs to be "
 | 
			
		||||
#~ "in this list. You can also manipulate this list with the EnableExtension "
 | 
			
		||||
#~ "and DisableExtension D-Bus methods on org.gnome.Shell."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Les extensions del GNOME Shell tenen un identificador universal. Aquesta "
 | 
			
		||||
#~ "clau conté una llista de les extensions que s'han de carregar. Qualsevol "
 | 
			
		||||
#~ "extensió que s'hagi de carregar ha de ser a la llista. Podeu modificar "
 | 
			
		||||
#~ "aquesta llista amb els mètodes de D-Bus «EnableExtension» (activa una "
 | 
			
		||||
#~ "extensió) i «DisableExtension» (desactiva una extensió) a org.gnome.Shell."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Disables the validation of extension version compatibility"
 | 
			
		||||
#~ msgstr "Desactiva la validació de la compatibilitat de versió d'extensions"
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "GNOME Shell will only load extensions that claim to support the current "
 | 
			
		||||
#~ "running version. Enabling this option will disable this check and try to "
 | 
			
		||||
#~ "load all extensions regardless of the versions they claim to support."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "El GNOME Shell només carregarà extensions que afirmin ser compatibles amb "
 | 
			
		||||
#~ "la versió en execució. Si s'activa aquesta opció, es desactivarà la "
 | 
			
		||||
#~ "comprovació i es provarà de carregar totes les extensions sense tenir en "
 | 
			
		||||
#~ "compte les versions amb què afirmin ser compatibles."
 | 
			
		||||
 | 
			
		||||
#~ msgid "List of desktop file IDs for favorite applications"
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Llista d'identificadors de fitxers d'escriptori de les aplicacions "
 | 
			
		||||
#~ "preferides"
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "The applications corresponding to these identifiers will be displayed in "
 | 
			
		||||
#~ "the favorites area."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Es mostraran, a l'àrea de preferits, les aplicacions que corresponguin a "
 | 
			
		||||
#~ "aquests identificadors."
 | 
			
		||||
 | 
			
		||||
#~ msgid "App Picker View"
 | 
			
		||||
#~ msgstr "Vista del seleccionador d'aplicacions"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Index of the currently selected view in the application picker."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Índex de la vista seleccionada actualment en el seleccionador "
 | 
			
		||||
#~ "d'aplicacions."
 | 
			
		||||
 | 
			
		||||
#~ msgid "History for command (Alt-F2) dialog"
 | 
			
		||||
#~ msgstr "Historial de les ordres utilitzades en el diàleg de l'Alt+F2"
 | 
			
		||||
 | 
			
		||||
#~ msgid "History for the looking glass dialog"
 | 
			
		||||
#~ msgstr "Historial del depurador del GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Always show the 'Log out' menu item in the user menu."
 | 
			
		||||
#~ msgstr "Mostra sempre l'element de menú «Surt» al menú d'usuari."
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "This key overrides the automatic hiding of the 'Log out' menu item in "
 | 
			
		||||
#~ "single-user, single-session situations."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Aquesta clau sobreescriu l'ocultació automàtica de l'element de menú "
 | 
			
		||||
#~ "«Surt» quan només hi ha un usuari i un sol tipus de sessió."
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "Whether to remember password for mounting encrypted or remote filesystems"
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Si s'han de recordar les contrasenyes dels punts de muntatge encriptats o "
 | 
			
		||||
#~ "els sistemes de fitxers remots"
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "The shell will request a password when an encrypted device or a remote "
 | 
			
		||||
#~ "filesystem is mounted. If the password can be saved for future use a "
 | 
			
		||||
#~ "'Remember Password' checkbox will be present. This key sets the default "
 | 
			
		||||
#~ "state of the checkbox."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "El GNOME Shell us demanarà la contrasenya quan es munti un dispositiu "
 | 
			
		||||
#~ "encriptat o un sistema de fitxers remot. Si es pot desar la contrasenya "
 | 
			
		||||
#~ "per utilitzar-lo en el futur, es mostrarà la casella de verificació "
 | 
			
		||||
#~ "«Recorda la contrasenya». Aquesta clau estableix el valor per defecte "
 | 
			
		||||
#~ "d'aquesta casella de verificació."
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Si l'adaptador de Bluetooth predeterminat té dispositius configurats "
 | 
			
		||||
#~ "associats"
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
#~ "powered, or if there were devices set up associated with the default "
 | 
			
		||||
#~ "adapter. This will be reset if the default adapter is ever seen not to "
 | 
			
		||||
#~ "have devices associated to it."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "El Shell només mostrà una entrada de menú Bluetooth si un adaptador "
 | 
			
		||||
#~ "Bluetooh està engegat, o si hi ha dispositius configurats associats a "
 | 
			
		||||
#~ "l'adaptador predeterminat. Això es reiniciarà si l'adaptador "
 | 
			
		||||
#~ "predeterminat té dispositius associats."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show the week date in the calendar"
 | 
			
		||||
#~ msgstr "Mostra el número de la setmana al calendari"
 | 
			
		||||
 | 
			
		||||
#~ msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
#~ msgstr "Si és «true» (cert) es mostra el número de la setmana al calendari."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Keybinding to open the application menu"
 | 
			
		||||
#~ msgstr "Vinculació per obrir el menú d'aplicació"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Keybinding to open the application menu."
 | 
			
		||||
#~ msgstr "La vinculació per obrir el menú d'aplicació."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
#~ msgstr "Vinculació per obrir la vista «Mostra les aplicacions»"
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "Keybinding to open the \"Show Applications\" view of the Activities "
 | 
			
		||||
#~ "Overview."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Vinculació per obrir la vista «Mostra les aplicacions» de les activitats "
 | 
			
		||||
#~ "de la vista general."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Keybinding to open the overview"
 | 
			
		||||
#~ msgstr "Vinculació per obrir la vista general"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
#~ msgstr "Vinculació per obrir la vista general d'activitats."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "La vinculació per commutar la visibilitat de la llista de notificacions"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "La vinculació per commutar la visibilitat de la llista de notificacions."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Keybinding to focus the active notification"
 | 
			
		||||
#~ msgstr "Vinculació per posar el focus a la notificació activa"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Keybinding to focus the active notification."
 | 
			
		||||
#~ msgstr "Vinculació per posar el focus a la notificació activa."
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "Keybinding that pauses and resumes all running tweens, for debugging "
 | 
			
		||||
#~ "purposes"
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Vinculació que fa una pausa i continua tots els «tweens» en execució, per "
 | 
			
		||||
#~ "motius de depuració"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Which keyboard to use"
 | 
			
		||||
#~ msgstr "Quin tipus de teclat s'ha d'utilitzar"
 | 
			
		||||
 | 
			
		||||
#~ msgid "The type of keyboard to use."
 | 
			
		||||
#~ msgstr "El tipus de teclat que s'utilitzarà."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Limit switcher to current workspace."
 | 
			
		||||
#~ msgstr "Limita el canviador a l'espai de treball actual."
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "If true, only applications that have windows on the current workspace are "
 | 
			
		||||
#~ "shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Si és «true» (cert), només les aplicacions que tinguin finestres en "
 | 
			
		||||
#~ "l'espai de treball actual es mostren en el canviador. En cas contrari es "
 | 
			
		||||
#~ "mostren totes les aplicacions."
 | 
			
		||||
 | 
			
		||||
#~ msgid "The application icon mode."
 | 
			
		||||
#~ msgstr "El mode d'icona de les aplicacions."
 | 
			
		||||
 | 
			
		||||
#~ 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 ""
 | 
			
		||||
#~ "Configureu com es mostren les finestres en l'intercanviador. Els valors "
 | 
			
		||||
#~ "possibles són: «thumbnail-only» (mostra una miniatura de la finestra), "
 | 
			
		||||
#~ "«app-icon-only» (mostra la icona de l'aplicació) o «both» (ambdues coses: "
 | 
			
		||||
#~ "mostra la miniatura de la finestra i la icona de l'aplicació)."
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "If true, only windows from the current workspace are shown in the "
 | 
			
		||||
#~ "switcher. Otherwise, all windows are included."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Si és «true» (cert), només les finestres de l'espai de treball actual es "
 | 
			
		||||
#~ "mostren en el canviador. En cas contrari, es mostren totes les finestres."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Attach modal dialog to the parent window"
 | 
			
		||||
#~ msgstr "Adjunta el diàleg modal a la finestra pare"
 | 
			
		||||
 | 
			
		||||
#~ msgid ""
 | 
			
		||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Si s'executa el GNOME Shell, aquesta clau sobreescriu la clau «org.gnome."
 | 
			
		||||
#~ "mutter»."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Habilita la tesselització a les vores en deixar anar les finestres a les "
 | 
			
		||||
#~ "vores de la pantalla"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Workspaces are managed dynamically"
 | 
			
		||||
#~ msgstr "Els espais de treball es gestionen dinàmicament"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Workspaces only on primary monitor"
 | 
			
		||||
#~ msgstr "Només en el monitor principal hi ha espais de treball"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
#~ msgstr ""
 | 
			
		||||
#~ "Retarda el canvi del focus, quan s'està en mode ratolí, fins que el "
 | 
			
		||||
#~ "punter no estigui quiet"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Network Login"
 | 
			
		||||
#~ msgstr "Inici de sessió de la xarxa"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Use as Internet connection"
 | 
			
		||||
#~ msgstr "Utilitza com a connexió a Internet"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Evolution Calendar"
 | 
			
		||||
#~ msgstr "Calendari de l'Evolution"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s is requesting access to your location."
 | 
			
		||||
#~ msgstr "%s està demanant accés a la vostra ubicació."
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										847
									
								
								po/en_GB.po
									
									
									
									
									
								
							
							
						
						
									
										847
									
								
								po/en_GB.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										991
									
								
								po/pt_BR.po
									
									
									
									
									
								
							
							
						
						
									
										991
									
								
								po/pt_BR.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										838
									
								
								po/sr@latin.po
									
									
									
									
									
								
							
							
						
						
									
										838
									
								
								po/sr@latin.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1981
									
								
								po/uz@cyrillic.po
									
									
									
									
									
								
							
							
						
						
									
										1981
									
								
								po/uz@cyrillic.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -78,7 +78,7 @@ gnome_shell_cflags =				\
 | 
			
		||||
	-DGNOME_SHELL_PKGLIBDIR=\"$(pkglibdir)\"
 | 
			
		||||
 | 
			
		||||
privlibdir = $(pkglibdir)
 | 
			
		||||
privlib_LTLIBRARIES = libgnome-shell-js.la libgnome-shell-menu.la libgnome-shell.la
 | 
			
		||||
privlib_LTLIBRARIES = libgnome-shell-menu.la libgnome-shell.la
 | 
			
		||||
noinst_LTLIBRARIES += libgnome-shell-base.la
 | 
			
		||||
 | 
			
		||||
shell_built_sources = \
 | 
			
		||||
@@ -200,7 +200,7 @@ gnome_shell_CPPFLAGS = \
 | 
			
		||||
 | 
			
		||||
# Here, and after, we repeat mutter and bluetooth libraries just for the rpath
 | 
			
		||||
# The dependency is already pulled in by libtool
 | 
			
		||||
gnome_shell_LDADD = libgnome-shell.la libgnome-shell-js.la $(GNOME_SHELL_LIBS) $(MUTTER_LIBS)
 | 
			
		||||
gnome_shell_LDADD = libgnome-shell.la $(GNOME_SHELL_LIBS) $(MUTTER_LIBS)
 | 
			
		||||
gnome_shell_LDFLAGS = -rpath $(MUTTER_TYPELIB_DIR)
 | 
			
		||||
gnome_shell_DEPENDENCIES = libgnome-shell.la
 | 
			
		||||
 | 
			
		||||
@@ -212,7 +212,7 @@ nodist_gnome_shell_extension_prefs_SOURCES = \
 | 
			
		||||
	$(top_builddir)/js/js-resources.h		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
gnome_shell_extension_prefs_CPPFLAGS = $(gnome_shell_cflags)
 | 
			
		||||
gnome_shell_extension_prefs_LDADD = libgnome-shell-js.la $(GNOME_SHELL_LIBS)
 | 
			
		||||
gnome_shell_extension_prefs_LDADD = $(GNOME_SHELL_LIBS)
 | 
			
		||||
gnome_shell_extension_prefs_LDFLAGS = -rpath $(MUTTER_TYPELIB_DIR)
 | 
			
		||||
 | 
			
		||||
if HAVE_NETWORKMANAGER
 | 
			
		||||
@@ -226,30 +226,13 @@ nodist_gnome_shell_portal_helper_SOURCES = \
 | 
			
		||||
	$(top_builddir)/js/js-resources.h		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
gnome_shell_portal_helper_CPPFLAGS = $(gnome_shell_cflags)
 | 
			
		||||
gnome_shell_portal_helper_LDADD = libgnome-shell-js.la $(GNOME_SHELL_LIBS)
 | 
			
		||||
gnome_shell_portal_helper_LDADD = $(GNOME_SHELL_LIBS)
 | 
			
		||||
gnome_shell_portal_helper_LDFLAGS = -rpath $(MUTTER_TYPELIB_DIR)
 | 
			
		||||
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
########################################
 | 
			
		||||
 | 
			
		||||
libgnome_shell_js_la_SOURCES =		\
 | 
			
		||||
	shell-js.h			\
 | 
			
		||||
	shell-js.cpp			\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libgnome_shell_js_la_LIBADD =		\
 | 
			
		||||
	$(GNOME_SHELL_JS_LIBS)		\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
libgnome_shell_js_la_LDFLAGS =		\
 | 
			
		||||
	-avoid-version
 | 
			
		||||
 | 
			
		||||
libgnome_shell_js_la_CPPFLAGS =		\
 | 
			
		||||
	$(GNOME_SHELL_JS_CFLAGS)
 | 
			
		||||
 | 
			
		||||
########################################
 | 
			
		||||
 | 
			
		||||
shell_recorder_sources =        \
 | 
			
		||||
	shell-recorder.c	\
 | 
			
		||||
	shell-recorder.h
 | 
			
		||||
@@ -366,13 +349,6 @@ Shell_0_1_gir_SCANNERFLAGS =	\
 | 
			
		||||
INTROSPECTION_GIRS += Shell-0.1.gir
 | 
			
		||||
CLEANFILES += Shell-0.1.gir
 | 
			
		||||
 | 
			
		||||
ShellJS-0.1.gir: libgnome-shell-js.la
 | 
			
		||||
ShellJS_0_1_gir_CFLAGS = $(libgnome_shell_la_CPPFLAGS) -I $(srcdir)
 | 
			
		||||
ShellJS_0_1_gir_LIBS = libgnome-shell-js.la
 | 
			
		||||
ShellJS_0_1_gir_FILES = $(libgnome_shell_js_la_SOURCES)
 | 
			
		||||
INTROSPECTION_GIRS += ShellJS-0.1.gir
 | 
			
		||||
CLEANFILES += ShellJS-0.1.gir
 | 
			
		||||
 | 
			
		||||
St-1.0.gir: libst-1.0.la
 | 
			
		||||
St_1_0_gir_INCLUDES = Clutter-1.0 Gtk-3.0
 | 
			
		||||
St_1_0_gir_CFLAGS = $(st_cflags) -DST_COMPILATION
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
[Desktop Entry]
 | 
			
		||||
Name=Evolution Calendar
 | 
			
		||||
Exec=evolution -c calendar
 | 
			
		||||
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
 | 
			
		||||
Icon=evolution
 | 
			
		||||
NoDisplay=true
 | 
			
		||||
Type=Application
 | 
			
		||||
 
 | 
			
		||||
@@ -6,8 +6,6 @@
 | 
			
		||||
#include <gjs/gjs.h>
 | 
			
		||||
#include <glib/gi18n.h>
 | 
			
		||||
 | 
			
		||||
#include "shell-js.h"
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
@@ -51,18 +49,3 @@ main (int argc, char *argv[])
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* HACK:
 | 
			
		||||
   Add a dummy function that calls into libgnome-shell-js.so to ensure it's
 | 
			
		||||
   linked to /usr/bin/gnome-shell-extension-prefs even when linking with
 | 
			
		||||
   --as-needed. This function is never actually called.
 | 
			
		||||
   https://bugzilla.gnome.org/show_bug.cgi?id=670477
 | 
			
		||||
*/
 | 
			
		||||
void _shell_link_to_shell_js (void);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
_shell_link_to_shell_js (void)
 | 
			
		||||
{
 | 
			
		||||
  shell_js_add_extension_importer (NULL, NULL, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								src/main.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								src/main.c
									
									
									
									
									
								
							@@ -25,7 +25,6 @@
 | 
			
		||||
 | 
			
		||||
#include "shell-global.h"
 | 
			
		||||
#include "shell-global-private.h"
 | 
			
		||||
#include "shell-js.h"
 | 
			
		||||
#include "shell-perf-log.h"
 | 
			
		||||
#include "st.h"
 | 
			
		||||
 | 
			
		||||
@@ -480,17 +479,3 @@ main (int argc, char **argv)
 | 
			
		||||
 | 
			
		||||
  return ecode;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* HACK:
 | 
			
		||||
   Add a dummy function that calls into libgnome-shell-js.so to ensure it's
 | 
			
		||||
   linked to /usr/bin/gnome-shell even when linking with --as-needed.
 | 
			
		||||
   This function is never actually called.
 | 
			
		||||
   https://bugzilla.gnome.org/show_bug.cgi?id=670477
 | 
			
		||||
*/
 | 
			
		||||
void _shell_link_to_shell_js (void);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
_shell_link_to_shell_js (void)
 | 
			
		||||
{
 | 
			
		||||
  shell_js_add_extension_importer (NULL, NULL, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -277,6 +277,7 @@ shell_global_init (ShellGlobal *global)
 | 
			
		||||
                          XDisplayName (NULL));
 | 
			
		||||
  (void) g_mkdir_with_parents (path, 0700);
 | 
			
		||||
  global->runtime_state_path = g_file_new_for_path (path);
 | 
			
		||||
  g_free (path);
 | 
			
		||||
 | 
			
		||||
  global->settings = g_settings_new ("org.gnome.shell");
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,77 +0,0 @@
 | 
			
		||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include "shell-js.h"
 | 
			
		||||
 | 
			
		||||
#include <gio/gio.h>
 | 
			
		||||
#include <gjs/gjs.h>
 | 
			
		||||
#include <gjs/gjs-module.h>
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * shell_js_add_extension_importer:
 | 
			
		||||
 * @target_object_script: JavaScript code evaluating to a target object
 | 
			
		||||
 * @target_property: Name of property to use for importer
 | 
			
		||||
 * @directory: Source directory:
 | 
			
		||||
 * @error: A #GError
 | 
			
		||||
 *
 | 
			
		||||
 * This function sets a property named @target_property on the object
 | 
			
		||||
 * resulting from the evaluation of @target_object_script code, which
 | 
			
		||||
 * acts as a GJS importer for directory @directory.
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: %TRUE on success
 | 
			
		||||
 */
 | 
			
		||||
gboolean
 | 
			
		||||
shell_js_add_extension_importer (const char  *target_object_script,
 | 
			
		||||
                                 const char  *target_property,
 | 
			
		||||
                                 const char  *directory,
 | 
			
		||||
                                 GError     **error)
 | 
			
		||||
{
 | 
			
		||||
  jsval target_object;
 | 
			
		||||
  GList *contexts;
 | 
			
		||||
  JSContext *context;
 | 
			
		||||
  char *search_path[2] = { 0, 0 };
 | 
			
		||||
  gboolean ret = FALSE;
 | 
			
		||||
 | 
			
		||||
  /* Take the first GjsContext from all of them --
 | 
			
		||||
   * we should only ever have one context, so this
 | 
			
		||||
   * should be alright. */
 | 
			
		||||
  contexts = gjs_context_get_all ();
 | 
			
		||||
  context = (JSContext*) gjs_context_get_native_context ((GjsContext*)contexts->data);
 | 
			
		||||
  g_list_free_full (contexts, g_object_unref);
 | 
			
		||||
 | 
			
		||||
  JS_BeginRequest (context);
 | 
			
		||||
 | 
			
		||||
  /* This is a bit of a hack; ideally we'd be able to pass our target
 | 
			
		||||
   * object directly into this function, but introspection doesn't
 | 
			
		||||
   * support that at the moment.  Instead evaluate a string to get it. */
 | 
			
		||||
  if (!JS_EvaluateScript(context,
 | 
			
		||||
                         JS_GetGlobalObject(context),
 | 
			
		||||
                         target_object_script,
 | 
			
		||||
                         strlen (target_object_script),
 | 
			
		||||
                         "<target_object_script>",
 | 
			
		||||
                         0,
 | 
			
		||||
                         &target_object))
 | 
			
		||||
    {
 | 
			
		||||
      gjs_log_exception(context);
 | 
			
		||||
      g_set_error(error,
 | 
			
		||||
                  G_IO_ERROR,
 | 
			
		||||
                  G_IO_ERROR_FAILED,
 | 
			
		||||
                  "Unable to import %s", target_object_script);
 | 
			
		||||
      goto out;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  if (!JSVAL_IS_OBJECT (target_object))
 | 
			
		||||
    {
 | 
			
		||||
      g_error ("shell_js_add_extension_importer: invalid target object");
 | 
			
		||||
      goto out;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  search_path[0] = (char*)directory;
 | 
			
		||||
  gjs_define_importer (context, JSVAL_TO_OBJECT (target_object), target_property, (const char **)search_path, FALSE);
 | 
			
		||||
  ret = TRUE;
 | 
			
		||||
 | 
			
		||||
 out:
 | 
			
		||||
  JS_EndRequest (context);
 | 
			
		||||
  return ret;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,16 +0,0 @@
 | 
			
		||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 | 
			
		||||
#ifndef __SHELL_JS_H__
 | 
			
		||||
#define __SHELL_JS_H__
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
gboolean shell_js_add_extension_importer (const char   *target_object_script,
 | 
			
		||||
                                          const char   *target_property,
 | 
			
		||||
                                          const char   *directory,
 | 
			
		||||
                                          GError      **error);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif /* __SHELL_JS_H__ */
 | 
			
		||||
@@ -22,6 +22,7 @@
 | 
			
		||||
#include "shell-global.h"
 | 
			
		||||
#include "shell-recorder-src.h"
 | 
			
		||||
#include "shell-recorder.h"
 | 
			
		||||
#include "shell-util.h"
 | 
			
		||||
 | 
			
		||||
#define A11Y_APPS_SCHEMA "org.gnome.desktop.a11y.applications"
 | 
			
		||||
#define MAGNIFIER_ACTIVE_KEY "screen-magnifier-enabled"
 | 
			
		||||
@@ -437,17 +438,21 @@ recorder_record_frame (ShellRecorder *recorder,
 | 
			
		||||
  if (n_captures == 0)
 | 
			
		||||
    return;
 | 
			
		||||
 | 
			
		||||
  /*
 | 
			
		||||
   * TODO: Deal with each capture region separately, instead of dropping
 | 
			
		||||
   * anything except the first one.
 | 
			
		||||
   */
 | 
			
		||||
  if (n_captures == 1)
 | 
			
		||||
    image = cairo_surface_reference (captures[0].image);
 | 
			
		||||
  else
 | 
			
		||||
    image = shell_util_composite_capture_images (captures,
 | 
			
		||||
                                                 n_captures,
 | 
			
		||||
                                                 recorder->area.x,
 | 
			
		||||
                                                 recorder->area.y,
 | 
			
		||||
                                                 recorder->area.width,
 | 
			
		||||
                                                 recorder->area.height);
 | 
			
		||||
 | 
			
		||||
  image = captures[0].image;
 | 
			
		||||
  data = cairo_image_surface_get_data (image);
 | 
			
		||||
  size = captures[0].rect.width * captures[0].rect.height * 4;
 | 
			
		||||
  size = (cairo_image_surface_get_height (image) *
 | 
			
		||||
          cairo_image_surface_get_stride (image));
 | 
			
		||||
 | 
			
		||||
  /* TODO: Capture more than the first framebuffer. */
 | 
			
		||||
  for (i = 1; i < n_captures; i++)
 | 
			
		||||
  for (i = 0; i < n_captures; i++)
 | 
			
		||||
    cairo_surface_destroy (captures[i].image);
 | 
			
		||||
  g_free (captures);
 | 
			
		||||
 | 
			
		||||
@@ -1075,7 +1080,7 @@ recorder_open_outfile (ShellRecorder  *recorder,
 | 
			
		||||
 | 
			
		||||
      if (outfile == -1 && errno != EEXIST)
 | 
			
		||||
        {
 | 
			
		||||
          g_warning ("Cannot open output file '%s': %s", filename->str, g_strerror (errno));
 | 
			
		||||
          g_warning ("Cannot open output file '%s': %s", path, g_strerror (errno));
 | 
			
		||||
          g_string_free (filename, TRUE);
 | 
			
		||||
          g_free (path);
 | 
			
		||||
          goto out;
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,7 @@
 | 
			
		||||
 | 
			
		||||
#include "shell-global.h"
 | 
			
		||||
#include "shell-screenshot.h"
 | 
			
		||||
#include "shell-util.h"
 | 
			
		||||
 | 
			
		||||
#define A11Y_APPS_SCHEMA "org.gnome.desktop.a11y.applications"
 | 
			
		||||
#define MAGNIFIER_ACTIVE_KEY "screen-magnifier-enabled"
 | 
			
		||||
@@ -233,14 +234,15 @@ do_grab_screenshot (ShellScreenshot *screenshot,
 | 
			
		||||
 | 
			
		||||
  if (n_captures == 0)
 | 
			
		||||
    return;
 | 
			
		||||
  else if (n_captures == 1)
 | 
			
		||||
    priv->image = cairo_surface_reference (captures[0].image);
 | 
			
		||||
  else
 | 
			
		||||
    priv->image = shell_util_composite_capture_images (captures,
 | 
			
		||||
                                                       n_captures,
 | 
			
		||||
                                                       x, y,
 | 
			
		||||
                                                       width, height);
 | 
			
		||||
 | 
			
		||||
  /*
 | 
			
		||||
   * TODO: Deal with each capture region separately, instead of dropping
 | 
			
		||||
   * anything except the first one.
 | 
			
		||||
   */
 | 
			
		||||
  priv->image = captures[0].image;
 | 
			
		||||
 | 
			
		||||
  for (i = 1; i < n_captures; i++)
 | 
			
		||||
  for (i = 0; i < n_captures; i++)
 | 
			
		||||
    cairo_surface_destroy (captures[i].image);
 | 
			
		||||
 | 
			
		||||
  g_free (captures);
 | 
			
		||||
@@ -261,6 +263,10 @@ _draw_cursor_image (MetaCursorTracker     *tracker,
 | 
			
		||||
  int x, y;
 | 
			
		||||
  int xhot, yhot;
 | 
			
		||||
 | 
			
		||||
  texture = meta_cursor_tracker_get_sprite (tracker);
 | 
			
		||||
  if (!texture)
 | 
			
		||||
    return;
 | 
			
		||||
 | 
			
		||||
  screenshot_region = cairo_region_create_rectangle (&area);
 | 
			
		||||
  meta_cursor_tracker_get_pointer (tracker, &x, &y, NULL);
 | 
			
		||||
 | 
			
		||||
@@ -270,7 +276,6 @@ _draw_cursor_image (MetaCursorTracker     *tracker,
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  texture = meta_cursor_tracker_get_sprite (tracker);
 | 
			
		||||
  meta_cursor_tracker_get_hot (tracker, &xhot, &yhot);
 | 
			
		||||
  width = cogl_texture_get_width (texture);
 | 
			
		||||
  height = cogl_texture_get_height (texture);
 | 
			
		||||
 
 | 
			
		||||
@@ -204,6 +204,12 @@ shell_tray_icon_click (ShellTrayIcon *icon,
 | 
			
		||||
  gdk_error_trap_push ();
 | 
			
		||||
 | 
			
		||||
  remote_window = gtk_socket_get_plug_window (GTK_SOCKET (icon->priv->socket));
 | 
			
		||||
  if (remote_window == NULL)
 | 
			
		||||
    {
 | 
			
		||||
      g_warning ("shell tray: plug window is gone");
 | 
			
		||||
      gdk_error_trap_pop_ignored ();
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
  xwindow = GDK_WINDOW_XID (remote_window);
 | 
			
		||||
  xdisplay = GDK_WINDOW_XDISPLAY (remote_window);
 | 
			
		||||
  screen = gdk_window_get_screen (remote_window);
 | 
			
		||||
 
 | 
			
		||||
@@ -446,3 +446,49 @@ shell_util_get_content_for_window_actor (MetaWindowActor *window_actor,
 | 
			
		||||
 | 
			
		||||
  return content;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
cairo_surface_t *
 | 
			
		||||
shell_util_composite_capture_images (ClutterCapture  *captures,
 | 
			
		||||
                                     int              n_captures,
 | 
			
		||||
                                     int              x,
 | 
			
		||||
                                     int              y,
 | 
			
		||||
                                     int              width,
 | 
			
		||||
                                     int              height)
 | 
			
		||||
{
 | 
			
		||||
  int i;
 | 
			
		||||
  cairo_format_t format;
 | 
			
		||||
  cairo_surface_t *image;
 | 
			
		||||
  cairo_t *cr;
 | 
			
		||||
 | 
			
		||||
  format = cairo_image_surface_get_format (captures[0].image);
 | 
			
		||||
  image = cairo_image_surface_create (format, width, height);
 | 
			
		||||
 | 
			
		||||
  cr = cairo_create (image);
 | 
			
		||||
 | 
			
		||||
  for (i = 0; i < n_captures; i++)
 | 
			
		||||
    {
 | 
			
		||||
      ClutterCapture *capture = &captures[i];
 | 
			
		||||
      double capture_scale = 1.0;
 | 
			
		||||
 | 
			
		||||
      /*
 | 
			
		||||
       * Ignore capture regions with scale other than 1 for now; mutter can't
 | 
			
		||||
       * produce them yet, so there is no way to test them.
 | 
			
		||||
       */
 | 
			
		||||
      cairo_surface_get_device_scale (capture->image, &capture_scale, NULL);
 | 
			
		||||
      if ((int) capture_scale != 1)
 | 
			
		||||
        continue;
 | 
			
		||||
 | 
			
		||||
      cairo_save (cr);
 | 
			
		||||
 | 
			
		||||
      cairo_translate (cr,
 | 
			
		||||
                       capture->rect.x - x,
 | 
			
		||||
                       capture->rect.y - y);
 | 
			
		||||
      cairo_set_source_surface (cr, capture->image, 0, 0);
 | 
			
		||||
      cairo_paint (cr);
 | 
			
		||||
 | 
			
		||||
      cairo_restore (cr);
 | 
			
		||||
    }
 | 
			
		||||
  cairo_destroy (cr);
 | 
			
		||||
 | 
			
		||||
  return image;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -51,6 +51,13 @@ gboolean shell_util_need_background_refresh (void);
 | 
			
		||||
ClutterContent * shell_util_get_content_for_window_actor (MetaWindowActor *window_actor,
 | 
			
		||||
                                                          MetaRectangle   *window_rect);
 | 
			
		||||
 | 
			
		||||
cairo_surface_t * shell_util_composite_capture_images (ClutterCapture  *captures,
 | 
			
		||||
                                                       int              n_captures,
 | 
			
		||||
                                                       int              x,
 | 
			
		||||
                                                       int              y,
 | 
			
		||||
                                                       int              width,
 | 
			
		||||
                                                       int              height);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif /* __SHELL_UTIL_H__ */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user