Compare commits

...

36 Commits

Author SHA1 Message Date
Marco Trevisan (Treviño)
9469064007 dialog: Really set ellipsize mode in subtitle and body
Dialog's subtitle or body could not be properly wrapped, while it's ellipsized
when the text's width doesn't exceed the container size.

Clutter text has an `ellipsize` property, however in dialog's subtitle and body
we have been setting the `ellipsize-mode` property to Pango.EllipsizeMode.NONE
that is not present in the underlying GObject.

Not being an error in javascript, gjs didn't warn us about this, while at the
same time the St.Label's default Pango.EllipsizeMode.END was used.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/922

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/531


(cherry picked from commit 3121c9aa29)
2019-05-03 21:33:58 +00:00
Florian Müllner
e6ba36062d st: Do not force allocation updates during shadow creation
If an actor is pending a relayout when get_allocation_box() is called,
the method forces an allocation update. In case of StWidget, this might
then result in a style update and a consecutive invalidation of the
shadow spec.

A helper method that invalidates one of its parameters as a side effect
(and by extension its return value as well) is most unexpected, so cur-
rently _st_create_shadow_pipeline_from_actor() poses an easy trap to
callers to run into.

Remove that trap by calling get_size()/get_position() instead, which
don't have the unintended side effect - it is still a good idea to fix
callers who were running into this to not waste resources on creating
shadows that are invalidated before the next paint, but throwing un-
defined behavior at them is harsh ...

https://bugzilla.gnome.org/show_bug.cgi?id=788908
2018-04-11 21:44:26 +02:00
Dz Chen
4900eea72d Update zh_CN translation 2018-03-20 17:04:20 +08:00
GNOME Translation Robot
4d598b3294 Update Scottish Gaelic translation 2018-02-26 12:55:58 +00:00
GNOME Translation Robot
e1b9babac5 Update Scottish Gaelic translation 2018-02-26 12:49:37 +00:00
Fabio Tomat
5481d5822e Update Friulian translation 2018-02-19 12:43:08 +00:00
Pieter Schalk Schoeman
b49b82e00c Update Afrikaans translation 2018-02-10 09:14:53 +00:00
Carlos Garnacho
0d9c742127 padOsd: Ensure to pick pad devices only
If the underlying X11 input driver creates multiple devices from a single
device node, we may end up picking up the wrong device. So, instead of
picking the first device based on node and bailing out if it's not a pad,
pick the first pad that has that device node, and bail out if there is
none.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/10

Closes: #10
2018-01-30 16:43:34 +01:00
Florian Müllner
cb2e26ff10 network: Fix visibility of VPN section
Commit f2a9467f91 was too eager to simplify the code, and removed
the bits that hid the section in case no VPNs are set up - add them
back to fix the visibility.

https://bugzilla.gnome.org/show_bug.cgi?id=787845
2018-01-27 17:51:31 +01:00
Marco Trevisan (Treviño)
64c857e3ff dnd: Declare restore location variables
https://bugzilla.gnome.org/show_bug.cgi?id=791233
2018-01-17 19:07:43 +01:00
Marco Trevisan (Treviño)
4d225bdeac appDisplay: don't try to close the popup menu that is already destroyed
This would lead to a JS error otherwise, as we might end up
in deleting actors that have been already destructed.

https://bugzilla.gnome.org/show_bug.cgi?id=791233
2018-01-17 19:07:41 +01:00
Pieter Schalk Schoeman
15b1810a61 Update Afrikaans translation 2017-12-18 17:28:02 +00:00
Ray Strode
983a7ca8f5 background: don't leak wall clock when background changes
The background code allocates a GnomeWallClock when its first created,
but neglects to drop a reference to that clock at destroy time.
The undestroyed clocks lead to a timerfd leak that eventually prevents
the shell from functioning.

https://bugzilla.gnome.org/show_bug.cgi?id=791655
2017-12-15 10:58:28 -05:00
Sveinn í Felli
74f4447b38 Update Icelandic translation 2017-12-08 09:01:12 +00:00
Bastien Nocera
a3736d3a39 dateMenu: Fix possible crash with unknown locations
If there are locations unknown to the libgweather version gnome-shell is
using, don't crash.

JS ERROR: TypeError: b.location is null
WorldClocksSection<._clocksChanged/<@resource:///org/gnome/shell/ui/dateMenu.js:141:1
WorldClocksSection<._clocksChanged@resource:///org/gnome/shell/ui/dateMenu.js:139:9

https://bugzilla.gnome.org/show_bug.cgi?id=791148
2017-12-06 02:06:49 +01:00
Bastien Nocera
b7b59d78b5 dateMenu: Ignore malformed world-clocks settings
Guard against a malformed setting that doesn't contain a
'location' key.

https://bugzilla.gnome.org/show_bug.cgi?id=791148
2017-12-06 02:06:47 +01:00
Marco Trevisan (Treviño)
ac596ca1c1 dash: Do not shadow ClutterActor's destroy()
Since commit ef1e27966d turned DashItemContainer into an StWidget,
the destroy() method overrides the ClutterActor method, which is at
the very least bad style. Instead, follow the usual pattern of using
a ::destroy handler.

https://bugzilla.gnome.org/show_bug.cgi?id=791233
2017-12-05 18:07:43 -05:00
Marco Trevisan (Treviño)
d5805f9f0d dash: Make sure item labels are only destroyed once
Labels are currently destroyed from both animateOutAndDestroy()
and destroy(), which now (rightfully) triggers a gjs warning. As
the label is created unconditionally since commit 36e5ae4a25,
mirror that and always release it in destroy() and hide it
elsewhere.

https://bugzilla.gnome.org/show_bug.cgi?id=791233
2017-12-05 18:07:39 -05:00
Marco Trevisan (Treviño)
3b4be770a0 status/keyboard: Reset menuItems and Label objects on change
In the current code it could happen that we've menuItems and indicatorLabels
for sources that aren't anymore around, because in case a source is removed
we don't cleanup the their container objects.
Also, we should nullify InputManager's _currentSource when sources change
or it might point to some invalid data again.

So it could happen that we try to access an invalid menuitem or label
if a source change happens mentioning a source that has been deleted.

https://bugzilla.gnome.org/show_bug.cgi?id=788931
2017-11-21 11:05:31 -05:00
Petr Kovar
580ba22954 Update Czech translation 2017-11-20 08:18:36 +01:00
Carlos Garnacho
af79d975b0 overview: Protect ::drag-end handlers
These end up emitting item-drag-end/window-drag-end pretty much
without checks. Given the MetaDnd object may end up emitting
::drag-leave as a result of the plugin ending its grab, this
would result on spurious emission of those events and subsequent
warnings.

For extra paranoia, the _inDrag variable has been split into
_inItemDrag/_inWindowDrag so we can't cross the streams.

https://bugzilla.gnome.org/show_bug.cgi?id=784545
2017-11-17 16:03:37 +01:00
Kjartan Maraas
bfe2558d68 Updated Norwegian bokmål translation. 2017-11-06 13:03:05 +01:00
Khaled Hosny
8f4e45abfa Update Arabic translation 2017-11-03 10:18:46 +02:00
Florian Müllner
6dd973be12 Bump version to 3.26.2
Update NEWS.
2017-11-02 17:01:38 +01:00
Florian Müllner
98be314e64 style: Fix left tile preview
Windows that are tiled to the left/right only use rounded corners
where they are attached to the edge, the preview should follow that.
2017-11-02 16:56:31 +01:00
Alessandro Bono
c0ef30d416 theme: Restore drag effect between workspaces
When dragging a window between two workspaces a light effect used
to be present. The effect was lost probably during the theme revamp
in version 3.16.

https://bugzilla.gnome.org/show_bug.cgi?id=789103
2017-11-02 16:56:19 +01:00
Florian Müllner
fd103ff703 dialog: Reset initial focus on destroy
Since 0b02f757f8 we track the button that should have key focus
when the dialog is opened. However when the dialog is reused, the
button may get destroyed - clear the initial focus in that case to
allow setButton() to set a new one.

https://bugzilla.gnome.org/show_bug.cgi?id=788542
2017-10-27 14:46:30 +02:00
Hannie Dumoleyn
49c144a64c Update Dutch translation 2017-10-25 09:03:41 +00:00
Marco Trevisan (Treviño)
2c2479581a main: use SA_NODEFER to track signals to being able to raise from alarm
After we receive one of the tracked signals, in case we get stuck inside
the gjs_dumpstack () call, we use an alarm to raise the previously emitted
signal, however without using SA_NODEFER, the raise inside the alarm handler
will be ignored.

To avoid to handle new signals caused by the handler calls, once we get the
first signal, we just ignore them all as they could only lead to dirty traces.

Also, cleaning up a bit the code, and disabling the shell log handler
in dump_gjs_stack_alarm_sigaction since this might lead to a new
gjs_dumpstack () request.

https://bugzilla.gnome.org/show_bug.cgi?id=789237
2017-10-24 01:22:16 -05:00
Marco Trevisan (Treviño)
f15650e060 main: call gjs_dumpstack on aborts and traps and optionally on segfaults
In order to debug issues triggered by JS code we might need to
see the stack of it, this is not normally visible in static stack traces,
thus we need to call gjs_dumpstack () before dying the process.

Intercepting signals SIGABRT, SIGTRAP (needed for catching fatal glib
errors) SIGFPE and SIGIOT by default, while introducing a new
'backtrace-segfaults' flag for the SHELL_DEBUG environment variable to
do the same on SIGSEGV and SIGBUS (this is a precaution to avoid that we
corrupt the stack for automatic errors trackers).

In any case after dumping the stack we raise the signal again, in order
to make the system aware of it.

https://bugzilla.gnome.org/show_bug.cgi?id=789237
2017-10-23 05:12:28 -05:00
Florian Müllner
78d58deb5a network: Spawn wifi panel for further WPA enterprise configuration
Settings recently split Wi-Fi configuration from the Network panel,
so launch that instead.

https://bugzilla.gnome.org/show_bug.cgi?id=789231
2017-10-20 18:05:10 +02:00
Florian Müllner
f4237a4ae7 popupMenu: Fix setting ImageMenuItem's icons via strings
Commit 28ca96064b added support for setting PopupImageMenuItem's icons
via GIcons as well as via strings. However as the check whether an object
implements the GIcon interface only works on GObjects, specifying an icon
name was broken. Fix that to actually allow both strings and GIcons.

https://bugzilla.gnome.org/show_bug.cgi?id=789018
2017-10-16 20:54:57 +02:00
Matej Urbančič
40616015e5 Updated Slovenian translation 2017-10-15 09:51:49 +02:00
Fabio Tomat
43ec5280b4 Update Friulian translation 2017-10-11 06:35:27 +00:00
Jonas Ådahl
5f8a511483 layout: Unset primary and bottom monitor when headless
We were handling being initially headless by only setting the primary
and bottom monitor if there was any primary monitor, then checking the
primary monitor reference before making calls assuming there was any
monitors.

What we didn't do was unset the primary and bottom monitor when going
headless, meaning that temporarly disconnecting a monitor while having
windows open caused an assert to be triggered due to various code paths
taking the path assuming there are valid monitors.

Unsetting both the primary and bottom monitor when going headless avoids
the code paths in the same way as they were avoided when starting
headless.

https://bugzilla.gnome.org/show_bug.cgi?id=788607
2017-10-07 00:38:16 -04:00
Xavi Ivars
f036786d4a
[l10n] Updated Catalan (Valencian) translation 2017-10-05 13:59:55 +02:00
30 changed files with 5310 additions and 3219 deletions

13
NEWS
View File

@ -1,3 +1,16 @@
3.26.2
======
* Dump javascript stack on aborts, traps and segfaults [Marco; #789237]
* Misc. bug fixes [Jonas, Florian, Alessandro; #788607, #789018, #789231,
#788542, #789103]
Contributors:
Jonas Ådahl, Alessandro Bono, Florian Müllner, Marco Trevisan (Treviño)
Translations:
Xavi Ivars [ca@valencia], Fabio Tomat [fur], Matej Urbančič [sl],
Hannie Dumoleyn [nl]
3.26.1 3.26.1
====== ======
* Don't detach launched apps to not break pkexec and friends [Florian; #763531] * Don't detach launched apps to not break pkexec and friends [Florian; #763531]

View File

@ -647,7 +647,7 @@ StScrollBar {
border: 1px solid #215d9c; } border: 1px solid #215d9c; }
.tile-preview-left.on-primary { .tile-preview-left.on-primary {
border-radius: 6px 6px 0 0; } border-radius: 6px 0 0 0; }
.tile-preview-right.on-primary { .tile-preview-right.on-primary {
border-radius: 0 6px 0 0; } border-radius: 0 6px 0 0; }
@ -1339,6 +1339,10 @@ StScrollBar {
border-radius: 9px 0 0 9px; } border-radius: 9px 0 0 9px; }
.workspace-thumbnails:rtl { .workspace-thumbnails:rtl {
border-radius: 0 9px 9px 0; } 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 { .workspace-thumbnail-indicator {
border: 4px solid #215d9c; border: 4px solid #215d9c;

@ -1 +1 @@
Subproject commit 336c2d5ad6b165f586330ec7e1fdc23ff220638a Subproject commit 32361ac692945e4c2c3ff80d20a4b03649699828

View File

@ -647,7 +647,7 @@ StScrollBar {
border: 1px solid #215d9c; } border: 1px solid #215d9c; }
.tile-preview-left.on-primary { .tile-preview-left.on-primary {
border-radius: 6px 6px 0 0; } border-radius: 6px 0 0 0; }
.tile-preview-right.on-primary { .tile-preview-right.on-primary {
border-radius: 0 6px 0 0; } border-radius: 0 6px 0 0; }
@ -1339,6 +1339,10 @@ StScrollBar {
border-radius: 9px 0 0 9px; } border-radius: 9px 0 0 9px; }
.workspace-thumbnails:rtl { .workspace-thumbnails:rtl {
border-radius: 0 9px 9px 0; } 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 { .workspace-thumbnail-indicator {
border: 4px solid #215d9c; border: 4px solid #215d9c;

View File

@ -1872,11 +1872,14 @@ var AppIconMenu = new Lang.Class({
this.actor.add_style_class_name('app-well-menu'); this.actor.add_style_class_name('app-well-menu');
// Chain our visibility and lifecycle to that of the source // Chain our visibility and lifecycle to that of the source
source.actor.connect('notify::mapped', Lang.bind(this, function () { this._sourceMappedId = source.actor.connect('notify::mapped', () => {
if (!source.actor.mapped) if (!source.actor.mapped)
this.close(); this.close();
})); });
source.actor.connect('destroy', Lang.bind(this, this.destroy)); source.actor.connect('destroy', () => {
source.actor.disconnect(this._sourceMappedId);
this.destroy();
});
Main.uiGroup.add_actor(this.actor); Main.uiGroup.add_actor(this.actor);
}, },

View File

@ -289,6 +289,8 @@ var Background = new Lang.Class({
this._clock.disconnect(this._timezoneChangedId); this._clock.disconnect(this._timezoneChangedId);
this._timezoneChangedId = 0; this._timezoneChangedId = 0;
this._clock = null;
if (this._prepareForSleepId != 0) if (this._prepareForSleepId != 0)
LoginManager.getLoginManager().disconnect(this._prepareForSleepId); LoginManager.getLoginManager().disconnect(this._prepareForSleepId);
this._prepareForSleepId = 0; this._prepareForSleepId = 0;

View File

@ -50,6 +50,10 @@ var DashItemContainer = new Lang.Class({
this._childScale = 0; this._childScale = 0;
this._childOpacity = 0; this._childOpacity = 0;
this.animatingOut = false; this.animatingOut = false;
this.connect('destroy', () => {
this.label.destroy();
});
}, },
vfunc_allocate: function(box, flags) { vfunc_allocate: function(box, flags) {
@ -177,16 +181,8 @@ var DashItemContainer = new Lang.Class({
}); });
}, },
destroy: function() {
if (this.label)
this.label.destroy();
this.parent();
},
animateOutAndDestroy: function() { animateOutAndDestroy: function() {
if (this.label) this.label.hide();
this.label.destroy();
if (this.child == null) { if (this.child == null) {
this.destroy(); this.destroy();

View File

@ -132,7 +132,10 @@ var WorldClocksSection = new Lang.Class({
let world = GWeather.Location.get_world(); let world = GWeather.Location.get_world();
let clocks = settings.get_value('world-clocks').deep_unpack(); let clocks = settings.get_value('world-clocks').deep_unpack();
for (let i = 0; i < clocks.length; i++) { for (let i = 0; i < clocks.length; i++) {
if (!clocks[i].location)
continue;
let l = world.deserialize(clocks[i].location); let l = world.deserialize(clocks[i].location);
if (l)
this._locations.push({ location: l }); this._locations.push({ location: l });
} }

View File

@ -16,6 +16,7 @@ var Dialog = new Lang.Class({
this.connect('destroy', Lang.bind(this, this._onDestroy)); this.connect('destroy', Lang.bind(this, this._onDestroy));
this._initialKeyFocus = null; this._initialKeyFocus = null;
this._initialKeyFocusDestroyId = 0;
this._pressedKey = null; this._pressedKey = null;
this._buttonKeys = {}; this._buttonKeys = {};
this._createDialog(); this._createDialog();
@ -87,6 +88,18 @@ var Dialog = new Lang.Class({
return Clutter.EVENT_PROPAGATE; 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() { get initialKeyFocus() {
return this._initialKeyFocus || this; return this._initialKeyFocus || this;
}, },
@ -122,7 +135,7 @@ var Dialog = new Lang.Class({
button.add_style_pseudo_class('default'); button.add_style_pseudo_class('default');
if (this._initialKeyFocus == null || isDefault) if (this._initialKeyFocus == null || isDefault)
this._initialKeyFocus = button; this._setInitialKeyFocus(button);
for (let i in keys) for (let i in keys)
this._buttonKeys[keys[i]] = buttonInfo; this._buttonKeys[keys[i]] = buttonInfo;
@ -170,7 +183,7 @@ var MessageDialogContent = new Lang.Class({
this[`_${prop}`].add_style_class_name(`message-dialog-${prop}`); this[`_${prop}`].add_style_class_name(`message-dialog-${prop}`);
}); });
let textProps = { ellipsize_mode: Pango.EllipsizeMode.NONE, let textProps = { ellipsize: Pango.EllipsizeMode.NONE,
line_wrap: true }; line_wrap: true };
Object.assign(this._subtitle.clutter_text, textProps); Object.assign(this._subtitle.clutter_text, textProps);
Object.assign(this._body.clutter_text, textProps); Object.assign(this._body.clutter_text, textProps);

View File

@ -583,7 +583,7 @@ var _Draggable = new Lang.Class({
_restoreDragActor: function(eventTime) { _restoreDragActor: function(eventTime) {
this._dragInProgress = false; this._dragInProgress = false;
[restoreX, restoreY, restoreScale] = this._getRestoreLocation(); let [restoreX, restoreY, restoreScale] = this._getRestoreLocation();
// fade the actor back in at its original location // fade the actor back in at its original location
this._dragActor.set_position(restoreX, restoreY); this._dragActor.set_position(restoreX, restoreY);

View File

@ -351,6 +351,9 @@ var LayoutManager = new Lang.Class({
this._loadBackground(); this._loadBackground();
this._pendingLoadBackground = false; this._pendingLoadBackground = false;
} }
} else {
this.primaryMonitor = null;
this.bottomMonitor = null;
} }
}, },

View File

@ -417,7 +417,7 @@ var Overview = new Lang.Class({
beginItemDrag: function(source) { beginItemDrag: function(source) {
this.emit('item-drag-begin'); this.emit('item-drag-begin');
this._inDrag = true; this._inItemDrag = true;
}, },
cancelledItemDrag: function(source) { cancelledItemDrag: function(source) {
@ -425,13 +425,15 @@ var Overview = new Lang.Class({
}, },
endItemDrag: function(source) { endItemDrag: function(source) {
if (!this._inItemDrag)
return;
this.emit('item-drag-end'); this.emit('item-drag-end');
this._inDrag = false; this._inItemDrag = false;
}, },
beginWindowDrag: function(window) { beginWindowDrag: function(window) {
this.emit('window-drag-begin', window); this.emit('window-drag-begin', window);
this._inDrag = true; this._inWindowDrag = true;
}, },
cancelledWindowDrag: function(window) { cancelledWindowDrag: function(window) {
@ -439,8 +441,10 @@ var Overview = new Lang.Class({
}, },
endWindowDrag: function(window) { endWindowDrag: function(window) {
if (!this._inWindowDrag)
return;
this.emit('window-drag-end', window); this.emit('window-drag-end', window);
this._inDrag = false; this._inWindowDrag = false;
}, },
focusSearch: function() { focusSearch: function() {
@ -484,7 +488,7 @@ var Overview = new Lang.Class({
shouldToggleByCornerOrButton: function() { shouldToggleByCornerOrButton: function() {
if (this.animationInProgress) if (this.animationInProgress)
return false; return false;
if (this._inDrag) if (this._inItemDrag || this._inWindowDrag)
return false; return false;
if (this._activationTime == 0 || Date.now() / 1000 - this._activationTime > OVERVIEW_ACTIVATION_TIMEOUT) if (this._activationTime == 0 || Date.now() / 1000 - this._activationTime > OVERVIEW_ACTIVATION_TIMEOUT)
return true; return true;

View File

@ -977,12 +977,12 @@ var PadOsdService = new Lang.Class({
let padDevice = null; let padDevice = null;
devices.forEach(Lang.bind(this, function(device) { devices.forEach(Lang.bind(this, function(device) {
if (deviceNode == device.get_device_node()) if (deviceNode == device.get_device_node() &&
device.get_device_type() == Clutter.InputDeviceType.PAD_DEVICE)
padDevice = device; padDevice = device;
})); }));
if (padDevice == null || if (padDevice == null) {
padDevice.get_device_type() != Clutter.InputDeviceType.PAD_DEVICE) {
invocation.return_error_literal(Gio.IOErrorEnum, invocation.return_error_literal(Gio.IOErrorEnum,
Gio.IOErrorEnum.CANCELLED, Gio.IOErrorEnum.CANCELLED,
"Invalid params"); "Invalid params");

View File

@ -405,7 +405,7 @@ var PopupImageMenuItem = new Lang.Class({
setIcon: function(icon) { setIcon: function(icon) {
// The 'icon' parameter can be either a Gio.Icon or a string. // 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; this._icon.gicon = icon;
else else
this._icon.icon_name = icon; this._icon.icon_name = icon;

View File

@ -529,6 +529,7 @@ var InputSourceManager = new Lang.Class({
let sources = this._settings.inputSources; let sources = this._settings.inputSources;
let nSources = sources.length; let nSources = sources.length;
this._currentSource = null;
this._inputSources = {}; this._inputSources = {};
this._ibusSources = {}; this._ibusSources = {};
@ -827,6 +828,9 @@ var InputSourceIndicator = new Lang.Class({
for (let i in this._indicatorLabels) for (let i in this._indicatorLabels)
this._indicatorLabels[i].destroy(); this._indicatorLabels[i].destroy();
this._menuItems = {};
this._indicatorLabels = {};
let menuIndex = 0; let menuIndex = 0;
for (let i in this._inputSourceManager.inputSources) { for (let i in this._inputSourceManager.inputSources) {
let is = this._inputSourceManager.inputSources[i]; let is = this._inputSourceManager.inputSources[i];

View File

@ -951,7 +951,7 @@ var NMWirelessDialog = new Lang.Class({
|| (accessPoints[0]._secType == NMAccessPointSecurity.WPA_ENT)) { || (accessPoints[0]._secType == NMAccessPointSecurity.WPA_ENT)) {
// 802.1x-enabled APs require further configuration, so they're // 802.1x-enabled APs require further configuration, so they're
// handled in gnome-control-center // 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]); this._device.get_path(), accessPoints[0].dbus_path]);
} else { } else {
let connection = new NetworkManager.Connection(); let connection = new NetworkManager.Connection();
@ -1492,6 +1492,15 @@ var NMVPNSection = new Lang.Class({
this.parent(client); this.parent(client);
this.item.menu.addSettingsAction(_("VPN Settings"), 'gnome-network-panel.desktop'); this.item.menu.addSettingsAction(_("VPN Settings"), 'gnome-network-panel.desktop');
this._sync();
},
_sync: function() {
let nItems = this._connectionItems.size;
this.item.actor.visible = (nItems > 0);
this.parent();
}, },
_getDescription: function() { _getDescription: function() {

View File

@ -1,5 +1,5 @@
project('gnome-shell', 'c', project('gnome-shell', 'c',
version: '3.26.1', version: '3.26.2',
meson_version: '>= 0.42.0', meson_version: '>= 0.42.0',
license: 'GPLv2+' license: 'GPLv2+'
) )

1500
po/af.po

File diff suppressed because it is too large Load Diff

1089
po/ar.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1319,7 +1319,7 @@ msgstr "Přehled"
#. characters. #. characters.
#: js/ui/overview.js:240 #: js/ui/overview.js:240
msgid "Type to search…" msgid "Type to search…"
msgstr "vyhledávejte psaním…" msgstr "Vyhledávejte psaním…"
#: js/ui/padOsd.js:103 #: js/ui/padOsd.js:103
msgid "New shortcut…" msgid "New shortcut…"

114
po/fur.po
View File

@ -6,10 +6,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: video-subtitles master\n" "Project-Id-Version: video-subtitles master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
"shell&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-02-10 09:15+0000\n"
"POT-Creation-Date: 2017-08-22 11:17+0000\n" "PO-Revision-Date: 2018-02-19 13:42+0100\n"
"PO-Revision-Date: 2017-08-23 17:01+0200\n"
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n" "Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
"Language-Team: Friulian <fur@li.org>\n" "Language-Team: Friulian <fur@li.org>\n"
"Language: fur\n" "Language: fur\n"
@ -639,32 +638,32 @@ msgstr "Dispès"
msgid "All" msgid "All"
msgstr "Dutis" msgstr "Dutis"
#: js/ui/appDisplay.js:1915 #: js/ui/appDisplay.js:1918
msgid "New Window" msgid "New Window"
msgstr "Gnûf barcon" msgstr "Gnûf barcon"
#: js/ui/appDisplay.js:1929 #: js/ui/appDisplay.js:1932
msgid "Launch using Dedicated Graphics Card" msgid "Launch using Dedicated Graphics Card"
msgstr "Invie doprant une schede grafiche dedicade" msgstr "Invie doprant une schede grafiche dedicade"
#: js/ui/appDisplay.js:1956 js/ui/dash.js:289 #: js/ui/appDisplay.js:1959 js/ui/dash.js:285
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Gjave dai preferîts" msgstr "Gjave dai preferîts"
#: js/ui/appDisplay.js:1962 #: js/ui/appDisplay.js:1965
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Zonte tai preferîts" msgstr "Zonte tai preferîts"
#: js/ui/appDisplay.js:1972 #: js/ui/appDisplay.js:1975
msgid "Show Details" msgid "Show Details"
msgstr "Mostre Detais" msgstr "Mostre Detais"
#: js/ui/appFavorites.js:140 #: js/ui/appFavorites.js:141
#, javascript-format #, javascript-format
msgid "%s has been added to your favorites." msgid "%s has been added to your favorites."
msgstr "%s al è stât zontât tai tiei preferîts." msgstr "%s al è stât zontât tai tiei preferîts."
#: js/ui/appFavorites.js:174 #: js/ui/appFavorites.js:175
#, javascript-format #, javascript-format
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s al è stât gjavât dai tiei preferîts." msgstr "%s al è stât gjavât dai tiei preferîts."
@ -753,51 +752,51 @@ msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "S" msgstr "S"
#: js/ui/calendar.js:442 #: js/ui/calendar.js:449
msgid "Previous month" msgid "Previous month"
msgstr "Mês indaûr" msgstr "Mês indaûr"
#: js/ui/calendar.js:452 #: js/ui/calendar.js:459
msgid "Next month" msgid "Next month"
msgstr "Prossim mês" msgstr "Prossim mês"
#: js/ui/calendar.js:605 #: js/ui/calendar.js:612
#, no-javascript-format #, no-javascript-format
msgctxt "date day number format" msgctxt "date day number format"
msgid "%d" msgid "%d"
msgstr "%d" msgstr "%d"
#: js/ui/calendar.js:660 #: js/ui/calendar.js:667
msgid "Week %V" msgid "Week %V"
msgstr "Setemane %V" msgstr "Setemane %V"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * 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" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Dut il dì" msgstr "Dut il dì"
#: js/ui/calendar.js:862 #: js/ui/calendar.js:869
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d di %B" msgstr "%A, %d di %B"
#: js/ui/calendar.js:866 #: js/ui/calendar.js:873
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %d di %B dal %Y" msgstr "%A, %d di %B dal %Y"
#: js/ui/calendar.js:1086 #: js/ui/calendar.js:1093
msgid "No Notifications" msgid "No Notifications"
msgstr "Nissune notifiche" msgstr "Nissune notifiche"
#: js/ui/calendar.js:1089 #: js/ui/calendar.js:1096
msgid "No Events" msgid "No Events"
msgstr "Nissun event" msgstr "Nissun event"
#: js/ui/calendar.js:1117 #: js/ui/calendar.js:1124
msgid "Clear All" msgid "Clear All"
msgstr "Nete dut" msgstr "Nete dut"
@ -831,7 +830,7 @@ msgstr "Dispositîf esterni tacât"
msgid "External drive disconnected" msgid "External drive disconnected"
msgstr "Dispositîf esterni distacât" msgstr "Dispositîf esterni distacât"
#: js/ui/components/autorunManager.js:354 #: js/ui/components/autorunManager.js:358
#, javascript-format #, javascript-format
msgid "Open with %s" msgid "Open with %s"
msgstr "Vierç cun %s" msgstr "Vierç cun %s"
@ -920,7 +919,7 @@ msgstr "Passowrd rêt mobil a bande largje"
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "A covente une password par tacâsi a '%s'." msgstr "A covente une password par tacâsi a '%s'."
#: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1720 #: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1729
msgid "Network Manager" msgid "Network Manager"
msgstr "Ministradôr di rêt" msgstr "Ministradôr di rêt"
@ -955,20 +954,20 @@ msgstr "L'utent %s al è cognossût cumò come %s"
msgid "Windows" msgid "Windows"
msgstr "Barcons" msgstr "Barcons"
#: js/ui/dash.js:250 js/ui/dash.js:291 #: js/ui/dash.js:246 js/ui/dash.js:287
msgid "Show Applications" msgid "Show Applications"
msgstr "Mostre Aplicazions" msgstr "Mostre Aplicazions"
#. Translators: this is the name of the dock/favorites area on #. Translators: this is the name of the dock/favorites area on
#. the left of the overview #. the left of the overview
#: js/ui/dash.js:449 #: js/ui/dash.js:445
msgid "Dash" msgid "Dash"
msgstr "Dash" msgstr "Dash"
#. Translators: This is the date format to use when the calendar popup is #. 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"). #. * 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" msgid "%B %e %Y"
msgstr "%e di %B dal %Y" msgstr "%e di %B dal %Y"
@ -976,19 +975,19 @@ msgstr "%e di %B dal %Y"
#. * below the time in the shell; it should combine the weekday and the #. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015". #. * date, e.g. "Tuesday February 17 2015".
#. #.
#: js/ui/dateMenu.js:82 #: js/ui/dateMenu.js:83
msgid "%A %B %e %Y" msgid "%A %B %e %Y"
msgstr "%A %e di %B dal %Y" msgstr "%A %e di %B dal %Y"
#: js/ui/dateMenu.js:144 #: js/ui/dateMenu.js:148
msgid "Add world clocks…" msgid "Add world clocks…"
msgstr "Zonte orlois mondiâi..." msgstr "Zonte orlois mondiâi..."
#: js/ui/dateMenu.js:145 #: js/ui/dateMenu.js:149
msgid "World Clocks" msgid "World Clocks"
msgstr "Orlois mondiâi" msgstr "Orlois mondiâi"
#: js/ui/dateMenu.js:224 #: js/ui/dateMenu.js:228
msgid "Weather" msgid "Weather"
msgstr "Timp" msgstr "Timp"
@ -996,7 +995,7 @@ msgstr "Timp"
#. libgweather for the possible condition strings. If at all #. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of #. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions. #. the inserted conditions.
#: js/ui/dateMenu.js:286 #: js/ui/dateMenu.js:292
#, javascript-format #, javascript-format
msgid "%s all day." msgid "%s all day."
msgstr "%s dut il dì." msgstr "%s dut il dì."
@ -1005,7 +1004,7 @@ msgstr "%s dut il dì."
#. libgweather for the possible condition strings. If at all #. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of #. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions. #. the inserted conditions.
#: js/ui/dateMenu.js:292 #: js/ui/dateMenu.js:298
#, javascript-format #, javascript-format
msgid "%s, then %s later." msgid "%s, then %s later."
msgstr "%s, plui tart %s." msgstr "%s, plui tart %s."
@ -1014,30 +1013,30 @@ msgstr "%s, plui tart %s."
#. libgweather for the possible condition strings. If at all #. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of #. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions. #. the inserted conditions.
#: js/ui/dateMenu.js:298 #: js/ui/dateMenu.js:304
#, javascript-format #, javascript-format
msgid "%s, then %s, followed by %s later." msgid "%s, then %s, followed by %s later."
msgstr "%s, chi di un pôc %s, e plui tart %s." msgstr "%s, chi di un pôc %s, e plui tart %s."
#: js/ui/dateMenu.js:309 #: js/ui/dateMenu.js:315
msgid "Select a location…" msgid "Select a location…"
msgstr "Selezione une posizion..." msgstr "Selezione une posizion..."
#: js/ui/dateMenu.js:312 #: js/ui/dateMenu.js:318
msgid "Loading…" msgid "Loading…"
msgstr "Daûr a cjariâ..." msgstr "Daûr a cjariâ..."
#. Translators: %s is a temperature with unit, e.g. "23℃" #. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:318 #: js/ui/dateMenu.js:324
#, javascript-format #, javascript-format
msgid "Feels like %s." msgid "Feels like %s."
msgstr "Si sint %s." msgstr "Si sintin %s."
#: js/ui/dateMenu.js:321 #: js/ui/dateMenu.js:327
msgid "Go online for weather information" msgid "Go online for weather information"
msgstr "Va in rêt pes informazions sul timp" msgstr "Va in rêt pes informazions sul timp"
#: js/ui/dateMenu.js:323 #: js/ui/dateMenu.js:329
msgid "Weather information is currently unavailable" msgid "Weather information is currently unavailable"
msgstr "Lis informazions sul timp al moment no son disponibilis" msgstr "Lis informazions sul timp al moment no son disponibilis"
@ -1224,7 +1223,7 @@ msgstr "Dinee"
msgid "Allow" msgid "Allow"
msgstr "Pemet" msgstr "Pemet"
#: js/ui/keyboard.js:738 js/ui/status/keyboard.js:782 #: js/ui/keyboard.js:738 js/ui/status/keyboard.js:783
msgid "Keyboard" msgid "Keyboard"
msgstr "Tastiere" msgstr "Tastiere"
@ -1276,7 +1275,7 @@ msgstr "Viôt sorzint"
msgid "Web Page" msgid "Web Page"
msgstr "Pagjine Web" msgstr "Pagjine Web"
#: js/ui/messageTray.js:1493 #: js/ui/messageTray.js:1494
msgid "System Information" msgid "System Information"
msgstr "Informazion di sisteme" msgstr "Informazion di sisteme"
@ -1449,12 +1448,11 @@ msgstr "Nissun risultât."
# o ancjemò %d # o ancjemò %d
#: js/ui/search.js:777 #: js/ui/search.js:777
#, fuzzy, javascript-format #, javascript-format
#| msgid "%d more"
msgid "%d more" msgid "%d more"
msgid_plural "%d more" msgid_plural "%d more"
msgstr[0] "Ancjemò %d" msgstr[0] "%d altri"
msgstr[1] "Ancjemò %d" msgstr[1] "%d altris"
#: js/ui/shellEntry.js:25 #: js/ui/shellEntry.js:25
msgid "Copy" msgid "Copy"
@ -1563,7 +1561,7 @@ msgstr "Distude"
msgid "Brightness" msgid "Brightness"
msgstr "Luminositât" msgstr "Luminositât"
#: js/ui/status/keyboard.js:805 #: js/ui/status/keyboard.js:806
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Mostre la disposizion de tastiere" msgstr "Mostre la disposizion de tastiere"
@ -1767,44 +1765,44 @@ msgstr "conession falide"
msgid "VPN Settings" msgid "VPN Settings"
msgstr "Impostazions VPN" msgstr "Impostazions VPN"
#: js/ui/status/network.js:1498 #: js/ui/status/network.js:1507
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: js/ui/status/network.js:1508 #: js/ui/status/network.js:1517
msgid "VPN Off" msgid "VPN Off"
msgstr "VPN distudât" msgstr "VPN distudât"
#: js/ui/status/network.js:1572 js/ui/status/rfkill.js:93 #: js/ui/status/network.js:1581 js/ui/status/rfkill.js:93
msgid "Network Settings" msgid "Network Settings"
msgstr "Impostazions rêt" msgstr "Impostazions rêt"
#: js/ui/status/network.js:1603 #: js/ui/status/network.js:1612
#, javascript-format #, javascript-format
msgid "%s Wired Connection" msgid "%s Wired Connection"
msgid_plural "%s Wired Connections" msgid_plural "%s Wired Connections"
msgstr[0] "%s conession cablade" msgstr[0] "%s conession cablade"
msgstr[1] "%s conessions cabladis" msgstr[1] "%s conessions cabladis"
#: js/ui/status/network.js:1607 #: js/ui/status/network.js:1616
#, javascript-format #, javascript-format
msgid "%s Wi-Fi Connection" msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections" msgid_plural "%s Wi-Fi Connections"
msgstr[0] "%s conession cence fîi" msgstr[0] "%s conession cence fîi"
msgstr[1] "%s conessions cence fîi" msgstr[1] "%s conessions cence fîi"
#: js/ui/status/network.js:1611 #: js/ui/status/network.js:1620
#, javascript-format #, javascript-format
msgid "%s Modem Connection" msgid "%s Modem Connection"
msgid_plural "%s Modem Connections" msgid_plural "%s Modem Connections"
msgstr[0] "%s conession modem" msgstr[0] "%s conession modem"
msgstr[1] "%s conessions modem" msgstr[1] "%s conessions modem"
#: js/ui/status/network.js:1759 #: js/ui/status/network.js:1768
msgid "Connection failed" msgid "Connection failed"
msgstr "Conession falide" msgstr "Conession falide"
#: js/ui/status/network.js:1760 #: js/ui/status/network.js:1769
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Ativazion de conession di rêt falide" msgstr "Ativazion de conession di rêt falide"
@ -2047,19 +2045,19 @@ msgstr "Calendari di Evolution"
msgid "evolution" msgid "evolution"
msgstr "evolution" msgstr "evolution"
#: src/main.c:380 #: src/main.c:437
msgid "Print version" msgid "Print version"
msgstr "Stampe version" msgstr "Stampe version"
#: src/main.c:386 #: src/main.c:443
msgid "Mode used by GDM for login screen" msgid "Mode used by GDM for login screen"
msgstr "Modalitât doprade da GDM pe videade di acès" msgstr "Modalitât doprade da GDM pe videade di acès"
#: src/main.c:392 #: src/main.c:449
msgid "Use a specific mode, e.g. “gdm” for login screen" msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Dopre une modalitât specifiche, par esempli “gdm” pe videade di acès" msgstr "Dopre une modalitât specifiche, par esempli “gdm” pe videade di acès"
#: src/main.c:398 #: src/main.c:455
msgid "List possible modes" msgid "List possible modes"
msgstr "Liste modalitâts pussibilis" msgstr "Liste modalitâts pussibilis"

1190
po/gd.po

File diff suppressed because it is too large Load Diff

107
po/is.po
View File

@ -7,8 +7,8 @@ msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-08-22 11:17+0000\n" "POT-Creation-Date: 2017-11-17 15:06+0000\n"
"PO-Revision-Date: 2017-09-26 18:06+0000\n" "PO-Revision-Date: 2017-12-08 08:39+0000\n"
"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n" "Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n" "Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
"Language: is\n" "Language: is\n"
@ -44,7 +44,6 @@ msgstr "Birta forritavalmynd"
#: data/gnome-shell-extension-prefs.desktop.in.in:4 #: data/gnome-shell-extension-prefs.desktop.in.in:4
#: js/extensionPrefs/main.js:152 #: js/extensionPrefs/main.js:152
#| msgid "GNOME Shell Extensions"
msgid "Shell Extensions" msgid "Shell Extensions"
msgstr "Shell Extension skeljarviðbætur" msgstr "Shell Extension skeljarviðbætur"
@ -105,7 +104,7 @@ msgstr ""
#: data/org.gnome.shell.gschema.xml.in:43 #: data/org.gnome.shell.gschema.xml.in:43
msgid "List of desktop file IDs for favorite applications" msgid "List of desktop file IDs for favorite applications"
msgstr "" msgstr "Listi yfir auðkenni skjáborðsskráa fyrir uppáhaldsforrit"
#: data/org.gnome.shell.gschema.xml.in:44 #: data/org.gnome.shell.gschema.xml.in:44
msgid "" msgid ""
@ -128,10 +127,9 @@ msgstr "Ferill skipanalínuglugga (Alt+F2)"
#. Translators: looking glass is a debugger and inspector tool, see https://wiki.gnome.org/Projects/GnomeShell/LookingGlass #. Translators: looking glass is a debugger and inspector tool, see https://wiki.gnome.org/Projects/GnomeShell/LookingGlass
#: data/org.gnome.shell.gschema.xml.in:63 #: data/org.gnome.shell.gschema.xml.in:63
msgid "History for the looking glass dialog" msgid "History for the looking glass dialog"
msgstr "" msgstr "Ferill looking-glass skipanalínuglugga (Alt+F)"
#: data/org.gnome.shell.gschema.xml.in:67 #: data/org.gnome.shell.gschema.xml.in:67
#| msgid "Always show the 'Log out' menu item in the user menu."
msgid "Always show the “Log out” menu item in the user menu." msgid "Always show the “Log out” menu item in the user menu."
msgstr "Alltaf sýna \"Skrá út\" atriðið í notandavalmyndinni." msgstr "Alltaf sýna \"Skrá út\" atriðið í notandavalmyndinni."
@ -177,14 +175,10 @@ msgid "Keybinding to open the application menu."
msgstr "Lyklasamsetning til að opna forritavalmyndina." msgstr "Lyklasamsetning til að opna forritavalmyndina."
#: data/org.gnome.shell.gschema.xml.in:108 #: data/org.gnome.shell.gschema.xml.in:108
#| msgid "Keybinding to open the \"Show Applications\" view"
msgid "Keybinding to open the “Show Applications” view" msgid "Keybinding to open the “Show Applications” view"
msgstr "Lyklasamsetning til að opna \"Birta forrit\" sýnina" msgstr "Lyklasamsetning til að opna \"Birta forrit\" sýnina"
#: data/org.gnome.shell.gschema.xml.in:109 #: data/org.gnome.shell.gschema.xml.in:109
#| msgid ""
#| "Keybinding to open the \"Show Applications\" view of the Activities "
#| "Overview."
msgid "" msgid ""
"Keybinding to open the “Show Applications” view of the Activities Overview." "Keybinding to open the “Show Applications” view of the Activities Overview."
msgstr "" msgstr ""
@ -250,6 +244,9 @@ msgid ""
"are “thumbnail-only” (shows a thumbnail of the window), “app-icon-" "are “thumbnail-only” (shows a thumbnail of the window), “app-icon-"
"only” (shows only the application icon) or “both”." "only” (shows only the application icon) or “both”."
msgstr "" msgstr ""
"Stillir hvernig gluggar birtast í skiptinum. Möguleg gildi eru "
"'einungis-smámynd' (birtir smámynd gluggans), 'einungis-forritstákn' (birtir "
"aðeins táknmynd forritsins) eða 'bæði'."
#: data/org.gnome.shell.gschema.xml.in:186 #: data/org.gnome.shell.gschema.xml.in:186
msgid "" msgid ""
@ -371,7 +368,6 @@ msgstr "(eða strjúka fingri)"
#. Translators: The name of the power-off action in search #. Translators: The name of the power-off action in search
#: js/misc/systemActions.js:99 #: js/misc/systemActions.js:99
#| msgid "Power Off"
msgctxt "search-result" msgctxt "search-result"
msgid "Power off" msgid "Power off"
msgstr "Slökkva" msgstr "Slökkva"
@ -394,7 +390,6 @@ msgstr "læsa skjá"
#. Translators: The name of the logout action in search #. Translators: The name of the logout action in search
#: js/misc/systemActions.js:113 #: js/misc/systemActions.js:113
#| msgid "Log Out"
msgctxt "search-result" msgctxt "search-result"
msgid "Log out" msgid "Log out"
msgstr "Skrá út" msgstr "Skrá út"
@ -406,40 +401,34 @@ msgstr "Útskráning;skrá út"
#. Translators: The name of the suspend action in search #. Translators: The name of the suspend action in search
#: js/misc/systemActions.js:120 #: js/misc/systemActions.js:120
#| msgid "Suspend"
msgctxt "search-result" msgctxt "search-result"
msgid "Suspend" msgid "Suspend"
msgstr "Setja í bið" msgstr "Setja í bið"
#. Translators: A list of keywords that match the suspend action, separated by semicolons #. Translators: A list of keywords that match the suspend action, separated by semicolons
#: js/misc/systemActions.js:123 #: js/misc/systemActions.js:123
#| msgid "Suspend"
msgid "suspend;sleep" msgid "suspend;sleep"
msgstr "hvíla;svæfa" msgstr "hvíla;svæfa"
#. Translators: The name of the switch user action in search #. Translators: The name of the switch user action in search
#: js/misc/systemActions.js:127 #: js/misc/systemActions.js:127
#| msgid "Switch User"
msgctxt "search-result" msgctxt "search-result"
msgid "Switch user" msgid "Switch user"
msgstr "Skipta um notanda" msgstr "Skipta um notanda"
#. Translators: A list of keywords that match the switch user action, separated by semicolons #. Translators: A list of keywords that match the switch user action, separated by semicolons
#: js/misc/systemActions.js:130 #: js/misc/systemActions.js:130
#| msgid "Switch User"
msgid "switch user" msgid "switch user"
msgstr "skipta um notanda" msgstr "skipta um notanda"
#. Translators: The name of the lock orientation action in search #. Translators: The name of the lock orientation action in search
#: js/misc/systemActions.js:134 #: js/misc/systemActions.js:134
#| msgid "Orientation Lock"
msgctxt "search-result" msgctxt "search-result"
msgid "Lock orientation" msgid "Lock orientation"
msgstr "Stefnulás" msgstr "Stefnulás"
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons #. Translators: A list of keywords that match the lock orientation action, separated by semicolons
#: js/misc/systemActions.js:137 #: js/misc/systemActions.js:137
#| msgid "Orientation Lock"
msgid "lock orientation" msgid "lock orientation"
msgstr "stefnulás" msgstr "stefnulás"
@ -477,7 +466,6 @@ msgstr[0] "fyrir %d klukkustund síðan"
msgstr[1] "fyrir %d klukkustundum síðan" msgstr[1] "fyrir %d klukkustundum síðan"
#: js/misc/util.js:188 #: js/misc/util.js:188
#| msgid "Yesterday, %H%M"
msgid "Yesterday" msgid "Yesterday"
msgstr "Í gær" msgstr "Í gær"
@ -581,7 +569,6 @@ msgstr "%d. %B %Y, kl. %H%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login window #. TRANSLATORS: this is the title of the wifi captive portal login window
#: js/portalHelper/main.js:66 #: js/portalHelper/main.js:66
#| msgid "Network Login"
msgid "Hotspot Login" msgid "Hotspot Login"
msgstr "Innskráning á tengipunkt (hotspot)" msgstr "Innskráning á tengipunkt (hotspot)"
@ -590,6 +577,8 @@ msgid ""
"Your connection to this hotspot login is not secure. Passwords or other " "Your connection to this hotspot login is not secure. Passwords or other "
"information you enter on this page can be viewed by people nearby." "information you enter on this page can be viewed by people nearby."
msgstr "" msgstr ""
"Tenging þín við þennan aðgangsstað er ekki örugg. Aðilar í næsta nágrenni "
"geta séð lykilorð og aðrar upplýsingar sem þú setur inn á þessari síðu."
#. No support for non-modal system dialogs, so ignore the option #. No support for non-modal system dialogs, so ignore the option
#. let modal = options['modal'] || true; #. let modal = options['modal'] || true;
@ -633,12 +622,12 @@ msgstr "Bæta í Eftirlæti"
msgid "Show Details" msgid "Show Details"
msgstr "Sýna ítarlegri upplýsingar" msgstr "Sýna ítarlegri upplýsingar"
#: js/ui/appFavorites.js:140 #: js/ui/appFavorites.js:141
#, javascript-format #, javascript-format
msgid "%s has been added to your favorites." msgid "%s has been added to your favorites."
msgstr "%s var bætt við sem eftirlætisforrit." msgstr "%s var bætt við sem eftirlætisforrit."
#: js/ui/appFavorites.js:174 #: js/ui/appFavorites.js:175
#, javascript-format #, javascript-format
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s var fjarlægt úr eftirlætisforritum." msgstr "%s var fjarlægt úr eftirlætisforritum."
@ -727,58 +716,57 @@ msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "La" msgstr "La"
#: js/ui/calendar.js:442 #: js/ui/calendar.js:449
msgid "Previous month" msgid "Previous month"
msgstr "Fyrri mánuður" msgstr "Fyrri mánuður"
#: js/ui/calendar.js:452 #: js/ui/calendar.js:459
msgid "Next month" msgid "Next month"
msgstr "Næsti mánuður" msgstr "Næsti mánuður"
#: js/ui/calendar.js:605 #: js/ui/calendar.js:612
#, no-javascript-format #, no-javascript-format
msgctxt "date day number format" msgctxt "date day number format"
msgid "%d" msgid "%d"
msgstr "%d" msgstr "%d"
#: js/ui/calendar.js:660 #: js/ui/calendar.js:667
msgid "Week %V" msgid "Week %V"
msgstr "Vika %V" msgstr "Vika %V"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * 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" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Allan daginn" msgstr "Allan daginn"
#: js/ui/calendar.js:862 #: js/ui/calendar.js:869
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %B %d" msgstr "%A, %B %d"
#: js/ui/calendar.js:866 #: js/ui/calendar.js:873
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %B %d, %Y" msgstr "%A, %B %d, %Y"
#: js/ui/calendar.js:1086 #: js/ui/calendar.js:1093
msgid "No Notifications" msgid "No Notifications"
msgstr "Engar tilkynningar" msgstr "Engar tilkynningar"
#: js/ui/calendar.js:1089 #: js/ui/calendar.js:1096
msgid "No Events" msgid "No Events"
msgstr "Engir atburðir" msgstr "Engir atburðir"
#: js/ui/calendar.js:1117 #: js/ui/calendar.js:1124
msgid "Clear All" msgid "Clear All"
msgstr "Hreinsa allt" msgstr "Hreinsa allt"
#. Translators: %s is an application name #. Translators: %s is an application name
#: js/ui/closeDialog.js:44 #: js/ui/closeDialog.js:44
#, javascript-format #, javascript-format
#| msgid "“%s” is ready"
msgid "“%s” is not responding." msgid "“%s” is not responding."
msgstr "“%s” svarar ekki." msgstr "“%s” svarar ekki."
@ -806,7 +794,7 @@ msgstr "Utanáliggjandi drif tengt"
msgid "External drive disconnected" msgid "External drive disconnected"
msgstr "Utanáliggjandi drif aftengt" msgstr "Utanáliggjandi drif aftengt"
#: js/ui/components/autorunManager.js:354 #: js/ui/components/autorunManager.js:358
#, javascript-format #, javascript-format
msgid "Open with %s" msgid "Open with %s"
msgstr "Opna með %s" msgstr "Opna með %s"
@ -917,7 +905,6 @@ msgstr "Auðkenna"
#. * because of an authentication error (like invalid password), #. * because of an authentication error (like invalid password),
#. * for instance. #. * for instance.
#: js/ui/components/polkitAgent.js:270 js/ui/shellMountOperation.js:328 #: js/ui/components/polkitAgent.js:270 js/ui/shellMountOperation.js:328
#| msgid "Sorry, that didn't work. Please try again."
msgid "Sorry, that didnt work. Please try again." msgid "Sorry, that didnt work. Please try again."
msgstr "Æ, þetta virkaði ekki. Endilega reyndu aftur." msgstr "Æ, þetta virkaði ekki. Endilega reyndu aftur."
@ -945,7 +932,7 @@ msgstr "Dash"
#. Translators: This is the date format to use when the calendar popup is #. 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"). #. * 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" msgid "%B %e %Y"
msgstr "%e. %B %Y" msgstr "%e. %B %Y"
@ -953,19 +940,19 @@ msgstr "%e. %B %Y"
#. * below the time in the shell; it should combine the weekday and the #. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015". #. * date, e.g. "Tuesday February 17 2015".
#. #.
#: js/ui/dateMenu.js:82 #: js/ui/dateMenu.js:83
msgid "%A %B %e %Y" msgid "%A %B %e %Y"
msgstr "%A %e. %B, %Y" msgstr "%A %e. %B, %Y"
#: js/ui/dateMenu.js:144 #: js/ui/dateMenu.js:145
msgid "Add world clocks…" msgid "Add world clocks…"
msgstr "Bæta við heimsklukkum…" msgstr "Bæta við heimsklukkum…"
#: js/ui/dateMenu.js:145 #: js/ui/dateMenu.js:146
msgid "World Clocks" msgid "World Clocks"
msgstr "Heimsklukkur" msgstr "Heimsklukkur"
#: js/ui/dateMenu.js:224 #: js/ui/dateMenu.js:225
msgid "Weather" msgid "Weather"
msgstr "Veður" msgstr "Veður"
@ -973,7 +960,7 @@ msgstr "Veður"
#. libgweather for the possible condition strings. If at all #. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of #. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions. #. the inserted conditions.
#: js/ui/dateMenu.js:286 #: js/ui/dateMenu.js:289
#, javascript-format #, javascript-format
msgid "%s all day." msgid "%s all day."
msgstr "%s allan daginn." msgstr "%s allan daginn."
@ -982,7 +969,7 @@ msgstr "%s allan daginn."
#. libgweather for the possible condition strings. If at all #. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of #. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions. #. the inserted conditions.
#: js/ui/dateMenu.js:292 #: js/ui/dateMenu.js:295
#, javascript-format #, javascript-format
msgid "%s, then %s later." msgid "%s, then %s later."
msgstr "%s, síðan %s." msgstr "%s, síðan %s."
@ -991,32 +978,30 @@ msgstr "%s, síðan %s."
#. libgweather for the possible condition strings. If at all #. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of #. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions. #. the inserted conditions.
#: js/ui/dateMenu.js:298 #: js/ui/dateMenu.js:301
#, javascript-format #, javascript-format
msgid "%s, then %s, followed by %s later." msgid "%s, then %s, followed by %s later."
msgstr "%s, síðan %s, en snýst svo upp í %s síðar." msgstr "%s, síðan %s, en snýst svo upp í %s síðar."
#: js/ui/dateMenu.js:309 #: js/ui/dateMenu.js:312
#| msgid "Select a network"
msgid "Select a location…" msgid "Select a location…"
msgstr "Veldu staðsetningu…" msgstr "Veldu staðsetningu…"
#: js/ui/dateMenu.js:312 #: js/ui/dateMenu.js:315
#| msgid "Searching…"
msgid "Loading…" msgid "Loading…"
msgstr "Hleð inn..." msgstr "Hleð inn..."
#. Translators: %s is a temperature with unit, e.g. "23℃" #. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:318 #: js/ui/dateMenu.js:321
#, javascript-format #, javascript-format
msgid "Feels like %s." msgid "Feels like %s."
msgstr "Með vindkælingu %s." msgstr "Með vindkælingu %s."
#: js/ui/dateMenu.js:321 #: js/ui/dateMenu.js:324
msgid "Go online for weather information" msgid "Go online for weather information"
msgstr "Fara á netið eftir veðurupplýsingum" msgstr "Fara á netið eftir veðurupplýsingum"
#: js/ui/dateMenu.js:323 #: js/ui/dateMenu.js:326
msgid "Weather information is currently unavailable" msgid "Weather information is currently unavailable"
msgstr "Veðurupplýsingar eru ekki tiltækar í augnablikinu" msgstr "Veðurupplýsingar eru ekki tiltækar í augnablikinu"
@ -1181,11 +1166,11 @@ msgstr "Sækja og setja upp '%s' frá extensions.gnome.org?"
#: js/ui/inhibitShortcutsDialog.js:59 #: js/ui/inhibitShortcutsDialog.js:59
#, javascript-format #, javascript-format
msgid "%s wants to inhibit shortcuts" msgid "%s wants to inhibit shortcuts"
msgstr "" msgstr "%s vill koma í veg fyrir notkun flýtilykla"
#: js/ui/inhibitShortcutsDialog.js:60 #: js/ui/inhibitShortcutsDialog.js:60
msgid "Application wants to inhibit shortcuts" msgid "Application wants to inhibit shortcuts"
msgstr "" msgstr "Forrit vill koma í veg fyrir notkun flýtilykla"
#. Translators: %s is a keyboard shortcut like "Super+x" #. Translators: %s is a keyboard shortcut like "Super+x"
#: js/ui/inhibitShortcutsDialog.js:69 #: js/ui/inhibitShortcutsDialog.js:69
@ -1253,7 +1238,7 @@ msgstr "Skoða frumtexta"
msgid "Web Page" msgid "Web Page"
msgstr "Vefsíða" msgstr "Vefsíða"
#: js/ui/messageTray.js:1493 #: js/ui/messageTray.js:1494
msgid "System Information" msgid "System Information"
msgstr "Kerfisupplýsingar" msgstr "Kerfisupplýsingar"
@ -1288,7 +1273,6 @@ msgid "New shortcut…"
msgstr "Nýr flýtilykill..." msgstr "Nýr flýtilykill..."
#: js/ui/padOsd.js:152 #: js/ui/padOsd.js:152
#| msgid "Applications"
msgid "Application defined" msgid "Application defined"
msgstr "Forrit skilgreint" msgstr "Forrit skilgreint"
@ -1297,7 +1281,6 @@ msgid "Show on-screen help"
msgstr "Birta upplýsingar á skjá" msgstr "Birta upplýsingar á skjá"
#: js/ui/padOsd.js:154 #: js/ui/padOsd.js:154
#| msgid "Switch User"
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Skipta um skjá" msgstr "Skipta um skjá"
@ -1726,7 +1709,6 @@ msgid "%s Not Connected"
msgstr "%s ekki tengdur" msgstr "%s ekki tengdur"
#: js/ui/status/network.js:1435 #: js/ui/status/network.js:1435
#| msgid "connecting..."
msgid "connecting…" msgid "connecting…"
msgstr "tengist..." msgstr "tengist..."
@ -1757,7 +1739,6 @@ msgstr "Stillingar nets"
#: js/ui/status/network.js:1603 #: js/ui/status/network.js:1603
#, javascript-format #, javascript-format
#| msgid "%s Connecting"
msgid "%s Wired Connection" msgid "%s Wired Connection"
msgid_plural "%s Wired Connections" msgid_plural "%s Wired Connections"
msgstr[0] "%s þráðlaus tenging" msgstr[0] "%s þráðlaus tenging"
@ -1765,7 +1746,6 @@ msgstr[1] "%s þráðlausar tengingar"
#: js/ui/status/network.js:1607 #: js/ui/status/network.js:1607
#, javascript-format #, javascript-format
#| msgid "%s Connecting"
msgid "%s Wi-Fi Connection" msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections" msgid_plural "%s Wi-Fi Connections"
msgstr[0] "%s Wi-Fi tenging" msgstr[0] "%s Wi-Fi tenging"
@ -1773,7 +1753,6 @@ msgstr[1] "%s Wi-Fi tengingar"
#: js/ui/status/network.js:1611 #: js/ui/status/network.js:1611
#, javascript-format #, javascript-format
#| msgid "%s Connecting"
msgid "%s Modem Connection" msgid "%s Modem Connection"
msgid_plural "%s Modem Connections" msgid_plural "%s Modem Connections"
msgstr[0] "%s mótaldstenging" msgstr[0] "%s mótaldstenging"
@ -1877,7 +1856,6 @@ msgstr "Hljóðstyrkur"
#. * Try to keep it under around 15 characters. #. * Try to keep it under around 15 characters.
#. #.
#: js/ui/switchMonitor.js:21 #: js/ui/switchMonitor.js:21
#| msgid "Error"
msgid "Mirror" msgid "Mirror"
msgstr "Spegla" msgstr "Spegla"
@ -2025,20 +2003,19 @@ msgstr "Evolution dagatal"
msgid "evolution" msgid "evolution"
msgstr "evolution" msgstr "evolution"
#: src/main.c:380 #: src/main.c:437
msgid "Print version" msgid "Print version"
msgstr "Prenta útgáfunúmer" msgstr "Prenta útgáfunúmer"
#: src/main.c:386 #: src/main.c:443
msgid "Mode used by GDM for login screen" msgid "Mode used by GDM for login screen"
msgstr "Hamur sem GDM notar fyrir innskráningarglugga" msgstr "Hamur sem GDM notar fyrir innskráningarglugga"
#: src/main.c:392 #: src/main.c:449
#| msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgid "Use a specific mode, e.g. “gdm” for login screen" msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Nota sérstakan ham, t.d. \"gdm\" fyrir innskráningarskjá" msgstr "Nota sérstakan ham, t.d. \"gdm\" fyrir innskráningarskjá"
#: src/main.c:398 #: src/main.c:455
msgid "List possible modes" msgid "List possible modes"
msgstr "Sýna alla mögulega hami" msgstr "Sýna alla mögulega hami"

575
po/nb.po

File diff suppressed because it is too large Load Diff

View File

@ -15,8 +15,8 @@ msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-s" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-s"
"hell&keywords=I18N+L10N&component=general\n" "hell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-08-31 02:16+0000\n" "POT-Creation-Date: 2017-10-23 10:13+0000\n"
"PO-Revision-Date: 2017-09-01 10:25+0100\n" "PO-Revision-Date: 2017-10-25 10:55+0100\n"
"Last-Translator: Hannie Dumoleyn <hannie@ubuntu-nl.org>\n" "Last-Translator: Hannie Dumoleyn <hannie@ubuntu-nl.org>\n"
"Language-Team: Dutch <gnome-nl-list@gnome.org>\n" "Language-Team: Dutch <gnome-nl-list@gnome.org>\n"
"Language: nl\n" "Language: nl\n"
@ -71,16 +71,16 @@ msgstr "Vensterbeheer en toepassingen starten"
#: data/org.gnome.shell.gschema.xml.in:6 #: data/org.gnome.shell.gschema.xml.in:6
msgid "Enable internal tools useful for developers and testers from Alt-F2" msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "" msgstr ""
"Interne hulpprogramma's inschakelen die nuttig zijn voor ontwikkwlaars en" "Interne hulpprogramma's inschakelen die nuttig zijn voor ontwikkwlaars en "
" testers via Alt-F2" "testers via Alt-F2"
#: data/org.gnome.shell.gschema.xml.in:9 #: data/org.gnome.shell.gschema.xml.in:9
msgid "" msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 " "Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog." "dialog."
msgstr "" msgstr ""
"Geeft toegang tot interne debugging- en observatieprogramma's met behulp van" "Geeft toegang tot interne debugging- en observatieprogramma's met behulp van "
" het Alt-F2-dialoogvenster." "het Alt-F2-dialoogvenster."
#: data/org.gnome.shell.gschema.xml.in:16 #: data/org.gnome.shell.gschema.xml.in:16
msgid "UUIDs of extensions to enable" msgid "UUIDs of extensions to enable"
@ -107,8 +107,8 @@ msgid ""
"Disable all extensions the user has enabled without affecting the “enabled-" "Disable all extensions the user has enabled without affecting the “enabled-"
"extension” setting." "extension” setting."
msgstr "" msgstr ""
"Schakel alle door de gebruiker ingeschakelde uitbreidingen uit, zonder de" "Schakel alle door de gebruiker ingeschakelde uitbreidingen uit, zonder de "
" instelling enabled-extension te wijzigen." "instelling enabled-extension te wijzigen."
#: data/org.gnome.shell.gschema.xml.in:34 #: data/org.gnome.shell.gschema.xml.in:34
msgid "Disables the validation of extension version compatibility" msgid "Disables the validation of extension version compatibility"
@ -122,8 +122,8 @@ msgid ""
msgstr "" msgstr ""
"Gnome Shell zal alleen uitbreidingen laden die aangeven de huidige versie te " "Gnome Shell zal alleen uitbreidingen laden die aangeven de huidige versie te "
"ondersteunen. Door deze optie in te schakelen wordt deze controle " "ondersteunen. Door deze optie in te schakelen wordt deze controle "
"overgeslagen en worden alle uitbreidingen geladen, ongeacht de versies die ze" "overgeslagen en worden alle uitbreidingen geladen, ongeacht de versies die "
" zouden moeten ondersteunen." "ze zouden moeten ondersteunen."
#: data/org.gnome.shell.gschema.xml.in:43 #: data/org.gnome.shell.gschema.xml.in:43
msgid "List of desktop file IDs for favorite applications" 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 " "The applications corresponding to these identifiers will be displayed in the "
"favorites area." "favorites area."
msgstr "" msgstr ""
"De toepassingen die aan deze identifiers voldoen worden in het" "De toepassingen die aan deze identifiers voldoen worden in het "
" favorietengebied weergegeven." "favorietengebied weergegeven."
#: data/org.gnome.shell.gschema.xml.in:51 #: data/org.gnome.shell.gschema.xml.in:51
msgid "App Picker View" msgid "App Picker View"
@ -171,8 +171,8 @@ msgstr ""
msgid "" msgid ""
"Whether to remember password for mounting encrypted or remote filesystems" "Whether to remember password for mounting encrypted or remote filesystems"
msgstr "" msgstr ""
"Of wachtwoorden voor versleutelde bestandssystemen of bestandssystemen op" "Of wachtwoorden voor versleutelde bestandssystemen of bestandssystemen op "
" afstand onthouden moeten worden" "afstand onthouden moeten worden"
#: data/org.gnome.shell.gschema.xml.in:76 #: data/org.gnome.shell.gschema.xml.in:76
msgid "" 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 #: data/org.gnome.shell.gschema.xml.in:206
msgid "Enable edge tiling when dropping windows on screen edges" msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "" msgstr ""
"Vensters langs de randen positioneren bij verslepen naar de rand van het" "Vensters langs de randen positioneren bij verslepen naar de rand van het "
" scherm" "scherm"
#: data/org.gnome.shell.gschema.xml.in:214 #: data/org.gnome.shell.gschema.xml.in:214
msgid "Workspaces are managed dynamically" msgid "Workspaces are managed dynamically"
@ -755,51 +755,51 @@ msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "Z" msgstr "Z"
#: js/ui/calendar.js:442 #: js/ui/calendar.js:449
msgid "Previous month" msgid "Previous month"
msgstr "Vorige maand" msgstr "Vorige maand"
#: js/ui/calendar.js:452 #: js/ui/calendar.js:459
msgid "Next month" msgid "Next month"
msgstr "Volgende maand" msgstr "Volgende maand"
#: js/ui/calendar.js:605 #: js/ui/calendar.js:612
#, no-javascript-format #, no-javascript-format
msgctxt "date day number format" msgctxt "date day number format"
msgid "%d" msgid "%d"
msgstr "%d" msgstr "%d"
#: js/ui/calendar.js:660 #: js/ui/calendar.js:667
msgid "Week %V" msgid "Week %V"
msgstr "Week %V" msgstr "Week %V"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * 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" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Gehele dag" msgstr "Gehele dag"
#: js/ui/calendar.js:862 #: js/ui/calendar.js:869
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%a %d %B" msgstr "%a %d %B"
#: js/ui/calendar.js:866 #: js/ui/calendar.js:873
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%a %d %B %Y" msgstr "%a %d %B %Y"
#: js/ui/calendar.js:1086 #: js/ui/calendar.js:1093
msgid "No Notifications" msgid "No Notifications"
msgstr "Geen notificaties" msgstr "Geen notificaties"
#: js/ui/calendar.js:1089 #: js/ui/calendar.js:1096
msgid "No Events" msgid "No Events"
msgstr "Geen gebeurtenissen" msgstr "Geen gebeurtenissen"
#: js/ui/calendar.js:1117 #: js/ui/calendar.js:1124
msgid "Clear All" msgid "Clear All"
msgstr "Alles wissen" msgstr "Alles wissen"
@ -814,8 +814,8 @@ msgid ""
"You may choose to wait a short while for it to continue or force the " "You may choose to wait a short while for it to continue or force the "
"application to quit entirely." "application to quit entirely."
msgstr "" msgstr ""
"U kan even wachten tot de toepassing weer reageert, of ze dwingen" "U kan even wachten tot de toepassing weer reageert, of ze dwingen "
" onmiddellijk af te sluiten." "onmiddellijk af te sluiten."
#: js/ui/closeDialog.js:61 #: js/ui/closeDialog.js:61
msgid "Force Quit" msgid "Force Quit"
@ -833,7 +833,7 @@ msgstr "Verbinding met externe schijf gemaakt"
msgid "External drive disconnected" msgid "External drive disconnected"
msgstr "Verbinding met externe schijf verbroken" msgstr "Verbinding met externe schijf verbroken"
#: js/ui/components/autorunManager.js:354 #: js/ui/components/autorunManager.js:358
#, javascript-format #, javascript-format
msgid "Open with %s" msgid "Open with %s"
msgstr "Openen met %s" msgstr "Openen met %s"
@ -972,7 +972,7 @@ msgstr "Zijbalk"
#. Translators: This is the date format to use when the calendar popup is #. 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"). #. * 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" msgid "%B %e %Y"
msgstr "%e %B %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 #. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015". #. * date, e.g. "Tuesday February 17 2015".
#. #.
#: js/ui/dateMenu.js:82 #: js/ui/dateMenu.js:83
msgid "%A %B %e %Y" msgid "%A %B %e %Y"
msgstr "%A %e %B %Y" msgstr "%A %e %B %Y"
#: js/ui/dateMenu.js:144 #: js/ui/dateMenu.js:145
msgid "Add world clocks…" msgid "Add world clocks…"
msgstr "Wereldklokken toevoegen…" msgstr "Wereldklokken toevoegen…"
#: js/ui/dateMenu.js:145 #: js/ui/dateMenu.js:146
msgid "World Clocks" msgid "World Clocks"
msgstr "Wereldklokken" msgstr "Wereldklokken"
#: js/ui/dateMenu.js:224 #: js/ui/dateMenu.js:225
msgid "Weather" msgid "Weather"
msgstr "Weer" msgstr "Weer"
@ -1000,7 +1000,7 @@ msgstr "Weer"
#. libgweather for the possible condition strings. If at all #. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of #. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions. #. the inserted conditions.
#: js/ui/dateMenu.js:286 #: js/ui/dateMenu.js:289
#, javascript-format #, javascript-format
msgid "%s all day." msgid "%s all day."
msgstr "De hele dag %s." msgstr "De hele dag %s."
@ -1009,7 +1009,7 @@ msgstr "De hele dag %s."
#. libgweather for the possible condition strings. If at all #. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of #. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions. #. the inserted conditions.
#: js/ui/dateMenu.js:292 #: js/ui/dateMenu.js:295
#, javascript-format #, javascript-format
msgid "%s, then %s later." msgid "%s, then %s later."
msgstr "%s, daarna %s." msgstr "%s, daarna %s."
@ -1018,30 +1018,30 @@ msgstr "%s, daarna %s."
#. libgweather for the possible condition strings. If at all #. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of #. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions. #. the inserted conditions.
#: js/ui/dateMenu.js:298 #: js/ui/dateMenu.js:301
#, javascript-format #, javascript-format
msgid "%s, then %s, followed by %s later." msgid "%s, then %s, followed by %s later."
msgstr "%s, daarna %s, gevolgd door %s." msgstr "%s, daarna %s, gevolgd door %s."
#: js/ui/dateMenu.js:309 #: js/ui/dateMenu.js:312
msgid "Select a location…" msgid "Select a location…"
msgstr "Selecteer een locatie…" msgstr "Selecteer een locatie…"
#: js/ui/dateMenu.js:312 #: js/ui/dateMenu.js:315
msgid "Loading…" msgid "Loading…"
msgstr "Laden…" msgstr "Laden…"
#. Translators: %s is a temperature with unit, e.g. "23℃" #. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:318 #: js/ui/dateMenu.js:321
#, javascript-format #, javascript-format
msgid "Feels like %s." msgid "Feels like %s."
msgstr "Voelt aan als %s." msgstr "Voelt aan als %s."
#: js/ui/dateMenu.js:321 #: js/ui/dateMenu.js:324
msgid "Go online for weather information" msgid "Go online for weather information"
msgstr "Ga online voor informatie over het weer" msgstr "Ga online voor informatie over het weer"
#: js/ui/dateMenu.js:323 #: js/ui/dateMenu.js:326
msgid "Weather information is currently unavailable" msgid "Weather information is currently unavailable"
msgstr "Informatie over het weer is momenteel niet beschikbaar" msgstr "Informatie over het weer is momenteel niet beschikbaar"
@ -1278,7 +1278,7 @@ msgstr "Broncode weergeven"
msgid "Web Page" msgid "Web Page"
msgstr "Webpagina" msgstr "Webpagina"
#: js/ui/messageTray.js:1493 #: js/ui/messageTray.js:1494
msgid "System Information" msgid "System Information"
msgstr "Systeeminformatie" msgstr "Systeeminformatie"
@ -1369,7 +1369,7 @@ msgstr "Systeem"
#: js/ui/panel.js:812 #: js/ui/panel.js:812
msgid "Top Bar" msgid "Top Bar"
msgstr "Bovenbalk" msgstr "Menubalk"
#. Translators: this MUST be either "toggle-switch-us" #. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words #. (for toggle switches containing the English words
@ -2042,19 +2042,19 @@ msgstr "Evolution-agenda"
msgid "evolution" msgid "evolution"
msgstr "evolution" msgstr "evolution"
#: src/main.c:380 #: src/main.c:429
msgid "Print version" msgid "Print version"
msgstr "Versie weergeven" msgstr "Versie weergeven"
#: src/main.c:386 #: src/main.c:435
msgid "Mode used by GDM for login screen" msgid "Mode used by GDM for login screen"
msgstr "De modus die door GDM voor het aanmeldscherm gebruikt wordt" msgstr "De modus die door GDM voor het aanmeldscherm gebruikt wordt"
#: src/main.c:392 #: src/main.c:441
msgid "Use a specific mode, e.g. “gdm” for login screen" msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Specifieke modus gebruiken, bijv. “gdm” voor het aanmeldscherm" msgstr "Specifieke modus gebruiken, bijv. “gdm” voor het aanmeldscherm"
#: src/main.c:398 #: src/main.c:447
msgid "List possible modes" msgid "List possible modes"
msgstr "Mogelijke modi tonen" msgstr "Mogelijke modi tonen"

View File

@ -10,7 +10,7 @@ msgstr ""
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-08-28 19:35+0200\n" "POT-Creation-Date: 2017-08-28 19:35+0200\n"
"PO-Revision-Date: 2017-08-28 19:38+0200\n" "PO-Revision-Date: 2017-10-14 20:09+0200\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n" "Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n" "Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: sl\n" "Language: sl\n"
@ -20,7 +20,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n" "%100==4 ? 3 : 0);\n"
"X-Poedit-SourceCharset: utf-8\n" "X-Poedit-SourceCharset: utf-8\n"
"X-Generator: Poedit 2.0.1\n" "X-Generator: Poedit 2.0.4\n"
#: data/50-gnome-shell-system.xml:6 #: data/50-gnome-shell-system.xml:6
msgid "System" msgid "System"
@ -363,7 +363,7 @@ msgstr "Izbor seje"
#. manually entering the username. #. manually entering the username.
#: js/gdm/loginDialog.js:458 #: js/gdm/loginDialog.js:458
msgid "Not listed?" msgid "Not listed?"
msgstr "Ali je ni na seznamu?" msgstr "Ali uporabniškega imena ni na seznamu?"
#. Translators: this message is shown below the username entry field #. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm #. to clue the user in on how to login to the local network realm
@ -665,12 +665,12 @@ msgstr "Dodaj med priljubljene"
msgid "Show Details" msgid "Show Details"
msgstr "Pokaži besedilo" msgstr "Pokaži besedilo"
#: js/ui/appFavorites.js:140 #: js/ui/appFavorites.js:141
#, javascript-format #, javascript-format
msgid "%s has been added to your favorites." msgid "%s has been added to your favorites."
msgstr "Program »%s« je dodan med priljubljeno." msgstr "Program »%s« je dodan med priljubljeno."
#: js/ui/appFavorites.js:174 #: js/ui/appFavorites.js:175
#, javascript-format #, javascript-format
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "Program »%s« je odstranjen iz priljubljenih." msgstr "Program »%s« je odstranjen iz priljubljenih."
@ -759,51 +759,51 @@ msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "S" msgstr "S"
#: js/ui/calendar.js:442 #: js/ui/calendar.js:449
msgid "Previous month" msgid "Previous month"
msgstr "Predhodni mesec" msgstr "Predhodni mesec"
#: js/ui/calendar.js:452 #: js/ui/calendar.js:459
msgid "Next month" msgid "Next month"
msgstr "Naslednji mesec" msgstr "Naslednji mesec"
#: js/ui/calendar.js:605 #: js/ui/calendar.js:612
#, no-javascript-format #, no-javascript-format
msgctxt "date day number format" msgctxt "date day number format"
msgid "%d" msgid "%d"
msgstr "%d" msgstr "%d"
#: js/ui/calendar.js:660 #: js/ui/calendar.js:667
msgid "Week %V" msgid "Week %V"
msgstr "Teden %V" msgstr "Teden %V"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * 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" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Celodnevno" msgstr "Celodnevno"
#: js/ui/calendar.js:862 #: js/ui/calendar.js:869
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d. %m." msgstr "%A, %d. %m."
#: js/ui/calendar.js:866 #: js/ui/calendar.js:873
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %d %B %Y" msgstr "%A, %d %B %Y"
#: js/ui/calendar.js:1086 #: js/ui/calendar.js:1093
msgid "No Notifications" msgid "No Notifications"
msgstr "Ni obvestil" msgstr "Ni obvestil"
#: js/ui/calendar.js:1089 #: js/ui/calendar.js:1096
msgid "No Events" msgid "No Events"
msgstr "Ni dogodkov" msgstr "Ni dogodkov"
#: js/ui/calendar.js:1117 #: js/ui/calendar.js:1124
msgid "Clear All" msgid "Clear All"
msgstr "Počisti vse" msgstr "Počisti vse"
@ -837,7 +837,7 @@ msgstr "Zunanji pogon je priklopljen"
msgid "External drive disconnected" msgid "External drive disconnected"
msgstr "Zunanji pogon je odklopljen" msgstr "Zunanji pogon je odklopljen"
#: js/ui/components/autorunManager.js:354 #: js/ui/components/autorunManager.js:358
#, javascript-format #, javascript-format
msgid "Open with %s" msgid "Open with %s"
msgstr "Odpri s programom %s" msgstr "Odpri s programom %s"
@ -914,7 +914,7 @@ msgstr "Za napravo mobilnega širokopasovnega dostopa je zahtevana koda PIN."
#: js/ui/components/networkAgent.js:313 #: js/ui/components/networkAgent.js:313
msgid "PIN: " msgid "PIN: "
msgstr "PIN: " msgstr "Koda PIN: "
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:659 #: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:659
msgid "Mobile broadband network password" msgid "Mobile broadband network password"
@ -974,7 +974,7 @@ msgstr "Pregledna plošča"
#. Translators: This is the date format to use when the calendar popup is #. 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"). #. * 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" msgid "%B %e %Y"
msgstr "%B %e %Y" msgstr "%B %e %Y"
@ -982,19 +982,19 @@ msgstr "%B %e %Y"
#. * below the time in the shell; it should combine the weekday and the #. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015". #. * date, e.g. "Tuesday February 17 2015".
#. #.
#: js/ui/dateMenu.js:82 #: js/ui/dateMenu.js:83
msgid "%A %B %e %Y" msgid "%A %B %e %Y"
msgstr "%A %B %e %Y" msgstr "%A %B %e %Y"
#: js/ui/dateMenu.js:144 #: js/ui/dateMenu.js:145
msgid "Add world clocks…" msgid "Add world clocks…"
msgstr "Dodaj svetovni čas ..." msgstr "Dodaj svetovni čas ..."
#: js/ui/dateMenu.js:145 #: js/ui/dateMenu.js:146
msgid "World Clocks" msgid "World Clocks"
msgstr "Svetovni časi" msgstr "Svetovni časi"
#: js/ui/dateMenu.js:224 #: js/ui/dateMenu.js:225
msgid "Weather" msgid "Weather"
msgstr "Vreme" msgstr "Vreme"
@ -1002,7 +1002,7 @@ msgstr "Vreme"
#. libgweather for the possible condition strings. If at all #. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of #. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions. #. the inserted conditions.
#: js/ui/dateMenu.js:286 #: js/ui/dateMenu.js:289
#, javascript-format #, javascript-format
msgid "%s all day." msgid "%s all day."
msgstr "%s ves dan." msgstr "%s ves dan."
@ -1011,7 +1011,7 @@ msgstr "%s ves dan."
#. libgweather for the possible condition strings. If at all #. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of #. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions. #. the inserted conditions.
#: js/ui/dateMenu.js:292 #: js/ui/dateMenu.js:295
#, javascript-format #, javascript-format
msgid "%s, then %s later." msgid "%s, then %s later."
msgstr "%s, sledi %s." msgstr "%s, sledi %s."
@ -1020,30 +1020,30 @@ msgstr "%s, sledi %s."
#. libgweather for the possible condition strings. If at all #. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of #. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions. #. the inserted conditions.
#: js/ui/dateMenu.js:298 #: js/ui/dateMenu.js:301
#, javascript-format #, javascript-format
msgid "%s, then %s, followed by %s later." msgid "%s, then %s, followed by %s later."
msgstr "%s, sledi %s, kasneje tudi %s." msgstr "%s, sledi %s, kasneje tudi %s."
#: js/ui/dateMenu.js:309 #: js/ui/dateMenu.js:312
msgid "Select a location…" msgid "Select a location…"
msgstr "Izbor mesta ..." msgstr "Izbor mesta ..."
#: js/ui/dateMenu.js:312 #: js/ui/dateMenu.js:315
msgid "Loading…" msgid "Loading…"
msgstr "Poteka nalaganje ..." msgstr "Poteka nalaganje ..."
#. Translators: %s is a temperature with unit, e.g. "23℃" #. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:318 #: js/ui/dateMenu.js:321
#, javascript-format #, javascript-format
msgid "Feels like %s." msgid "Feels like %s."
msgstr "Občuti se kot %s." msgstr "Občuti se kot %s."
#: js/ui/dateMenu.js:321 #: js/ui/dateMenu.js:324
msgid "Go online for weather information" msgid "Go online for weather information"
msgstr "Preglej splet za podrobnosti o vremenu." msgstr "Preglej splet za podrobnosti o vremenu."
#: js/ui/dateMenu.js:323 #: js/ui/dateMenu.js:326
msgid "Weather information is currently unavailable" msgid "Weather information is currently unavailable"
msgstr "Podatki o vremenu trenutno niso na voljo." msgstr "Podatki o vremenu trenutno niso na voljo."
@ -1293,7 +1293,7 @@ msgstr "Poglej vir"
msgid "Web Page" msgid "Web Page"
msgstr "Spletna stran" msgstr "Spletna stran"
#: js/ui/messageTray.js:1493 #: js/ui/messageTray.js:1494
msgid "System Information" msgid "System Information"
msgstr "Podrobnosti sistema" msgstr "Podrobnosti sistema"
@ -1951,7 +1951,7 @@ msgstr "Le vgrajeno"
#: js/ui/unlockDialog.js:67 #: js/ui/unlockDialog.js:67
msgid "Log in as another user" msgid "Log in as another user"
msgstr "Prijava kot drug uporabnik" msgstr "Prijavi z drugim uporabniškim imenom"
#: js/ui/unlockDialog.js:84 #: js/ui/unlockDialog.js:84
msgid "Unlock Window" msgid "Unlock Window"

File diff suppressed because it is too large Load Diff

View File

@ -38,14 +38,17 @@ extern GType gnome_shell_plugin_get_type (void);
static gboolean is_gdm_mode = FALSE; static gboolean is_gdm_mode = FALSE;
static char *session_mode = NULL; static char *session_mode = NULL;
static int caught_signal = 0;
#define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER 1 #define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER 1
#define DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER 4 #define DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER 4
enum { enum {
SHELL_DEBUG_BACKTRACE_WARNINGS = 1, SHELL_DEBUG_BACKTRACE_WARNINGS = 1,
SHELL_DEBUG_BACKTRACE_SEGFAULTS = 2,
}; };
static int _shell_debug; static int _shell_debug;
static gboolean _tracked_signals[NSIG] = { 0 };
static void static void
shell_dbus_acquire_name (GDBusProxy *bus, shell_dbus_acquire_name (GDBusProxy *bus,
@ -290,7 +293,8 @@ static void
shell_init_debug (const char *debug_env) shell_init_debug (const char *debug_env)
{ {
static const GDebugKey keys[] = { 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, _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 static gboolean
list_modes (const char *option_name, list_modes (const char *option_name,
const char *value, const char *value,
@ -459,6 +516,17 @@ main (int argc, char **argv)
shell_prefs_init (); 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 (); ecode = meta_run ();
g_debug ("Doing final cleanup"); g_debug ("Doing final cleanup");

View File

@ -414,11 +414,9 @@ _st_create_shadow_pipeline_from_actor (StShadow *shadow_spec,
ClutterActor *actor) ClutterActor *actor)
{ {
CoglPipeline *shadow_pipeline = NULL; CoglPipeline *shadow_pipeline = NULL;
ClutterActorBox box;
float width, height; float width, height;
clutter_actor_get_allocation_box (actor, &box); clutter_actor_get_size (actor, &width, &height);
clutter_actor_box_get_size (&box, &width, &height);
if (width == 0 || height == 0) if (width == 0 || height == 0)
return NULL; return NULL;
@ -441,6 +439,7 @@ _st_create_shadow_pipeline_from_actor (StShadow *shadow_spec,
CoglFramebuffer *fb; CoglFramebuffer *fb;
CoglColor clear_color; CoglColor clear_color;
CoglError *catch_error = NULL; CoglError *catch_error = NULL;
float x, y;
buffer = cogl_texture_new_with_size (width, buffer = cogl_texture_new_with_size (width,
height, height,
@ -462,6 +461,7 @@ _st_create_shadow_pipeline_from_actor (StShadow *shadow_spec,
} }
cogl_color_init_from_4ub (&clear_color, 0, 0, 0, 0); cogl_color_init_from_4ub (&clear_color, 0, 0, 0, 0);
clutter_actor_get_position (actor, &x, &y);
/* XXX: There's no way to render a ClutterActor to an offscreen /* XXX: There's no way to render a ClutterActor to an offscreen
* as it uses the implicit API. */ * as it uses the implicit API. */
@ -470,7 +470,7 @@ _st_create_shadow_pipeline_from_actor (StShadow *shadow_spec,
G_GNUC_END_IGNORE_DEPRECATIONS; G_GNUC_END_IGNORE_DEPRECATIONS;
cogl_framebuffer_clear (fb, COGL_BUFFER_BIT_COLOR, &clear_color); cogl_framebuffer_clear (fb, COGL_BUFFER_BIT_COLOR, &clear_color);
cogl_framebuffer_translate (fb, -box.x1, -box.y1, 0); cogl_framebuffer_translate (fb, -x, -y, 0);
cogl_framebuffer_orthographic (fb, 0, 0, width, height, 0, 1.0); cogl_framebuffer_orthographic (fb, 0, 0, width, height, 0, 1.0);
clutter_actor_set_opacity_override (actor, 255); clutter_actor_set_opacity_override (actor, 255);