Compare commits
	
		
			36 Commits
		
	
	
		
			3.26.2
			...
			wip/msanch
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					043f042cec | ||
| 
						 | 
					815302b4ac | ||
| 
						 | 
					e608d4f26b | ||
| 
						 | 
					77c20e3b8e | ||
| 
						 | 
					ecd9fba514 | ||
| 
						 | 
					71585f37e4 | ||
| 
						 | 
					99e53a68b9 | ||
| 
						 | 
					69e22f849e | ||
| 
						 | 
					9bad2182dd | ||
| 
						 | 
					32b2639052 | ||
| 
						 | 
					35a9c3ec86 | ||
| 
						 | 
					a46af9edf0 | ||
| 
						 | 
					9dc977e324 | ||
| 
						 | 
					cdc212ff6e | ||
| 
						 | 
					c53557b4c6 | ||
| 
						 | 
					1af65c616a | ||
| 
						 | 
					feed029ae4 | ||
| 
						 | 
					93925c99b4 | ||
| 
						 | 
					e765e684c3 | ||
| 
						 | 
					eecbd4dd42 | ||
| 
						 | 
					fa276a3349 | ||
| 
						 | 
					100d6a7fa7 | ||
| 
						 | 
					9537bb276b | ||
| 
						 | 
					891bc45e36 | ||
| 
						 | 
					f90b225eaa | ||
| 
						 | 
					f9569912df | ||
| 
						 | 
					29eefc06d7 | ||
| 
						 | 
					aa0858529e | ||
| 
						 | 
					fb3070981c | ||
| 
						 | 
					129690eed2 | ||
| 
						 | 
					c12da66da8 | ||
| 
						 | 
					01d8811913 | ||
| 
						 | 
					e16eb55339 | ||
| 
						 | 
					f3f8ecff20 | ||
| 
						 | 
					db43c45b12 | ||
| 
						 | 
					fa8523db1e | 
							
								
								
									
										11
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								NEWS
									
									
									
									
									
								
							@@ -1,3 +1,14 @@
 | 
			
		||||
3.27.1
 | 
			
		||||
======
 | 
			
		||||
* Fix using icon-name strings with PopupImageMenuItems [Florian; #789018]
 | 
			
		||||
* Misc. bug fixes [Jonas, Florian; #788607, #788943]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
  Jonas Ådahl, Florian Müllner
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
  Xavi Ivars [ca@valencia], Matej Urbančič [sl], Fabio Tomat [fur]
 | 
			
		||||
 | 
			
		||||
3.26.1
 | 
			
		||||
======
 | 
			
		||||
* Don't detach launched apps to not break pkexec and friends [Florian; #763531]
 | 
			
		||||
 
 | 
			
		||||
@@ -647,7 +647,7 @@ StScrollBar {
 | 
			
		||||
  border: 1px solid #215d9c; }
 | 
			
		||||
 | 
			
		||||
.tile-preview-left.on-primary {
 | 
			
		||||
  border-radius: 6px 6px 0 0; }
 | 
			
		||||
  border-radius: 6px 0 0 0; }
 | 
			
		||||
 | 
			
		||||
.tile-preview-right.on-primary {
 | 
			
		||||
  border-radius: 0 6px 0 0; }
 | 
			
		||||
@@ -1339,6 +1339,10 @@ StScrollBar {
 | 
			
		||||
  border-radius: 9px 0 0 9px; }
 | 
			
		||||
  .workspace-thumbnails:rtl {
 | 
			
		||||
    border-radius: 0 9px 9px 0; }
 | 
			
		||||
  .workspace-thumbnails .placeholder {
 | 
			
		||||
    background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
 | 
			
		||||
    background-size: contain;
 | 
			
		||||
    height: 24px; }
 | 
			
		||||
 | 
			
		||||
.workspace-thumbnail-indicator {
 | 
			
		||||
  border: 4px solid #215d9c;
 | 
			
		||||
 
 | 
			
		||||
 Submodule data/theme/gnome-shell-sass updated: 336c2d5ad6...32361ac692
									
								
							@@ -647,7 +647,7 @@ StScrollBar {
 | 
			
		||||
  border: 1px solid #215d9c; }
 | 
			
		||||
 | 
			
		||||
.tile-preview-left.on-primary {
 | 
			
		||||
  border-radius: 6px 6px 0 0; }
 | 
			
		||||
  border-radius: 6px 0 0 0; }
 | 
			
		||||
 | 
			
		||||
.tile-preview-right.on-primary {
 | 
			
		||||
  border-radius: 0 6px 0 0; }
 | 
			
		||||
@@ -1339,6 +1339,10 @@ StScrollBar {
 | 
			
		||||
  border-radius: 9px 0 0 9px; }
 | 
			
		||||
  .workspace-thumbnails:rtl {
 | 
			
		||||
    border-radius: 0 9px 9px 0; }
 | 
			
		||||
  .workspace-thumbnails .placeholder {
 | 
			
		||||
    background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
 | 
			
		||||
    background-size: contain;
 | 
			
		||||
    height: 24px; }
 | 
			
		||||
 | 
			
		||||
.workspace-thumbnail-indicator {
 | 
			
		||||
  border: 4px solid #215d9c;
 | 
			
		||||
 
 | 
			
		||||
@@ -96,21 +96,21 @@ const SystemActions = new Lang.Class({
 | 
			
		||||
        this._actions = new Map();
 | 
			
		||||
        this._actions.set(POWER_OFF_ACTION_ID,
 | 
			
		||||
                          { // Translators: The name of the power-off action in search
 | 
			
		||||
                            name: C_("search-result", "Power off"),
 | 
			
		||||
                            name: C_("search-result", "Power Off"),
 | 
			
		||||
                            iconName: 'system-shutdown-symbolic',
 | 
			
		||||
                            // Translators: A list of keywords that match the power-off action, separated by semicolons
 | 
			
		||||
                            keywords: _("power off;shutdown").split(';'),
 | 
			
		||||
                            keywords: _("power off;shutdown;reboot;restart").split(';'),
 | 
			
		||||
                            available: false });
 | 
			
		||||
        this._actions.set(LOCK_SCREEN_ACTION_ID,
 | 
			
		||||
                          { // Translators: The name of the lock screen action in search
 | 
			
		||||
                            name: C_("search-result", "Lock screen"),
 | 
			
		||||
                            name: C_("search-result", "Lock Screen"),
 | 
			
		||||
                            iconName: 'system-lock-screen-symbolic',
 | 
			
		||||
                            // Translators: A list of keywords that match the lock screen action, separated by semicolons
 | 
			
		||||
                            keywords: _("lock screen").split(';'),
 | 
			
		||||
                            available: false });
 | 
			
		||||
        this._actions.set(LOGOUT_ACTION_ID,
 | 
			
		||||
                          { // Translators: The name of the logout action in search
 | 
			
		||||
                            name: C_("search-result", "Log out"),
 | 
			
		||||
                            name: C_("search-result", "Log Out"),
 | 
			
		||||
                            iconName: 'application-exit-symbolic',
 | 
			
		||||
                            // Translators: A list of keywords that match the logout action, separated by semicolons
 | 
			
		||||
                            keywords: _("logout;sign off").split(';'),
 | 
			
		||||
@@ -124,17 +124,17 @@ const SystemActions = new Lang.Class({
 | 
			
		||||
                            available: false });
 | 
			
		||||
        this._actions.set(SWITCH_USER_ACTION_ID,
 | 
			
		||||
                          { // Translators: The name of the switch user action in search
 | 
			
		||||
                            name: C_("search-result", "Switch user"),
 | 
			
		||||
                            name: C_("search-result", "Switch User"),
 | 
			
		||||
                            iconName: 'system-switch-user-symbolic',
 | 
			
		||||
                            // Translators: A list of keywords that match the switch user action, separated by semicolons
 | 
			
		||||
                            keywords: _("switch user").split(';'),
 | 
			
		||||
                            available: false });
 | 
			
		||||
        this._actions.set(LOCK_ORIENTATION_ACTION_ID,
 | 
			
		||||
                          { // Translators: The name of the lock orientation action in search
 | 
			
		||||
                            name: C_("search-result", "Lock orientation"),
 | 
			
		||||
                            name: C_("search-result", "Lock Orientation"),
 | 
			
		||||
                            iconName: '',
 | 
			
		||||
                            // Translators: A list of keywords that match the lock orientation action, separated by semicolons
 | 
			
		||||
                            keywords: _("lock orientation").split(';'),
 | 
			
		||||
                            keywords: _("lock orientation;screen;rotation").split(';'),
 | 
			
		||||
                            available: false });
 | 
			
		||||
 | 
			
		||||
        this._loginScreenSettings = new Gio.Settings({ schema_id: LOGIN_SCREEN_SCHEMA });
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										124
									
								
								js/ui/altTab.js
									
									
									
									
									
								
							
							
						
						
									
										124
									
								
								js/ui/altTab.js
									
									
									
									
									
								
							@@ -156,6 +156,17 @@ var AppSwitcherPopup = new Lang.Class({
 | 
			
		||||
                                 this._items[this._selectedIndex].cachedWindows.length);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _quitApplication: function(appIndex) {
 | 
			
		||||
        let appIcon = this._items[appIndex];
 | 
			
		||||
        if (!appIcon)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        // Make sure the list of thumbnails is hidden before quitting the
 | 
			
		||||
        // application, not to keep an empty list of windows showing up.
 | 
			
		||||
        this._select(appIndex, null, false);
 | 
			
		||||
        appIcon.app.request_quit();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _keyPressHandler: function(keysym, action) {
 | 
			
		||||
        if (action == Meta.KeyBindingAction.SWITCH_GROUP) {
 | 
			
		||||
            if (!this._thumbnailsFocused)
 | 
			
		||||
@@ -175,6 +186,8 @@ var AppSwitcherPopup = new Lang.Class({
 | 
			
		||||
                this._select(this._selectedIndex, this._nextWindow());
 | 
			
		||||
            else if (keysym == Clutter.Up)
 | 
			
		||||
                this._select(this._selectedIndex, null, true);
 | 
			
		||||
            else if (keysym == Clutter.q)
 | 
			
		||||
                this._quitApplication(this._selectedIndex);
 | 
			
		||||
            else
 | 
			
		||||
                return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
        } else {
 | 
			
		||||
@@ -184,6 +197,8 @@ var AppSwitcherPopup = new Lang.Class({
 | 
			
		||||
                this._select(this._next());
 | 
			
		||||
            else if (keysym == Clutter.Down)
 | 
			
		||||
                this._select(this._selectedIndex, 0);
 | 
			
		||||
            else if (keysym == Clutter.q)
 | 
			
		||||
                this._quitApplication(this._selectedIndex);
 | 
			
		||||
            else
 | 
			
		||||
                return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
        }
 | 
			
		||||
@@ -250,11 +265,12 @@ var AppSwitcherPopup = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
    _finish : function(timestamp) {
 | 
			
		||||
        let appIcon = this._items[this._selectedIndex];
 | 
			
		||||
        if (this._currentWindow < 0)
 | 
			
		||||
            appIcon.app.activate_window(appIcon.cachedWindows[0], timestamp);
 | 
			
		||||
        else
 | 
			
		||||
            Main.activateWindow(appIcon.cachedWindows[this._currentWindow], timestamp);
 | 
			
		||||
 | 
			
		||||
        if (appIcon) {
 | 
			
		||||
            if (this._currentWindow < 0)
 | 
			
		||||
                appIcon.app.activate_window(appIcon.cachedWindows[0], timestamp);
 | 
			
		||||
            else if (appIcon.cachedWindows[this._currentWindow])
 | 
			
		||||
                Main.activateWindow(appIcon.cachedWindows[this._currentWindow], timestamp);
 | 
			
		||||
        }
 | 
			
		||||
        this.parent();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@@ -317,8 +333,7 @@ var AppSwitcherPopup = new Lang.Class({
 | 
			
		||||
        } else if (this._items[this._selectedIndex].cachedWindows.length > 1 &&
 | 
			
		||||
                   !forceAppFocus) {
 | 
			
		||||
            this._thumbnailTimeoutId = Mainloop.timeout_add (
 | 
			
		||||
                THUMBNAIL_POPUP_TIME,
 | 
			
		||||
                Lang.bind(this, this._timeoutPopupThumbnails));
 | 
			
		||||
                THUMBNAIL_POPUP_TIME, () => { this._timeoutPopupThumbnails(); });
 | 
			
		||||
            GLib.Source.set_name_by_id(this._thumbnailTimeoutId, '[gnome-shell] this._timeoutPopupThumbnails');
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
@@ -337,10 +352,11 @@ var AppSwitcherPopup = new Lang.Class({
 | 
			
		||||
                         { opacity: 0,
 | 
			
		||||
                           time: THUMBNAIL_FADE_TIME,
 | 
			
		||||
                           transition: 'easeOutQuad',
 | 
			
		||||
                           onComplete: Lang.bind(this, function() {
 | 
			
		||||
                                                            thumbnailsActor.destroy();
 | 
			
		||||
                                                            this.thumbnailsVisible = false;
 | 
			
		||||
                                                        })
 | 
			
		||||
                           onComplete: () => {
 | 
			
		||||
                               thumbnailsActor.destroy();
 | 
			
		||||
                               this.thumbnailsVisible = false;
 | 
			
		||||
                           },
 | 
			
		||||
                           onCompleteScope: this
 | 
			
		||||
                         });
 | 
			
		||||
        this._thumbnails = null;
 | 
			
		||||
        this._switcherList._items[this._selectedIndex].remove_accessible_state (Atk.StateType.EXPANDED);
 | 
			
		||||
@@ -348,8 +364,12 @@ var AppSwitcherPopup = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
    _createThumbnails : function() {
 | 
			
		||||
        this._thumbnails = new ThumbnailList (this._items[this._selectedIndex].cachedWindows);
 | 
			
		||||
        this._thumbnails.connect('item-activated', Lang.bind(this, this._windowActivated));
 | 
			
		||||
        this._thumbnails.connect('item-entered', Lang.bind(this, this._windowEntered));
 | 
			
		||||
        this._thumbnails.connect('item-activated', (thumbnailList, n) => { this._windowActivated(thumbnailList, n); });
 | 
			
		||||
        this._thumbnails.connect('item-entered', (thumbnailList, n) => { this._windowEntered(thumbnailList, n); });
 | 
			
		||||
        this._thumbnails.actor.connect('destroy', () => {
 | 
			
		||||
            this._thumbnails = null;
 | 
			
		||||
            this._thumbnailsFocused = false;
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        this.actor.add_actor(this._thumbnails.actor);
 | 
			
		||||
 | 
			
		||||
@@ -362,7 +382,8 @@ var AppSwitcherPopup = new Lang.Class({
 | 
			
		||||
                         { opacity: 255,
 | 
			
		||||
                           time: THUMBNAIL_FADE_TIME,
 | 
			
		||||
                           transition: 'easeOutQuad',
 | 
			
		||||
                           onComplete: Lang.bind(this, function () { this.thumbnailsVisible = true; })
 | 
			
		||||
                           onComplete: () => { this.thumbnailsVisible = true; },
 | 
			
		||||
                           onCompleteScope: this
 | 
			
		||||
                         });
 | 
			
		||||
 | 
			
		||||
        this._switcherList._items[this._selectedIndex].add_accessible_state (Atk.StateType.EXPANDED);
 | 
			
		||||
@@ -389,9 +410,8 @@ var CyclerHighlight = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        this.actor.add_constraint(constraint);
 | 
			
		||||
 | 
			
		||||
        this.actor.connect('notify::allocation',
 | 
			
		||||
                           Lang.bind(this, this._onAllocationChanged));
 | 
			
		||||
        this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
 | 
			
		||||
        this.actor.connect('notify::allocation', () => { this._onAllocationChanged(); });
 | 
			
		||||
        this.actor.connect('destroy', () => { this._onDestroy(); });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    set window(w) {
 | 
			
		||||
@@ -449,7 +469,7 @@ var CyclerPopup = new Lang.Class({
 | 
			
		||||
        // We don't show an actual popup, so just provide what SwitcherPopup
 | 
			
		||||
        // expects instead of inheriting from SwitcherList
 | 
			
		||||
        this._switcherList = { actor: new St.Widget(),
 | 
			
		||||
                               highlight: Lang.bind(this, this._highlightItem),
 | 
			
		||||
                               highlight: (index, justOutline) => { this._highlightItem(index, justOutline); },
 | 
			
		||||
                               connect: function() {} };
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@@ -639,12 +659,15 @@ var AppSwitcher = new Lang.Class({
 | 
			
		||||
        this._altTabPopup = altTabPopup;
 | 
			
		||||
        this._mouseTimeOutId = 0;
 | 
			
		||||
 | 
			
		||||
        this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
 | 
			
		||||
        this.actor.connect('destroy', () => { this._onDestroy(); });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDestroy: function() {
 | 
			
		||||
        if (this._mouseTimeOutId != 0)
 | 
			
		||||
            Mainloop.source_remove(this._mouseTimeOutId);
 | 
			
		||||
 | 
			
		||||
        for (let i = 0; i < this.icons.length; i++)
 | 
			
		||||
            this.icons[i].app.disconnect(this.icons[i]._stateChangedId);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _setIconSize: function() {
 | 
			
		||||
@@ -719,12 +742,11 @@ var AppSwitcher = new Lang.Class({
 | 
			
		||||
        if (this._mouseTimeOutId != 0)
 | 
			
		||||
            Mainloop.source_remove(this._mouseTimeOutId);
 | 
			
		||||
        if (this._altTabPopup.thumbnailsVisible) {
 | 
			
		||||
            this._mouseTimeOutId = Mainloop.timeout_add(APP_ICON_HOVER_TIMEOUT,
 | 
			
		||||
                                                        Lang.bind(this, function () {
 | 
			
		||||
                                                                            this._enterItem(index);
 | 
			
		||||
                                                                            this._mouseTimeOutId = 0;
 | 
			
		||||
                                                                            return GLib.SOURCE_REMOVE;
 | 
			
		||||
                                                        }));
 | 
			
		||||
            this._mouseTimeOutId = Mainloop.timeout_add(APP_ICON_HOVER_TIMEOUT, () => {
 | 
			
		||||
                this._enterItem(index);
 | 
			
		||||
                this._mouseTimeOutId = 0;
 | 
			
		||||
                return GLib.SOURCE_REMOVE;
 | 
			
		||||
            });
 | 
			
		||||
            GLib.Source.set_name_by_id(this._mouseTimeOutId, '[gnome-shell] this._enterItem');
 | 
			
		||||
        } else
 | 
			
		||||
           this._itemEntered(index);
 | 
			
		||||
@@ -767,6 +789,11 @@ var AppSwitcher = new Lang.Class({
 | 
			
		||||
        this.icons.push(appIcon);
 | 
			
		||||
        let item = this.addItem(appIcon.actor, appIcon.label);
 | 
			
		||||
 | 
			
		||||
        appIcon._stateChangedId = appIcon.app.connect('notify::state', (app) => {
 | 
			
		||||
            if (app.state != Shell.AppState.RUNNING)
 | 
			
		||||
                this._removeIcon(app);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        let n = this._arrows.length;
 | 
			
		||||
        let arrow = new St.DrawingArea({ style_class: 'switcher-arrow' });
 | 
			
		||||
        arrow.connect('repaint', function() { SwitcherPopup.drawArrow(arrow, St.Side.BOTTOM); });
 | 
			
		||||
@@ -777,7 +804,22 @@ var AppSwitcher = new Lang.Class({
 | 
			
		||||
            arrow.hide();
 | 
			
		||||
        else
 | 
			
		||||
            item.add_accessible_state (Atk.StateType.EXPANDABLE);
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _removeIcon: function(app) {
 | 
			
		||||
        for (let i = 0; i < this.icons.length; i++)
 | 
			
		||||
            if (this.icons[i].app == app) {
 | 
			
		||||
                this.icons.splice(i, 1);
 | 
			
		||||
                this.removeItem(i);
 | 
			
		||||
                if (this._curApp == i)
 | 
			
		||||
                    this._curApp = SwitcherPopup.mod(i, this.icons.length);
 | 
			
		||||
                if (this.icons.length > 0)
 | 
			
		||||
                    this.highlight(this._curApp);
 | 
			
		||||
                else
 | 
			
		||||
                    this.actor.destroy();
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
var ThumbnailList = new Lang.Class({
 | 
			
		||||
@@ -816,6 +858,8 @@ var ThumbnailList = new Lang.Class({
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.actor.connect('destroy', () => { this._onDestroy(); });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    addClones : function (availHeight) {
 | 
			
		||||
@@ -840,12 +884,38 @@ var ThumbnailList = new Lang.Class({
 | 
			
		||||
            let clone = _createWindowClone(mutterWindow, thumbnailSize);
 | 
			
		||||
            this._thumbnailBins[i].set_height(binHeight);
 | 
			
		||||
            this._thumbnailBins[i].add_actor(clone);
 | 
			
		||||
 | 
			
		||||
            clone._destroyId = mutterWindow.connect('destroy', () => { this._removeThumbnail(clone); });
 | 
			
		||||
            this._clones.push(clone);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Make sure we only do this once
 | 
			
		||||
        this._thumbnailBins = new Array();
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _removeThumbnail: function(source, clone) {
 | 
			
		||||
        for (let i = 0; i < this._clones.length; i++)
 | 
			
		||||
            if (this._clones[i] == clone) {
 | 
			
		||||
                this._clones.splice(i, 1);
 | 
			
		||||
                this._windows.splice(i, 1);
 | 
			
		||||
                this._labels.splice(i, 1);
 | 
			
		||||
                this.removeItem(i);
 | 
			
		||||
 | 
			
		||||
                if (this._clones.length > 0)
 | 
			
		||||
                    this.highlight(SwitcherPopup.mod(i, this._clones.length));
 | 
			
		||||
                else
 | 
			
		||||
                    this.actor.destroy();
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDestroy: function() {
 | 
			
		||||
        for (let i = 0; i < this._clones.length; i++) {
 | 
			
		||||
            if (this._clones[i].source)
 | 
			
		||||
                this._clones[i].source.disconnect(this._clones[i]._destroyId);
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
var WindowIcon = new Lang.Class({
 | 
			
		||||
 
 | 
			
		||||
@@ -16,6 +16,7 @@ var Dialog = new Lang.Class({
 | 
			
		||||
        this.connect('destroy', Lang.bind(this, this._onDestroy));
 | 
			
		||||
 | 
			
		||||
        this._initialKeyFocus = null;
 | 
			
		||||
        this._initialKeyFocusDestroyId = 0;
 | 
			
		||||
        this._pressedKey = null;
 | 
			
		||||
        this._buttonKeys = {};
 | 
			
		||||
        this._createDialog();
 | 
			
		||||
@@ -87,6 +88,18 @@ var Dialog = new Lang.Class({
 | 
			
		||||
        return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _setInitialKeyFocus: function(actor) {
 | 
			
		||||
        if (this._initialKeyFocus)
 | 
			
		||||
            this._initialKeyFocus.disconnect(this._initialKeyFocusDestroyId);
 | 
			
		||||
 | 
			
		||||
        this._initialKeyFocus = actor;
 | 
			
		||||
 | 
			
		||||
        this._initialKeyFocusDestroyId = actor.connect('destroy', () => {
 | 
			
		||||
            this._initialKeyFocus = null;
 | 
			
		||||
            this._initialKeyFocusDestroyId = 0;
 | 
			
		||||
        });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    get initialKeyFocus() {
 | 
			
		||||
        return this._initialKeyFocus || this;
 | 
			
		||||
    },
 | 
			
		||||
@@ -122,7 +135,7 @@ var Dialog = new Lang.Class({
 | 
			
		||||
            button.add_style_pseudo_class('default');
 | 
			
		||||
 | 
			
		||||
        if (this._initialKeyFocus == null || isDefault)
 | 
			
		||||
            this._initialKeyFocus = button;
 | 
			
		||||
            this._setInitialKeyFocus(button);
 | 
			
		||||
 | 
			
		||||
        for (let i in keys)
 | 
			
		||||
            this._buttonKeys[keys[i]] = buttonInfo;
 | 
			
		||||
 
 | 
			
		||||
@@ -233,7 +233,9 @@ var InstallExtensionDialog = new Lang.Class({
 | 
			
		||||
        let dir = Gio.File.new_for_path(GLib.build_filenamev([global.userdatadir, 'extensions', uuid]));
 | 
			
		||||
        let invocation = this._invocation;
 | 
			
		||||
        function errback(code, message) {
 | 
			
		||||
            invocation.return_dbus_error('org.gnome.Shell.' + code, message ? message.toString() : '');
 | 
			
		||||
            let msg = message ? message.toString() : '';
 | 
			
		||||
            log('Error while installing %s: %s (%s)'.format(uuid, code, msg));
 | 
			
		||||
            invocation.return_dbus_error('org.gnome.Shell.' + code, msg);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        function callback() {
 | 
			
		||||
 
 | 
			
		||||
@@ -351,6 +351,9 @@ var LayoutManager = new Lang.Class({
 | 
			
		||||
                this._loadBackground();
 | 
			
		||||
                this._pendingLoadBackground = false;
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            this.primaryMonitor = null;
 | 
			
		||||
            this.bottomMonitor = null;
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -417,7 +417,7 @@ var Overview = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
    beginItemDrag: function(source) {
 | 
			
		||||
        this.emit('item-drag-begin');
 | 
			
		||||
        this._inDrag = true;
 | 
			
		||||
        this._inItemDrag = true;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    cancelledItemDrag: function(source) {
 | 
			
		||||
@@ -425,13 +425,15 @@ var Overview = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    endItemDrag: function(source) {
 | 
			
		||||
        if (!this._inItemDrag)
 | 
			
		||||
            return;
 | 
			
		||||
        this.emit('item-drag-end');
 | 
			
		||||
        this._inDrag = false;
 | 
			
		||||
        this._inItemDrag = false;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    beginWindowDrag: function(window) {
 | 
			
		||||
        this.emit('window-drag-begin', window);
 | 
			
		||||
        this._inDrag = true;
 | 
			
		||||
        this._inWindowDrag = true;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    cancelledWindowDrag: function(window) {
 | 
			
		||||
@@ -439,8 +441,10 @@ var Overview = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    endWindowDrag: function(window) {
 | 
			
		||||
        if (!this._inWindowDrag)
 | 
			
		||||
            return;
 | 
			
		||||
        this.emit('window-drag-end', window);
 | 
			
		||||
        this._inDrag = false;
 | 
			
		||||
        this._inWindowDrag = false;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    focusSearch: function() {
 | 
			
		||||
@@ -484,7 +488,7 @@ var Overview = new Lang.Class({
 | 
			
		||||
    shouldToggleByCornerOrButton: function() {
 | 
			
		||||
        if (this.animationInProgress)
 | 
			
		||||
            return false;
 | 
			
		||||
        if (this._inDrag)
 | 
			
		||||
        if (this._inItemDrag || this._inWindowDrag)
 | 
			
		||||
            return false;
 | 
			
		||||
        if (this._activationTime == 0 || Date.now() / 1000 - this._activationTime > OVERVIEW_ACTIVATION_TIMEOUT)
 | 
			
		||||
            return true;
 | 
			
		||||
 
 | 
			
		||||
@@ -763,7 +763,6 @@ const PANEL_ITEM_IMPLEMENTATIONS = {
 | 
			
		||||
    'appMenu': AppMenuButton,
 | 
			
		||||
    'dateMenu': imports.ui.dateMenu.DateMenuButton,
 | 
			
		||||
    'a11y': imports.ui.status.accessibility.ATIndicator,
 | 
			
		||||
    'a11yGreeter': imports.ui.status.accessibility.ATGreeterIndicator,
 | 
			
		||||
    'keyboard': imports.ui.status.keyboard.InputSourceIndicator,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@@ -798,6 +797,7 @@ var Panel = new Lang.Class({
 | 
			
		||||
        this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
 | 
			
		||||
        this.actor.connect('allocate', Lang.bind(this, this._allocate));
 | 
			
		||||
        this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
 | 
			
		||||
        this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPress));
 | 
			
		||||
 | 
			
		||||
        Main.overview.connect('showing', Lang.bind(this, function () {
 | 
			
		||||
            this.actor.add_style_pseudo_class('overview');
 | 
			
		||||
@@ -965,6 +965,16 @@ var Panel = new Lang.Class({
 | 
			
		||||
        return Clutter.EVENT_STOP;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onKeyPress: function(actor, event) {
 | 
			
		||||
        let symbol = event.get_key_symbol();
 | 
			
		||||
        if (symbol == Clutter.KEY_Escape) {
 | 
			
		||||
            global.screen.focus_default_window(event.get_time());
 | 
			
		||||
            return Clutter.EVENT_STOP;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _toggleMenu: function(indicator) {
 | 
			
		||||
        if (!indicator) // menu not supported by current session mode
 | 
			
		||||
            return;
 | 
			
		||||
 
 | 
			
		||||
@@ -405,7 +405,7 @@ var PopupImageMenuItem = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
    setIcon: function(icon) {
 | 
			
		||||
        // The 'icon' parameter can be either a Gio.Icon or a string.
 | 
			
		||||
        if (GObject.type_is_a(icon, Gio.Icon))
 | 
			
		||||
        if (icon instanceof GObject.Object && GObject.type_is_a(icon, Gio.Icon))
 | 
			
		||||
            this._icon.gicon = icon;
 | 
			
		||||
        else
 | 
			
		||||
            this._icon.icon_name = icon;
 | 
			
		||||
 
 | 
			
		||||
@@ -49,7 +49,7 @@ const _modes = {
 | 
			
		||||
        panel: {
 | 
			
		||||
            left: [],
 | 
			
		||||
            center: ['dateMenu'],
 | 
			
		||||
            right: ['a11yGreeter', 'keyboard', 'aggregateMenu'],
 | 
			
		||||
            right: ['a11y', 'keyboard', 'aggregateMenu']
 | 
			
		||||
        },
 | 
			
		||||
        panelStyle: 'login-screen'
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -212,12 +212,3 @@ var ATIndicator = new Lang.Class({
 | 
			
		||||
        return widget;
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
var ATGreeterIndicator = new Lang.Class({
 | 
			
		||||
    Name: 'ATGreeterIndicator',
 | 
			
		||||
    Extends: ATIndicator,
 | 
			
		||||
 | 
			
		||||
    // Override visibility handling to be always visible
 | 
			
		||||
    _syncMenuVisibility: function() { },
 | 
			
		||||
    _queueSyncMenuVisibility: function() { }
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,7 @@ const RfkillManagerInterface = '<node> \
 | 
			
		||||
<interface name="org.gnome.SettingsDaemon.Rfkill"> \
 | 
			
		||||
<property name="BluetoothAirplaneMode" type="b" access="readwrite" /> \
 | 
			
		||||
<property name="BluetoothHasAirplaneMode" type="b" access="read" /> \
 | 
			
		||||
<property name="BluetoothHardwareAirplaneMode" type="b" access="readwrite" /> \
 | 
			
		||||
</interface> \
 | 
			
		||||
</node>';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -529,6 +529,7 @@ var InputSourceManager = new Lang.Class({
 | 
			
		||||
        let sources = this._settings.inputSources;
 | 
			
		||||
        let nSources = sources.length;
 | 
			
		||||
 | 
			
		||||
        this._currentSource = null;
 | 
			
		||||
        this._inputSources = {};
 | 
			
		||||
        this._ibusSources = {};
 | 
			
		||||
 | 
			
		||||
@@ -827,6 +828,9 @@ var InputSourceIndicator = new Lang.Class({
 | 
			
		||||
        for (let i in this._indicatorLabels)
 | 
			
		||||
            this._indicatorLabels[i].destroy();
 | 
			
		||||
 | 
			
		||||
        this._menuItems = {};
 | 
			
		||||
        this._indicatorLabels = {};
 | 
			
		||||
 | 
			
		||||
        let menuIndex = 0;
 | 
			
		||||
        for (let i in this._inputSourceManager.inputSources) {
 | 
			
		||||
            let is = this._inputSourceManager.inputSources[i];
 | 
			
		||||
 
 | 
			
		||||
@@ -951,7 +951,7 @@ var NMWirelessDialog = new Lang.Class({
 | 
			
		||||
                || (accessPoints[0]._secType == NMAccessPointSecurity.WPA_ENT)) {
 | 
			
		||||
                // 802.1x-enabled APs require further configuration, so they're
 | 
			
		||||
                // handled in gnome-control-center
 | 
			
		||||
                Util.spawn(['gnome-control-center', 'network', 'connect-8021x-wifi',
 | 
			
		||||
                Util.spawn(['gnome-control-center', 'wifi', 'connect-8021x-wifi',
 | 
			
		||||
                            this._device.get_path(), accessPoints[0].dbus_path]);
 | 
			
		||||
            } else {
 | 
			
		||||
                let connection = new NetworkManager.Connection();
 | 
			
		||||
 
 | 
			
		||||
@@ -418,6 +418,11 @@ var SwitcherList = new Lang.Class({
 | 
			
		||||
        return bbox;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    removeItem: function(index) {
 | 
			
		||||
        let item = this._items.splice(index, 1);
 | 
			
		||||
        item[0].destroy();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onItemClicked: function (index) {
 | 
			
		||||
        this._itemActivated(index);
 | 
			
		||||
    },
 | 
			
		||||
@@ -432,7 +437,7 @@ var SwitcherList = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    highlight: function(index, justOutline) {
 | 
			
		||||
        if (this._highlighted != -1) {
 | 
			
		||||
        if (this._items[this._highlighted]) {
 | 
			
		||||
            this._items[this._highlighted].remove_style_pseudo_class('outlined');
 | 
			
		||||
            this._items[this._highlighted].remove_style_pseudo_class('selected');
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -79,6 +79,15 @@ var Source = new Lang.Class({
 | 
			
		||||
        this.signalIDs = [];
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _createPolicy: function() {
 | 
			
		||||
        if (this._app && this._app.get_app_info()) {
 | 
			
		||||
            let id = this._app.get_id().replace(/\.desktop$/,'');
 | 
			
		||||
            return new MessageTray.NotificationApplicationPolicy(id);
 | 
			
		||||
        } else {
 | 
			
		||||
            return new MessageTray.NotificationGenericPolicy();
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    createIcon : function(size) {
 | 
			
		||||
        return this._app.create_icon_texture(size);
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
project('gnome-shell', 'c',
 | 
			
		||||
  version: '3.26.1',
 | 
			
		||||
  version: '3.27.1',
 | 
			
		||||
  meson_version: '>= 0.42.0',
 | 
			
		||||
  license: 'GPLv2+'
 | 
			
		||||
)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2571
									
								
								po/ca@valencia.po
									
									
									
									
									
								
							
							
						
						
									
										2571
									
								
								po/ca@valencia.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										116
									
								
								po/cs.po
									
									
									
									
									
								
							
							
						
						
									
										116
									
								
								po/cs.po
									
									
									
									
									
								
							@@ -12,8 +12,8 @@ msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2017-08-22 18:56+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2017-11-21 18:32+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2017-11-22 10:16+0100\n"
 | 
			
		||||
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
 | 
			
		||||
"Language-Team: čeština <gnome-cs-list@gnome.org>\n"
 | 
			
		||||
"Language: cs\n"
 | 
			
		||||
@@ -399,18 +399,20 @@ msgstr "(nebo otiskněte prst)"
 | 
			
		||||
#. Translators: The name of the power-off action in search
 | 
			
		||||
#: js/misc/systemActions.js:99
 | 
			
		||||
msgctxt "search-result"
 | 
			
		||||
msgid "Power off"
 | 
			
		||||
msgid "Power Off"
 | 
			
		||||
msgstr "Vypnout"
 | 
			
		||||
 | 
			
		||||
#. Translators: A list of keywords that match the power-off action, separated by semicolons
 | 
			
		||||
#: js/misc/systemActions.js:102
 | 
			
		||||
msgid "power off;shutdown"
 | 
			
		||||
msgstr "vypnout;vypnutí;"
 | 
			
		||||
msgid "power off;shutdown;reboot;restart"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"vypnout;vypnutí;restart;restartování;restartovat;reboot;znovu zavést systém;"
 | 
			
		||||
"zavedení systému;natažení systému;"
 | 
			
		||||
 | 
			
		||||
#. Translators: The name of the lock screen action in search
 | 
			
		||||
#: js/misc/systemActions.js:106
 | 
			
		||||
msgctxt "search-result"
 | 
			
		||||
msgid "Lock screen"
 | 
			
		||||
msgid "Lock Screen"
 | 
			
		||||
msgstr "Zamknout obrazovku"
 | 
			
		||||
 | 
			
		||||
#. Translators: A list of keywords that match the lock screen action, separated by semicolons
 | 
			
		||||
@@ -425,7 +427,7 @@ msgstr ""
 | 
			
		||||
#. Translators: The name of the logout action in search
 | 
			
		||||
#: js/misc/systemActions.js:113
 | 
			
		||||
msgctxt "search-result"
 | 
			
		||||
msgid "Log out"
 | 
			
		||||
msgid "Log Out"
 | 
			
		||||
msgstr "Odhlásit se"
 | 
			
		||||
 | 
			
		||||
#. Translators: A list of keywords that match the logout action, separated by semicolons
 | 
			
		||||
@@ -447,7 +449,7 @@ msgstr "uspat do paměti;režim spánku;"
 | 
			
		||||
#. Translators: The name of the switch user action in search
 | 
			
		||||
#: js/misc/systemActions.js:127
 | 
			
		||||
msgctxt "search-result"
 | 
			
		||||
msgid "Switch user"
 | 
			
		||||
msgid "Switch User"
 | 
			
		||||
msgstr "Přepnout uživatele"
 | 
			
		||||
 | 
			
		||||
#. Translators: A list of keywords that match the switch user action, separated by semicolons
 | 
			
		||||
@@ -458,12 +460,12 @@ msgstr "přepnout uživatele;přepnutí uživatele;"
 | 
			
		||||
#. Translators: The name of the lock orientation action in search
 | 
			
		||||
#: js/misc/systemActions.js:134
 | 
			
		||||
msgctxt "search-result"
 | 
			
		||||
msgid "Lock orientation"
 | 
			
		||||
msgid "Lock Orientation"
 | 
			
		||||
msgstr "Zamknout otočení"
 | 
			
		||||
 | 
			
		||||
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
 | 
			
		||||
#: js/misc/systemActions.js:137
 | 
			
		||||
msgid "lock orientation"
 | 
			
		||||
msgid "lock orientation;screen;rotation"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"zamknout otočení;zamknout orientaci;uzamknout otočení;uzamknout orientaci;"
 | 
			
		||||
"zamčít otočení;zamčít orientaci;uzamčít otočení;uzamčít orientaci;zamknutí "
 | 
			
		||||
@@ -666,12 +668,12 @@ msgstr "Přidat mezi oblíbené"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "Zobrazit podrobnosti"
 | 
			
		||||
 | 
			
		||||
#: js/ui/appFavorites.js:140
 | 
			
		||||
#: js/ui/appFavorites.js:141
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "%s byl přidán mezi oblíbené."
 | 
			
		||||
 | 
			
		||||
#: js/ui/appFavorites.js:174
 | 
			
		||||
#: js/ui/appFavorites.js:175
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "%s byl odstraněn z oblíbených."
 | 
			
		||||
@@ -760,51 +762,51 @@ msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "So"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:442
 | 
			
		||||
#: js/ui/calendar.js:449
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "Předchozí měsíc"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:452
 | 
			
		||||
#: js/ui/calendar.js:459
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Následující měsíc"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:605
 | 
			
		||||
#: js/ui/calendar.js:612
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%e"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:660
 | 
			
		||||
#: js/ui/calendar.js:667
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "%V. týden"
 | 
			
		||||
 | 
			
		||||
#. 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:729
 | 
			
		||||
#: js/ui/calendar.js:736
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Celý den"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:862
 | 
			
		||||
#: js/ui/calendar.js:869
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, %e. %B"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:866
 | 
			
		||||
#: js/ui/calendar.js:873
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A, %e. %B %Y"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:1086
 | 
			
		||||
#: js/ui/calendar.js:1093
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Nejsou žádná upozornění"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:1089
 | 
			
		||||
#: js/ui/calendar.js:1096
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Nejsou žádné události"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:1117
 | 
			
		||||
#: js/ui/calendar.js:1124
 | 
			
		||||
msgid "Clear All"
 | 
			
		||||
msgstr "Vymazat vše"
 | 
			
		||||
 | 
			
		||||
@@ -838,7 +840,7 @@ msgstr "Externí svazek připojen"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Externí svazek odpojen"
 | 
			
		||||
 | 
			
		||||
#: js/ui/components/autorunManager.js:354
 | 
			
		||||
#: js/ui/components/autorunManager.js:358
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Otevřít pomocí %s"
 | 
			
		||||
@@ -976,7 +978,7 @@ msgstr "Oblíbené"
 | 
			
		||||
#. Translators: This is the date format to use when the calendar popup is
 | 
			
		||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
 | 
			
		||||
#.
 | 
			
		||||
#: js/ui/dateMenu.js:75
 | 
			
		||||
#: js/ui/dateMenu.js:76
 | 
			
		||||
msgid "%B %e %Y"
 | 
			
		||||
msgstr "%e. %B %Y"
 | 
			
		||||
 | 
			
		||||
@@ -985,19 +987,19 @@ msgstr "%e. %B %Y"
 | 
			
		||||
#. * below the time in the shell; it should combine the weekday and the
 | 
			
		||||
#. * date, e.g. "Tuesday February 17 2015".
 | 
			
		||||
#.
 | 
			
		||||
#: js/ui/dateMenu.js:82
 | 
			
		||||
#: js/ui/dateMenu.js:83
 | 
			
		||||
msgid "%A %B %e %Y"
 | 
			
		||||
msgstr "%A, %e. %B %Y"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:144
 | 
			
		||||
#: js/ui/dateMenu.js:145
 | 
			
		||||
msgid "Add world clocks…"
 | 
			
		||||
msgstr "Přidat světový čas…"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:145
 | 
			
		||||
#: js/ui/dateMenu.js:146
 | 
			
		||||
msgid "World Clocks"
 | 
			
		||||
msgstr "Světové hodiny"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:224
 | 
			
		||||
#: js/ui/dateMenu.js:225
 | 
			
		||||
msgid "Weather"
 | 
			
		||||
msgstr "Počasí"
 | 
			
		||||
 | 
			
		||||
@@ -1005,7 +1007,7 @@ msgstr "Počasí"
 | 
			
		||||
#. libgweather for the possible condition strings. If at all
 | 
			
		||||
#. possible, the sentence should match the grammatical case etc. of
 | 
			
		||||
#. the inserted conditions.
 | 
			
		||||
#: js/ui/dateMenu.js:286
 | 
			
		||||
#: js/ui/dateMenu.js:289
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s all day."
 | 
			
		||||
msgstr "%s celý den."
 | 
			
		||||
@@ -1014,7 +1016,7 @@ msgstr "%s celý den."
 | 
			
		||||
#. libgweather for the possible condition strings. If at all
 | 
			
		||||
#. possible, the sentence should match the grammatical case etc. of
 | 
			
		||||
#. the inserted conditions.
 | 
			
		||||
#: js/ui/dateMenu.js:292
 | 
			
		||||
#: js/ui/dateMenu.js:295
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s, then %s later."
 | 
			
		||||
msgstr "%s, později %s."
 | 
			
		||||
@@ -1023,30 +1025,30 @@ msgstr "%s, později %s."
 | 
			
		||||
#. libgweather for the possible condition strings. If at all
 | 
			
		||||
#. possible, the sentence should match the grammatical case etc. of
 | 
			
		||||
#. the inserted conditions.
 | 
			
		||||
#: js/ui/dateMenu.js:298
 | 
			
		||||
#: js/ui/dateMenu.js:301
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s, then %s, followed by %s later."
 | 
			
		||||
msgstr "%s, pak %s a později %s."
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:309
 | 
			
		||||
#: js/ui/dateMenu.js:312
 | 
			
		||||
msgid "Select a location…"
 | 
			
		||||
msgstr "Vybrat místo…"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:312
 | 
			
		||||
#: js/ui/dateMenu.js:315
 | 
			
		||||
msgid "Loading…"
 | 
			
		||||
msgstr "Načítá se…"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
 | 
			
		||||
#: js/ui/dateMenu.js:318
 | 
			
		||||
#: js/ui/dateMenu.js:321
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Feels like %s."
 | 
			
		||||
msgstr "Pocitově jako %s."
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:321
 | 
			
		||||
#: js/ui/dateMenu.js:324
 | 
			
		||||
msgid "Go online for weather information"
 | 
			
		||||
msgstr "Připojit se kvůli informacím o počasí"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:323
 | 
			
		||||
#: js/ui/dateMenu.js:326
 | 
			
		||||
msgid "Weather information is currently unavailable"
 | 
			
		||||
msgstr "Informace o počasí nejsou nyní dostupné"
 | 
			
		||||
 | 
			
		||||
@@ -1239,7 +1241,7 @@ msgstr "Zamítnout"
 | 
			
		||||
msgid "Allow"
 | 
			
		||||
msgstr "Umožnit"
 | 
			
		||||
 | 
			
		||||
#: js/ui/keyboard.js:738 js/ui/status/keyboard.js:782
 | 
			
		||||
#: js/ui/keyboard.js:738 js/ui/status/keyboard.js:783
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Klávesnice"
 | 
			
		||||
 | 
			
		||||
@@ -1291,7 +1293,7 @@ msgstr "Zobrazit zdroj"
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Webová stránka"
 | 
			
		||||
 | 
			
		||||
#: js/ui/messageTray.js:1493
 | 
			
		||||
#: js/ui/messageTray.js:1494
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Informace o systému"
 | 
			
		||||
 | 
			
		||||
@@ -1319,7 +1321,7 @@ msgstr "Přehled"
 | 
			
		||||
#. characters.
 | 
			
		||||
#: js/ui/overview.js:240
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "vyhledávejte psaním…"
 | 
			
		||||
msgstr "Vyhledávejte psaním…"
 | 
			
		||||
 | 
			
		||||
#: js/ui/padOsd.js:103
 | 
			
		||||
msgid "New shortcut…"
 | 
			
		||||
@@ -1538,16 +1540,16 @@ msgstr "Vysoký kontrast"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "Styl velkého textu"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:47
 | 
			
		||||
#: js/ui/status/bluetooth.js:48
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Bluetooth"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:627
 | 
			
		||||
#: js/ui/status/bluetooth.js:57 js/ui/status/network.js:627
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Nastavení Bluetooth"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: js/ui/status/bluetooth.js:136
 | 
			
		||||
#: js/ui/status/bluetooth.js:137
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
@@ -1555,19 +1557,19 @@ msgstr[0] "%d připojené"
 | 
			
		||||
msgstr[1] "%d připojená"
 | 
			
		||||
msgstr[2] "%d připojených"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:138
 | 
			
		||||
#: js/ui/status/bluetooth.js:139
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "Vypnuto"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:140
 | 
			
		||||
#: js/ui/status/bluetooth.js:141
 | 
			
		||||
msgid "On"
 | 
			
		||||
msgstr "Zapnuto"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1299
 | 
			
		||||
#: js/ui/status/bluetooth.js:143 js/ui/status/network.js:1299
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Zapnout"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
 | 
			
		||||
#: js/ui/status/bluetooth.js:143 js/ui/status/network.js:170
 | 
			
		||||
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
 | 
			
		||||
#: js/ui/status/network.js:1418 js/ui/status/nightLight.js:47
 | 
			
		||||
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
 | 
			
		||||
@@ -1578,7 +1580,7 @@ msgstr "Vypnout"
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "Jas"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/keyboard.js:805
 | 
			
		||||
#: js/ui/status/keyboard.js:806
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "Zobrazit rozložení klávesnice"
 | 
			
		||||
 | 
			
		||||
@@ -2064,19 +2066,19 @@ msgstr "Kalendář Evolution"
 | 
			
		||||
msgid "evolution"
 | 
			
		||||
msgstr "evolution"
 | 
			
		||||
 | 
			
		||||
#: src/main.c:380
 | 
			
		||||
#: src/main.c:437
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Vypsat verzi"
 | 
			
		||||
 | 
			
		||||
#: src/main.c:386
 | 
			
		||||
#: src/main.c:443
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Režim použitý GDM pro přihlašovací obrazovku"
 | 
			
		||||
 | 
			
		||||
#: src/main.c:392
 | 
			
		||||
#: src/main.c:449
 | 
			
		||||
msgid "Use a specific mode, e.g. “gdm” for login screen"
 | 
			
		||||
msgstr "Použít pro přihlašovací obrazovku zadaný režim, např. „gdm“."
 | 
			
		||||
 | 
			
		||||
#: src/main.c:398
 | 
			
		||||
#: src/main.c:455
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Vypsat možné režimy"
 | 
			
		||||
 | 
			
		||||
@@ -2125,3 +2127,15 @@ msgstr[2] "%u vstupů"
 | 
			
		||||
#: subprojects/gvc/gvc-mixer-control.c:2738
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Systémové zvuky"
 | 
			
		||||
 | 
			
		||||
#~ msgctxt "search-result"
 | 
			
		||||
#~ msgid "Power off"
 | 
			
		||||
#~ msgstr "Vypnout"
 | 
			
		||||
 | 
			
		||||
#~ msgctxt "search-result"
 | 
			
		||||
#~ msgid "Log out"
 | 
			
		||||
#~ msgstr "Odhlásit se"
 | 
			
		||||
 | 
			
		||||
#~ msgctxt "search-result"
 | 
			
		||||
#~ msgid "Switch user"
 | 
			
		||||
#~ msgstr "Přepnout uživatele"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										65
									
								
								po/fur.po
									
									
									
									
									
								
							
							
						
						
									
										65
									
								
								po/fur.po
									
									
									
									
									
								
							@@ -8,8 +8,8 @@ msgstr ""
 | 
			
		||||
"Project-Id-Version: video-subtitles master\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2017-08-23 17:01+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2017-10-04 18:03+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2017-10-11 08:34+0200\n"
 | 
			
		||||
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
 | 
			
		||||
"Language-Team: Friulian <fur@li.org>\n"
 | 
			
		||||
"Language: fur\n"
 | 
			
		||||
@@ -659,12 +659,12 @@ msgstr "Zonte tai preferîts"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "Mostre Detais"
 | 
			
		||||
 | 
			
		||||
#: js/ui/appFavorites.js:140
 | 
			
		||||
#: js/ui/appFavorites.js:141
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "%s al è stât zontât tai tiei preferîts."
 | 
			
		||||
 | 
			
		||||
#: js/ui/appFavorites.js:174
 | 
			
		||||
#: js/ui/appFavorites.js:175
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "%s al è stât gjavât dai tiei preferîts."
 | 
			
		||||
@@ -753,51 +753,51 @@ msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "S"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:442
 | 
			
		||||
#: js/ui/calendar.js:449
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "Mês indaûr"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:452
 | 
			
		||||
#: js/ui/calendar.js:459
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Prossim mês"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:605
 | 
			
		||||
#: js/ui/calendar.js:612
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:660
 | 
			
		||||
#: js/ui/calendar.js:667
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Setemane %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:729
 | 
			
		||||
#: js/ui/calendar.js:736
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Dut il dì"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:862
 | 
			
		||||
#: js/ui/calendar.js:869
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, %d di %B"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:866
 | 
			
		||||
#: js/ui/calendar.js:873
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A, %d di %B dal %Y"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:1086
 | 
			
		||||
#: js/ui/calendar.js:1093
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Nissune notifiche"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:1089
 | 
			
		||||
#: js/ui/calendar.js:1096
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Nissun event"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:1117
 | 
			
		||||
#: js/ui/calendar.js:1124
 | 
			
		||||
msgid "Clear All"
 | 
			
		||||
msgstr "Nete dut"
 | 
			
		||||
 | 
			
		||||
@@ -831,7 +831,7 @@ msgstr "Dispositîf esterni tacât"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Dispositîf esterni distacât"
 | 
			
		||||
 | 
			
		||||
#: js/ui/components/autorunManager.js:354
 | 
			
		||||
#: js/ui/components/autorunManager.js:358
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Vierç cun %s"
 | 
			
		||||
@@ -968,7 +968,7 @@ msgstr "Dash"
 | 
			
		||||
#. Translators: This is the date format to use when the calendar popup is
 | 
			
		||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
 | 
			
		||||
#.
 | 
			
		||||
#: js/ui/dateMenu.js:75
 | 
			
		||||
#: js/ui/dateMenu.js:76
 | 
			
		||||
msgid "%B %e %Y"
 | 
			
		||||
msgstr "%e di %B dal %Y"
 | 
			
		||||
 | 
			
		||||
@@ -976,19 +976,19 @@ msgstr "%e di %B dal %Y"
 | 
			
		||||
#. * below the time in the shell; it should combine the weekday and the
 | 
			
		||||
#. * date, e.g. "Tuesday February 17 2015".
 | 
			
		||||
#.
 | 
			
		||||
#: js/ui/dateMenu.js:82
 | 
			
		||||
#: js/ui/dateMenu.js:83
 | 
			
		||||
msgid "%A %B %e %Y"
 | 
			
		||||
msgstr "%A %e di %B dal %Y"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:144
 | 
			
		||||
#: js/ui/dateMenu.js:145
 | 
			
		||||
msgid "Add world clocks…"
 | 
			
		||||
msgstr "Zonte orlois mondiâi..."
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:145
 | 
			
		||||
#: js/ui/dateMenu.js:146
 | 
			
		||||
msgid "World Clocks"
 | 
			
		||||
msgstr "Orlois mondiâi"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:224
 | 
			
		||||
#: js/ui/dateMenu.js:225
 | 
			
		||||
msgid "Weather"
 | 
			
		||||
msgstr "Timp"
 | 
			
		||||
 | 
			
		||||
@@ -996,7 +996,7 @@ msgstr "Timp"
 | 
			
		||||
#. libgweather for the possible condition strings. If at all
 | 
			
		||||
#. possible, the sentence should match the grammatical case etc. of
 | 
			
		||||
#. the inserted conditions.
 | 
			
		||||
#: js/ui/dateMenu.js:286
 | 
			
		||||
#: js/ui/dateMenu.js:289
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s all day."
 | 
			
		||||
msgstr "%s dut il dì."
 | 
			
		||||
@@ -1005,7 +1005,7 @@ msgstr "%s dut il dì."
 | 
			
		||||
#. libgweather for the possible condition strings. If at all
 | 
			
		||||
#. possible, the sentence should match the grammatical case etc. of
 | 
			
		||||
#. the inserted conditions.
 | 
			
		||||
#: js/ui/dateMenu.js:292
 | 
			
		||||
#: js/ui/dateMenu.js:295
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s, then %s later."
 | 
			
		||||
msgstr "%s, plui tart %s."
 | 
			
		||||
@@ -1014,30 +1014,30 @@ msgstr "%s, plui tart %s."
 | 
			
		||||
#. libgweather for the possible condition strings. If at all
 | 
			
		||||
#. possible, the sentence should match the grammatical case etc. of
 | 
			
		||||
#. the inserted conditions.
 | 
			
		||||
#: js/ui/dateMenu.js:298
 | 
			
		||||
#: js/ui/dateMenu.js:301
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s, then %s, followed by %s later."
 | 
			
		||||
msgstr "%s, chi di un pôc %s, e plui tart %s."
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:309
 | 
			
		||||
#: js/ui/dateMenu.js:312
 | 
			
		||||
msgid "Select a location…"
 | 
			
		||||
msgstr "Selezione une posizion..."
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:312
 | 
			
		||||
#: js/ui/dateMenu.js:315
 | 
			
		||||
msgid "Loading…"
 | 
			
		||||
msgstr "Daûr a cjariâ..."
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
 | 
			
		||||
#: js/ui/dateMenu.js:318
 | 
			
		||||
#: js/ui/dateMenu.js:321
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Feels like %s."
 | 
			
		||||
msgstr "Si sint %s."
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:321
 | 
			
		||||
#: js/ui/dateMenu.js:324
 | 
			
		||||
msgid "Go online for weather information"
 | 
			
		||||
msgstr "Va in rêt pes informazions sul timp"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:323
 | 
			
		||||
#: js/ui/dateMenu.js:326
 | 
			
		||||
msgid "Weather information is currently unavailable"
 | 
			
		||||
msgstr "Lis informazions sul timp al moment no son disponibilis"
 | 
			
		||||
 | 
			
		||||
@@ -1276,7 +1276,7 @@ msgstr "Viôt sorzint"
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Pagjine Web"
 | 
			
		||||
 | 
			
		||||
#: js/ui/messageTray.js:1493
 | 
			
		||||
#: js/ui/messageTray.js:1494
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Informazion di sisteme"
 | 
			
		||||
 | 
			
		||||
@@ -1449,12 +1449,11 @@ msgstr "Nissun risultât."
 | 
			
		||||
 | 
			
		||||
# o ancjemò %d
 | 
			
		||||
#: js/ui/search.js:777
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
#| msgid "%d more"
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d more"
 | 
			
		||||
msgid_plural "%d more"
 | 
			
		||||
msgstr[0] "Ancjemò %d"
 | 
			
		||||
msgstr[1] "Ancjemò %d"
 | 
			
		||||
msgstr[0] "%d altri"
 | 
			
		||||
msgstr[1] "%d altris"
 | 
			
		||||
 | 
			
		||||
#: js/ui/shellEntry.js:25
 | 
			
		||||
msgid "Copy"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										131
									
								
								po/lt.po
									
									
									
									
									
								
							
							
						
						
									
										131
									
								
								po/lt.po
									
									
									
									
									
								
							@@ -11,8 +11,8 @@ msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell master\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2017-08-22 23:13+0300\n"
 | 
			
		||||
"POT-Creation-Date: 2017-11-21 18:32+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2017-11-25 21:52+0200\n"
 | 
			
		||||
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
 | 
			
		||||
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
 | 
			
		||||
"Language: lt\n"
 | 
			
		||||
@@ -402,18 +402,21 @@ msgstr "(arba perbraukite pirštu)"
 | 
			
		||||
#: js/misc/systemActions.js:99
 | 
			
		||||
#| msgid "Power Off"
 | 
			
		||||
msgctxt "search-result"
 | 
			
		||||
msgid "Power off"
 | 
			
		||||
msgid "Power Off"
 | 
			
		||||
msgstr "Išjungti"
 | 
			
		||||
 | 
			
		||||
#. Translators: A list of keywords that match the power-off action, separated by semicolons
 | 
			
		||||
#: js/misc/systemActions.js:102
 | 
			
		||||
msgid "power off;shutdown"
 | 
			
		||||
msgstr "išjungti"
 | 
			
		||||
#| msgid "power off;shutdown"
 | 
			
		||||
msgid "power off;shutdown;reboot;restart"
 | 
			
		||||
msgstr "išjungti;perleisti;perkrauti;"
 | 
			
		||||
 | 
			
		||||
#. Translators: The name of the lock screen action in search
 | 
			
		||||
#: js/misc/systemActions.js:106
 | 
			
		||||
#| msgctxt "search-result"
 | 
			
		||||
#| msgid "Lock screen"
 | 
			
		||||
msgctxt "search-result"
 | 
			
		||||
msgid "Lock screen"
 | 
			
		||||
msgid "Lock Screen"
 | 
			
		||||
msgstr "Užrakinti ekraną"
 | 
			
		||||
 | 
			
		||||
#. Translators: A list of keywords that match the lock screen action, separated by semicolons
 | 
			
		||||
@@ -425,7 +428,7 @@ msgstr "užrakinti ekraną"
 | 
			
		||||
#: js/misc/systemActions.js:113
 | 
			
		||||
#| msgid "Log Out"
 | 
			
		||||
msgctxt "search-result"
 | 
			
		||||
msgid "Log out"
 | 
			
		||||
msgid "Log Out"
 | 
			
		||||
msgstr "Atsijungti"
 | 
			
		||||
 | 
			
		||||
#. Translators: A list of keywords that match the logout action, separated by semicolons
 | 
			
		||||
@@ -435,14 +438,12 @@ msgstr "atsijungti"
 | 
			
		||||
 | 
			
		||||
#. Translators: The name of the suspend action in search
 | 
			
		||||
#: js/misc/systemActions.js:120
 | 
			
		||||
#| msgid "Suspend"
 | 
			
		||||
msgctxt "search-result"
 | 
			
		||||
msgid "Suspend"
 | 
			
		||||
msgstr "Pristabdyti"
 | 
			
		||||
 | 
			
		||||
#. Translators: A list of keywords that match the suspend action, separated by semicolons
 | 
			
		||||
#: js/misc/systemActions.js:123
 | 
			
		||||
#| msgid "Suspend"
 | 
			
		||||
msgid "suspend;sleep"
 | 
			
		||||
msgstr "pristabdyti;užmigdyti"
 | 
			
		||||
 | 
			
		||||
@@ -450,27 +451,27 @@ msgstr "pristabdyti;užmigdyti"
 | 
			
		||||
#: js/misc/systemActions.js:127
 | 
			
		||||
#| msgid "Switch User"
 | 
			
		||||
msgctxt "search-result"
 | 
			
		||||
msgid "Switch user"
 | 
			
		||||
msgid "Switch User"
 | 
			
		||||
msgstr "Keisti naudotoją"
 | 
			
		||||
 | 
			
		||||
#. Translators: A list of keywords that match the switch user action, separated by semicolons
 | 
			
		||||
#: js/misc/systemActions.js:130
 | 
			
		||||
#| msgid "Switch User"
 | 
			
		||||
msgid "switch user"
 | 
			
		||||
msgstr "keisti naudotoją"
 | 
			
		||||
 | 
			
		||||
#. Translators: The name of the lock orientation action in search
 | 
			
		||||
#: js/misc/systemActions.js:134
 | 
			
		||||
#| msgid "Orientation Lock"
 | 
			
		||||
#| msgctxt "search-result"
 | 
			
		||||
#| msgid "Lock orientation"
 | 
			
		||||
msgctxt "search-result"
 | 
			
		||||
msgid "Lock orientation"
 | 
			
		||||
msgstr "Orientacijos užrakinimas"
 | 
			
		||||
msgid "Lock Orientation"
 | 
			
		||||
msgstr "Užrakinti orientaciją"
 | 
			
		||||
 | 
			
		||||
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
 | 
			
		||||
#: js/misc/systemActions.js:137
 | 
			
		||||
#| msgid "Orientation Lock"
 | 
			
		||||
msgid "lock orientation"
 | 
			
		||||
msgstr "orientacijos užrakinimas"
 | 
			
		||||
#| msgid "lock orientation"
 | 
			
		||||
msgid "lock orientation;screen;rotation"
 | 
			
		||||
msgstr "orientacijos užrakinimas;ekranas;pasukimas"
 | 
			
		||||
 | 
			
		||||
#: js/misc/util.js:122
 | 
			
		||||
msgid "Command not found"
 | 
			
		||||
@@ -668,12 +669,12 @@ msgstr "Pridėti prie mėgstamų"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "Rodyti detalią informaciją"
 | 
			
		||||
 | 
			
		||||
#: js/ui/appFavorites.js:140
 | 
			
		||||
#: js/ui/appFavorites.js:141
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "%s pridėta prie jūsų mėgstamų."
 | 
			
		||||
 | 
			
		||||
#: js/ui/appFavorites.js:174
 | 
			
		||||
#: js/ui/appFavorites.js:175
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "%s pašalinta iš jūsų mėgstamų."
 | 
			
		||||
@@ -762,51 +763,51 @@ msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "Š"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:442
 | 
			
		||||
#: js/ui/calendar.js:449
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "Ankstesnis mėnuo"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:452
 | 
			
		||||
#: js/ui/calendar.js:459
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Kitas mėnuo"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:605
 | 
			
		||||
#: js/ui/calendar.js:612
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:660
 | 
			
		||||
#: js/ui/calendar.js:667
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Savaitė %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:729
 | 
			
		||||
#: js/ui/calendar.js:736
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Visa diena"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:862
 | 
			
		||||
#: js/ui/calendar.js:869
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, %B %d d."
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:866
 | 
			
		||||
#: js/ui/calendar.js:873
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A, %Y m. %B %d d."
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:1086
 | 
			
		||||
#: js/ui/calendar.js:1093
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Nėra pranešimų"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:1089
 | 
			
		||||
#: js/ui/calendar.js:1096
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Nėra įvykių"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:1117
 | 
			
		||||
#: js/ui/calendar.js:1124
 | 
			
		||||
msgid "Clear All"
 | 
			
		||||
msgstr "Viską išvalyti"
 | 
			
		||||
 | 
			
		||||
@@ -840,7 +841,7 @@ msgstr "Prijungta išorinė laikmena"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Atjungta išorinė laikmena"
 | 
			
		||||
 | 
			
		||||
#: js/ui/components/autorunManager.js:354
 | 
			
		||||
#: js/ui/components/autorunManager.js:358
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Atverti su %s"
 | 
			
		||||
@@ -977,7 +978,7 @@ msgstr "Paleidimo sritis"
 | 
			
		||||
#. Translators: This is the date format to use when the calendar popup is
 | 
			
		||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
 | 
			
		||||
#.
 | 
			
		||||
#: js/ui/dateMenu.js:75
 | 
			
		||||
#: js/ui/dateMenu.js:76
 | 
			
		||||
msgid "%B %e %Y"
 | 
			
		||||
msgstr "%Y m. %B %d d."
 | 
			
		||||
 | 
			
		||||
@@ -985,19 +986,19 @@ msgstr "%Y m. %B %d d."
 | 
			
		||||
#. * below the time in the shell; it should combine the weekday and the
 | 
			
		||||
#. * date, e.g. "Tuesday February 17 2015".
 | 
			
		||||
#.
 | 
			
		||||
#: js/ui/dateMenu.js:82
 | 
			
		||||
#: js/ui/dateMenu.js:83
 | 
			
		||||
msgid "%A %B %e %Y"
 | 
			
		||||
msgstr "%A, %Y m. %B %d d."
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:144
 | 
			
		||||
#: js/ui/dateMenu.js:145
 | 
			
		||||
msgid "Add world clocks…"
 | 
			
		||||
msgstr "Pridėti pasaulio laikrodžius…"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:145
 | 
			
		||||
#: js/ui/dateMenu.js:146
 | 
			
		||||
msgid "World Clocks"
 | 
			
		||||
msgstr "Pasaulio laikrodžiai"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:224
 | 
			
		||||
#: js/ui/dateMenu.js:225
 | 
			
		||||
msgid "Weather"
 | 
			
		||||
msgstr "Orai"
 | 
			
		||||
 | 
			
		||||
@@ -1005,7 +1006,7 @@ msgstr "Orai"
 | 
			
		||||
#. libgweather for the possible condition strings. If at all
 | 
			
		||||
#. possible, the sentence should match the grammatical case etc. of
 | 
			
		||||
#. the inserted conditions.
 | 
			
		||||
#: js/ui/dateMenu.js:286
 | 
			
		||||
#: js/ui/dateMenu.js:289
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s all day."
 | 
			
		||||
msgstr "%s visą dieną."
 | 
			
		||||
@@ -1014,7 +1015,7 @@ msgstr "%s visą dieną."
 | 
			
		||||
#. libgweather for the possible condition strings. If at all
 | 
			
		||||
#. possible, the sentence should match the grammatical case etc. of
 | 
			
		||||
#. the inserted conditions.
 | 
			
		||||
#: js/ui/dateMenu.js:292
 | 
			
		||||
#: js/ui/dateMenu.js:295
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s, then %s later."
 | 
			
		||||
msgstr "%s, o vėliau %s."
 | 
			
		||||
@@ -1023,30 +1024,30 @@ msgstr "%s, o vėliau %s."
 | 
			
		||||
#. libgweather for the possible condition strings. If at all
 | 
			
		||||
#. possible, the sentence should match the grammatical case etc. of
 | 
			
		||||
#. the inserted conditions.
 | 
			
		||||
#: js/ui/dateMenu.js:298
 | 
			
		||||
#: js/ui/dateMenu.js:301
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s, then %s, followed by %s later."
 | 
			
		||||
msgstr "%s, tuomet %s, o po to vėliau %s."
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:309
 | 
			
		||||
#: js/ui/dateMenu.js:312
 | 
			
		||||
msgid "Select a location…"
 | 
			
		||||
msgstr "Pasirinkite vietą…"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:312
 | 
			
		||||
#: js/ui/dateMenu.js:315
 | 
			
		||||
msgid "Loading…"
 | 
			
		||||
msgstr "Įkeliama…"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
 | 
			
		||||
#: js/ui/dateMenu.js:318
 | 
			
		||||
#: js/ui/dateMenu.js:321
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Feels like %s."
 | 
			
		||||
msgstr "Jaučiama kaip %s."
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:321
 | 
			
		||||
#: js/ui/dateMenu.js:324
 | 
			
		||||
msgid "Go online for weather information"
 | 
			
		||||
msgstr "Prisijunkite prie tinklo orų informacijai gauti"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:323
 | 
			
		||||
#: js/ui/dateMenu.js:326
 | 
			
		||||
msgid "Weather information is currently unavailable"
 | 
			
		||||
msgstr "Orų informacija šiuo metu yra neprieinama"
 | 
			
		||||
 | 
			
		||||
@@ -1237,7 +1238,7 @@ msgstr "Neleisti"
 | 
			
		||||
msgid "Allow"
 | 
			
		||||
msgstr "Leisti"
 | 
			
		||||
 | 
			
		||||
#: js/ui/keyboard.js:738 js/ui/status/keyboard.js:782
 | 
			
		||||
#: js/ui/keyboard.js:738 js/ui/status/keyboard.js:783
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Klaviatūra"
 | 
			
		||||
 | 
			
		||||
@@ -1289,7 +1290,7 @@ msgstr "Žiūrėti šaltinį"
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Tinklalapis"
 | 
			
		||||
 | 
			
		||||
#: js/ui/messageTray.js:1493
 | 
			
		||||
#: js/ui/messageTray.js:1494
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Sistemos informacija"
 | 
			
		||||
 | 
			
		||||
@@ -1536,16 +1537,16 @@ msgstr "Didelis kontrastas"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "Didelis tekstas"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:47
 | 
			
		||||
#: js/ui/status/bluetooth.js:48
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Bluetooth"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:627
 | 
			
		||||
#: js/ui/status/bluetooth.js:57 js/ui/status/network.js:627
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Bluetooth nustatymai"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: js/ui/status/bluetooth.js:136
 | 
			
		||||
#: js/ui/status/bluetooth.js:137
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
@@ -1553,19 +1554,19 @@ msgstr[0] "%d prijungtas"
 | 
			
		||||
msgstr[1] "%d prijungti"
 | 
			
		||||
msgstr[2] "%d prijungta"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:138
 | 
			
		||||
#: js/ui/status/bluetooth.js:139
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "Išjungta"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:140
 | 
			
		||||
#: js/ui/status/bluetooth.js:141
 | 
			
		||||
msgid "On"
 | 
			
		||||
msgstr "Įjungta"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1299
 | 
			
		||||
#: js/ui/status/bluetooth.js:143 js/ui/status/network.js:1299
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Įjungti"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
 | 
			
		||||
#: js/ui/status/bluetooth.js:143 js/ui/status/network.js:170
 | 
			
		||||
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
 | 
			
		||||
#: js/ui/status/network.js:1418 js/ui/status/nightLight.js:47
 | 
			
		||||
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
 | 
			
		||||
@@ -1576,7 +1577,7 @@ msgstr "Išjungti"
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "Ryškumas"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/keyboard.js:805
 | 
			
		||||
#: js/ui/status/keyboard.js:806
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "Rodyti klaviatūros išdėstymą"
 | 
			
		||||
 | 
			
		||||
@@ -1912,7 +1913,6 @@ msgstr "Garsumas"
 | 
			
		||||
#. * Try to keep it under around 15 characters.
 | 
			
		||||
#.
 | 
			
		||||
#: js/ui/switchMonitor.js:21
 | 
			
		||||
#| msgid "Error"
 | 
			
		||||
msgid "Mirror"
 | 
			
		||||
msgstr "Veidrodis"
 | 
			
		||||
 | 
			
		||||
@@ -2061,19 +2061,19 @@ msgstr "Evolution kalendorius"
 | 
			
		||||
msgid "evolution"
 | 
			
		||||
msgstr "evolution"
 | 
			
		||||
 | 
			
		||||
#: src/main.c:380
 | 
			
		||||
#: src/main.c:437
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Išvesti versijos numerį"
 | 
			
		||||
 | 
			
		||||
#: src/main.c:386
 | 
			
		||||
#: src/main.c:443
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Veiksena, naudojama GDM prisijungimo ekrane"
 | 
			
		||||
 | 
			
		||||
#: src/main.c:392
 | 
			
		||||
#: src/main.c:449
 | 
			
		||||
msgid "Use a specific mode, e.g. “gdm” for login screen"
 | 
			
		||||
msgstr "Naudoti konkrečią veikseną, pvz., „gdm“ prisijungimo ekranui"
 | 
			
		||||
 | 
			
		||||
#: src/main.c:398
 | 
			
		||||
#: src/main.c:455
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Išvardinti galimas veiksenas"
 | 
			
		||||
 | 
			
		||||
@@ -2123,6 +2123,21 @@ msgstr[2] "%u įvesčių"
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Sistemos garsai"
 | 
			
		||||
 | 
			
		||||
#~| msgid "Power Off"
 | 
			
		||||
#~ msgctxt "search-result"
 | 
			
		||||
#~ msgid "Power off"
 | 
			
		||||
#~ msgstr "Išjungti"
 | 
			
		||||
 | 
			
		||||
#~| msgid "Log Out"
 | 
			
		||||
#~ msgctxt "search-result"
 | 
			
		||||
#~ msgid "Log out"
 | 
			
		||||
#~ msgstr "Atsijungti"
 | 
			
		||||
 | 
			
		||||
#~| msgid "Switch User"
 | 
			
		||||
#~ msgctxt "search-result"
 | 
			
		||||
#~ msgid "Switch user"
 | 
			
		||||
#~ msgstr "Keisti naudotoją"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Hide tray"
 | 
			
		||||
#~ msgstr "Slėpti dėklą"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										104
									
								
								po/nl.po
									
									
									
									
									
								
							
							
						
						
									
										104
									
								
								po/nl.po
									
									
									
									
									
								
							@@ -15,8 +15,8 @@ msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-s"
 | 
			
		||||
"hell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2017-08-31 02:16+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2017-09-01 10:25+0100\n"
 | 
			
		||||
"POT-Creation-Date: 2017-10-21 11:40+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2017-10-25 11:05+0100\n"
 | 
			
		||||
"Last-Translator: Hannie Dumoleyn <hannie@ubuntu-nl.org>\n"
 | 
			
		||||
"Language-Team: Dutch <gnome-nl-list@gnome.org>\n"
 | 
			
		||||
"Language: nl\n"
 | 
			
		||||
@@ -71,16 +71,16 @@ msgstr "Vensterbeheer en toepassingen starten"
 | 
			
		||||
#: data/org.gnome.shell.gschema.xml.in:6
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Interne hulpprogramma's inschakelen die nuttig zijn voor ontwikkwlaars en"
 | 
			
		||||
" testers via Alt-F2"
 | 
			
		||||
"Interne hulpprogramma's inschakelen die nuttig zijn voor ontwikkwlaars en "
 | 
			
		||||
"testers via Alt-F2"
 | 
			
		||||
 | 
			
		||||
#: data/org.gnome.shell.gschema.xml.in:9
 | 
			
		||||
msgid ""
 | 
			
		||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
 | 
			
		||||
"dialog."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Geeft toegang tot interne debugging- en observatieprogramma's met behulp van"
 | 
			
		||||
" het Alt-F2-dialoogvenster."
 | 
			
		||||
"Geeft toegang tot interne debugging- en observatieprogramma's met behulp van "
 | 
			
		||||
"het Alt-F2-dialoogvenster."
 | 
			
		||||
 | 
			
		||||
#: data/org.gnome.shell.gschema.xml.in:16
 | 
			
		||||
msgid "UUIDs of extensions to enable"
 | 
			
		||||
@@ -107,8 +107,8 @@ msgid ""
 | 
			
		||||
"Disable all extensions the user has enabled without affecting the “enabled-"
 | 
			
		||||
"extension” setting."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Schakel alle door de gebruiker ingeschakelde uitbreidingen uit, zonder de"
 | 
			
		||||
" instelling ‘enabled-extension’ te wijzigen."
 | 
			
		||||
"Schakel alle door de gebruiker ingeschakelde uitbreidingen uit, zonder de "
 | 
			
		||||
"instelling ‘enabled-extension’ te wijzigen."
 | 
			
		||||
 | 
			
		||||
#: data/org.gnome.shell.gschema.xml.in:34
 | 
			
		||||
msgid "Disables the validation of extension version compatibility"
 | 
			
		||||
@@ -122,8 +122,8 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Gnome Shell zal alleen uitbreidingen laden die aangeven de huidige versie te "
 | 
			
		||||
"ondersteunen. Door deze optie in te schakelen wordt deze controle "
 | 
			
		||||
"overgeslagen en worden alle uitbreidingen geladen, ongeacht de versies die ze"
 | 
			
		||||
" zouden moeten ondersteunen."
 | 
			
		||||
"overgeslagen en worden alle uitbreidingen geladen, ongeacht de versies die "
 | 
			
		||||
"ze zouden moeten ondersteunen."
 | 
			
		||||
 | 
			
		||||
#: data/org.gnome.shell.gschema.xml.in:43
 | 
			
		||||
msgid "List of desktop file IDs for favorite applications"
 | 
			
		||||
@@ -134,8 +134,8 @@ msgid ""
 | 
			
		||||
"The applications corresponding to these identifiers will be displayed in the "
 | 
			
		||||
"favorites area."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"De toepassingen die aan deze identifiers voldoen worden in het"
 | 
			
		||||
" favorietengebied weergegeven."
 | 
			
		||||
"De toepassingen die aan deze identifiers voldoen worden in het "
 | 
			
		||||
"favorietengebied weergegeven."
 | 
			
		||||
 | 
			
		||||
#: data/org.gnome.shell.gschema.xml.in:51
 | 
			
		||||
msgid "App Picker View"
 | 
			
		||||
@@ -171,8 +171,8 @@ msgstr ""
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether to remember password for mounting encrypted or remote filesystems"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Of wachtwoorden voor versleutelde bestandssystemen of bestandssystemen op"
 | 
			
		||||
" afstand onthouden moeten worden"
 | 
			
		||||
"Of wachtwoorden voor versleutelde bestandssystemen of bestandssystemen op "
 | 
			
		||||
"afstand onthouden moeten worden"
 | 
			
		||||
 | 
			
		||||
#: data/org.gnome.shell.gschema.xml.in:76
 | 
			
		||||
msgid ""
 | 
			
		||||
@@ -310,8 +310,8 @@ msgstr "Deze waarde overschrijft de waarde in org.gnome.mutter in Gnome Shell."
 | 
			
		||||
#: data/org.gnome.shell.gschema.xml.in:206
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Vensters langs de randen positioneren bij verslepen naar de rand van het"
 | 
			
		||||
" scherm"
 | 
			
		||||
"Vensters langs de randen positioneren bij verslepen naar de rand van het "
 | 
			
		||||
"scherm"
 | 
			
		||||
 | 
			
		||||
#: data/org.gnome.shell.gschema.xml.in:214
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
@@ -755,51 +755,51 @@ msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "Z"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:442
 | 
			
		||||
#: js/ui/calendar.js:449
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "Vorige maand"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:452
 | 
			
		||||
#: js/ui/calendar.js:459
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Volgende maand"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:605
 | 
			
		||||
#: js/ui/calendar.js:612
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:660
 | 
			
		||||
#: js/ui/calendar.js:667
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Week %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:729
 | 
			
		||||
#: js/ui/calendar.js:736
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Gehele dag"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:862
 | 
			
		||||
#: js/ui/calendar.js:869
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%a %d %B"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:866
 | 
			
		||||
#: js/ui/calendar.js:873
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%a %d %B %Y"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:1086
 | 
			
		||||
#: js/ui/calendar.js:1093
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Geen notificaties"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:1089
 | 
			
		||||
#: js/ui/calendar.js:1096
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Geen gebeurtenissen"
 | 
			
		||||
 | 
			
		||||
#: js/ui/calendar.js:1117
 | 
			
		||||
#: js/ui/calendar.js:1124
 | 
			
		||||
msgid "Clear All"
 | 
			
		||||
msgstr "Alles wissen"
 | 
			
		||||
 | 
			
		||||
@@ -814,8 +814,8 @@ msgid ""
 | 
			
		||||
"You may choose to wait a short while for it to continue or force the "
 | 
			
		||||
"application to quit entirely."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"U kan even wachten tot de toepassing weer reageert, of ze dwingen"
 | 
			
		||||
" onmiddellijk af te sluiten."
 | 
			
		||||
"U kan even wachten tot de toepassing weer reageert, of ze dwingen "
 | 
			
		||||
"onmiddellijk af te sluiten."
 | 
			
		||||
 | 
			
		||||
#: js/ui/closeDialog.js:61
 | 
			
		||||
msgid "Force Quit"
 | 
			
		||||
@@ -833,7 +833,7 @@ msgstr "Verbinding met externe schijf gemaakt"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Verbinding met externe schijf verbroken"
 | 
			
		||||
 | 
			
		||||
#: js/ui/components/autorunManager.js:354
 | 
			
		||||
#: js/ui/components/autorunManager.js:358
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Openen met %s"
 | 
			
		||||
@@ -972,7 +972,7 @@ msgstr "Zijbalk"
 | 
			
		||||
#. Translators: This is the date format to use when the calendar popup is
 | 
			
		||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
 | 
			
		||||
#.
 | 
			
		||||
#: js/ui/dateMenu.js:75
 | 
			
		||||
#: js/ui/dateMenu.js:76
 | 
			
		||||
msgid "%B %e %Y"
 | 
			
		||||
msgstr "%e %B %Y"
 | 
			
		||||
 | 
			
		||||
@@ -980,19 +980,19 @@ msgstr "%e %B %Y"
 | 
			
		||||
#. * below the time in the shell; it should combine the weekday and the
 | 
			
		||||
#. * date, e.g. "Tuesday February 17 2015".
 | 
			
		||||
#.
 | 
			
		||||
#: js/ui/dateMenu.js:82
 | 
			
		||||
#: js/ui/dateMenu.js:83
 | 
			
		||||
msgid "%A %B %e %Y"
 | 
			
		||||
msgstr "%A %e %B %Y"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:144
 | 
			
		||||
#: js/ui/dateMenu.js:145
 | 
			
		||||
msgid "Add world clocks…"
 | 
			
		||||
msgstr "Wereldklokken toevoegen…"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:145
 | 
			
		||||
#: js/ui/dateMenu.js:146
 | 
			
		||||
msgid "World Clocks"
 | 
			
		||||
msgstr "Wereldklokken"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:224
 | 
			
		||||
#: js/ui/dateMenu.js:225
 | 
			
		||||
msgid "Weather"
 | 
			
		||||
msgstr "Weer"
 | 
			
		||||
 | 
			
		||||
@@ -1000,7 +1000,7 @@ msgstr "Weer"
 | 
			
		||||
#. libgweather for the possible condition strings. If at all
 | 
			
		||||
#. possible, the sentence should match the grammatical case etc. of
 | 
			
		||||
#. the inserted conditions.
 | 
			
		||||
#: js/ui/dateMenu.js:286
 | 
			
		||||
#: js/ui/dateMenu.js:289
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s all day."
 | 
			
		||||
msgstr "De hele dag %s."
 | 
			
		||||
@@ -1009,7 +1009,7 @@ msgstr "De hele dag %s."
 | 
			
		||||
#. libgweather for the possible condition strings. If at all
 | 
			
		||||
#. possible, the sentence should match the grammatical case etc. of
 | 
			
		||||
#. the inserted conditions.
 | 
			
		||||
#: js/ui/dateMenu.js:292
 | 
			
		||||
#: js/ui/dateMenu.js:295
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s, then %s later."
 | 
			
		||||
msgstr "%s, daarna %s."
 | 
			
		||||
@@ -1018,30 +1018,30 @@ msgstr "%s, daarna %s."
 | 
			
		||||
#. libgweather for the possible condition strings. If at all
 | 
			
		||||
#. possible, the sentence should match the grammatical case etc. of
 | 
			
		||||
#. the inserted conditions.
 | 
			
		||||
#: js/ui/dateMenu.js:298
 | 
			
		||||
#: js/ui/dateMenu.js:301
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s, then %s, followed by %s later."
 | 
			
		||||
msgstr "%s, daarna %s, gevolgd door %s."
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:309
 | 
			
		||||
#: js/ui/dateMenu.js:312
 | 
			
		||||
msgid "Select a location…"
 | 
			
		||||
msgstr "Selecteer een locatie…"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:312
 | 
			
		||||
#: js/ui/dateMenu.js:315
 | 
			
		||||
msgid "Loading…"
 | 
			
		||||
msgstr "Laden…"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
 | 
			
		||||
#: js/ui/dateMenu.js:318
 | 
			
		||||
#: js/ui/dateMenu.js:321
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Feels like %s."
 | 
			
		||||
msgstr "Voelt aan als %s."
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:321
 | 
			
		||||
#: js/ui/dateMenu.js:324
 | 
			
		||||
msgid "Go online for weather information"
 | 
			
		||||
msgstr "Ga online voor informatie over het weer"
 | 
			
		||||
 | 
			
		||||
#: js/ui/dateMenu.js:323
 | 
			
		||||
#: js/ui/dateMenu.js:326
 | 
			
		||||
msgid "Weather information is currently unavailable"
 | 
			
		||||
msgstr "Informatie over het weer is momenteel niet beschikbaar"
 | 
			
		||||
 | 
			
		||||
@@ -1278,7 +1278,7 @@ msgstr "Broncode weergeven"
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Webpagina"
 | 
			
		||||
 | 
			
		||||
#: js/ui/messageTray.js:1493
 | 
			
		||||
#: js/ui/messageTray.js:1494
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Systeeminformatie"
 | 
			
		||||
 | 
			
		||||
@@ -1367,9 +1367,9 @@ msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "Systeem"
 | 
			
		||||
 | 
			
		||||
#: js/ui/panel.js:812
 | 
			
		||||
#: js/ui/panel.js:811
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Bovenbalk"
 | 
			
		||||
msgstr "Menubalk"
 | 
			
		||||
 | 
			
		||||
#. Translators: this MUST be either "toggle-switch-us"
 | 
			
		||||
#. (for toggle switches containing the English words
 | 
			
		||||
@@ -1522,35 +1522,35 @@ msgstr "Hoog contrast"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "Grote tekst"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:47
 | 
			
		||||
#: js/ui/status/bluetooth.js:48
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Bluetooth"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:627
 | 
			
		||||
#: js/ui/status/bluetooth.js:57 js/ui/status/network.js:627
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Bluetooth-instellingen"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: js/ui/status/bluetooth.js:136
 | 
			
		||||
#: js/ui/status/bluetooth.js:137
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
msgstr[0] "%d verbonden apparaat"
 | 
			
		||||
msgstr[1] "%d verbonden apparaten"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:138
 | 
			
		||||
#: js/ui/status/bluetooth.js:139
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "Uit"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:140
 | 
			
		||||
#: js/ui/status/bluetooth.js:141
 | 
			
		||||
msgid "On"
 | 
			
		||||
msgstr "Aan"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1299
 | 
			
		||||
#: js/ui/status/bluetooth.js:143 js/ui/status/network.js:1299
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Inschakelen"
 | 
			
		||||
 | 
			
		||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
 | 
			
		||||
#: js/ui/status/bluetooth.js:143 js/ui/status/network.js:170
 | 
			
		||||
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
 | 
			
		||||
#: js/ui/status/network.js:1418 js/ui/status/nightLight.js:47
 | 
			
		||||
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								po/sl.po
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								po/sl.po
									
									
									
									
									
								
							@@ -363,7 +363,7 @@ msgstr "Izbor seje"
 | 
			
		||||
#. manually entering the username.
 | 
			
		||||
#: js/gdm/loginDialog.js:458
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Ali je ni na seznamu?"
 | 
			
		||||
msgstr "Ali uporabniškeg imena ni na seznamu?"
 | 
			
		||||
 | 
			
		||||
#. Translators: this message is shown below the username entry field
 | 
			
		||||
#. to clue the user in on how to login to the local network realm
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1020
									
								
								po/zh_CN.po
									
									
									
									
									
								
							
							
						
						
									
										1020
									
								
								po/zh_CN.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										70
									
								
								src/main.c
									
									
									
									
									
								
							
							
						
						
									
										70
									
								
								src/main.c
									
									
									
									
									
								
							@@ -38,14 +38,17 @@ extern GType gnome_shell_plugin_get_type (void);
 | 
			
		||||
 | 
			
		||||
static gboolean is_gdm_mode = FALSE;
 | 
			
		||||
static char *session_mode = NULL;
 | 
			
		||||
static int caught_signal = 0;
 | 
			
		||||
 | 
			
		||||
#define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER 1
 | 
			
		||||
#define DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER 4
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
  SHELL_DEBUG_BACKTRACE_WARNINGS = 1,
 | 
			
		||||
  SHELL_DEBUG_BACKTRACE_SEGFAULTS = 2,
 | 
			
		||||
};
 | 
			
		||||
static int _shell_debug;
 | 
			
		||||
static gboolean _tracked_signals[NSIG] = { 0 };
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
shell_dbus_acquire_name (GDBusProxy  *bus,
 | 
			
		||||
@@ -290,7 +293,8 @@ static void
 | 
			
		||||
shell_init_debug (const char *debug_env)
 | 
			
		||||
{
 | 
			
		||||
  static const GDebugKey keys[] = {
 | 
			
		||||
    { "backtrace-warnings", SHELL_DEBUG_BACKTRACE_WARNINGS }
 | 
			
		||||
    { "backtrace-warnings", SHELL_DEBUG_BACKTRACE_WARNINGS },
 | 
			
		||||
    { "backtrace-segfaults", SHELL_DEBUG_BACKTRACE_SEGFAULTS },
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  _shell_debug = g_parse_debug_string (debug_env, keys,
 | 
			
		||||
@@ -328,6 +332,59 @@ shut_up (const char     *domain,
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
dump_gjs_stack_alarm_sigaction (int signo)
 | 
			
		||||
{
 | 
			
		||||
  g_log_set_default_handler (g_log_default_handler, NULL);
 | 
			
		||||
  g_warning ("Failed to dump Javascript stack, got stuck");
 | 
			
		||||
  g_log_set_default_handler (default_log_handler, NULL);
 | 
			
		||||
 | 
			
		||||
  raise (caught_signal);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
dump_gjs_stack_on_signal_handler (int signo)
 | 
			
		||||
{
 | 
			
		||||
  struct sigaction sa = { 0 };
 | 
			
		||||
  gsize i;
 | 
			
		||||
 | 
			
		||||
  /* Ignore all the signals starting this point, a part the one we'll raise
 | 
			
		||||
   * (which is implicitly ignored here through SA_RESETHAND), this is needed
 | 
			
		||||
   * not to get this handler being called by other signals that we were
 | 
			
		||||
   * tracking and that might be emitted by code called starting from now.
 | 
			
		||||
   */
 | 
			
		||||
  for (i = 0; i < G_N_ELEMENTS (_tracked_signals); ++i)
 | 
			
		||||
    {
 | 
			
		||||
      if (_tracked_signals[i] && i != signo)
 | 
			
		||||
        signal (i, SIG_IGN);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  /* Waiting at least 5 seconds for the dumpstack, if it fails, we raise the error */
 | 
			
		||||
  caught_signal = signo;
 | 
			
		||||
  sa.sa_handler = dump_gjs_stack_alarm_sigaction;
 | 
			
		||||
  sigemptyset (&sa.sa_mask);
 | 
			
		||||
  sigaction (SIGALRM, &sa, NULL);
 | 
			
		||||
 | 
			
		||||
  alarm (5);
 | 
			
		||||
  gjs_dumpstack ();
 | 
			
		||||
  alarm (0);
 | 
			
		||||
 | 
			
		||||
  raise (signo);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
dump_gjs_stack_on_signal (int signo)
 | 
			
		||||
{
 | 
			
		||||
  struct sigaction sa = { 0 };
 | 
			
		||||
 | 
			
		||||
  sa.sa_flags   = SA_RESETHAND | SA_NODEFER;
 | 
			
		||||
  sa.sa_handler = dump_gjs_stack_on_signal_handler;
 | 
			
		||||
  sigemptyset (&sa.sa_mask);
 | 
			
		||||
 | 
			
		||||
  sigaction (signo, &sa, NULL);
 | 
			
		||||
  _tracked_signals[signo] = TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static gboolean
 | 
			
		||||
list_modes (const char  *option_name,
 | 
			
		||||
            const char  *value,
 | 
			
		||||
@@ -459,6 +516,17 @@ main (int argc, char **argv)
 | 
			
		||||
 | 
			
		||||
  shell_prefs_init ();
 | 
			
		||||
 | 
			
		||||
  dump_gjs_stack_on_signal (SIGABRT);
 | 
			
		||||
  dump_gjs_stack_on_signal (SIGFPE);
 | 
			
		||||
  dump_gjs_stack_on_signal (SIGIOT);
 | 
			
		||||
  dump_gjs_stack_on_signal (SIGTRAP);
 | 
			
		||||
 | 
			
		||||
  if ((_shell_debug & SHELL_DEBUG_BACKTRACE_SEGFAULTS))
 | 
			
		||||
    {
 | 
			
		||||
      dump_gjs_stack_on_signal (SIGBUS);
 | 
			
		||||
      dump_gjs_stack_on_signal (SIGSEGV);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  ecode = meta_run ();
 | 
			
		||||
 | 
			
		||||
  g_debug ("Doing final cleanup");
 | 
			
		||||
 
 | 
			
		||||
@@ -256,21 +256,21 @@ get_app_from_gapplication_id (MetaWindow  *window)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * get_app_from_flatpak_id:
 | 
			
		||||
 * get_app_from_sandboxed_app_id:
 | 
			
		||||
 * @window: a #MetaWindow
 | 
			
		||||
 *
 | 
			
		||||
 * Looks only at the given window, and attempts to determine
 | 
			
		||||
 * an application based on its Flatpak ID.  If one can't be determined,
 | 
			
		||||
 * an application based on its Flatpak or Snap ID.  If one can't be determined,
 | 
			
		||||
 * return %NULL.
 | 
			
		||||
 *
 | 
			
		||||
 * Return value: (transfer full): A newly-referenced #ShellApp, or %NULL
 | 
			
		||||
 */
 | 
			
		||||
static ShellApp *
 | 
			
		||||
get_app_from_flatpak_id (MetaWindow  *window)
 | 
			
		||||
get_app_from_sandboxed_app_id (MetaWindow  *window)
 | 
			
		||||
{
 | 
			
		||||
  const char *id;
 | 
			
		||||
 | 
			
		||||
  id = meta_window_get_flatpak_id (window);
 | 
			
		||||
  id = meta_window_get_sandboxed_app_id (window);
 | 
			
		||||
  if (!id)
 | 
			
		||||
    return NULL;
 | 
			
		||||
 | 
			
		||||
@@ -395,10 +395,10 @@ get_app_for_window (ShellWindowTracker    *tracker,
 | 
			
		||||
  if (meta_window_is_remote (window))
 | 
			
		||||
    return _shell_app_new_for_window (window);
 | 
			
		||||
 | 
			
		||||
  /* Check if the window was opened from within a Flatpak sandbox; if this
 | 
			
		||||
  /* Check if the window was opened from within a sandbox; if this
 | 
			
		||||
   * is the case, a corresponding .desktop file is guaranteed to match;
 | 
			
		||||
   */
 | 
			
		||||
  result = get_app_from_flatpak_id (window);
 | 
			
		||||
  result = get_app_from_sandboxed_app_id (window);
 | 
			
		||||
  if (result != NULL)
 | 
			
		||||
    return result;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user