Compare commits

...

21 Commits

Author SHA1 Message Date
4baa091bc5 Bump version to 3.36.0
Update NEWS.
2020-03-07 23:30:33 +01:00
cb7d1925ef Update Dutch translation 2020-03-07 21:50:08 +00:00
3ddae9d815 slider: Include handle border radius when calculating center offset
Since 38da479ee we correctly ceil the non-integer radius of the slider
handle when calculating the offset for drawing the circle. Since the
handle also has a border with a width of 1px by default, we should also
factor that in when calculating the offset.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1569
2020-03-06 19:29:06 +00:00
ub
e22421a25a Theme: colorize .folder-namel-label
- so it receives the correct color, independent from the theme $variant (light/dark)

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1059
2020-03-06 19:22:08 +00:00
09a1e61c63 location: Update desktop file name for privacy settings
The location settings have been moved to their own panel with a
different desktop file:
https://gitlab.gnome.org/GNOME/gnome-control-center/-/commit/f92f6f5c

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/2316
2020-03-06 19:16:47 +00:00
7345a6f276 main: Get the theme resource name from sessionMode
Along the lines of `styleSheetName`, a session mode may want to provide its
own gresource file, so make this possible via a `themeResourceName` session
mode parameter, defaulted to gnome-shell-theme.gresource

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1063
2020-03-06 19:09:25 +00:00
fda938175e shellDBus: Add new OpenExtensionPrefs method
Unlike any other methods in the Extensions API, LaunchExtensionPrefs()
opens what appears to be an application dialog, except that it is
really a separate application that the caller has no control over.

In order to address that, add a new OpenExtensionPrefs() method that
takes additional parameters (modelled after the desktop portal APIs)
that will make it possible to improve the behavior in the future.

The new parameters are ignored for now, but pushing the API out now
will allow us to fill in the functionality post the .0 release.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1074
2020-03-06 19:03:02 +00:00
3a39fb5ab8 shellDBus: Add UserExtensionsEnabled property
The 'disable-user-extensions' GSettings key is the last extensions-related
setting that isn't exposed over D-Bus, and therefore requires consumers
to access the GSettings directly.

Expose the setting as UserExtensionsEnabled readwrite property in the
org.gnome.Shell.Extensions interface to allow consumers to manage
extensions purely via D-Bus.

The 'disable-user-extensions' setting is the last extension-related
bit from the org.gnome.shell GSettings schema that is not exposed
via D-Bus.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1074
2020-03-06 19:03:02 +00:00
1a0ec782b5 ibusManager: Ensure to spawn --xim on non-wayland sessions
This (mistakenly) now only depends on signals triggered on Wayland
sessions. Hardcoding the XIM support on X11 sessions will make input
in some clients work again.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1690
2020-03-06 18:57:23 +00:00
a96753f085 windowManager: X11 can work without gsd-xsettings
Currently, a failure to start the Systemd unit `gsd-xsettings.target`
would be considered a failure to start Xwayland.

That means that if `gsd-xsettings.target` fails to start for whatever
reason, no X11 client can be used on Wayland.

However, XSettings is by no mean mandatory for X11 clients and many
legacy X11 clients do not implement XSettings. Those who do always have
a fallback path and therefore can still work without XSettings.

Make a failure to start the Systemd unit `gsd-xsettings.target` non
blocking for Xwayland, and just log a warning message.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1065
2020-03-06 18:50:52 +00:00
4ff94f80a0 shell/tray-manager: Delay managing screen if necessary
Now that Xwayland startup is asynchronous, the function may be called
before X11 is available, resulting in a crash.

Fix this by only managing the tray immediately if we already have an
X11 display, and wait for it to be set up otherwise.

Likewise, unmanage the screen when X11 becomes unavailable.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2308
2020-03-06 18:45:21 +00:00
e6d4581959 shell/tray-manager: Allow to unmanage screen
Since support for legacy status icons is implemented by extensions
nowadays, they need to undo the call to manage_screen() when they
are disabled.

Right now that means bypassing garbage collection with an explicit
call to run_dispose() on the Shell.TrayManager. That works, but is
rather ugly.

An explicit unmanage_screen() method is a nicer option, and will be
useful to us as well to deal with X11 going away (once Xwayland
crashes don't bring down the entire session).

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2308
2020-03-06 18:45:21 +00:00
07bbcb1b48 shell/tray-manager: Only create resources when needed
NaTrayManager in particular is deeply tied to X11. We currently assume
that X11 support is always available, but that is already not true
anymore - Xwayland startup is now asynchronous.

It will be even less true once we handle Xwayland crashes gracefully.

Start addressing that by not creating the corresponding resources once
and assume they exist for the lifetime of Shell.TrayManager, but make
sure they exist when actually needed.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2308
2020-03-06 18:45:21 +00:00
f4ea9074d0 Updated Czech translation 2020-03-06 18:25:26 +01:00
d4ee2e8bbf Update Japanese translation 2020-03-04 21:53:07 +00:00
cf82d5ba85 Update Ukrainian translation 2020-03-04 16:47:03 +00:00
5e04f6eb23 Update Italian translation 2020-03-03 08:09:27 +00:00
0dd171a7c8 environment: Fix date conversion
This is a regression from commit 06b690ff21:

GLib.DateTime.new() expects the full four-digit year, so passing
the abbreviated year from Date() will result in a bogus datetime.

Today is *not* Saturday March 2nd, 120 ...

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1061
2020-03-02 13:54:23 +01:00
837fbbf417 Updated Lithuanian translation 2020-03-01 20:41:32 +02:00
d7b61e7281 Update Croatian translation 2020-03-01 15:47:17 +00:00
073da0806c Update Punjabi translation 2020-03-01 09:18:00 +00:00
22 changed files with 4780 additions and 5020 deletions

21
NEWS

@ -1,3 +1,24 @@
3.36.0
======
* Fix off-by-1900 error in date conversions [Florian; !1061]
* Fix crash on startup with topIcons* extension enabled [Florian; #2308]
* Don't require gsd-xsettings for X11 support on wayland [Olivier; !1065]
* Fix ibus support in Xorg session [Carlos; #1690]
* Improve Extensions D-Bus API [Florian; !1074]
* Allow session modes to specify alternative resource name [Marco; !1063]
* Fix link to location settings in aggregate menu [Sebastian; #2316]
* Fix illegible app folder titles with light theme [ub; !1059]
* Really fix visual glitch in sliders [Jonas; #1569]
Contributors:
Marco Trevisan (Treviño), Jonas Dreßler, Olivier Fourdan, Carlos Garnacho,
Sebastian Keller, Florian Müllner, ub
Translators:
Aman Alam [pa], Goran Vidović [hr], Aurimas Černius [lt],
Milo Casagrande [it], Daniel Korostil [uk], sicklylife [ja],
Marek Černocký [cs], Nathan Follens [nl]
3.35.92 3.35.92
======= =======
* Plug a memory leak [Jonas D.; !1015] * Plug a memory leak [Jonas D.; !1015]

@ -199,14 +199,37 @@
<!-- <!--
LaunchExtensionPrefs: LaunchExtensionPrefs:
@uuid: The UUID of the extension Deprecated for OpenExtensionPrefs
Launch preferences of an extension.
--> -->
<method name="LaunchExtensionPrefs"> <method name="LaunchExtensionPrefs">
<arg type="s" direction="in" name="uuid"/> <arg type="s" direction="in" name="uuid"/>
</method> </method>
<!--
OpenExtensionPrefs:
@uuid: The UUID of the extension
@parent_window: Identifier for the application window
@options: Vardict with further options
Opens the prefs dialog of extension @uuid.
The following @options are recognized:
<variablelist>
<varlistentry>
<term>modal b</term>
<listitem>
<para>Whether the prefs window should be modal, default: false</para>
</listitem>
</varlistentry>
</variablelist>
-->
<method name="OpenExtensionPrefs">
<arg type="s" direction="in" name="uuid"/>
<arg type="s" direction="in" name="parent_window"/>
<arg type="a{sv}" direction="in" name="options"/>
</method>
<!-- <!--
CheckForUpdates: CheckForUpdates:
Update all extensions for which updates are available Update all extensions for which updates are available
@ -234,5 +257,11 @@
--> -->
<property name="ShellVersion" type="s" access="read"/> <property name="ShellVersion" type="s" access="read"/>
<!--
UserExtensionsEnabled:
Whether user extensions are enabled
-->
<property name="UserExtensionsEnabled" type="b" access="readwrite"/>
</interface> </interface>
</node> </node>

@ -60,7 +60,7 @@ $app_grid_fg_color: #fff;
& .folder-name-entry { width: 300px } & .folder-name-entry { width: 300px }
/* FIXME: this is to keep the label in sync with the entry */ /* FIXME: this is to keep the label in sync with the entry */
& .folder-name-label { padding: 5px 7px } & .folder-name-label { padding: 5px 7px; color: $osd_fg_color; }
& .edit-folder-button { & .edit-folder-button {
@extend %button; @extend %button;

@ -1,7 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported getIBusManager */ /* exported getIBusManager */
const { Gio, GLib, IBus } = imports.gi; const { Gio, GLib, IBus, Meta } = imports.gi;
const Signals = imports.signals; const Signals = imports.signals;
const IBusCandidatePopup = imports.ui.ibusCandidatePopup; const IBusCandidatePopup = imports.ui.ibusCandidatePopup;
@ -55,7 +55,7 @@ var IBusManager = class {
this._ibus.set_watch_ibus_signal(true); this._ibus.set_watch_ibus_signal(true);
this._ibus.connect('global-engine-changed', this._engineChanged.bind(this)); this._ibus.connect('global-engine-changed', this._engineChanged.bind(this));
this._spawn(); this._spawn(Meta.is_wayland_compositor() ? [] : ['--xim']);
} }
_spawn(extraArgs = []) { _spawn(extraArgs = []) {

@ -320,7 +320,7 @@ function init() {
_localTimeZone = GLib.TimeZone.new_local(); _localTimeZone = GLib.TimeZone.new_local();
let dt = GLib.DateTime.new(_localTimeZone, let dt = GLib.DateTime.new(_localTimeZone,
this.getYear(), this.getFullYear(),
this.getMonth() + 1, this.getMonth() + 1,
this.getDate(), this.getDate(),
this.getHours(), this.getHours(),

@ -361,7 +361,8 @@ function reloadThemeResource() {
if (_themeResource) if (_themeResource)
_themeResource._unregister(); _themeResource._unregister();
_themeResource = Gio.Resource.load('%s/gnome-shell-theme.gresource'.format(global.datadir)); _themeResource = Gio.Resource.load('%s/%s'.format(global.datadir,
sessionMode.themeResourceName));
_themeResource._register(); _themeResource._register();
} }

@ -15,6 +15,7 @@ const _modes = {
'restrictive': { 'restrictive': {
parentMode: null, parentMode: null,
stylesheetName: 'gnome-shell.css', stylesheetName: 'gnome-shell.css',
themeResourceName: 'gnome-shell-theme.gresource',
hasOverview: false, hasOverview: false,
showCalendarEvents: false, showCalendarEvents: false,
allowSettings: false, allowSettings: false,

@ -255,6 +255,17 @@ var GnomeShellExtensions = class {
constructor() { constructor() {
this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(GnomeShellExtensionsIface, this); this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(GnomeShellExtensionsIface, this);
this._dbusImpl.export(Gio.DBus.session, '/org/gnome/Shell'); this._dbusImpl.export(Gio.DBus.session, '/org/gnome/Shell');
this._userExtensionsEnabled = this.UserExtensionsEnabled;
global.settings.connect('changed::disable-user-extensions', () => {
if (this._userExtensionsEnabled === this.UserExtensionsEnabled)
return;
this._userExtensionsEnabled = this.UserExtensionsEnabled;
this._dbusImpl.emit_property_changed('UserExtensionsEnabled',
new GLib.Variant('b', this._userExtensionsEnabled));
});
Main.extensionManager.connect('extension-state-changed', Main.extensionManager.connect('extension-state-changed',
this._extensionStateChanged.bind(this)); this._extensionStateChanged.bind(this));
} }
@ -301,6 +312,10 @@ var GnomeShellExtensions = class {
} }
LaunchExtensionPrefs(uuid) { LaunchExtensionPrefs(uuid) {
this.OpenExtensionPrefs(uuid, '', {});
}
OpenExtensionPrefs(uuid, _parentWindow, _options) {
let appSys = Shell.AppSystem.get_default(); let appSys = Shell.AppSystem.get_default();
let app = appSys.lookup_app('org.gnome.Extensions.desktop'); let app = appSys.lookup_app('org.gnome.Extensions.desktop');
let info = app.get_app_info(); let info = app.get_app_info();
@ -325,6 +340,14 @@ var GnomeShellExtensions = class {
return Config.PACKAGE_VERSION; return Config.PACKAGE_VERSION;
} }
get UserExtensionsEnabled() {
return !global.settings.get_boolean('disable-user-extensions');
}
set UserExtensionsEnabled(enable) {
global.settings.set_boolean('disable-user-extensions', !enable);
}
_extensionStateChanged(_, newState) { _extensionStateChanged(_, newState) {
let state = ExtensionUtils.serializeExtension(newState); let state = ExtensionUtils.serializeExtension(newState);
this._dbusImpl.emit_signal('ExtensionStateChanged', this._dbusImpl.emit_signal('ExtensionStateChanged',

@ -43,10 +43,10 @@ var Slider = GObject.registerClass({
let [hasHandleColor, handleBorderColor] = let [hasHandleColor, handleBorderColor] =
themeNode.lookup_color('-slider-handle-border-color', false); themeNode.lookup_color('-slider-handle-border-color', false);
let wholeHandleRadius = Math.ceil(handleRadius); const ceiledHandleRadius = Math.ceil(handleRadius + handleBorderWidth);
let handleX = wholeHandleRadius + const handleX = ceiledHandleRadius +
(width - 2 * wholeHandleRadius) * this._value / this._maxValue; (width - 2 * ceiledHandleRadius) * this._value / this._maxValue;
let handleY = height / 2; const handleY = height / 2;
let color = themeNode.get_foreground_color(); let color = themeNode.get_foreground_color();
Clutter.cairo_set_source_color(cr, color); Clutter.cairo_set_source_color(cr, color);

@ -64,7 +64,7 @@ class Indicator extends PanelMenu.SystemIndicator {
this._item.label.text = _("Location Enabled"); this._item.label.text = _("Location Enabled");
this._onOffAction = this._item.menu.addAction(_("Disable"), this._onOnOffAction.bind(this)); this._onOffAction = this._item.menu.addAction(_("Disable"), this._onOnOffAction.bind(this));
this._item.menu.addSettingsAction(_("Privacy Settings"), 'gnome-privacy-panel.desktop'); this._item.menu.addSettingsAction(_('Privacy Settings'), 'gnome-location-panel.desktop');
this.menu.addMenuItem(this._item); this.menu.addMenuItem(this._item);

@ -903,7 +903,8 @@ var WindowManager = class {
/* Leave this watchdog timeout so don't block indefinitely here */ /* Leave this watchdog timeout so don't block indefinitely here */
let timeoutId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 5, () => { let timeoutId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 5, () => {
Gio.DBus.session.unwatch_name(watchId); Gio.DBus.session.unwatch_name(watchId);
task.return_boolean(false); log('Warning: Failed to start gsd-xsettings');
task.return_boolean(true);
timeoutId = 0; timeoutId = 0;
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
}); });

@ -1,5 +1,5 @@
project('gnome-shell', 'c', project('gnome-shell', 'c',
version: '3.35.92', version: '3.36.0',
meson_version: '>= 0.47.0', meson_version: '>= 0.47.0',
license: 'GPLv2+' license: 'GPLv2+'
) )
@ -25,12 +25,12 @@ gio_req = '>= 2.56.0'
gi_req = '>= 1.49.1' gi_req = '>= 1.49.1'
gjs_req = '>= 1.63.2' gjs_req = '>= 1.63.2'
gtk_req = '>= 3.15.0' gtk_req = '>= 3.15.0'
mutter_req = '>= 3.35.92' mutter_req = '>= 3.36.0'
polkit_req = '>= 0.100' polkit_req = '>= 0.100'
schemas_req = '>= 3.33.1' schemas_req = '>= 3.33.1'
startup_req = '>= 0.11' startup_req = '>= 0.11'
ibus_req = '>= 1.5.2' ibus_req = '>= 1.5.2'
gnome_desktop_req = '>= 3.34.2' gnome_desktop_req = '>= 3.35.90'
bt_req = '>= 3.9.0' bt_req = '>= 3.9.0'
gst_req = '>= 0.11.92' gst_req = '>= 0.11.92'

1631
po/cs.po

File diff suppressed because it is too large Load Diff

589
po/hr.po

File diff suppressed because it is too large Load Diff

1680
po/it.po

File diff suppressed because it is too large Load Diff

@ -16,8 +16,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
"POT-Creation-Date: 2020-02-27 21:57+0000\n" "POT-Creation-Date: 2020-02-29 16:06+0000\n"
"PO-Revision-Date: 2020-02-29 20:28+0900\n" "PO-Revision-Date: 2020-03-05 06:30+0900\n"
"Last-Translator: sicklylife <translation@sicklylife.jp>\n" "Last-Translator: sicklylife <translation@sicklylife.jp>\n"
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n" "Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
"Language: ja\n" "Language: ja\n"
@ -1037,7 +1037,7 @@ msgstr "イベントなし"
#: js/ui/calendar.js:1153 #: js/ui/calendar.js:1153
msgid "Do Not Disturb" msgid "Do Not Disturb"
msgstr "通知ポップアップしない" msgstr "通知ポップアップを表示しない"
#: js/ui/calendar.js:1167 #: js/ui/calendar.js:1167
msgid "Clear" msgid "Clear"

257
po/lt.po

@ -10,8 +10,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
"POT-Creation-Date: 2020-02-17 11:08+0000\n" "POT-Creation-Date: 2020-02-27 21:57+0000\n"
"PO-Revision-Date: 2020-02-17 22:38+0200\n" "PO-Revision-Date: 2020-03-01 20:41+0200\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n" "Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n" "Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
"Language: lt\n" "Language: lt\n"
@ -410,11 +410,11 @@ msgstr ""
"Jei pašalinsite plėtinį, reikės grįžti prie jo atsisiuntimo, jei norėsite jį " "Jei pašalinsite plėtinį, reikės grįžti prie jo atsisiuntimo, jei norėsite jį "
"vėl įjungti" "vėl įjungti"
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57 #: js/extensionPrefs/main.js:144 js/gdm/authPrompt.js:135
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139 #: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:107
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:166 #: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386 #: js/ui/extensionDownloader.js:165 js/ui/shellMountOperation.js:376
#: js/ui/status/network.js:910 #: js/ui/shellMountOperation.js:386 js/ui/status/network.js:913
msgid "Cancel" msgid "Cancel"
msgstr "Atsisakyti" msgstr "Atsisakyti"
@ -546,12 +546,11 @@ msgid "Log Out…"
msgstr "Atsijungti…" msgstr "Atsijungti…"
#. Cisco LEAP #. Cisco LEAP
#: js/gdm/authPrompt.js:235 js/ui/components/networkAgent.js:202 #: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:202
#: js/ui/components/networkAgent.js:214 js/ui/components/networkAgent.js:238 #: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
#: js/ui/components/networkAgent.js:259 js/ui/components/networkAgent.js:279 #: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
#: js/ui/components/networkAgent.js:289 js/ui/components/polkitAgent.js:277 #: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
#: js/ui/shellMountOperation.js:326 #: js/ui/shellMountOperation.js:326
#| msgid "Password:"
msgid "Password" msgid "Password"
msgstr "Slaptažodis" msgstr "Slaptažodis"
@ -573,9 +572,8 @@ msgstr "(pvz., naudotojas arba %s)"
#. TTLS and PEAP are actually much more complicated, but this complication #. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication #. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one) #. (and don't even care of which one)
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:234 #: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
#: js/ui/components/networkAgent.js:257 js/ui/components/networkAgent.js:275 #: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
#| msgid "Username: "
msgid "Username" msgid "Username"
msgstr "Naudotojo vardas" msgstr "Naudotojo vardas"
@ -810,11 +808,11 @@ msgid "%B %-d %Y, %l%M %p"
msgstr "%Y %m %-d, %l%M %p" msgstr "%Y %m %-d, %l%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:42 #: js/portalHelper/main.js:41
msgid "Hotspot Login" msgid "Hotspot Login"
msgstr "Prisijungimas prie prieigos taško" msgstr "Prisijungimas prie prieigos taško"
#: js/portalHelper/main.js:88 #: js/portalHelper/main.js:87
msgid "" 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."
@ -849,27 +847,27 @@ msgid "All"
msgstr "Visos" msgstr "Visos"
#. Translators: This is the heading of a list of open windows #. Translators: This is the heading of a list of open windows
#: js/ui/appDisplay.js:2454 js/ui/panel.js:75 #: js/ui/appDisplay.js:2450 js/ui/panel.js:75
msgid "Open Windows" msgid "Open Windows"
msgstr "Atverti langai" msgstr "Atverti langai"
#: js/ui/appDisplay.js:2474 js/ui/panel.js:82 #: js/ui/appDisplay.js:2470 js/ui/panel.js:82
msgid "New Window" msgid "New Window"
msgstr "Naujas langas" msgstr "Naujas langas"
#: js/ui/appDisplay.js:2485 #: js/ui/appDisplay.js:2481
msgid "Launch using Dedicated Graphics Card" msgid "Launch using Dedicated Graphics Card"
msgstr "Paleisti naudojant dedikuotą grafikos kortą" msgstr "Paleisti naudojant dedikuotą grafikos kortą"
#: js/ui/appDisplay.js:2513 js/ui/dash.js:239 #: js/ui/appDisplay.js:2509 js/ui/dash.js:239
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Pašalinti iš mėgstamų" msgstr "Pašalinti iš mėgstamų"
#: js/ui/appDisplay.js:2519 #: js/ui/appDisplay.js:2515
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Pridėti prie mėgstamų" msgstr "Pridėti prie mėgstamų"
#: js/ui/appDisplay.js:2529 js/ui/panel.js:93 #: js/ui/appDisplay.js:2525 js/ui/panel.js:93
msgid "Show Details" msgid "Show Details"
msgstr "Rodyti detalią informaciją" msgstr "Rodyti detalią informaciją"
@ -1094,37 +1092,32 @@ msgstr ""
"Taip pat galite prisijungti paspausdami „WPS“ mygtuką savo maršrutizatoriuje." "Taip pat galite prisijungti paspausdami „WPS“ mygtuką savo maršrutizatoriuje."
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223 #: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
#: js/ui/status/network.js:314 js/ui/status/network.js:913 #: js/ui/status/network.js:314 js/ui/status/network.js:916
msgid "Connect" msgid "Connect"
msgstr "Prisijungti" msgstr "Prisijungti"
#. static WEP #: js/ui/components/networkAgent.js:208
#: js/ui/components/networkAgent.js:207
#| msgid "Key: "
msgid "Key" msgid "Key"
msgstr "Raktas" msgstr "Raktas"
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265 #: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
#| msgid "Private key password: "
msgid "Private key password" msgid "Private key password"
msgstr "Privataus rakto slaptažodis" msgstr "Privataus rakto slaptažodis"
#: js/ui/components/networkAgent.js:263 #: js/ui/components/networkAgent.js:267
#| msgid "Identity: "
msgid "Identity" msgid "Identity"
msgstr "Tapatybė" msgstr "Tapatybė"
#: js/ui/components/networkAgent.js:277 #: js/ui/components/networkAgent.js:281
#| msgid "Service: "
msgid "Service" msgid "Service"
msgstr "Tarnyba" msgstr "Tarnyba"
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334 #: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702 #: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
msgid "Authentication required" msgid "Authentication required"
msgstr "Reikia patvirtinti tapatybę" msgstr "Reikia patvirtinti tapatybę"
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682 #: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
#, javascript-format #, javascript-format
msgid "" msgid ""
"Passwords or encryption keys are required to access the wireless network " "Passwords or encryption keys are required to access the wireless network "
@ -1133,44 +1126,42 @@ msgstr ""
"Slaptažodžiai arba šifravimo raktai yra būtini priėjimui prie belaidžio " "Slaptažodžiai arba šifravimo raktai yra būtini priėjimui prie belaidžio "
"tinklo „%s“." "tinklo „%s“."
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686 #: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
msgid "Wired 802.1X authentication" msgid "Wired 802.1X authentication"
msgstr "Laidinis 802.1X tapatybės patvirtinimas" msgstr "Laidinis 802.1X tapatybės patvirtinimas"
#: js/ui/components/networkAgent.js:313 #: js/ui/components/networkAgent.js:317
#| msgid "Network name: "
msgid "Network name" msgid "Network name"
msgstr "Tinklo vardas" msgstr "Tinklo vardas"
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690 #: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
msgid "DSL authentication" msgid "DSL authentication"
msgstr "DSL tapatybės patvirtinimas" msgstr "DSL tapatybės patvirtinimas"
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695 #: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
msgid "PIN code required" msgid "PIN code required"
msgstr "Reikalingas PIN kodas" msgstr "Reikalingas PIN kodas"
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696 #: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
msgid "PIN code is needed for the mobile broadband device" msgid "PIN code is needed for the mobile broadband device"
msgstr "Reikalingas PIN kodas mobiliajam plačiajuosčiam įrenginiui" msgstr "Reikalingas PIN kodas mobiliajam plačiajuosčiam įrenginiui"
#: js/ui/components/networkAgent.js:327 #: js/ui/components/networkAgent.js:331
#| msgid "PIN: "
msgid "PIN" msgid "PIN"
msgstr "PIN" msgstr "PIN"
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687 #: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703 #: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
#: js/ui/components/networkAgent.js:707 #: js/ui/components/networkAgent.js:711
#, javascript-format #, javascript-format
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "Būtinas slaptažodis norint prisijungti prie „%s“." msgstr "Būtinas slaptažodis norint prisijungti prie „%s“."
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688 #: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
msgid "Network Manager" msgid "Network Manager"
msgstr "Tinklo tvarkymas" msgstr "Tinklo tvarkymas"
#: js/ui/components/networkAgent.js:706 #: js/ui/components/networkAgent.js:710
msgid "VPN password" msgid "VPN password"
msgstr "VPN slaptažodis" msgstr "VPN slaptažodis"
@ -1414,15 +1405,15 @@ msgstr "%s (nutolęs)"
msgid "%s (console)" msgid "%s (console)"
msgstr "%s (komandų eilutė)" msgstr "%s (komandų eilutė)"
#: js/ui/extensionDownloader.js:170 #: js/ui/extensionDownloader.js:169
msgid "Install" msgid "Install"
msgstr "Įdiegti" msgstr "Įdiegti"
#: js/ui/extensionDownloader.js:176 #: js/ui/extensionDownloader.js:175
msgid "Install Extension" msgid "Install Extension"
msgstr "Išdiegti plėtinį" msgstr "Išdiegti plėtinį"
#: js/ui/extensionDownloader.js:177 #: js/ui/extensionDownloader.js:176
#, javascript-format #, javascript-format
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Parsiųsti ir įdiegti „%s“ iš extensions.gnome.org?" msgstr "Parsiųsti ir įdiegti „%s“ iš extensions.gnome.org?"
@ -1510,13 +1501,13 @@ msgid "Leave On"
msgstr "Palikti įjungtą" msgstr "Palikti įjungtą"
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135 #: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
#: js/ui/status/network.js:1285 #: js/ui/status/network.js:1288
msgid "Turn On" msgid "Turn On"
msgstr "Įjungti" msgstr "Įjungti"
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135 #: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
#: js/ui/status/network.js:131 js/ui/status/network.js:315 #: js/ui/status/network.js:131 js/ui/status/network.js:315
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397 #: js/ui/status/network.js:1288 js/ui/status/network.js:1400
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81 #: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
#: js/ui/status/rfkill.js:108 #: js/ui/status/rfkill.js:108
msgid "Turn Off" msgid "Turn Off"
@ -1530,59 +1521,59 @@ msgstr "Palikti išjungtą"
msgid "Region & Language Settings" msgid "Region & Language Settings"
msgstr "Regiono ir kalbos nustatymai" msgstr "Regiono ir kalbos nustatymai"
#: js/ui/lookingGlass.js:659 #: js/ui/lookingGlass.js:665
msgid "No extensions installed" msgid "No extensions installed"
msgstr "Nėra įdiegtų plėtinių" msgstr "Nėra įdiegtų plėtinių"
#. Translators: argument is an extension UUID. #. Translators: argument is an extension UUID.
#: js/ui/lookingGlass.js:714 #: js/ui/lookingGlass.js:720
#, javascript-format #, javascript-format
msgid "%s has not emitted any errors." msgid "%s has not emitted any errors."
msgstr "%s nepranešė apie jokias klaidas." msgstr "%s nepranešė apie jokias klaidas."
#: js/ui/lookingGlass.js:720 #: js/ui/lookingGlass.js:726
msgid "Hide Errors" msgid "Hide Errors"
msgstr "Slėpti klaidas" msgstr "Slėpti klaidas"
#: js/ui/lookingGlass.js:724 js/ui/lookingGlass.js:789 #: js/ui/lookingGlass.js:730 js/ui/lookingGlass.js:795
msgid "Show Errors" msgid "Show Errors"
msgstr "Rodyti klaidas" msgstr "Rodyti klaidas"
#: js/ui/lookingGlass.js:733 #: js/ui/lookingGlass.js:739
msgid "Enabled" msgid "Enabled"
msgstr "Įjungta" msgstr "Įjungta"
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: js/ui/lookingGlass.js:736 subprojects/gvc/gvc-mixer-control.c:1892 #: js/ui/lookingGlass.js:742 subprojects/gvc/gvc-mixer-control.c:1892
msgid "Disabled" msgid "Disabled"
msgstr "Išjungta" msgstr "Išjungta"
#: js/ui/lookingGlass.js:738 #: js/ui/lookingGlass.js:744
msgid "Error" msgid "Error"
msgstr "Klaida" msgstr "Klaida"
#: js/ui/lookingGlass.js:740 #: js/ui/lookingGlass.js:746
msgid "Out of date" msgid "Out of date"
msgstr "Pasenęs" msgstr "Pasenęs"
#: js/ui/lookingGlass.js:742 #: js/ui/lookingGlass.js:748
msgid "Downloading" msgid "Downloading"
msgstr "Atsiunčiama" msgstr "Atsiunčiama"
#: js/ui/lookingGlass.js:771 #: js/ui/lookingGlass.js:777
msgid "View Source" msgid "View Source"
msgstr "Žiūrėti šaltinį" msgstr "Žiūrėti šaltinį"
#: js/ui/lookingGlass.js:780 #: js/ui/lookingGlass.js:786
msgid "Web Page" msgid "Web Page"
msgstr "Tinklalapis" msgstr "Tinklalapis"
#: js/ui/main.js:267 #: js/ui/main.js:269
msgid "Logged in as a privileged user" msgid "Logged in as a privileged user"
msgstr "Prisijungta privilegijuotu naudotoju" msgstr "Prisijungta privilegijuotu naudotoju"
#: js/ui/main.js:268 #: js/ui/main.js:270
msgid "" msgid ""
"Running a session as a privileged user should be avoided for security " "Running a session as a privileged user should be avoided for security "
"reasons. If possible, you should log in as a normal user." "reasons. If possible, you should log in as a normal user."
@ -1590,15 +1581,15 @@ msgstr ""
"Saugumo sumetimais turėtų būti vengiama vykdyti seansus privilegijuotais " "Saugumo sumetimais turėtų būti vengiama vykdyti seansus privilegijuotais "
"naudotojais. Jei įmanoma, turėtumėt visada prisjungti normaliu naudotoju." "naudotojais. Jei įmanoma, turėtumėt visada prisjungti normaliu naudotoju."
#: js/ui/main.js:274 #: js/ui/main.js:276
msgid "Screen Lock disabled" msgid "Screen Lock disabled"
msgstr "Ekrano užraktas išjungtas" msgstr "Ekrano užraktas išjungtas"
#: js/ui/main.js:275 #: js/ui/main.js:277
msgid "Screen Locking requires the GNOME display manager." msgid "Screen Locking requires the GNOME display manager."
msgstr "Ekrano užrakinimas reikalaujas GNOME vaizduoklio valdyklės." msgstr "Ekrano užrakinimas reikalaujas GNOME vaizduoklio valdyklės."
#: js/ui/messageTray.js:1552 #: js/ui/messageTray.js:1554
msgid "System Information" msgid "System Information"
msgstr "Sistemos informacija" msgstr "Sistemos informacija"
@ -1625,7 +1616,6 @@ msgstr "Apžvalga"
#. active; it should not exceed ~30 #. active; it should not exceed ~30
#. characters. #. characters.
#: js/ui/overview.js:107 #: js/ui/overview.js:107
#| msgid "Type to search…"
msgid "Type to search" msgid "Type to search"
msgstr "Rašykite, ko ieškote" msgstr "Rašykite, ko ieškote"
@ -1653,23 +1643,23 @@ msgstr "Priskirti klavišų kombinaciją"
msgid "Done" msgid "Done"
msgstr "Atlikta" msgstr "Atlikta"
#: js/ui/padOsd.js:747 #: js/ui/padOsd.js:745
msgid "Edit…" msgid "Edit…"
msgstr "Keisti…" msgstr "Keisti…"
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912 #: js/ui/padOsd.js:787 js/ui/padOsd.js:910
msgid "None" msgid "None"
msgstr "Nėra" msgstr "Nėra"
#: js/ui/padOsd.js:865 #: js/ui/padOsd.js:863
msgid "Press a button to configure" msgid "Press a button to configure"
msgstr "Spauskite mygtuką konfigūravimui" msgstr "Spauskite mygtuką konfigūravimui"
#: js/ui/padOsd.js:866 #: js/ui/padOsd.js:864
msgid "Press Esc to exit" msgid "Press Esc to exit"
msgstr "Spauskit Esc išėjimui" msgstr "Spauskit Esc išėjimui"
#: js/ui/padOsd.js:869 #: js/ui/padOsd.js:867
msgid "Press any key to exit" msgid "Press any key to exit"
msgstr "Išėjimui spauskite bet kurį klavišą" msgstr "Išėjimui spauskite bet kurį klavišą"
@ -1683,12 +1673,12 @@ msgstr "Užverti"
msgid "Activities" msgid "Activities"
msgstr "Apžvalga" msgstr "Apžvalga"
#: js/ui/panel.js:707 #: js/ui/panel.js:713
msgctxt "System menu in the top bar" msgctxt "System menu in the top bar"
msgid "System" msgid "System"
msgstr "Sistema" msgstr "Sistema"
#: js/ui/panel.js:820 #: js/ui/panel.js:826
msgid "Top Bar" msgid "Top Bar"
msgstr "Viršutinė juosta" msgstr "Viršutinė juosta"
@ -1719,11 +1709,11 @@ msgstr "GNOME aplinkai reikia užrakinti ekraną"
#. #.
#. XXX: another option is to kick the user into the gdm login #. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs #. screen, where we're not affected by grabs
#: js/ui/screenShield.js:244 js/ui/screenShield.js:602 #: js/ui/screenShield.js:244 js/ui/screenShield.js:598
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Nepavyksta užrakinti" msgstr "Nepavyksta užrakinti"
#: js/ui/screenShield.js:245 js/ui/screenShield.js:603 #: js/ui/screenShield.js:245 js/ui/screenShield.js:599
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Programa užblokavo užrakinimą" msgstr "Programa užblokavo užrakinimą"
@ -1785,7 +1775,6 @@ msgstr ""
"įrankį." "įrankį."
#: js/ui/shellMountOperation.js:306 #: js/ui/shellMountOperation.js:306
#| msgid "Enter PIM Number…"
msgid "PIM Number" msgid "PIM Number"
msgstr "PIM numeris" msgstr "PIM numeris"
@ -1867,7 +1856,7 @@ msgstr "Didelis tekstas"
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590 #: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
msgid "Bluetooth Settings" msgid "Bluetooth Settings"
msgstr "Bluetooth nustatymai" msgstr "Bluetooth nustatymai"
@ -1912,11 +1901,11 @@ msgstr "Antrinis paspaudimas"
msgid "Dwell Click" msgid "Dwell Click"
msgstr "Uždelstas paspaudimas" msgstr "Uždelstas paspaudimas"
#: js/ui/status/keyboard.js:825 #: js/ui/status/keyboard.js:826
msgid "Keyboard" msgid "Keyboard"
msgstr "Klaviatūra" msgstr "Klaviatūra"
#: js/ui/status/keyboard.js:847 #: js/ui/status/keyboard.js:848
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Rodyti klaviatūros išdėstymą" msgstr "Rodyti klaviatūros išdėstymą"
@ -1963,7 +1952,7 @@ msgid "<unknown>"
msgstr "<nežinoma>" msgstr "<nežinoma>"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:420 js/ui/status/network.js:1314 #: js/ui/status/network.js:420 js/ui/status/network.js:1317
#, javascript-format #, javascript-format
msgid "%s Off" msgid "%s Off"
msgstr "%s išjungtas" msgstr "%s išjungtas"
@ -1989,7 +1978,7 @@ msgid "%s Disconnecting"
msgstr "Atsijungiama nuo %s" msgstr "Atsijungiama nuo %s"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:438 js/ui/status/network.js:1306 #: js/ui/status/network.js:438 js/ui/status/network.js:1309
#, javascript-format #, javascript-format
msgid "%s Connecting" msgid "%s Connecting"
msgstr "Jungiamasi prie %s" msgstr "Jungiamasi prie %s"
@ -2029,7 +2018,7 @@ msgid "Mobile Broadband Settings"
msgstr "Mobiliojo plačiajuosčio tinklo nustatymai" msgstr "Mobiliojo plačiajuosčio tinklo nustatymai"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:558 js/ui/status/network.js:1311 #: js/ui/status/network.js:558 js/ui/status/network.js:1314
#, javascript-format #, javascript-format
msgid "%s Hardware Disabled" msgid "%s Hardware Disabled"
msgstr "%s aparatinė įranga išjungta" msgstr "%s aparatinė įranga išjungta"
@ -2041,100 +2030,100 @@ msgstr "%s aparatinė įranga išjungta"
msgid "%s Disabled" msgid "%s Disabled"
msgstr "%s išjungtas" msgstr "%s išjungtas"
#: js/ui/status/network.js:602 #: js/ui/status/network.js:603
msgid "Connect to Internet" msgid "Connect to Internet"
msgstr "Prisijungti prie interneto" msgstr "Prisijungti prie interneto"
#: js/ui/status/network.js:805 #: js/ui/status/network.js:808
msgid "Airplane Mode is On" msgid "Airplane Mode is On"
msgstr "Skrydžio veiksena įjungta" msgstr "Skrydžio veiksena įjungta"
#: js/ui/status/network.js:806 #: js/ui/status/network.js:809
msgid "Wi-Fi is disabled when airplane mode is on." msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Belaidis ryšys yra išjungta skrydžio veiksenoje." msgstr "Belaidis ryšys yra išjungta skrydžio veiksenoje."
#: js/ui/status/network.js:807 #: js/ui/status/network.js:810
msgid "Turn Off Airplane Mode" msgid "Turn Off Airplane Mode"
msgstr "Išjungti skrydžio veikseną" msgstr "Išjungti skrydžio veikseną"
#: js/ui/status/network.js:816 #: js/ui/status/network.js:819
msgid "Wi-Fi is Off" msgid "Wi-Fi is Off"
msgstr "Belaidžio ryšys išjungtas" msgstr "Belaidžio ryšys išjungtas"
#: js/ui/status/network.js:817 #: js/ui/status/network.js:820
msgid "Wi-Fi needs to be turned on in order to connect to a network." msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Norint prisijungti prie tinklo reikia įjungti belaidį ryšį." msgstr "Norint prisijungti prie tinklo reikia įjungti belaidį ryšį."
#: js/ui/status/network.js:818 #: js/ui/status/network.js:821
msgid "Turn On Wi-Fi" msgid "Turn On Wi-Fi"
msgstr "Įjungti belaidį ryšį" msgstr "Įjungti belaidį ryšį"
#: js/ui/status/network.js:843 #: js/ui/status/network.js:846
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Wi-Fi tinklai" msgstr "Wi-Fi tinklai"
#: js/ui/status/network.js:845 #: js/ui/status/network.js:848
msgid "Select a network" msgid "Select a network"
msgstr "Pasirinkite tinklą" msgstr "Pasirinkite tinklą"
#: js/ui/status/network.js:877 #: js/ui/status/network.js:880
msgid "No Networks" msgid "No Networks"
msgstr "Nėra tinklų" msgstr "Nėra tinklų"
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106 #: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "Išjungimui naudoti aparatinį jungiklį" msgstr "Išjungimui naudoti aparatinį jungiklį"
#: js/ui/status/network.js:1175 #: js/ui/status/network.js:1178
msgid "Select Network" msgid "Select Network"
msgstr "Pasirinkite tinklą" msgstr "Pasirinkite tinklą"
#: js/ui/status/network.js:1181 #: js/ui/status/network.js:1184
msgid "Wi-Fi Settings" msgid "Wi-Fi Settings"
msgstr "Belaidžio ryšio nustatymai" msgstr "Belaidžio ryšio nustatymai"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:1302 #: js/ui/status/network.js:1305
#, javascript-format #, javascript-format
msgid "%s Hotspot Active" msgid "%s Hotspot Active"
msgstr "Prieigos taškas %s aktyvus" msgstr "Prieigos taškas %s aktyvus"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:1317 #: js/ui/status/network.js:1320
#, javascript-format #, javascript-format
msgid "%s Not Connected" msgid "%s Not Connected"
msgstr "Neprisijungta prie %s" msgstr "Neprisijungta prie %s"
#: js/ui/status/network.js:1414 #: js/ui/status/network.js:1417
msgid "connecting…" msgid "connecting…"
msgstr "jungiamasi…" msgstr "jungiamasi…"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1417 #: js/ui/status/network.js:1420
msgid "authentication required" msgid "authentication required"
msgstr "reikia patvirtinti tapatybę" msgstr "reikia patvirtinti tapatybę"
#: js/ui/status/network.js:1419 #: js/ui/status/network.js:1422
msgid "connection failed" msgid "connection failed"
msgstr "nepavyko prisijungti" msgstr "nepavyko prisijungti"
#: js/ui/status/network.js:1470 #: js/ui/status/network.js:1473
msgid "VPN Settings" msgid "VPN Settings"
msgstr "VPN nustatymai" msgstr "VPN nustatymai"
#: js/ui/status/network.js:1487 #: js/ui/status/network.js:1490
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: js/ui/status/network.js:1497 #: js/ui/status/network.js:1500
msgid "VPN Off" msgid "VPN Off"
msgstr "VPN išjungtas" msgstr "VPN išjungtas"
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84 #: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
msgid "Network Settings" msgid "Network Settings"
msgstr "Tinklo nustatymai" msgstr "Tinklo nustatymai"
#: js/ui/status/network.js:1587 #: js/ui/status/network.js:1590
#, javascript-format #, javascript-format
msgid "%s Wired Connection" msgid "%s Wired Connection"
msgid_plural "%s Wired Connections" msgid_plural "%s Wired Connections"
@ -2142,7 +2131,7 @@ msgstr[0] "%s laidinis ryšys"
msgstr[1] "%s laidiniai ryšiai" msgstr[1] "%s laidiniai ryšiai"
msgstr[2] "%s laidinių ryšių" msgstr[2] "%s laidinių ryšių"
#: js/ui/status/network.js:1591 #: js/ui/status/network.js:1594
#, 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"
@ -2150,7 +2139,7 @@ msgstr[0] "%s belaidis ryšys"
msgstr[1] "%s belaidžiai ryšiai" msgstr[1] "%s belaidžiai ryšiai"
msgstr[2] "%s belaidžių ryšių" msgstr[2] "%s belaidžių ryšių"
#: js/ui/status/network.js:1595 #: js/ui/status/network.js:1598
#, javascript-format #, javascript-format
msgid "%s Modem Connection" msgid "%s Modem Connection"
msgid_plural "%s Modem Connections" msgid_plural "%s Modem Connections"
@ -2158,11 +2147,11 @@ msgstr[0] "%s modemo ryšys"
msgstr[1] "%s modemo ryšiai" msgstr[1] "%s modemo ryšiai"
msgstr[2] "%s modemo ryšių" msgstr[2] "%s modemo ryšių"
#: js/ui/status/network.js:1729 #: js/ui/status/network.js:1732
msgid "Connection failed" msgid "Connection failed"
msgstr "Nepavyko prisijungti" msgstr "Nepavyko prisijungti"
#: js/ui/status/network.js:1730 #: js/ui/status/network.js:1733
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Tinklo ryšio nepavyko aktyvuoti" msgstr "Tinklo ryšio nepavyko aktyvuoti"
@ -2260,11 +2249,11 @@ msgstr "Išjungti…"
msgid "Thunderbolt" msgid "Thunderbolt"
msgstr "Thunderbolt" msgstr "Thunderbolt"
#: js/ui/status/thunderbolt.js:324 #: js/ui/status/thunderbolt.js:325
msgid "Unknown Thunderbolt device" msgid "Unknown Thunderbolt device"
msgstr "Nežinoma Thunderbolt įrenginys" msgstr "Nežinoma Thunderbolt įrenginys"
#: js/ui/status/thunderbolt.js:325 #: js/ui/status/thunderbolt.js:326
msgid "" msgid ""
"New device has been detected while you were away. Please disconnect and " "New device has been detected while you were away. Please disconnect and "
"reconnect the device to start using it." "reconnect the device to start using it."
@ -2272,20 +2261,20 @@ msgstr ""
"Jums nesant aptiktas naujas įrenginys. Atjunkite ir vėl prijunkite įrenginį, " "Jums nesant aptiktas naujas įrenginys. Atjunkite ir vėl prijunkite įrenginį, "
"jei norite jį naudoti." "jei norite jį naudoti."
#: js/ui/status/thunderbolt.js:328 #: js/ui/status/thunderbolt.js:329
msgid "Unauthorized Thunderbolt device" msgid "Unauthorized Thunderbolt device"
msgstr "Neleidžiamas Thunderbolt įrenginys" msgstr "Neleidžiamas Thunderbolt įrenginys"
#: js/ui/status/thunderbolt.js:329 #: js/ui/status/thunderbolt.js:330
msgid "" msgid ""
"New device has been detected and needs to be authorized by an administrator." "New device has been detected and needs to be authorized by an administrator."
msgstr "Buvo aptiktas naujas įrenginys, kurį turi leisti administratorius." msgstr "Buvo aptiktas naujas įrenginys, kurį turi leisti administratorius."
#: js/ui/status/thunderbolt.js:335 #: js/ui/status/thunderbolt.js:336
msgid "Thunderbolt authorization error" msgid "Thunderbolt authorization error"
msgstr "Thunderbolt autorizacijos klaida" msgstr "Thunderbolt autorizacijos klaida"
#: js/ui/status/thunderbolt.js:336 #: js/ui/status/thunderbolt.js:337
#, javascript-format #, javascript-format
msgid "Could not authorize the Thunderbolt device: %s" msgid "Could not authorize the Thunderbolt device: %s"
msgstr "Nepavyko autorizuoti Thunderbolt įrenginio: %s" msgstr "Nepavyko autorizuoti Thunderbolt įrenginio: %s"
@ -2326,10 +2315,30 @@ msgstr "Tik išorinis"
msgid "Built-in Only" msgid "Built-in Only"
msgstr "Tik vidinis" msgstr "Tik vidinis"
#: js/ui/unlockDialog.js:552 #. Translators: This is a time format for a date in
#. long format
#: js/ui/unlockDialog.js:370
#| msgctxt "calendar heading"
#| msgid "%A, %B %-d"
msgid "%A %B %-d"
msgstr "%A %B %-d"
#: js/ui/unlockDialog.js:376
msgid "Swipe up to unlock"
msgstr "Atrakinkite perbraukdami"
#: js/ui/unlockDialog.js:377
msgid "Click or press a key to unlock"
msgstr "Atrakinkite mygtuko ar klavišo paspaudimu"
#: js/ui/unlockDialog.js:549
msgid "Unlock Window" msgid "Unlock Window"
msgstr "Atrakinimo langas" msgstr "Atrakinimo langas"
#: js/ui/unlockDialog.js:558
msgid "Log in as another user"
msgstr "Prisijungti kitu naudotoju"
#: js/ui/viewSelector.js:181 #: js/ui/viewSelector.js:181
msgid "Applications" msgid "Applications"
msgstr "Programos" msgstr "Programos"
@ -2369,7 +2378,7 @@ msgstr[2] "Pakeitimai bus grąžinti po %d sekundžių"
#. Translators: This represents the size of a window. The first number is #. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. #. * the width of the window and the second is the height.
#: js/ui/windowManager.js:542 #: js/ui/windowManager.js:544
#, javascript-format #, javascript-format
msgid "%d × %d" msgid "%d × %d"
msgstr "%d × %d" msgstr "%d × %d"
@ -2630,7 +2639,6 @@ msgid "Show extensions with preferences"
msgstr "Rodyti plėtinius su nuostatomis" msgstr "Rodyti plėtinius su nuostatomis"
#: subprojects/extensions-tool/src/command-list.c:140 #: subprojects/extensions-tool/src/command-list.c:140
#| msgid "Show extensions with preferences"
msgid "Show extensions with updates" msgid "Show extensions with updates"
msgstr "Rodyti plėtinius su atnaujinimais" msgstr "Rodyti plėtinius su atnaujinimais"
@ -2851,9 +2859,6 @@ msgstr "Sistemos garsai"
#~ msgstr[1] "%d nauji pranešimai" #~ msgstr[1] "%d nauji pranešimai"
#~ msgstr[2] "%d naujų pranešimų" #~ msgstr[2] "%d naujų pranešimų"
#~ msgid "Log in as another user"
#~ msgstr "Prisijungti kitu naudotoju"
#~ msgid "Logout…" #~ msgid "Logout…"
#~ msgstr "Atsijungti…" #~ msgstr "Atsijungti…"

1686
po/nl.po

File diff suppressed because it is too large Load Diff

1821
po/pa.po

File diff suppressed because it is too large Load Diff

1938
po/uk.po

File diff suppressed because it is too large Load Diff

@ -29,6 +29,7 @@ struct _ShellTrayManagerPrivate {
ClutterColor bg_color; ClutterColor bg_color;
GHashTable *icons; GHashTable *icons;
StWidget *theme_widget;
}; };
typedef struct { typedef struct {
@ -58,6 +59,8 @@ static guint shell_tray_manager_signals [LAST_SIGNAL] = { 0 };
static const ClutterColor default_color = { 0x00, 0x00, 0x00, 0xff }; static const ClutterColor default_color = { 0x00, 0x00, 0x00, 0xff };
static void shell_tray_manager_release_resources (ShellTrayManager *manager);
static void na_tray_icon_added (NaTrayManager *na_manager, GtkWidget *child, gpointer manager); static void na_tray_icon_added (NaTrayManager *na_manager, GtkWidget *child, gpointer manager);
static void na_tray_icon_removed (NaTrayManager *na_manager, GtkWidget *child, gpointer manager); static void na_tray_icon_removed (NaTrayManager *na_manager, GtkWidget *child, gpointer manager);
@ -125,16 +128,7 @@ shell_tray_manager_init (ShellTrayManager *manager)
{ {
manager->priv = shell_tray_manager_get_instance_private (manager); manager->priv = shell_tray_manager_get_instance_private (manager);
manager->priv->na_manager = na_tray_manager_new ();
manager->priv->icons = g_hash_table_new_full (NULL, NULL,
NULL, free_tray_icon);
manager->priv->bg_color = default_color; manager->priv->bg_color = default_color;
g_signal_connect (manager->priv->na_manager, "tray-icon-added",
G_CALLBACK (na_tray_icon_added), manager);
g_signal_connect (manager->priv->na_manager, "tray-icon-removed",
G_CALLBACK (na_tray_icon_removed), manager);
} }
static void static void
@ -142,8 +136,7 @@ shell_tray_manager_finalize (GObject *object)
{ {
ShellTrayManager *manager = SHELL_TRAY_MANAGER (object); ShellTrayManager *manager = SHELL_TRAY_MANAGER (object);
g_object_unref (manager->priv->na_manager); shell_tray_manager_release_resources (manager);
g_hash_table_destroy (manager->priv->icons);
G_OBJECT_CLASS (shell_tray_manager_parent_class)->finalize (object); G_OBJECT_CLASS (shell_tray_manager_parent_class)->finalize (object);
} }
@ -193,6 +186,30 @@ shell_tray_manager_new (void)
return g_object_new (SHELL_TYPE_TRAY_MANAGER, NULL); return g_object_new (SHELL_TYPE_TRAY_MANAGER, NULL);
} }
static void
shell_tray_manager_ensure_resources (ShellTrayManager *manager)
{
if (manager->priv->na_manager != NULL)
return;
manager->priv->icons = g_hash_table_new_full (NULL, NULL,
NULL, free_tray_icon);
manager->priv->na_manager = na_tray_manager_new ();
g_signal_connect (manager->priv->na_manager, "tray-icon-added",
G_CALLBACK (na_tray_icon_added), manager);
g_signal_connect (manager->priv->na_manager, "tray-icon-removed",
G_CALLBACK (na_tray_icon_removed), manager);
}
static void
shell_tray_manager_release_resources (ShellTrayManager *manager)
{
g_clear_object (&manager->priv->na_manager);
g_clear_pointer (&manager->priv->icons, g_hash_table_destroy);
}
static void static void
shell_tray_manager_style_changed (StWidget *theme_widget, shell_tray_manager_style_changed (StWidget *theme_widget,
gpointer user_data) gpointer user_data)
@ -201,6 +218,9 @@ shell_tray_manager_style_changed (StWidget *theme_widget,
StThemeNode *theme_node; StThemeNode *theme_node;
StIconColors *icon_colors; StIconColors *icon_colors;
if (manager->priv->na_manager == NULL)
return;
theme_node = st_widget_get_theme_node (theme_widget); theme_node = st_widget_get_theme_node (theme_widget);
icon_colors = st_theme_node_get_icon_colors (theme_node); icon_colors = st_theme_node_get_icon_colors (theme_node);
na_tray_manager_set_colors (manager->priv->na_manager, na_tray_manager_set_colors (manager->priv->na_manager,
@ -208,11 +228,30 @@ shell_tray_manager_style_changed (StWidget *theme_widget,
&icon_colors->error, &icon_colors->success); &icon_colors->error, &icon_colors->success);
} }
static void
shell_tray_manager_manage_screen_internal (ShellTrayManager *manager)
{
shell_tray_manager_ensure_resources (manager);
na_tray_manager_manage_screen (manager->priv->na_manager);
}
void void
shell_tray_manager_manage_screen (ShellTrayManager *manager, shell_tray_manager_manage_screen (ShellTrayManager *manager,
StWidget *theme_widget) StWidget *theme_widget)
{ {
na_tray_manager_manage_screen (manager->priv->na_manager); MetaDisplay *display = shell_global_get_display (shell_global_get ());
g_set_weak_pointer (&manager->priv->theme_widget, theme_widget);
if (meta_display_get_x11_display (display) != NULL)
shell_tray_manager_manage_screen_internal (manager);
g_signal_connect_object (display, "x11-display-setup",
G_CALLBACK (shell_tray_manager_manage_screen_internal),
manager, G_CONNECT_SWAPPED);
g_signal_connect_object (display, "x11-display-closing",
G_CALLBACK (shell_tray_manager_release_resources),
manager, G_CONNECT_SWAPPED);
g_signal_connect_object (theme_widget, "style-changed", g_signal_connect_object (theme_widget, "style-changed",
G_CALLBACK (shell_tray_manager_style_changed), G_CALLBACK (shell_tray_manager_style_changed),
@ -220,6 +259,24 @@ shell_tray_manager_manage_screen (ShellTrayManager *manager,
shell_tray_manager_style_changed (theme_widget, manager); shell_tray_manager_style_changed (theme_widget, manager);
} }
void
shell_tray_manager_unmanage_screen (ShellTrayManager *manager)
{
MetaDisplay *display = shell_global_get_display (shell_global_get ());
g_signal_handlers_disconnect_by_data (display, manager);
if (manager->priv->theme_widget != NULL)
{
g_signal_handlers_disconnect_by_func (manager->priv->theme_widget,
G_CALLBACK (shell_tray_manager_style_changed),
manager);
}
g_set_weak_pointer (&manager->priv->theme_widget, NULL);
shell_tray_manager_release_resources (manager);
}
static void static void
shell_tray_manager_child_on_realize (GtkWidget *widget, shell_tray_manager_child_on_realize (GtkWidget *widget,
ShellTrayManagerChild *child) ShellTrayManagerChild *child)

@ -15,6 +15,7 @@ G_DECLARE_FINAL_TYPE (ShellTrayManager, shell_tray_manager,
ShellTrayManager *shell_tray_manager_new (void); ShellTrayManager *shell_tray_manager_new (void);
void shell_tray_manager_manage_screen (ShellTrayManager *manager, void shell_tray_manager_manage_screen (ShellTrayManager *manager,
StWidget *theme_widget); StWidget *theme_widget);
void shell_tray_manager_unmanage_screen (ShellTrayManager *manager);
G_END_DECLS G_END_DECLS