Compare commits
23 Commits
3.29.91
...
wip/fix-dr
Author | SHA1 | Date | |
---|---|---|---|
![]() |
82c72f377a | ||
![]() |
c2e9e68df7 | ||
![]() |
bdbf804e69 | ||
![]() |
9718175f4d | ||
![]() |
0ba346b750 | ||
![]() |
614c4480e2 | ||
![]() |
f21f612ef7 | ||
![]() |
935de3e80f | ||
![]() |
0f541f60e8 | ||
![]() |
902c99c757 | ||
![]() |
f7029674b0 | ||
![]() |
dd7ccda168 | ||
![]() |
e207b45317 | ||
![]() |
6b5117677d | ||
![]() |
900398406c | ||
![]() |
461d2b1945 | ||
![]() |
6c2f11e8a4 | ||
![]() |
dbf993300a | ||
![]() |
f77b3da74f | ||
![]() |
bc6a38dda7 | ||
![]() |
f3a02057c1 | ||
![]() |
ad15ce9139 | ||
![]() |
5d178506bf |
25
NEWS
25
NEWS
@@ -1,3 +1,28 @@
|
||||
3.30.0
|
||||
======
|
||||
|
||||
Contributors:
|
||||
Harry Mallon, Marco Trevisan (Treviño)
|
||||
|
||||
Translators:
|
||||
Fran Dieguez [gl], Trần Ngọc Quân [vi], Balázs Meskó [hu],
|
||||
Rūdolfs Mazurs [lv], Jiri Grönroos [fi], Anders Jonsson [sv], gogo [hr],
|
||||
Ask Hjorth Larsen [da]
|
||||
|
||||
3.29.92
|
||||
=======
|
||||
* Choose some actors to cache on the GPU [Daniel; #792633]
|
||||
* inputMethod: Hide preedit text if requested [Takao; #431]
|
||||
* Fix forced fallback app-menus on wayland [Jonas; #276]
|
||||
|
||||
Contributors:
|
||||
Jonas Ådahl, Takao Fujiwara, Mohammed Sadiq, Marco Trevisan (Treviño),
|
||||
Daniel van Vugt
|
||||
|
||||
Translators:
|
||||
Baurzhan Muftakhidinov [kk], Kukuh Syafaat [id], Milo Casagrande [it],
|
||||
Changwoo Ryu [ko], Marek Cernocky [cs]
|
||||
|
||||
3.29.91
|
||||
=======
|
||||
* Fix handling of 0/false options in ShowOSD D-Bus API [Florian; #791669]
|
||||
|
@@ -7,7 +7,7 @@ easy to use experience.
|
||||
|
||||
For more information about GNOME Shell, including instructions on how
|
||||
to build GNOME Shell from source and how to get involved with the project,
|
||||
see the [project wiki][wiki]
|
||||
see the [project wiki][project-wiki].
|
||||
|
||||
Bugs should be reported to the GNOME [bug tracking system][bug-tracker].
|
||||
|
||||
|
@@ -22,6 +22,7 @@
|
||||
<file>id.json</file>
|
||||
<file>il.json</file>
|
||||
<file>in+bolnagri.json</file>
|
||||
<file>in+mal.json</file>
|
||||
<file>ir.json</file>
|
||||
<file>is.json</file>
|
||||
<file>it.json</file>
|
||||
|
559
data/osk-layouts/in+mal.json
Normal file
559
data/osk-layouts/in+mal.json
Normal file
@@ -0,0 +1,559 @@
|
||||
{
|
||||
"levels": [
|
||||
{
|
||||
"level": "",
|
||||
"mode": "default",
|
||||
"rows": [
|
||||
[
|
||||
[
|
||||
"െ"
|
||||
],
|
||||
[
|
||||
"ൌ"
|
||||
],
|
||||
[
|
||||
"ൈ"
|
||||
],
|
||||
[
|
||||
"ാ"
|
||||
],
|
||||
[
|
||||
"ീ"
|
||||
],
|
||||
[
|
||||
"ൂ"
|
||||
],
|
||||
[
|
||||
"ബ"
|
||||
],
|
||||
[
|
||||
"ഹ"
|
||||
],
|
||||
[
|
||||
"ഗ"
|
||||
],
|
||||
[
|
||||
"ദ"
|
||||
],
|
||||
[
|
||||
"ജ"
|
||||
],
|
||||
[
|
||||
"ഡ"
|
||||
],
|
||||
[
|
||||
""
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"ോ"
|
||||
],
|
||||
[
|
||||
"േ"
|
||||
],
|
||||
[
|
||||
"്"
|
||||
],
|
||||
[
|
||||
"ി"
|
||||
],
|
||||
[
|
||||
"ു"
|
||||
],
|
||||
[
|
||||
"പ"
|
||||
],
|
||||
[
|
||||
"ര"
|
||||
],
|
||||
[
|
||||
"ക"
|
||||
],
|
||||
[
|
||||
"ത"
|
||||
],
|
||||
[
|
||||
"ച"
|
||||
],
|
||||
[
|
||||
"ട"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"െ"
|
||||
],
|
||||
[
|
||||
"ം"
|
||||
],
|
||||
[
|
||||
"മ",
|
||||
"ç"
|
||||
],
|
||||
[
|
||||
"ന"
|
||||
],
|
||||
[
|
||||
"വ"
|
||||
],
|
||||
[
|
||||
"ല",
|
||||
"ñ"
|
||||
],
|
||||
[
|
||||
"സ"
|
||||
],
|
||||
[
|
||||
"ഷ"
|
||||
],
|
||||
[
|
||||
"യ"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
","
|
||||
],
|
||||
[
|
||||
" "
|
||||
],
|
||||
[
|
||||
".",
|
||||
"#",
|
||||
"!",
|
||||
",",
|
||||
"?",
|
||||
"-",
|
||||
":",
|
||||
"'",
|
||||
"@"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "shift",
|
||||
"mode": "latched",
|
||||
"rows": [
|
||||
[
|
||||
[
|
||||
"ഔ"
|
||||
],
|
||||
[
|
||||
"ഐ"
|
||||
],
|
||||
[
|
||||
"ആ"
|
||||
],
|
||||
[
|
||||
"ഈ"
|
||||
],
|
||||
[
|
||||
"ഊ"
|
||||
],
|
||||
[
|
||||
"ഭ"
|
||||
],
|
||||
[
|
||||
"ങ"
|
||||
],
|
||||
[
|
||||
"ഘ"
|
||||
],
|
||||
[
|
||||
"ധ"
|
||||
],
|
||||
[
|
||||
"ഝ"
|
||||
],
|
||||
[
|
||||
"ഢ"
|
||||
],
|
||||
[
|
||||
"ഞ"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"ഓ"
|
||||
],
|
||||
[
|
||||
"ഏ"
|
||||
],
|
||||
[
|
||||
"അ"
|
||||
],
|
||||
[
|
||||
"ഇ"
|
||||
],
|
||||
[
|
||||
"ഉ"
|
||||
],
|
||||
[
|
||||
"ഫ"
|
||||
],
|
||||
[
|
||||
"റ"
|
||||
],
|
||||
[
|
||||
"ഖ"
|
||||
],
|
||||
[
|
||||
"ഥ"
|
||||
],
|
||||
[
|
||||
"ഛ"
|
||||
],
|
||||
[
|
||||
"ഠ"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"എ"
|
||||
],
|
||||
[
|
||||
""
|
||||
],
|
||||
[
|
||||
"ണ"
|
||||
],
|
||||
[
|
||||
"ന"
|
||||
],
|
||||
[
|
||||
"ഴ"
|
||||
],
|
||||
[
|
||||
"ള"
|
||||
],
|
||||
[
|
||||
"ശ"
|
||||
],
|
||||
[
|
||||
"ഷ"
|
||||
],
|
||||
[
|
||||
"യ"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
","
|
||||
],
|
||||
[
|
||||
" "
|
||||
],
|
||||
[
|
||||
".",
|
||||
"#",
|
||||
"!",
|
||||
",",
|
||||
"?",
|
||||
"-",
|
||||
":",
|
||||
"'",
|
||||
"@"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "opt",
|
||||
"mode": "locked",
|
||||
"rows": [
|
||||
[
|
||||
[
|
||||
"൧",
|
||||
"1",
|
||||
"¹",
|
||||
"½",
|
||||
"⅓",
|
||||
"¼",
|
||||
"⅛"
|
||||
],
|
||||
[
|
||||
"൨",
|
||||
"2",
|
||||
"²",
|
||||
"⅔"
|
||||
],
|
||||
[
|
||||
"൩",
|
||||
"3",
|
||||
"³",
|
||||
"¾",
|
||||
"⅜"
|
||||
],
|
||||
[
|
||||
"൪",
|
||||
"4",
|
||||
"⁴"
|
||||
],
|
||||
[
|
||||
"൫",
|
||||
"5",
|
||||
"⅝"
|
||||
],
|
||||
[
|
||||
"൬",
|
||||
"6"
|
||||
],
|
||||
[
|
||||
"൭",
|
||||
"7",
|
||||
"⅞"
|
||||
],
|
||||
[
|
||||
"൮",
|
||||
"8"
|
||||
],
|
||||
[
|
||||
"൯",
|
||||
"9"
|
||||
],
|
||||
[
|
||||
"൦",
|
||||
"0",
|
||||
"ⁿ",
|
||||
"∅"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"@"
|
||||
],
|
||||
[
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"₹",
|
||||
"$",
|
||||
"¢",
|
||||
"£",
|
||||
"€",
|
||||
"¥",
|
||||
"₱"
|
||||
],
|
||||
[
|
||||
"%",
|
||||
"‰"
|
||||
],
|
||||
[
|
||||
"&"
|
||||
],
|
||||
[
|
||||
"-",
|
||||
"_",
|
||||
"–",
|
||||
"—",
|
||||
"·"
|
||||
],
|
||||
[
|
||||
"+",
|
||||
"±"
|
||||
],
|
||||
[
|
||||
"(",
|
||||
"<",
|
||||
"{",
|
||||
"["
|
||||
],
|
||||
[
|
||||
")",
|
||||
">",
|
||||
"}",
|
||||
"]"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"*",
|
||||
"†",
|
||||
"‡",
|
||||
"★"
|
||||
],
|
||||
[
|
||||
"\"",
|
||||
"“",
|
||||
"”",
|
||||
"«",
|
||||
"»"
|
||||
],
|
||||
[
|
||||
"'",
|
||||
"‘",
|
||||
"’",
|
||||
"‹",
|
||||
"›"
|
||||
],
|
||||
[
|
||||
":"
|
||||
],
|
||||
[
|
||||
";"
|
||||
],
|
||||
[
|
||||
"!",
|
||||
"¡"
|
||||
],
|
||||
[
|
||||
"?",
|
||||
"¿"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"_"
|
||||
],
|
||||
[
|
||||
"/"
|
||||
],
|
||||
[
|
||||
" "
|
||||
],
|
||||
[
|
||||
","
|
||||
],
|
||||
[
|
||||
".",
|
||||
"…"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "opt+shift",
|
||||
"mode": "locked",
|
||||
"rows": [
|
||||
[
|
||||
[
|
||||
"~"
|
||||
],
|
||||
[
|
||||
"`"
|
||||
],
|
||||
[
|
||||
"|"
|
||||
],
|
||||
[
|
||||
"•",
|
||||
"♪",
|
||||
"♥",
|
||||
"♠",
|
||||
"♦",
|
||||
"♣"
|
||||
],
|
||||
[
|
||||
"√"
|
||||
],
|
||||
[
|
||||
"Π",
|
||||
"π"
|
||||
],
|
||||
[
|
||||
"÷"
|
||||
],
|
||||
[
|
||||
"×"
|
||||
],
|
||||
[
|
||||
"¶",
|
||||
"§"
|
||||
],
|
||||
[
|
||||
"∆"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"£"
|
||||
],
|
||||
[
|
||||
"¢"
|
||||
],
|
||||
[
|
||||
"€"
|
||||
],
|
||||
[
|
||||
"¥"
|
||||
],
|
||||
[
|
||||
"^",
|
||||
"↑",
|
||||
"↓",
|
||||
"←",
|
||||
"→"
|
||||
],
|
||||
[
|
||||
"°",
|
||||
"′",
|
||||
"″"
|
||||
],
|
||||
[
|
||||
"=",
|
||||
"≠",
|
||||
"≈",
|
||||
"∞"
|
||||
],
|
||||
[
|
||||
"{"
|
||||
],
|
||||
[
|
||||
"}"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"\\"
|
||||
],
|
||||
[
|
||||
"©"
|
||||
],
|
||||
[
|
||||
"®"
|
||||
],
|
||||
[
|
||||
"™"
|
||||
],
|
||||
[
|
||||
"℅"
|
||||
],
|
||||
[
|
||||
"["
|
||||
],
|
||||
[
|
||||
"]"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"<",
|
||||
"‹",
|
||||
"≤",
|
||||
"«"
|
||||
],
|
||||
[
|
||||
">",
|
||||
"›",
|
||||
"≥",
|
||||
"»"
|
||||
],
|
||||
[
|
||||
" "
|
||||
],
|
||||
[
|
||||
","
|
||||
],
|
||||
[
|
||||
".",
|
||||
"…"
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"locale": "ml",
|
||||
"name": "Malayalam"
|
||||
}
|
@@ -14,15 +14,16 @@ const _ = Gettext.gettext;
|
||||
const Config = imports.misc.config;
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
|
||||
const GnomeShellIface = '<node> \
|
||||
<interface name="org.gnome.Shell.Extensions"> \
|
||||
<signal name="ExtensionStatusChanged"> \
|
||||
<arg type="s" name="uuid"/> \
|
||||
<arg type="i" name="state"/> \
|
||||
<arg type="s" name="error"/> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const GnomeShellIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.Extensions">
|
||||
<signal name="ExtensionStatusChanged">
|
||||
<arg type="s" name="uuid"/>
|
||||
<arg type="i" name="state"/>
|
||||
<arg type="s" name="error"/>
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const GnomeShellProxy = Gio.DBusProxy.makeProxyWrapper(GnomeShellIface);
|
||||
|
||||
|
@@ -5,13 +5,14 @@ const Lang = imports.lang;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const FprintManagerIface = '<node> \
|
||||
<interface name="net.reactivated.Fprint.Manager"> \
|
||||
<method name="GetDefaultDevice"> \
|
||||
<arg type="o" direction="out" /> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const FprintManagerIface = `
|
||||
<node>
|
||||
<interface name="net.reactivated.Fprint.Manager">
|
||||
<method name="GetDefaultDevice">
|
||||
<arg type="o" direction="out" />
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const FprintManagerInfo = Gio.DBusInterfaceInfo.new_for_xml(FprintManagerIface);
|
||||
|
||||
|
@@ -4,13 +4,14 @@ const Gio = imports.gi.Gio;
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const OVirtCredentialsIface = '<node> \
|
||||
<interface name="org.ovirt.vdsm.Credentials"> \
|
||||
<signal name="UserAuthenticated"> \
|
||||
<arg type="s" name="token"/> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const OVirtCredentialsIface = `
|
||||
<node>
|
||||
<interface name="org.ovirt.vdsm.Credentials">
|
||||
<signal name="UserAuthenticated">
|
||||
<arg type="s" name="token"/>
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const OVirtCredentialsInfo = Gio.DBusInterfaceInfo.new_for_xml(OVirtCredentialsIface);
|
||||
|
||||
|
@@ -5,58 +5,61 @@ const Lang = imports.lang;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const ProviderIface = '<node> \
|
||||
<interface name="org.freedesktop.realmd.Provider"> \
|
||||
<property name="Name" type="s" access="read"/> \
|
||||
<property name="Version" type="s" access="read"/> \
|
||||
<property name="Realms" type="ao" access="read"/> \
|
||||
<method name="Discover"> \
|
||||
<arg name="string" type="s" direction="in"/> \
|
||||
<arg name="options" type="a{sv}" direction="in"/> \
|
||||
<arg name="relevance" type="i" direction="out"/> \
|
||||
<arg name="realm" type="ao" direction="out"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const ProviderIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.realmd.Provider">
|
||||
<property name="Name" type="s" access="read"/>
|
||||
<property name="Version" type="s" access="read"/>
|
||||
<property name="Realms" type="ao" access="read"/>
|
||||
<method name="Discover">
|
||||
<arg name="string" type="s" direction="in"/>
|
||||
<arg name="options" type="a{sv}" direction="in"/>
|
||||
<arg name="relevance" type="i" direction="out"/>
|
||||
<arg name="realm" type="ao" direction="out"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
const Provider = Gio.DBusProxy.makeProxyWrapper(ProviderIface);
|
||||
|
||||
const ServiceIface = '<node> \
|
||||
<interface name="org.freedesktop.realmd.Service"> \
|
||||
<method name="Cancel"> \
|
||||
<arg name="operation" type="s" direction="in"/> \
|
||||
</method> \
|
||||
<method name="Release" /> \
|
||||
<method name="SetLocale"> \
|
||||
<arg name="locale" type="s" direction="in"/> \
|
||||
</method> \
|
||||
<signal name="Diagnostics"> \
|
||||
<arg name="data" type="s"/> \
|
||||
<arg name="operation" type="s"/> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const ServiceIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.realmd.Service">
|
||||
<method name="Cancel">
|
||||
<arg name="operation" type="s" direction="in"/>
|
||||
</method>
|
||||
<method name="Release" />
|
||||
<method name="SetLocale">
|
||||
<arg name="locale" type="s" direction="in"/>
|
||||
</method>
|
||||
<signal name="Diagnostics">
|
||||
<arg name="data" type="s"/>
|
||||
<arg name="operation" type="s"/>
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
const Service = Gio.DBusProxy.makeProxyWrapper(ServiceIface);
|
||||
|
||||
const RealmIface = '<node> \
|
||||
<interface name="org.freedesktop.realmd.Realm"> \
|
||||
<property name="Name" type="s" access="read"/> \
|
||||
<property name="Configured" type="s" access="read"/> \
|
||||
<property name="Details" type="a(ss)" access="read"/> \
|
||||
<property name="LoginFormats" type="as" access="read"/> \
|
||||
<property name="LoginPolicy" type="s" access="read"/> \
|
||||
<property name="PermittedLogins" type="as" access="read"/> \
|
||||
<property name="SupportedInterfaces" type="as" access="read"/> \
|
||||
<method name="ChangeLoginPolicy"> \
|
||||
<arg name="login_policy" type="s" direction="in"/> \
|
||||
<arg name="permitted_add" type="as" direction="in"/> \
|
||||
<arg name="permitted_remove" type="as" direction="in"/> \
|
||||
<arg name="options" type="a{sv}" direction="in"/> \
|
||||
</method> \
|
||||
<method name="Deconfigure"> \
|
||||
<arg name="options" type="a{sv}" direction="in"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const RealmIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.realmd.Realm">
|
||||
<property name="Name" type="s" access="read"/>
|
||||
<property name="Configured" type="s" access="read"/>
|
||||
<property name="Details" type="a(ss)" access="read"/>
|
||||
<property name="LoginFormats" type="as" access="read"/>
|
||||
<property name="LoginPolicy" type="s" access="read"/>
|
||||
<property name="PermittedLogins" type="as" access="read"/>
|
||||
<property name="SupportedInterfaces" type="as" access="read"/>
|
||||
<method name="ChangeLoginPolicy">
|
||||
<arg name="login_policy" type="s" direction="in"/>
|
||||
<arg name="permitted_add" type="as" direction="in"/>
|
||||
<arg name="permitted_remove" type="as" direction="in"/>
|
||||
<arg name="options" type="a{sv}" direction="in"/>
|
||||
</method>
|
||||
<method name="Deconfigure">
|
||||
<arg name="options" type="a{sv}" direction="in"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
const Realm = Gio.DBusProxy.makeProxyWrapper(RealmIface);
|
||||
|
||||
var Manager = new Lang.Class({
|
||||
|
@@ -4,17 +4,18 @@ const Gio = imports.gi.Gio;
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const PresenceIface = '<node> \
|
||||
<interface name="org.gnome.SessionManager.Presence"> \
|
||||
<method name="SetStatus"> \
|
||||
<arg type="u" direction="in"/> \
|
||||
</method> \
|
||||
<property name="status" type="u" access="readwrite"/> \
|
||||
<signal name="StatusChanged"> \
|
||||
<arg type="u" direction="out"/> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const PresenceIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.SessionManager.Presence">
|
||||
<method name="SetStatus">
|
||||
<arg type="u" direction="in"/>
|
||||
</method>
|
||||
<property name="status" type="u" access="readwrite"/>
|
||||
<signal name="StatusChanged">
|
||||
<arg type="u" direction="out"/>
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var PresenceStatus = {
|
||||
AVAILABLE: 0,
|
||||
@@ -32,16 +33,17 @@ function Presence(initCallback, cancellable) {
|
||||
// Note inhibitors are immutable objects, so they don't
|
||||
// change at runtime (changes always come in the form
|
||||
// of new inhibitors)
|
||||
const InhibitorIface = '<node> \
|
||||
<interface name="org.gnome.SessionManager.Inhibitor"> \
|
||||
<method name="GetAppId"> \
|
||||
<arg type="s" direction="out" /> \
|
||||
</method> \
|
||||
<method name="GetReason"> \
|
||||
<arg type="s" direction="out" /> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const InhibitorIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.SessionManager.Inhibitor">
|
||||
<method name="GetAppId">
|
||||
<arg type="s" direction="out" />
|
||||
</method>
|
||||
<method name="GetReason">
|
||||
<arg type="s" direction="out" />
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var InhibitorProxy = Gio.DBusProxy.makeProxyWrapper(InhibitorIface);
|
||||
function Inhibitor(objectPath, initCallback, cancellable) {
|
||||
@@ -49,29 +51,30 @@ function Inhibitor(objectPath, initCallback, cancellable) {
|
||||
}
|
||||
|
||||
// Not the full interface, only the methods we use
|
||||
const SessionManagerIface = '<node> \
|
||||
<interface name="org.gnome.SessionManager"> \
|
||||
<method name="Logout"> \
|
||||
<arg type="u" direction="in" /> \
|
||||
</method> \
|
||||
<method name="Shutdown" /> \
|
||||
<method name="Reboot" /> \
|
||||
<method name="CanShutdown"> \
|
||||
<arg type="b" direction="out" /> \
|
||||
</method> \
|
||||
<method name="IsInhibited"> \
|
||||
<arg type="u" direction="in" /> \
|
||||
<arg type="b" direction="out" /> \
|
||||
</method> \
|
||||
<property name="SessionIsActive" type="b" access="read"/> \
|
||||
<signal name="InhibitorAdded"> \
|
||||
<arg type="o" direction="out"/> \
|
||||
</signal> \
|
||||
<signal name="InhibitorRemoved"> \
|
||||
<arg type="o" direction="out"/> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const SessionManagerIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.SessionManager">
|
||||
<method name="Logout">
|
||||
<arg type="u" direction="in" />
|
||||
</method>
|
||||
<method name="Shutdown" />
|
||||
<method name="Reboot" />
|
||||
<method name="CanShutdown">
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<method name="IsInhibited">
|
||||
<arg type="u" direction="in" />
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<property name="SessionIsActive" type="b" access="read"/>
|
||||
<signal name="InhibitorAdded">
|
||||
<arg type="o" direction="out"/>
|
||||
</signal>
|
||||
<signal name="InhibitorRemoved">
|
||||
<arg type="o" direction="out"/>
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var SessionManagerProxy = Gio.DBusProxy.makeProxyWrapper(SessionManagerIface);
|
||||
function SessionManager(initCallback, cancellable) {
|
||||
|
@@ -17,6 +17,8 @@ var InputMethod = new Lang.Class({
|
||||
this._currentFocus = null;
|
||||
this._currentEvent = null;
|
||||
this._doForwardEvent = false;
|
||||
this._preeditStr = '';
|
||||
this._preeditPos = 0;
|
||||
this._ibus = IBus.Bus.new_async();
|
||||
this._ibus.connect('connected', this._onConnected.bind(this));
|
||||
this._ibus.connect('disconnected', this._clear.bind(this));
|
||||
@@ -69,6 +71,8 @@ var InputMethod = new Lang.Class({
|
||||
this._context.connect('commit-text', this._onCommitText.bind(this));
|
||||
this._context.connect('delete-surrounding-text', this._onDeleteSurroundingText.bind(this));
|
||||
this._context.connect('update-preedit-text', this._onUpdatePreeditText.bind(this));
|
||||
this._context.connect('show-preedit-text', this._onShowPreeditText.bind(this));
|
||||
this._context.connect('hide-preedit-text', this._onHidePreeditText.bind(this));
|
||||
this._context.connect('forward-key-event', this._onForwardKeyEvent.bind(this));
|
||||
|
||||
this._updateCapabilities();
|
||||
@@ -79,6 +83,8 @@ var InputMethod = new Lang.Class({
|
||||
this._hints = 0;
|
||||
this._purpose = 0;
|
||||
this._enabled = false;
|
||||
this._preeditStr = ''
|
||||
this._preeditPos = 0;
|
||||
},
|
||||
|
||||
_emitRequestSurrounding() {
|
||||
@@ -95,11 +101,22 @@ var InputMethod = new Lang.Class({
|
||||
},
|
||||
|
||||
_onUpdatePreeditText(context, text, pos, visible) {
|
||||
let str = null;
|
||||
if (visible && text != null)
|
||||
str = text.get_text();
|
||||
if (text == null)
|
||||
return;
|
||||
this._preeditStr = text.get_text();
|
||||
this._preeditPos = pos;
|
||||
if (visible)
|
||||
this.set_preedit_text(this._preeditStr, pos);
|
||||
else
|
||||
this.set_preedit_text(null, pos);
|
||||
},
|
||||
|
||||
this.set_preedit_text(str, pos);
|
||||
_onShowPreeditText(context) {
|
||||
this.set_preedit_text(this._preeditStr, this._preeditPos);
|
||||
},
|
||||
|
||||
_onHidePreeditText(context) {
|
||||
this.set_preedit_text(null, this._preeditPos);
|
||||
},
|
||||
|
||||
_onForwardKeyEvent(context, keyval, keycode, state) {
|
||||
|
@@ -7,53 +7,56 @@ const Mainloop = imports.mainloop;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const SystemdLoginManagerIface = '<node> \
|
||||
<interface name="org.freedesktop.login1.Manager"> \
|
||||
<method name="Suspend"> \
|
||||
<arg type="b" direction="in"/> \
|
||||
</method> \
|
||||
<method name="CanSuspend"> \
|
||||
<arg type="s" direction="out"/> \
|
||||
</method> \
|
||||
<method name="Inhibit"> \
|
||||
<arg type="s" direction="in"/> \
|
||||
<arg type="s" direction="in"/> \
|
||||
<arg type="s" direction="in"/> \
|
||||
<arg type="s" direction="in"/> \
|
||||
<arg type="h" direction="out"/> \
|
||||
</method> \
|
||||
<method name="GetSession"> \
|
||||
<arg type="s" direction="in"/> \
|
||||
<arg type="o" direction="out"/> \
|
||||
</method> \
|
||||
<method name="ListSessions"> \
|
||||
<arg name="sessions" type="a(susso)" direction="out"/> \
|
||||
</method> \
|
||||
<signal name="PrepareForSleep"> \
|
||||
<arg type="b" direction="out"/> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const SystemdLoginManagerIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.login1.Manager">
|
||||
<method name="Suspend">
|
||||
<arg type="b" direction="in"/>
|
||||
</method>
|
||||
<method name="CanSuspend">
|
||||
<arg type="s" direction="out"/>
|
||||
</method>
|
||||
<method name="Inhibit">
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="h" direction="out"/>
|
||||
</method>
|
||||
<method name="GetSession">
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="o" direction="out"/>
|
||||
</method>
|
||||
<method name="ListSessions">
|
||||
<arg name="sessions" type="a(susso)" direction="out"/>
|
||||
</method>
|
||||
<signal name="PrepareForSleep">
|
||||
<arg type="b" direction="out"/>
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const SystemdLoginSessionIface = '<node> \
|
||||
<interface name="org.freedesktop.login1.Session"> \
|
||||
<signal name="Lock" /> \
|
||||
<signal name="Unlock" /> \
|
||||
<property name="Active" type="b" access="read" /> \
|
||||
<property name="Class" type="s" access="read" /> \
|
||||
<property name="Id" type="s" access="read" /> \
|
||||
<method name="SetLockedHint"> \
|
||||
<arg type="b" direction="in"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const SystemdLoginSessionIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.login1.Session">
|
||||
<signal name="Lock" />
|
||||
<signal name="Unlock" />
|
||||
<property name="Active" type="b" access="read" />
|
||||
<property name="Class" type="s" access="read" />
|
||||
<property name="Id" type="s" access="read" />
|
||||
<method name="SetLockedHint">
|
||||
<arg type="b" direction="in"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const SystemdLoginUserIface = '<node> \
|
||||
<interface name="org.freedesktop.login1.User"> \
|
||||
<property name="Display" type="(so)" access="read" /> \
|
||||
<property name="Sessions" type="a(so)" access="read" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const SystemdLoginUserIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.login1.User">
|
||||
<property name="Display" type="(so)" access="read" />
|
||||
<property name="Sessions" type="a(so)" access="read" />
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const SystemdLoginManager = Gio.DBusProxy.makeProxyWrapper(SystemdLoginManagerIface);
|
||||
const SystemdLoginSession = Gio.DBusProxy.makeProxyWrapper(SystemdLoginSessionIface);
|
||||
|
@@ -92,41 +92,43 @@ function _findProviderForSid(sid) {
|
||||
// The following are not the complete interfaces, just the methods we need
|
||||
// (or may need in the future)
|
||||
|
||||
const ModemGsmNetworkInterface = '<node> \
|
||||
<interface name="org.freedesktop.ModemManager.Modem.Gsm.Network"> \
|
||||
<method name="GetRegistrationInfo"> \
|
||||
<arg type="(uss)" direction="out" /> \
|
||||
</method> \
|
||||
<method name="GetSignalQuality"> \
|
||||
<arg type="u" direction="out" /> \
|
||||
</method> \
|
||||
<property name="AccessTechnology" type="u" access="read" /> \
|
||||
<signal name="SignalQuality"> \
|
||||
<arg type="u" direction="out" /> \
|
||||
</signal> \
|
||||
<signal name="RegistrationInfo"> \
|
||||
<arg type="u" direction="out" /> \
|
||||
<arg type="s" direction="out" /> \
|
||||
<arg type="s" direction="out" /> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const ModemGsmNetworkInterface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.ModemManager.Modem.Gsm.Network">
|
||||
<method name="GetRegistrationInfo">
|
||||
<arg type="(uss)" direction="out" />
|
||||
</method>
|
||||
<method name="GetSignalQuality">
|
||||
<arg type="u" direction="out" />
|
||||
</method>
|
||||
<property name="AccessTechnology" type="u" access="read" />
|
||||
<signal name="SignalQuality">
|
||||
<arg type="u" direction="out" />
|
||||
</signal>
|
||||
<signal name="RegistrationInfo">
|
||||
<arg type="u" direction="out" />
|
||||
<arg type="s" direction="out" />
|
||||
<arg type="s" direction="out" />
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const ModemGsmNetworkProxy = Gio.DBusProxy.makeProxyWrapper(ModemGsmNetworkInterface);
|
||||
|
||||
const ModemCdmaInterface = '<node> \
|
||||
<interface name="org.freedesktop.ModemManager.Modem.Cdma"> \
|
||||
<method name="GetSignalQuality"> \
|
||||
<arg type="u" direction="out" /> \
|
||||
</method> \
|
||||
<method name="GetServingSystem"> \
|
||||
<arg type="(usu)" direction="out" /> \
|
||||
</method> \
|
||||
<signal name="SignalQuality"> \
|
||||
<arg type="u" direction="out" /> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const ModemCdmaInterface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.ModemManager.Modem.Cdma">
|
||||
<method name="GetSignalQuality">
|
||||
<arg type="u" direction="out" />
|
||||
</method>
|
||||
<method name="GetServingSystem">
|
||||
<arg type="(usu)" direction="out" />
|
||||
</method>
|
||||
<signal name="SignalQuality">
|
||||
<arg type="u" direction="out" />
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const ModemCdmaProxy = Gio.DBusProxy.makeProxyWrapper(ModemCdmaInterface);
|
||||
|
||||
@@ -222,26 +224,29 @@ Signals.addSignalMethods(ModemCdma.prototype);
|
||||
// Support for the new ModemManager1 interface (MM >= 0.7)
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
const BroadbandModemInterface = '<node> \
|
||||
<interface name="org.freedesktop.ModemManager1.Modem"> \
|
||||
<property name="SignalQuality" type="(ub)" access="read" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const BroadbandModemInterface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.ModemManager1.Modem">
|
||||
<property name="SignalQuality" type="(ub)" access="read" />
|
||||
</interface>
|
||||
</node>`;
|
||||
const BroadbandModemProxy = Gio.DBusProxy.makeProxyWrapper(BroadbandModemInterface);
|
||||
|
||||
const BroadbandModem3gppInterface = '<node> \
|
||||
<interface name="org.freedesktop.ModemManager1.Modem.Modem3gpp"> \
|
||||
<property name="OperatorCode" type="s" access="read" /> \
|
||||
<property name="OperatorName" type="s" access="read" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const BroadbandModem3gppInterface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.ModemManager1.Modem.Modem3gpp">
|
||||
<property name="OperatorCode" type="s" access="read" />
|
||||
<property name="OperatorName" type="s" access="read" />
|
||||
</interface>
|
||||
</node>`;
|
||||
const BroadbandModem3gppProxy = Gio.DBusProxy.makeProxyWrapper(BroadbandModem3gppInterface);
|
||||
|
||||
const BroadbandModemCdmaInterface = '<node> \
|
||||
<interface name="org.freedesktop.ModemManager1.Modem.ModemCdma"> \
|
||||
<property name="Sid" type="u" access="read" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const BroadbandModemCdmaInterface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.ModemManager1.Modem.ModemCdma">
|
||||
<property name="Sid" type="u" access="read" />
|
||||
</interface>
|
||||
</node>`;
|
||||
const BroadbandModemCdmaProxy = Gio.DBusProxy.makeProxyWrapper(BroadbandModemCdmaInterface);
|
||||
|
||||
var BroadbandModem = new Lang.Class({
|
||||
|
@@ -8,21 +8,22 @@ const Signals = imports.signals;
|
||||
|
||||
// Specified in the D-Bus specification here:
|
||||
// http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager
|
||||
const ObjectManagerIface = '<node> \
|
||||
<interface name="org.freedesktop.DBus.ObjectManager"> \
|
||||
<method name="GetManagedObjects"> \
|
||||
<arg name="objects" type="a{oa{sa{sv}}}" direction="out"/> \
|
||||
</method> \
|
||||
<signal name="InterfacesAdded"> \
|
||||
<arg name="objectPath" type="o"/> \
|
||||
<arg name="interfaces" type="a{sa{sv}}" /> \
|
||||
</signal> \
|
||||
<signal name="InterfacesRemoved"> \
|
||||
<arg name="objectPath" type="o"/> \
|
||||
<arg name="interfaces" type="as" /> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const ObjectManagerIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.DBus.ObjectManager">
|
||||
<method name="GetManagedObjects">
|
||||
<arg name="objects" type="a{oa{sa{sv}}}" direction="out"/>
|
||||
</method>
|
||||
<signal name="InterfacesAdded">
|
||||
<arg name="objectPath" type="o"/>
|
||||
<arg name="interfaces" type="a{sa{sv}}" />
|
||||
</signal>
|
||||
<signal name="InterfacesRemoved">
|
||||
<arg name="objectPath" type="o"/>
|
||||
<arg name="interfaces" type="as" />
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const ObjectManagerInfo = Gio.DBusInterfaceInfo.new_for_xml(ObjectManagerIface);
|
||||
|
||||
|
@@ -2,30 +2,31 @@
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
|
||||
const PermissionStoreIface = '<node> \
|
||||
<interface name="org.freedesktop.impl.portal.PermissionStore"> \
|
||||
<method name="Lookup"> \
|
||||
<arg name="table" type="s" direction="in"/> \
|
||||
<arg name="id" type="s" direction="in"/> \
|
||||
<arg name="permissions" type="a{sas}" direction="out"/> \
|
||||
<arg name="data" type="v" direction="out"/> \
|
||||
</method> \
|
||||
<method name="Set"> \
|
||||
<arg name="table" type="s" direction="in"/> \
|
||||
<arg name="create" type="b" direction="in"/> \
|
||||
<arg name="id" type="s" direction="in"/> \
|
||||
<arg name="app_permissions" type="a{sas}" direction="in"/> \
|
||||
<arg name="data" type="v" direction="in"/> \
|
||||
</method> \
|
||||
<signal name="Changed"> \
|
||||
<arg name="table" type="s" direction="out"/> \
|
||||
<arg name="id" type="s" direction="out"/> \
|
||||
<arg name="deleted" type="b" direction="out"/> \
|
||||
<arg name="data" type="v" direction="out"/> \
|
||||
<arg name="permissions" type="a{sas}" direction="out"/> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const PermissionStoreIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.impl.portal.PermissionStore">
|
||||
<method name="Lookup">
|
||||
<arg name="table" type="s" direction="in"/>
|
||||
<arg name="id" type="s" direction="in"/>
|
||||
<arg name="permissions" type="a{sas}" direction="out"/>
|
||||
<arg name="data" type="v" direction="out"/>
|
||||
</method>
|
||||
<method name="Set">
|
||||
<arg name="table" type="s" direction="in"/>
|
||||
<arg name="create" type="b" direction="in"/>
|
||||
<arg name="id" type="s" direction="in"/>
|
||||
<arg name="app_permissions" type="a{sas}" direction="in"/>
|
||||
<arg name="data" type="v" direction="in"/>
|
||||
</method>
|
||||
<signal name="Changed">
|
||||
<arg name="table" type="s" direction="out"/>
|
||||
<arg name="id" type="s" direction="out"/>
|
||||
<arg name="deleted" type="b" direction="out"/>
|
||||
<arg name="data" type="v" direction="out"/>
|
||||
<arg name="permissions" type="a{sas}" direction="out"/>
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const PermissionStoreProxy = Gio.DBusProxy.makeProxyWrapper(PermissionStoreIface);
|
||||
|
||||
|
@@ -7,14 +7,15 @@ const Signals = imports.signals;
|
||||
|
||||
const ObjectManager = imports.misc.objectManager;
|
||||
|
||||
const SmartcardTokenIface = '<node> \
|
||||
<interface name="org.gnome.SettingsDaemon.Smartcard.Token"> \
|
||||
<property name="Name" type="s" access="read"/> \
|
||||
<property name="Driver" type="o" access="read"/> \
|
||||
<property name="IsInserted" type="b" access="read"/> \
|
||||
<property name="UsedToLogin" type="b" access="read"/> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const SmartcardTokenIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.SettingsDaemon.Smartcard.Token">
|
||||
<property name="Name" type="s" access="read"/>
|
||||
<property name="Driver" type="o" access="read"/>
|
||||
<property name="IsInserted" type="b" access="read"/>
|
||||
<property name="UsedToLogin" type="b" access="read"/>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
let _smartcardManager = null;
|
||||
|
||||
|
@@ -22,11 +22,12 @@ const ALWAYS_SHOW_LOG_OUT_KEY = 'always-show-log-out';
|
||||
const SENSOR_BUS_NAME = 'net.hadess.SensorProxy';
|
||||
const SENSOR_OBJECT_PATH = '/net/hadess/SensorProxy';
|
||||
|
||||
const SensorProxyInterface = '<node> \
|
||||
<interface name="net.hadess.SensorProxy"> \
|
||||
<property name="HasAccelerometer" type="b" access="read"/> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const SensorProxyInterface = `
|
||||
<node>
|
||||
<interface name="net.hadess.SensorProxy">
|
||||
<property name="HasAccelerometer" type="b" access="read"/>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const POWER_OFF_ACTION_ID = 'power-off';
|
||||
const LOCK_SCREEN_ACTION_ID = 'lock-screen';
|
||||
|
@@ -30,25 +30,26 @@ const CONNECTIVITY_CHECK_HOST = 'nmcheck.gnome.org';
|
||||
const CONNECTIVITY_CHECK_URI = 'http://' + CONNECTIVITY_CHECK_HOST;
|
||||
const CONNECTIVITY_RECHECK_RATELIMIT_TIMEOUT = 30 * GLib.USEC_PER_SEC;
|
||||
|
||||
const HelperDBusInterface = '<node> \
|
||||
<interface name="org.gnome.Shell.PortalHelper"> \
|
||||
<method name="Authenticate"> \
|
||||
<arg type="o" direction="in" name="connection" /> \
|
||||
<arg type="s" direction="in" name="url" /> \
|
||||
<arg type="u" direction="in" name="timestamp" /> \
|
||||
</method> \
|
||||
<method name="Close"> \
|
||||
<arg type="o" direction="in" name="connection" /> \
|
||||
</method> \
|
||||
<method name="Refresh"> \
|
||||
<arg type="o" direction="in" name="connection" /> \
|
||||
</method> \
|
||||
<signal name="Done"> \
|
||||
<arg type="o" name="connection" /> \
|
||||
<arg type="u" name="result" /> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const HelperDBusInterface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.PortalHelper">
|
||||
<method name="Authenticate">
|
||||
<arg type="o" direction="in" name="connection" />
|
||||
<arg type="s" direction="in" name="url" />
|
||||
<arg type="u" direction="in" name="timestamp" />
|
||||
</method>
|
||||
<method name="Close">
|
||||
<arg type="o" direction="in" name="connection" />
|
||||
</method>
|
||||
<method name="Refresh">
|
||||
<arg type="o" direction="in" name="connection" />
|
||||
</method>
|
||||
<signal name="Done">
|
||||
<arg type="o" name="connection" />
|
||||
<arg type="u" name="result" />
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var PortalHeaderBar = new Lang.Class({
|
||||
Name: 'PortalHeaderBar',
|
||||
|
@@ -10,27 +10,29 @@ const CheckBox = imports.ui.checkBox;
|
||||
const Dialog = imports.ui.dialog;
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
|
||||
const RequestIface = '<node> \
|
||||
<interface name="org.freedesktop.impl.portal.Request"> \
|
||||
<method name="Close"/> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const RequestIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.impl.portal.Request">
|
||||
<method name="Close"/>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const AccessIface = '<node> \
|
||||
<interface name="org.freedesktop.impl.portal.Access"> \
|
||||
<method name="AccessDialog"> \
|
||||
<arg type="o" name="handle" direction="in"/> \
|
||||
<arg type="s" name="app_id" direction="in"/> \
|
||||
<arg type="s" name="parent_window" direction="in"/> \
|
||||
<arg type="s" name="title" direction="in"/> \
|
||||
<arg type="s" name="subtitle" direction="in"/> \
|
||||
<arg type="s" name="body" direction="in"/> \
|
||||
<arg type="a{sv}" name="options" direction="in"/> \
|
||||
<arg type="u" name="response" direction="out"/> \
|
||||
<arg type="a{sv}" name="results" direction="out"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const AccessIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.impl.portal.Access">
|
||||
<method name="AccessDialog">
|
||||
<arg type="o" name="handle" direction="in"/>
|
||||
<arg type="s" name="app_id" direction="in"/>
|
||||
<arg type="s" name="parent_window" direction="in"/>
|
||||
<arg type="s" name="title" direction="in"/>
|
||||
<arg type="s" name="subtitle" direction="in"/>
|
||||
<arg type="s" name="body" direction="in"/>
|
||||
<arg type="a{sv}" name="options" direction="in"/>
|
||||
<arg type="u" name="response" direction="out"/>
|
||||
<arg type="a{sv}" name="results" direction="out"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var DialogResponse = {
|
||||
OK: 0,
|
||||
|
@@ -66,11 +66,12 @@ var PAGE_SWITCH_TIME = 0.3;
|
||||
const SWITCHEROO_BUS_NAME = 'net.hadess.SwitcherooControl';
|
||||
const SWITCHEROO_OBJECT_PATH = '/net/hadess/SwitcherooControl';
|
||||
|
||||
const SwitcherooProxyInterface = '<node> \
|
||||
<interface name="net.hadess.SwitcherooControl"> \
|
||||
<property name="HasDualGpu" type="b" access="read"/> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const SwitcherooProxyInterface = `
|
||||
<node>
|
||||
<interface name="net.hadess.SwitcherooControl">
|
||||
<property name="HasDualGpu" type="b" access="read"/>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const SwitcherooProxy = Gio.DBusProxy.makeProxyWrapper(SwitcherooProxyInterface);
|
||||
let discreteGpuAvailable = false;
|
||||
|
@@ -15,18 +15,19 @@ var AudioDevice = {
|
||||
MICROPHONE: 1 << 2
|
||||
};
|
||||
|
||||
const AudioDeviceSelectionIface = '<node> \
|
||||
<interface name="org.gnome.Shell.AudioDeviceSelection"> \
|
||||
<method name="Open"> \
|
||||
<arg name="devices" direction="in" type="as" /> \
|
||||
</method> \
|
||||
<method name="Close"> \
|
||||
</method> \
|
||||
<signal name="DeviceSelected"> \
|
||||
<arg name="device" type="s" /> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const AudioDeviceSelectionIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.AudioDeviceSelection">
|
||||
<method name="Open">
|
||||
<arg name="devices" direction="in" type="as" />
|
||||
</method>
|
||||
<method name="Close">
|
||||
</method>
|
||||
<signal name="DeviceSelected">
|
||||
<arg name="device" type="s" />
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var AudioDeviceSelectionDialog = new Lang.Class({
|
||||
Name: 'AudioDeviceSelectionDialog',
|
||||
|
@@ -44,6 +44,7 @@ var BoxPointer = new Lang.Class({
|
||||
y_fill: true });
|
||||
this._container = new Shell.GenericContainer();
|
||||
this.actor.set_child(this._container);
|
||||
this.actor.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
|
||||
this._container.connect('get-preferred-width', this._getPreferredWidth.bind(this));
|
||||
this._container.connect('get-preferred-height', this._getPreferredHeight.bind(this));
|
||||
this._container.connect('allocate', this._allocate.bind(this));
|
||||
|
@@ -134,18 +134,19 @@ var EmptyEventSource = new Lang.Class({
|
||||
});
|
||||
Signals.addSignalMethods(EmptyEventSource.prototype);
|
||||
|
||||
const CalendarServerIface = '<node> \
|
||||
<interface name="org.gnome.Shell.CalendarServer"> \
|
||||
<method name="GetEvents"> \
|
||||
<arg type="x" direction="in" /> \
|
||||
<arg type="x" direction="in" /> \
|
||||
<arg type="b" direction="in" /> \
|
||||
<arg type="a(sssbxxa{sv})" direction="out" /> \
|
||||
</method> \
|
||||
<property name="HasCalendars" type="b" access="read" /> \
|
||||
<signal name="Changed" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const CalendarServerIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.CalendarServer">
|
||||
<method name="GetEvents">
|
||||
<arg type="x" direction="in" />
|
||||
<arg type="x" direction="in" />
|
||||
<arg type="b" direction="in" />
|
||||
<arg type="a(sssbxxa{sv})" direction="out" />
|
||||
</method>
|
||||
<property name="HasCalendars" type="b" access="read" />
|
||||
<signal name="Changed" />
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const CalendarServerInfo = Gio.DBusInterfaceInfo.new_for_xml(CalendarServerIface);
|
||||
|
||||
|
@@ -74,14 +74,15 @@ function startAppForMount(app, mount) {
|
||||
|
||||
/******************************************/
|
||||
|
||||
const HotplugSnifferIface = '<node> \
|
||||
<interface name="org.gnome.Shell.HotplugSniffer"> \
|
||||
<method name="SniffURI"> \
|
||||
<arg type="s" direction="in" /> \
|
||||
<arg type="as" direction="out" /> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const HotplugSnifferIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.HotplugSniffer">
|
||||
<method name="SniffURI">
|
||||
<arg type="s" direction="in" />
|
||||
<arg type="as" direction="out" />
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const HotplugSnifferProxy = Gio.DBusProxy.makeProxyWrapper(HotplugSnifferIface);
|
||||
function HotplugSniffer() {
|
||||
|
@@ -402,6 +402,7 @@ var Dash = new Lang.Class({
|
||||
clip_to_allocation: true });
|
||||
this._box._delegate = this;
|
||||
this._container.add_actor(this._box);
|
||||
this._container.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
|
||||
|
||||
this._showAppsIcon = new ShowAppsIcon();
|
||||
this._showAppsIcon.childScale = 1;
|
||||
|
@@ -40,6 +40,7 @@ var Dialog = new Lang.Class({
|
||||
// mode accordingly so wrapped labels are handled correctly during
|
||||
// size requests.
|
||||
this._dialog.request_mode = Clutter.RequestMode.HEIGHT_FOR_WIDTH;
|
||||
this._dialog.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
|
||||
|
||||
this.contentLayout = new St.BoxLayout({ vertical: true,
|
||||
style_class: "modal-dialog-content-box" });
|
||||
|
@@ -506,6 +506,7 @@ var _Draggable = new Lang.Class({
|
||||
return true;
|
||||
} else
|
||||
this._dragActor.destroy();
|
||||
this._dragActor = undefined;
|
||||
}
|
||||
|
||||
this._dragInProgress = false;
|
||||
@@ -565,8 +566,10 @@ var _Draggable = new Lang.Class({
|
||||
if (!this._buttonDown)
|
||||
this._dragComplete();
|
||||
this.emit('drag-end', eventTime, false);
|
||||
if (!this._dragOrigParent)
|
||||
if (!this._dragOrigParent) {
|
||||
this._dragActor.destroy();
|
||||
this._dragActor = undefined;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -634,6 +637,7 @@ var _Draggable = new Lang.Class({
|
||||
dragActor.set_position(this._dragOrigX, this._dragOrigY);
|
||||
} else {
|
||||
dragActor.destroy();
|
||||
this._dragActor = undefined;
|
||||
}
|
||||
|
||||
this.emit('drag-end', eventTime, false);
|
||||
@@ -641,7 +645,7 @@ var _Draggable = new Lang.Class({
|
||||
},
|
||||
|
||||
_dragComplete() {
|
||||
if (!this._actorDestroyed)
|
||||
if (this._dragActor)
|
||||
Shell.util_set_hidden_from_pick(this._dragActor, false);
|
||||
|
||||
this._ungrabEvents();
|
||||
|
@@ -43,22 +43,23 @@ const _DIALOG_ICON_SIZE = 48;
|
||||
|
||||
var GSM_SESSION_MANAGER_LOGOUT_FORCE = 2;
|
||||
|
||||
const EndSessionDialogIface = '<node> \
|
||||
<interface name="org.gnome.SessionManager.EndSessionDialog"> \
|
||||
<method name="Open"> \
|
||||
<arg type="u" direction="in" /> \
|
||||
<arg type="u" direction="in" /> \
|
||||
<arg type="u" direction="in" /> \
|
||||
<arg type="ao" direction="in" /> \
|
||||
</method> \
|
||||
<method name="Close" /> \
|
||||
<signal name="ConfirmedLogout" /> \
|
||||
<signal name="ConfirmedReboot" /> \
|
||||
<signal name="ConfirmedShutdown" /> \
|
||||
<signal name="Canceled" /> \
|
||||
<signal name="Closed" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const EndSessionDialogIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.SessionManager.EndSessionDialog">
|
||||
<method name="Open">
|
||||
<arg type="u" direction="in" />
|
||||
<arg type="u" direction="in" />
|
||||
<arg type="u" direction="in" />
|
||||
<arg type="ao" direction="in" />
|
||||
</method>
|
||||
<method name="Close" />
|
||||
<signal name="ConfirmedLogout" />
|
||||
<signal name="ConfirmedReboot" />
|
||||
<signal name="ConfirmedShutdown" />
|
||||
<signal name="Canceled" />
|
||||
<signal name="Closed" />
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const logoutDialogContent = {
|
||||
subjectWithUser: C_("title", "Log Out %s"),
|
||||
@@ -168,39 +169,42 @@ const DialogContent = {
|
||||
|
||||
var MAX_USERS_IN_SESSION_DIALOG = 5;
|
||||
|
||||
const LogindSessionIface = '<node> \
|
||||
<interface name="org.freedesktop.login1.Session"> \
|
||||
<property name="Id" type="s" access="read"/> \
|
||||
<property name="Remote" type="b" access="read"/> \
|
||||
<property name="Class" type="s" access="read"/> \
|
||||
<property name="Type" type="s" access="read"/> \
|
||||
<property name="State" type="s" access="read"/> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const LogindSessionIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.login1.Session">
|
||||
<property name="Id" type="s" access="read"/>
|
||||
<property name="Remote" type="b" access="read"/>
|
||||
<property name="Class" type="s" access="read"/>
|
||||
<property name="Type" type="s" access="read"/>
|
||||
<property name="State" type="s" access="read"/>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const LogindSession = Gio.DBusProxy.makeProxyWrapper(LogindSessionIface);
|
||||
|
||||
const PkOfflineIface = '<node> \
|
||||
<interface name="org.freedesktop.PackageKit.Offline"> \
|
||||
<property name="UpdatePrepared" type="b" access="read"/> \
|
||||
<property name="UpdateTriggered" type="b" access="read"/> \
|
||||
<property name="UpgradePrepared" type="b" access="read"/> \
|
||||
<property name="UpgradeTriggered" type="b" access="read"/> \
|
||||
<property name="PreparedUpgrade" type="a{sv}" access="read"/> \
|
||||
<method name="Trigger"> \
|
||||
<arg type="s" name="action" direction="in"/> \
|
||||
</method> \
|
||||
<method name="Cancel"/> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const PkOfflineIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.PackageKit.Offline">
|
||||
<property name="UpdatePrepared" type="b" access="read"/>
|
||||
<property name="UpdateTriggered" type="b" access="read"/>
|
||||
<property name="UpgradePrepared" type="b" access="read"/>
|
||||
<property name="UpgradeTriggered" type="b" access="read"/>
|
||||
<property name="PreparedUpgrade" type="a{sv}" access="read"/>
|
||||
<method name="Trigger">
|
||||
<arg type="s" name="action" direction="in"/>
|
||||
</method>
|
||||
<method name="Cancel"/>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const PkOfflineProxy = Gio.DBusProxy.makeProxyWrapper(PkOfflineIface);
|
||||
|
||||
const UPowerIface = '<node> \
|
||||
<interface name="org.freedesktop.UPower"> \
|
||||
<property name="OnBattery" type="b" access="read"/> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const UPowerIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.UPower">
|
||||
<property name="OnBattery" type="b" access="read"/>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const UPowerProxy = Gio.DBusProxy.makeProxyWrapper(UPowerIface);
|
||||
|
||||
|
@@ -9,89 +9,91 @@ const ZOOM_SERVICE_PATH = '/org/gnome/Magnifier/ZoomRegion';
|
||||
|
||||
// Subset of gnome-mag's Magnifier dbus interface -- to be expanded. See:
|
||||
// http://git.gnome.org/browse/gnome-mag/tree/xml/...Magnifier.xml
|
||||
const MagnifierIface = '<node> \
|
||||
<interface name="org.gnome.Magnifier"> \
|
||||
<method name="setActive"> \
|
||||
<arg type="b" direction="in" /> \
|
||||
</method> \
|
||||
<method name="isActive"> \
|
||||
<arg type="b" direction="out" /> \
|
||||
</method> \
|
||||
<method name="showCursor" /> \
|
||||
<method name="hideCursor" /> \
|
||||
<method name="createZoomRegion"> \
|
||||
<arg type="d" direction="in" /> \
|
||||
<arg type="d" direction="in" /> \
|
||||
<arg type="ai" direction="in" /> \
|
||||
<arg type="ai" direction="in" /> \
|
||||
<arg type="o" direction="out" /> \
|
||||
</method> \
|
||||
<method name="addZoomRegion"> \
|
||||
<arg type="o" direction="in" /> \
|
||||
<arg type="b" direction="out" /> \
|
||||
</method> \
|
||||
<method name="getZoomRegions"> \
|
||||
<arg type="ao" direction="out" /> \
|
||||
</method> \
|
||||
<method name="clearAllZoomRegions" /> \
|
||||
<method name="fullScreenCapable"> \
|
||||
<arg type="b" direction="out" /> \
|
||||
</method> \
|
||||
<method name="setCrosswireSize"> \
|
||||
<arg type="i" direction="in" /> \
|
||||
</method> \
|
||||
<method name="getCrosswireSize"> \
|
||||
<arg type="i" direction="out" /> \
|
||||
</method> \
|
||||
<method name="setCrosswireLength"> \
|
||||
<arg type="i" direction="in" /> \
|
||||
</method> \
|
||||
<method name="getCrosswireLength"> \
|
||||
<arg type="i" direction="out" /> \
|
||||
</method> \
|
||||
<method name="setCrosswireClip"> \
|
||||
<arg type="b" direction="in" /> \
|
||||
</method> \
|
||||
<method name="getCrosswireClip"> \
|
||||
<arg type="b" direction="out" /> \
|
||||
</method> \
|
||||
<method name="setCrosswireColor"> \
|
||||
<arg type="u" direction="in" /> \
|
||||
</method> \
|
||||
<method name="getCrosswireColor"> \
|
||||
<arg type="u" direction="out" /> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const MagnifierIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Magnifier">
|
||||
<method name="setActive">
|
||||
<arg type="b" direction="in" />
|
||||
</method>
|
||||
<method name="isActive">
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<method name="showCursor" />
|
||||
<method name="hideCursor" />
|
||||
<method name="createZoomRegion">
|
||||
<arg type="d" direction="in" />
|
||||
<arg type="d" direction="in" />
|
||||
<arg type="ai" direction="in" />
|
||||
<arg type="ai" direction="in" />
|
||||
<arg type="o" direction="out" />
|
||||
</method>
|
||||
<method name="addZoomRegion">
|
||||
<arg type="o" direction="in" />
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<method name="getZoomRegions">
|
||||
<arg type="ao" direction="out" />
|
||||
</method>
|
||||
<method name="clearAllZoomRegions" />
|
||||
<method name="fullScreenCapable">
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<method name="setCrosswireSize">
|
||||
<arg type="i" direction="in" />
|
||||
</method>
|
||||
<method name="getCrosswireSize">
|
||||
<arg type="i" direction="out" />
|
||||
</method>
|
||||
<method name="setCrosswireLength">
|
||||
<arg type="i" direction="in" />
|
||||
</method>
|
||||
<method name="getCrosswireLength">
|
||||
<arg type="i" direction="out" />
|
||||
</method>
|
||||
<method name="setCrosswireClip">
|
||||
<arg type="b" direction="in" />
|
||||
</method>
|
||||
<method name="getCrosswireClip">
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<method name="setCrosswireColor">
|
||||
<arg type="u" direction="in" />
|
||||
</method>
|
||||
<method name="getCrosswireColor">
|
||||
<arg type="u" direction="out" />
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
// Subset of gnome-mag's ZoomRegion dbus interface -- to be expanded. See:
|
||||
// http://git.gnome.org/browse/gnome-mag/tree/xml/...ZoomRegion.xml
|
||||
const ZoomRegionIface = '<node> \
|
||||
<interface name="org.gnome.Magnifier.ZoomRegion"> \
|
||||
<method name="setMagFactor"> \
|
||||
<arg type="d" direction="in" /> \
|
||||
<arg type="d" direction="in" /> \
|
||||
</method> \
|
||||
<method name="getMagFactor"> \
|
||||
<arg type="d" direction="out" /> \
|
||||
<arg type="d" direction="out" /> \
|
||||
</method> \
|
||||
<method name="setRoi"> \
|
||||
<arg type="ai" direction="in" /> \
|
||||
</method> \
|
||||
<method name="getRoi"> \
|
||||
<arg type="ai" direction="out" /> \
|
||||
</method> \
|
||||
<method name="shiftContentsTo"> \
|
||||
<arg type="i" direction="in" /> \
|
||||
<arg type="i" direction="in" /> \
|
||||
<arg type="b" direction="out" /> \
|
||||
</method> \
|
||||
<method name="moveResize"> \
|
||||
<arg type="ai" direction="in" /> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const ZoomRegionIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Magnifier.ZoomRegion">
|
||||
<method name="setMagFactor">
|
||||
<arg type="d" direction="in" />
|
||||
<arg type="d" direction="in" />
|
||||
</method>
|
||||
<method name="getMagFactor">
|
||||
<arg type="d" direction="out" />
|
||||
<arg type="d" direction="out" />
|
||||
</method>
|
||||
<method name="setRoi">
|
||||
<arg type="ai" direction="in" />
|
||||
</method>
|
||||
<method name="getRoi">
|
||||
<arg type="ai" direction="out" />
|
||||
</method>
|
||||
<method name="shiftContentsTo">
|
||||
<arg type="i" direction="in" />
|
||||
<arg type="i" direction="in" />
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<method name="moveResize">
|
||||
<arg type="ai" direction="in" />
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
// For making unique ZoomRegion DBus proxy object paths of the form:
|
||||
// '/org/gnome/Magnifier/ZoomRegion/zoomer0',
|
||||
|
@@ -8,41 +8,44 @@ const Calendar = imports.ui.calendar;
|
||||
const Main = imports.ui.main;
|
||||
const MessageList = imports.ui.messageList;
|
||||
|
||||
const DBusIface = '<node> \
|
||||
<interface name="org.freedesktop.DBus"> \
|
||||
<method name="ListNames"> \
|
||||
<arg type="as" direction="out" name="names" /> \
|
||||
</method> \
|
||||
<signal name="NameOwnerChanged"> \
|
||||
<arg type="s" direction="out" name="name" /> \
|
||||
<arg type="s" direction="out" name="oldOwner" /> \
|
||||
<arg type="s" direction="out" name="newOwner" /> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const DBusIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.DBus">
|
||||
<method name="ListNames">
|
||||
<arg type="as" direction="out" name="names" />
|
||||
</method>
|
||||
<signal name="NameOwnerChanged">
|
||||
<arg type="s" direction="out" name="name" />
|
||||
<arg type="s" direction="out" name="oldOwner" />
|
||||
<arg type="s" direction="out" name="newOwner" />
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
const DBusProxy = Gio.DBusProxy.makeProxyWrapper(DBusIface);
|
||||
|
||||
const MprisIface = '<node> \
|
||||
<interface name="org.mpris.MediaPlayer2"> \
|
||||
<method name="Raise" /> \
|
||||
<property name="CanRaise" type="b" access="read" /> \
|
||||
<property name="DesktopEntry" type="s" access="read" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const MprisIface = `
|
||||
<node>
|
||||
<interface name="org.mpris.MediaPlayer2">
|
||||
<method name="Raise" />
|
||||
<property name="CanRaise" type="b" access="read" />
|
||||
<property name="DesktopEntry" type="s" access="read" />
|
||||
</interface>
|
||||
</node>`;
|
||||
const MprisProxy = Gio.DBusProxy.makeProxyWrapper(MprisIface);
|
||||
|
||||
const MprisPlayerIface = '<node> \
|
||||
<interface name="org.mpris.MediaPlayer2.Player"> \
|
||||
<method name="PlayPause" /> \
|
||||
<method name="Next" /> \
|
||||
<method name="Previous" /> \
|
||||
<property name="CanGoNext" type="b" access="read" /> \
|
||||
<property name="CanGoPrevious" type="b" access="read" /> \
|
||||
<property name="CanPlay" type="b" access="read" /> \
|
||||
<property name="Metadata" type="a{sv}" access="read" /> \
|
||||
<property name="PlaybackStatus" type="s" access="read" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const MprisPlayerIface = `
|
||||
<node>
|
||||
<interface name="org.mpris.MediaPlayer2.Player">
|
||||
<method name="PlayPause" />
|
||||
<method name="Next" />
|
||||
<method name="Previous" />
|
||||
<property name="CanGoNext" type="b" access="read" />
|
||||
<property name="CanGoPrevious" type="b" access="read" />
|
||||
<property name="CanPlay" type="b" access="read" />
|
||||
<property name="Metadata" type="a{sv}" access="read" />
|
||||
<property name="PlaybackStatus" type="s" access="read" />
|
||||
</interface>
|
||||
</node>`;
|
||||
const MprisPlayerProxy = Gio.DBusProxy.makeProxyWrapper(MprisPlayerIface);
|
||||
|
||||
const MPRIS_PLAYER_PREFIX = 'org.mpris.MediaPlayer2.';
|
||||
|
@@ -17,55 +17,57 @@ const Params = imports.misc.params;
|
||||
const Util = imports.misc.util;
|
||||
|
||||
// Should really be defined in Gio.js
|
||||
const BusIface = '<node> \
|
||||
<interface name="org.freedesktop.DBus"> \
|
||||
<method name="GetConnectionUnixProcessID"> \
|
||||
<arg type="s" direction="in" /> \
|
||||
<arg type="u" direction="out" /> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const BusIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.DBus">
|
||||
<method name="GetConnectionUnixProcessID">
|
||||
<arg type="s" direction="in" />
|
||||
<arg type="u" direction="out" />
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var BusProxy = Gio.DBusProxy.makeProxyWrapper(BusIface);
|
||||
function Bus() {
|
||||
return new BusProxy(Gio.DBus.session, 'org.freedesktop.DBus', '/org/freedesktop/DBus');
|
||||
}
|
||||
|
||||
const FdoNotificationsIface = '<node> \
|
||||
<interface name="org.freedesktop.Notifications"> \
|
||||
<method name="Notify"> \
|
||||
<arg type="s" direction="in"/> \
|
||||
<arg type="u" direction="in"/> \
|
||||
<arg type="s" direction="in"/> \
|
||||
<arg type="s" direction="in"/> \
|
||||
<arg type="s" direction="in"/> \
|
||||
<arg type="as" direction="in"/> \
|
||||
<arg type="a{sv}" direction="in"/> \
|
||||
<arg type="i" direction="in"/> \
|
||||
<arg type="u" direction="out"/> \
|
||||
</method> \
|
||||
<method name="CloseNotification"> \
|
||||
<arg type="u" direction="in"/> \
|
||||
</method> \
|
||||
<method name="GetCapabilities"> \
|
||||
<arg type="as" direction="out"/> \
|
||||
</method> \
|
||||
<method name="GetServerInformation"> \
|
||||
<arg type="s" direction="out"/> \
|
||||
<arg type="s" direction="out"/> \
|
||||
<arg type="s" direction="out"/> \
|
||||
<arg type="s" direction="out"/> \
|
||||
</method> \
|
||||
<signal name="NotificationClosed"> \
|
||||
<arg type="u"/> \
|
||||
<arg type="u"/> \
|
||||
</signal> \
|
||||
<signal name="ActionInvoked"> \
|
||||
<arg type="u"/> \
|
||||
<arg type="s"/> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const FdoNotificationsIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.Notifications">
|
||||
<method name="Notify">
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="u" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="as" direction="in"/>
|
||||
<arg type="a{sv}" direction="in"/>
|
||||
<arg type="i" direction="in"/>
|
||||
<arg type="u" direction="out"/>
|
||||
</method>
|
||||
<method name="CloseNotification">
|
||||
<arg type="u" direction="in"/>
|
||||
</method>
|
||||
<method name="GetCapabilities">
|
||||
<arg type="as" direction="out"/>
|
||||
</method>
|
||||
<method name="GetServerInformation">
|
||||
<arg type="s" direction="out"/>
|
||||
<arg type="s" direction="out"/>
|
||||
<arg type="s" direction="out"/>
|
||||
<arg type="s" direction="out"/>
|
||||
</method>
|
||||
<signal name="NotificationClosed">
|
||||
<arg type="u"/>
|
||||
<arg type="u"/>
|
||||
</signal>
|
||||
<signal name="ActionInvoked">
|
||||
<arg type="u"/>
|
||||
<arg type="s"/>
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var NotificationClosedReason = {
|
||||
EXPIRED: 1,
|
||||
@@ -654,18 +656,19 @@ var GtkNotificationDaemonNotification = new Lang.Class({
|
||||
},
|
||||
});
|
||||
|
||||
const FdoApplicationIface = '<node> \
|
||||
<interface name="org.freedesktop.Application"> \
|
||||
<method name="ActivateAction"> \
|
||||
<arg type="s" direction="in" /> \
|
||||
<arg type="av" direction="in" /> \
|
||||
<arg type="a{sv}" direction="in" /> \
|
||||
</method> \
|
||||
<method name="Activate"> \
|
||||
<arg type="a{sv}" direction="in" /> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const FdoApplicationIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.Application">
|
||||
<method name="ActivateAction">
|
||||
<arg type="s" direction="in" />
|
||||
<arg type="av" direction="in" />
|
||||
<arg type="a{sv}" direction="in" />
|
||||
</method>
|
||||
<method name="Activate">
|
||||
<arg type="a{sv}" direction="in" />
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
const FdoApplicationProxy = Gio.DBusProxy.makeProxyWrapper(FdoApplicationIface);
|
||||
|
||||
function objectPathFromAppId(appId) {
|
||||
@@ -774,19 +777,20 @@ var GtkNotificationDaemonAppSource = new Lang.Class({
|
||||
},
|
||||
});
|
||||
|
||||
const GtkNotificationsIface = '<node> \
|
||||
<interface name="org.gtk.Notifications"> \
|
||||
<method name="AddNotification"> \
|
||||
<arg type="s" direction="in" /> \
|
||||
<arg type="s" direction="in" /> \
|
||||
<arg type="a{sv}" direction="in" /> \
|
||||
</method> \
|
||||
<method name="RemoveNotification"> \
|
||||
<arg type="s" direction="in" /> \
|
||||
<arg type="s" direction="in" /> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const GtkNotificationsIface = `
|
||||
<node>
|
||||
<interface name="org.gtk.Notifications">
|
||||
<method name="AddNotification">
|
||||
<arg type="s" direction="in" />
|
||||
<arg type="s" direction="in" />
|
||||
<arg type="a{sv}" direction="in" />
|
||||
</method>
|
||||
<method name="RemoveNotification">
|
||||
<arg type="s" direction="in" />
|
||||
<arg type="s" direction="in" />
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var GtkNotificationDaemon = new Lang.Class({
|
||||
Name: 'GtkNotificationDaemon',
|
||||
|
@@ -962,14 +962,15 @@ var PadOsd = new Lang.Class({
|
||||
});
|
||||
Signals.addSignalMethods(PadOsd.prototype);
|
||||
|
||||
const PadOsdIface = '<node> \
|
||||
<interface name="org.gnome.Shell.Wacom.PadOsd"> \
|
||||
<method name="Show"> \
|
||||
<arg name="device_node" direction="in" type="o"/> \
|
||||
<arg name="edition_mode" direction="in" type="b"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const PadOsdIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.Wacom.PadOsd">
|
||||
<method name="Show">
|
||||
<arg name="device_node" direction="in" type="o"/>
|
||||
<arg name="edition_mode" direction="in" type="b"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var PadOsdService = new Lang.Class({
|
||||
Name: 'PadOsdService',
|
||||
|
@@ -307,8 +307,11 @@ var AppMenuButton = new Lang.Class({
|
||||
}
|
||||
}
|
||||
|
||||
let shellShowsAppMenu = this._gtkSettings.gtk_shell_shows_app_menu;
|
||||
Meta.prefs_set_show_fallback_app_menu(!shellShowsAppMenu);
|
||||
|
||||
let visible = (this._targetApp != null &&
|
||||
this._gtkSettings.gtk_shell_shows_app_menu &&
|
||||
shellShowsAppMenu &&
|
||||
!Main.overview.visibleTarget);
|
||||
if (visible)
|
||||
this.show();
|
||||
@@ -776,6 +779,7 @@ var Panel = new Lang.Class({
|
||||
this.actor = new Shell.GenericContainer({ name: 'panel',
|
||||
reactive: true });
|
||||
this.actor._delegate = this;
|
||||
this.actor.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
|
||||
|
||||
this._sessionStyle = null;
|
||||
|
||||
|
@@ -12,53 +12,55 @@ const Search = imports.ui.search;
|
||||
|
||||
const KEY_FILE_GROUP = 'Shell Search Provider';
|
||||
|
||||
const SearchProviderIface = '<node> \
|
||||
<interface name="org.gnome.Shell.SearchProvider"> \
|
||||
<method name="GetInitialResultSet"> \
|
||||
<arg type="as" direction="in" /> \
|
||||
<arg type="as" direction="out" /> \
|
||||
</method> \
|
||||
<method name="GetSubsearchResultSet"> \
|
||||
<arg type="as" direction="in" /> \
|
||||
<arg type="as" direction="in" /> \
|
||||
<arg type="as" direction="out" /> \
|
||||
</method> \
|
||||
<method name="GetResultMetas"> \
|
||||
<arg type="as" direction="in" /> \
|
||||
<arg type="aa{sv}" direction="out" /> \
|
||||
</method> \
|
||||
<method name="ActivateResult"> \
|
||||
<arg type="s" direction="in" /> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const SearchProviderIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.SearchProvider">
|
||||
<method name="GetInitialResultSet">
|
||||
<arg type="as" direction="in" />
|
||||
<arg type="as" direction="out" />
|
||||
</method>
|
||||
<method name="GetSubsearchResultSet">
|
||||
<arg type="as" direction="in" />
|
||||
<arg type="as" direction="in" />
|
||||
<arg type="as" direction="out" />
|
||||
</method>
|
||||
<method name="GetResultMetas">
|
||||
<arg type="as" direction="in" />
|
||||
<arg type="aa{sv}" direction="out" />
|
||||
</method>
|
||||
<method name="ActivateResult">
|
||||
<arg type="s" direction="in" />
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const SearchProvider2Iface = '<node> \
|
||||
<interface name="org.gnome.Shell.SearchProvider2"> \
|
||||
<method name="GetInitialResultSet"> \
|
||||
<arg type="as" direction="in" /> \
|
||||
<arg type="as" direction="out" /> \
|
||||
</method> \
|
||||
<method name="GetSubsearchResultSet"> \
|
||||
<arg type="as" direction="in" /> \
|
||||
<arg type="as" direction="in" /> \
|
||||
<arg type="as" direction="out" /> \
|
||||
</method> \
|
||||
<method name="GetResultMetas"> \
|
||||
<arg type="as" direction="in" /> \
|
||||
<arg type="aa{sv}" direction="out" /> \
|
||||
</method> \
|
||||
<method name="ActivateResult"> \
|
||||
<arg type="s" direction="in" /> \
|
||||
<arg type="as" direction="in" /> \
|
||||
<arg type="u" direction="in" /> \
|
||||
</method> \
|
||||
<method name="LaunchSearch"> \
|
||||
<arg type="as" direction="in" /> \
|
||||
<arg type="u" direction="in" /> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const SearchProvider2Iface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.SearchProvider2">
|
||||
<method name="GetInitialResultSet">
|
||||
<arg type="as" direction="in" />
|
||||
<arg type="as" direction="out" />
|
||||
</method>
|
||||
<method name="GetSubsearchResultSet">
|
||||
<arg type="as" direction="in" />
|
||||
<arg type="as" direction="in" />
|
||||
<arg type="as" direction="out" />
|
||||
</method>
|
||||
<method name="GetResultMetas">
|
||||
<arg type="as" direction="in" />
|
||||
<arg type="aa{sv}" direction="out" />
|
||||
</method>
|
||||
<method name="ActivateResult">
|
||||
<arg type="s" direction="in" />
|
||||
<arg type="as" direction="in" />
|
||||
<arg type="u" direction="in" />
|
||||
</method>
|
||||
<method name="LaunchSearch">
|
||||
<arg type="as" direction="in" />
|
||||
<arg type="u" direction="in" />
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var SearchProviderProxyInfo = Gio.DBusInterfaceInfo.new_for_xml(SearchProviderIface);
|
||||
var SearchProvider2ProxyInfo = Gio.DBusInterfaceInfo.new_for_xml(SearchProvider2Iface);
|
||||
|
@@ -8,29 +8,30 @@ const Signals = imports.signals;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
|
||||
const ScreencastIface = '<node> \
|
||||
<interface name="org.gnome.Shell.Screencast"> \
|
||||
<method name="Screencast"> \
|
||||
<arg type="s" direction="in" name="file_template"/> \
|
||||
<arg type="a{sv}" direction="in" name="options"/> \
|
||||
<arg type="b" direction="out" name="success"/> \
|
||||
<arg type="s" direction="out" name="filename_used"/> \
|
||||
</method> \
|
||||
<method name="ScreencastArea"> \
|
||||
<arg type="i" direction="in" name="x"/> \
|
||||
<arg type="i" direction="in" name="y"/> \
|
||||
<arg type="i" direction="in" name="width"/> \
|
||||
<arg type="i" direction="in" name="height"/> \
|
||||
<arg type="s" direction="in" name="file_template"/> \
|
||||
<arg type="a{sv}" direction="in" name="options"/> \
|
||||
<arg type="b" direction="out" name="success"/> \
|
||||
<arg type="s" direction="out" name="filename_used"/> \
|
||||
</method> \
|
||||
<method name="StopScreencast"> \
|
||||
<arg type="b" direction="out" name="success"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const ScreencastIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.Screencast">
|
||||
<method name="Screencast">
|
||||
<arg type="s" direction="in" name="file_template"/>
|
||||
<arg type="a{sv}" direction="in" name="options"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
<arg type="s" direction="out" name="filename_used"/>
|
||||
</method>
|
||||
<method name="ScreencastArea">
|
||||
<arg type="i" direction="in" name="x"/>
|
||||
<arg type="i" direction="in" name="y"/>
|
||||
<arg type="i" direction="in" name="width"/>
|
||||
<arg type="i" direction="in" name="height"/>
|
||||
<arg type="s" direction="in" name="file_template"/>
|
||||
<arg type="a{sv}" direction="in" name="options"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
<arg type="s" direction="out" name="filename_used"/>
|
||||
</method>
|
||||
<method name="StopScreencast">
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var ScreencastService = new Lang.Class({
|
||||
Name: 'ScreencastService',
|
||||
|
@@ -16,50 +16,51 @@ const Lightbox = imports.ui.lightbox;
|
||||
const Main = imports.ui.main;
|
||||
const Tweener = imports.ui.tweener;
|
||||
|
||||
const ScreenshotIface = '<node> \
|
||||
<interface name="org.gnome.Shell.Screenshot"> \
|
||||
<method name="ScreenshotArea"> \
|
||||
<arg type="i" direction="in" name="x"/> \
|
||||
<arg type="i" direction="in" name="y"/> \
|
||||
<arg type="i" direction="in" name="width"/> \
|
||||
<arg type="i" direction="in" name="height"/> \
|
||||
<arg type="b" direction="in" name="flash"/> \
|
||||
<arg type="s" direction="in" name="filename"/> \
|
||||
<arg type="b" direction="out" name="success"/> \
|
||||
<arg type="s" direction="out" name="filename_used"/> \
|
||||
</method> \
|
||||
<method name="ScreenshotWindow"> \
|
||||
<arg type="b" direction="in" name="include_frame"/> \
|
||||
<arg type="b" direction="in" name="include_cursor"/> \
|
||||
<arg type="b" direction="in" name="flash"/> \
|
||||
<arg type="s" direction="in" name="filename"/> \
|
||||
<arg type="b" direction="out" name="success"/> \
|
||||
<arg type="s" direction="out" name="filename_used"/> \
|
||||
</method> \
|
||||
<method name="Screenshot"> \
|
||||
<arg type="b" direction="in" name="include_cursor"/> \
|
||||
<arg type="b" direction="in" name="flash"/> \
|
||||
<arg type="s" direction="in" name="filename"/> \
|
||||
<arg type="b" direction="out" name="success"/> \
|
||||
<arg type="s" direction="out" name="filename_used"/> \
|
||||
</method> \
|
||||
<method name="SelectArea"> \
|
||||
<arg type="i" direction="out" name="x"/> \
|
||||
<arg type="i" direction="out" name="y"/> \
|
||||
<arg type="i" direction="out" name="width"/> \
|
||||
<arg type="i" direction="out" name="height"/> \
|
||||
</method> \
|
||||
<method name="FlashArea"> \
|
||||
<arg type="i" direction="in" name="x"/> \
|
||||
<arg type="i" direction="in" name="y"/> \
|
||||
<arg type="i" direction="in" name="width"/> \
|
||||
<arg type="i" direction="in" name="height"/> \
|
||||
</method> \
|
||||
<method name="PickColor"> \
|
||||
<arg type="a{sv}" direction="out" name="result"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const ScreenshotIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.Screenshot">
|
||||
<method name="ScreenshotArea">
|
||||
<arg type="i" direction="in" name="x"/>
|
||||
<arg type="i" direction="in" name="y"/>
|
||||
<arg type="i" direction="in" name="width"/>
|
||||
<arg type="i" direction="in" name="height"/>
|
||||
<arg type="b" direction="in" name="flash"/>
|
||||
<arg type="s" direction="in" name="filename"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
<arg type="s" direction="out" name="filename_used"/>
|
||||
</method>
|
||||
<method name="ScreenshotWindow">
|
||||
<arg type="b" direction="in" name="include_frame"/>
|
||||
<arg type="b" direction="in" name="include_cursor"/>
|
||||
<arg type="b" direction="in" name="flash"/>
|
||||
<arg type="s" direction="in" name="filename"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
<arg type="s" direction="out" name="filename_used"/>
|
||||
</method>
|
||||
<method name="Screenshot">
|
||||
<arg type="b" direction="in" name="include_cursor"/>
|
||||
<arg type="b" direction="in" name="flash"/>
|
||||
<arg type="s" direction="in" name="filename"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
<arg type="s" direction="out" name="filename_used"/>
|
||||
</method>
|
||||
<method name="SelectArea">
|
||||
<arg type="i" direction="out" name="x"/>
|
||||
<arg type="i" direction="out" name="y"/>
|
||||
<arg type="i" direction="out" name="width"/>
|
||||
<arg type="i" direction="out" name="height"/>
|
||||
</method>
|
||||
<method name="FlashArea">
|
||||
<arg type="i" direction="in" name="x"/>
|
||||
<arg type="i" direction="in" name="y"/>
|
||||
<arg type="i" direction="in" name="width"/>
|
||||
<arg type="i" direction="in" name="height"/>
|
||||
</method>
|
||||
<method name="PickColor">
|
||||
<arg type="a{sv}" direction="out" name="result"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var ScreenshotService = new Lang.Class({
|
||||
Name: 'ScreenshotService',
|
||||
|
@@ -68,19 +68,20 @@ function waitLeisure() {
|
||||
return callback => { cb = callback; };
|
||||
}
|
||||
|
||||
const PerfHelperIface = '<node> \
|
||||
<interface name="org.gnome.Shell.PerfHelper"> \
|
||||
<method name="CreateWindow"> \
|
||||
<arg type="i" direction="in" /> \
|
||||
<arg type="i" direction="in" /> \
|
||||
<arg type="b" direction="in" /> \
|
||||
<arg type="b" direction="in" /> \
|
||||
<arg type="b" direction="in" /> \
|
||||
</method> \
|
||||
<method name="WaitWindows" /> \
|
||||
<method name="DestroyWindows" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const PerfHelperIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.PerfHelper">
|
||||
<method name="CreateWindow">
|
||||
<arg type="i" direction="in" />
|
||||
<arg type="i" direction="in" />
|
||||
<arg type="b" direction="in" />
|
||||
<arg type="b" direction="in" />
|
||||
<arg type="b" direction="in" />
|
||||
</method>
|
||||
<method name="WaitWindows" />
|
||||
<method name="DestroyWindows" />
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var PerfHelperProxy = Gio.DBusProxy.makeProxyWrapper(PerfHelperIface);
|
||||
function PerfHelper() {
|
||||
|
@@ -14,70 +14,72 @@ const Main = imports.ui.main;
|
||||
const Screenshot = imports.ui.screenshot;
|
||||
const ViewSelector = imports.ui.viewSelector;
|
||||
|
||||
const GnomeShellIface = '<node> \
|
||||
<interface name="org.gnome.Shell"> \
|
||||
<method name="Eval"> \
|
||||
<arg type="s" direction="in" name="script" /> \
|
||||
<arg type="b" direction="out" name="success" /> \
|
||||
<arg type="s" direction="out" name="result" /> \
|
||||
</method> \
|
||||
<method name="FocusSearch"/> \
|
||||
<method name="ShowOSD"> \
|
||||
<arg type="a{sv}" direction="in" name="params"/> \
|
||||
</method> \
|
||||
<method name="ShowMonitorLabels"> \
|
||||
<arg type="a{uv}" direction="in" name="params" /> \
|
||||
</method> \
|
||||
<method name="ShowMonitorLabels2"> \
|
||||
<arg type="a{sv}" direction="in" name="params" /> \
|
||||
</method> \
|
||||
<method name="HideMonitorLabels" /> \
|
||||
<method name="FocusApp"> \
|
||||
<arg type="s" direction="in" name="id"/> \
|
||||
</method> \
|
||||
<method name="ShowApplications" /> \
|
||||
<method name="GrabAccelerator"> \
|
||||
<arg type="s" direction="in" name="accelerator"/> \
|
||||
<arg type="u" direction="in" name="flags"/> \
|
||||
<arg type="u" direction="out" name="action"/> \
|
||||
</method> \
|
||||
<method name="GrabAccelerators"> \
|
||||
<arg type="a(su)" direction="in" name="accelerators"/> \
|
||||
<arg type="au" direction="out" name="actions"/> \
|
||||
</method> \
|
||||
<method name="UngrabAccelerator"> \
|
||||
<arg type="u" direction="in" name="action"/> \
|
||||
<arg type="b" direction="out" name="success"/> \
|
||||
</method> \
|
||||
<signal name="AcceleratorActivated"> \
|
||||
<arg name="action" type="u" /> \
|
||||
<arg name="parameters" type="a{sv}" /> \
|
||||
</signal> \
|
||||
<property name="Mode" type="s" access="read" /> \
|
||||
<property name="OverviewActive" type="b" access="readwrite" /> \
|
||||
<property name="ShellVersion" type="s" access="read" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const GnomeShellIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell">
|
||||
<method name="Eval">
|
||||
<arg type="s" direction="in" name="script" />
|
||||
<arg type="b" direction="out" name="success" />
|
||||
<arg type="s" direction="out" name="result" />
|
||||
</method>
|
||||
<method name="FocusSearch"/>
|
||||
<method name="ShowOSD">
|
||||
<arg type="a{sv}" direction="in" name="params"/>
|
||||
</method>
|
||||
<method name="ShowMonitorLabels">
|
||||
<arg type="a{uv}" direction="in" name="params" />
|
||||
</method>
|
||||
<method name="ShowMonitorLabels2">
|
||||
<arg type="a{sv}" direction="in" name="params" />
|
||||
</method>
|
||||
<method name="HideMonitorLabels" />
|
||||
<method name="FocusApp">
|
||||
<arg type="s" direction="in" name="id"/>
|
||||
</method>
|
||||
<method name="ShowApplications" />
|
||||
<method name="GrabAccelerator">
|
||||
<arg type="s" direction="in" name="accelerator"/>
|
||||
<arg type="u" direction="in" name="flags"/>
|
||||
<arg type="u" direction="out" name="action"/>
|
||||
</method>
|
||||
<method name="GrabAccelerators">
|
||||
<arg type="a(su)" direction="in" name="accelerators"/>
|
||||
<arg type="au" direction="out" name="actions"/>
|
||||
</method>
|
||||
<method name="UngrabAccelerator">
|
||||
<arg type="u" direction="in" name="action"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
</method>
|
||||
<signal name="AcceleratorActivated">
|
||||
<arg name="action" type="u" />
|
||||
<arg name="parameters" type="a{sv}" />
|
||||
</signal>
|
||||
<property name="Mode" type="s" access="read" />
|
||||
<property name="OverviewActive" type="b" access="readwrite" />
|
||||
<property name="ShellVersion" type="s" access="read" />
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const ScreenSaverIface = '<node> \
|
||||
<interface name="org.gnome.ScreenSaver"> \
|
||||
<method name="Lock"> \
|
||||
</method> \
|
||||
<method name="GetActive"> \
|
||||
<arg name="active" direction="out" type="b" /> \
|
||||
</method> \
|
||||
<method name="SetActive"> \
|
||||
<arg name="value" direction="in" type="b" /> \
|
||||
</method> \
|
||||
<method name="GetActiveTime"> \
|
||||
<arg name="value" direction="out" type="u" /> \
|
||||
</method> \
|
||||
<signal name="ActiveChanged"> \
|
||||
<arg name="new_value" type="b" /> \
|
||||
</signal> \
|
||||
<signal name="WakeUpScreen" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const ScreenSaverIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.ScreenSaver">
|
||||
<method name="Lock">
|
||||
</method>
|
||||
<method name="GetActive">
|
||||
<arg name="active" direction="out" type="b" />
|
||||
</method>
|
||||
<method name="SetActive">
|
||||
<arg name="value" direction="in" type="b" />
|
||||
</method>
|
||||
<method name="GetActiveTime">
|
||||
<arg name="value" direction="out" type="u" />
|
||||
</method>
|
||||
<signal name="ActiveChanged">
|
||||
<arg name="new_value" type="b" />
|
||||
</signal>
|
||||
<signal name="WakeUpScreen" />
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var GnomeShell = new Lang.Class({
|
||||
Name: 'GnomeShellDBus',
|
||||
@@ -293,43 +295,44 @@ var GnomeShell = new Lang.Class({
|
||||
ShellVersion: Config.PACKAGE_VERSION
|
||||
});
|
||||
|
||||
const GnomeShellExtensionsIface = '<node> \
|
||||
<interface name="org.gnome.Shell.Extensions"> \
|
||||
<method name="ListExtensions"> \
|
||||
<arg type="a{sa{sv}}" direction="out" name="extensions" /> \
|
||||
</method> \
|
||||
<method name="GetExtensionInfo"> \
|
||||
<arg type="s" direction="in" name="extension" /> \
|
||||
<arg type="a{sv}" direction="out" name="info" /> \
|
||||
</method> \
|
||||
<method name="GetExtensionErrors"> \
|
||||
<arg type="s" direction="in" name="extension" /> \
|
||||
<arg type="as" direction="out" name="errors" /> \
|
||||
</method> \
|
||||
<signal name="ExtensionStatusChanged"> \
|
||||
<arg type="s" name="uuid"/> \
|
||||
<arg type="i" name="state"/> \
|
||||
<arg type="s" name="error"/> \
|
||||
</signal> \
|
||||
<method name="InstallRemoteExtension"> \
|
||||
<arg type="s" direction="in" name="uuid"/> \
|
||||
<arg type="s" direction="out" name="result"/> \
|
||||
</method> \
|
||||
<method name="UninstallExtension"> \
|
||||
<arg type="s" direction="in" name="uuid"/> \
|
||||
<arg type="b" direction="out" name="success"/> \
|
||||
</method> \
|
||||
<method name="LaunchExtensionPrefs"> \
|
||||
<arg type="s" direction="in" name="uuid"/> \
|
||||
</method> \
|
||||
<method name="ReloadExtension"> \
|
||||
<arg type="s" direction="in" name="uuid"/> \
|
||||
</method> \
|
||||
<method name="CheckForUpdates"> \
|
||||
</method> \
|
||||
<property name="ShellVersion" type="s" access="read" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const GnomeShellExtensionsIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.Extensions">
|
||||
<method name="ListExtensions">
|
||||
<arg type="a{sa{sv}}" direction="out" name="extensions" />
|
||||
</method>
|
||||
<method name="GetExtensionInfo">
|
||||
<arg type="s" direction="in" name="extension" />
|
||||
<arg type="a{sv}" direction="out" name="info" />
|
||||
</method>
|
||||
<method name="GetExtensionErrors">
|
||||
<arg type="s" direction="in" name="extension" />
|
||||
<arg type="as" direction="out" name="errors" />
|
||||
</method>
|
||||
<signal name="ExtensionStatusChanged">
|
||||
<arg type="s" name="uuid"/>
|
||||
<arg type="i" name="state"/>
|
||||
<arg type="s" name="error"/>
|
||||
</signal>
|
||||
<method name="InstallRemoteExtension">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
<arg type="s" direction="out" name="result"/>
|
||||
</method>
|
||||
<method name="UninstallExtension">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
</method>
|
||||
<method name="LaunchExtensionPrefs">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
</method>
|
||||
<method name="ReloadExtension">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
</method>
|
||||
<method name="CheckForUpdates">
|
||||
</method>
|
||||
<property name="ShellVersion" type="s" access="read" />
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var GnomeShellExtensions = new Lang.Class({
|
||||
Name: 'GnomeShellExtensionsDBus',
|
||||
|
@@ -436,38 +436,39 @@ var ShellProcessesDialog = new Lang.Class({
|
||||
});
|
||||
Signals.addSignalMethods(ShellProcessesDialog.prototype);
|
||||
|
||||
const GnomeShellMountOpIface = '<node> \
|
||||
<interface name="org.Gtk.MountOperationHandler"> \
|
||||
<method name="AskPassword"> \
|
||||
<arg type="s" direction="in" name="object_id"/> \
|
||||
<arg type="s" direction="in" name="message"/> \
|
||||
<arg type="s" direction="in" name="icon_name"/> \
|
||||
<arg type="s" direction="in" name="default_user"/> \
|
||||
<arg type="s" direction="in" name="default_domain"/> \
|
||||
<arg type="u" direction="in" name="flags"/> \
|
||||
<arg type="u" direction="out" name="response"/> \
|
||||
<arg type="a{sv}" direction="out" name="response_details"/> \
|
||||
</method> \
|
||||
<method name="AskQuestion"> \
|
||||
<arg type="s" direction="in" name="object_id"/> \
|
||||
<arg type="s" direction="in" name="message"/> \
|
||||
<arg type="s" direction="in" name="icon_name"/> \
|
||||
<arg type="as" direction="in" name="choices"/> \
|
||||
<arg type="u" direction="out" name="response"/> \
|
||||
<arg type="a{sv}" direction="out" name="response_details"/> \
|
||||
</method> \
|
||||
<method name="ShowProcesses"> \
|
||||
<arg type="s" direction="in" name="object_id"/> \
|
||||
<arg type="s" direction="in" name="message"/> \
|
||||
<arg type="s" direction="in" name="icon_name"/> \
|
||||
<arg type="ai" direction="in" name="application_pids"/> \
|
||||
<arg type="as" direction="in" name="choices"/> \
|
||||
<arg type="u" direction="out" name="response"/> \
|
||||
<arg type="a{sv}" direction="out" name="response_details"/> \
|
||||
</method> \
|
||||
<method name="Close"/> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const GnomeShellMountOpIface = `
|
||||
<node>
|
||||
<interface name="org.Gtk.MountOperationHandler">
|
||||
<method name="AskPassword">
|
||||
<arg type="s" direction="in" name="object_id"/>
|
||||
<arg type="s" direction="in" name="message"/>
|
||||
<arg type="s" direction="in" name="icon_name"/>
|
||||
<arg type="s" direction="in" name="default_user"/>
|
||||
<arg type="s" direction="in" name="default_domain"/>
|
||||
<arg type="u" direction="in" name="flags"/>
|
||||
<arg type="u" direction="out" name="response"/>
|
||||
<arg type="a{sv}" direction="out" name="response_details"/>
|
||||
</method>
|
||||
<method name="AskQuestion">
|
||||
<arg type="s" direction="in" name="object_id"/>
|
||||
<arg type="s" direction="in" name="message"/>
|
||||
<arg type="s" direction="in" name="icon_name"/>
|
||||
<arg type="as" direction="in" name="choices"/>
|
||||
<arg type="u" direction="out" name="response"/>
|
||||
<arg type="a{sv}" direction="out" name="response_details"/>
|
||||
</method>
|
||||
<method name="ShowProcesses">
|
||||
<arg type="s" direction="in" name="object_id"/>
|
||||
<arg type="s" direction="in" name="message"/>
|
||||
<arg type="s" direction="in" name="icon_name"/>
|
||||
<arg type="ai" direction="in" name="application_pids"/>
|
||||
<arg type="as" direction="in" name="choices"/>
|
||||
<arg type="u" direction="out" name="response"/>
|
||||
<arg type="a{sv}" direction="out" name="response_details"/>
|
||||
</method>
|
||||
<method name="Close"/>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var ShellMountOperationType = {
|
||||
NONE: 0,
|
||||
|
@@ -11,13 +11,14 @@ const PopupMenu = imports.ui.popupMenu;
|
||||
const BUS_NAME = 'org.gnome.SettingsDaemon.Rfkill';
|
||||
const OBJECT_PATH = '/org/gnome/SettingsDaemon/Rfkill';
|
||||
|
||||
const RfkillManagerInterface = '<node> \
|
||||
<interface name="org.gnome.SettingsDaemon.Rfkill"> \
|
||||
<property name="BluetoothAirplaneMode" type="b" access="readwrite" /> \
|
||||
<property name="BluetoothHasAirplaneMode" type="b" access="read" /> \
|
||||
<property name="BluetoothHardwareAirplaneMode" type="b" access="readwrite" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const RfkillManagerInterface = `
|
||||
<node>
|
||||
<interface name="org.gnome.SettingsDaemon.Rfkill">
|
||||
<property name="BluetoothAirplaneMode" type="b" access="readwrite" />
|
||||
<property name="BluetoothHasAirplaneMode" type="b" access="read" />
|
||||
<property name="BluetoothHardwareAirplaneMode" type="b" access="readwrite" />
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const RfkillManagerProxy = Gio.DBusProxy.makeProxyWrapper(RfkillManagerInterface);
|
||||
|
||||
|
@@ -11,11 +11,12 @@ const Slider = imports.ui.slider;
|
||||
const BUS_NAME = 'org.gnome.SettingsDaemon.Power';
|
||||
const OBJECT_PATH = '/org/gnome/SettingsDaemon/Power';
|
||||
|
||||
const BrightnessInterface = '<node> \
|
||||
<interface name="org.gnome.SettingsDaemon.Power.Screen"> \
|
||||
<property name="Brightness" type="i" access="readwrite"/> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const BrightnessInterface = `
|
||||
<node>
|
||||
<interface name="org.gnome.SettingsDaemon.Power.Screen">
|
||||
<property name="Brightness" type="i" access="readwrite"/>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const BrightnessProxy = Gio.DBusProxy.makeProxyWrapper(BrightnessInterface);
|
||||
|
||||
|
@@ -40,29 +40,31 @@ function accuracyLevelToString(accuracyLevel) {
|
||||
return 'NONE';
|
||||
}
|
||||
|
||||
var GeoclueIface = '<node> \
|
||||
<interface name="org.freedesktop.GeoClue2.Manager"> \
|
||||
<property name="InUse" type="b" access="read"/> \
|
||||
<property name="AvailableAccuracyLevel" type="u" access="read"/> \
|
||||
<method name="AddAgent"> \
|
||||
<arg name="id" type="s" direction="in"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
var GeoclueIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.GeoClue2.Manager">
|
||||
<property name="InUse" type="b" access="read"/>
|
||||
<property name="AvailableAccuracyLevel" type="u" access="read"/>
|
||||
<method name="AddAgent">
|
||||
<arg name="id" type="s" direction="in"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const GeoclueManager = Gio.DBusProxy.makeProxyWrapper(GeoclueIface);
|
||||
|
||||
var AgentIface = '<node> \
|
||||
<interface name="org.freedesktop.GeoClue2.Agent"> \
|
||||
<property name="MaxAccuracyLevel" type="u" access="read"/> \
|
||||
<method name="AuthorizeApp"> \
|
||||
<arg name="desktop_id" type="s" direction="in"/> \
|
||||
<arg name="req_accuracy_level" type="u" direction="in"/> \
|
||||
<arg name="authorized" type="b" direction="out"/> \
|
||||
<arg name="allowed_accuracy_level" type="u" direction="out"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
var AgentIface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.GeoClue2.Agent">
|
||||
<property name="MaxAccuracyLevel" type="u" access="read"/>
|
||||
<method name="AuthorizeApp">
|
||||
<arg name="desktop_id" type="s" direction="in"/>
|
||||
<arg name="req_accuracy_level" type="u" direction="in"/>
|
||||
<arg name="authorized" type="b" direction="out"/>
|
||||
<arg name="allowed_accuracy_level" type="u" direction="out"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
var Indicator = new Lang.Class({
|
||||
Name: 'LocationIndicator',
|
||||
|
@@ -51,25 +51,26 @@ var PortalHelperResult = {
|
||||
RECHECK: 2
|
||||
};
|
||||
|
||||
const PortalHelperIface = '<node> \
|
||||
<interface name="org.gnome.Shell.PortalHelper"> \
|
||||
<method name="Authenticate"> \
|
||||
<arg type="o" direction="in" name="connection" /> \
|
||||
<arg type="s" direction="in" name="url" /> \
|
||||
<arg type="u" direction="in" name="timestamp" /> \
|
||||
</method> \
|
||||
<method name="Close"> \
|
||||
<arg type="o" direction="in" name="connection" /> \
|
||||
</method> \
|
||||
<method name="Refresh"> \
|
||||
<arg type="o" direction="in" name="connection" /> \
|
||||
</method> \
|
||||
<signal name="Done"> \
|
||||
<arg type="o" name="connection" /> \
|
||||
<arg type="u" name="result" /> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const PortalHelperIface = `
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.PortalHelper">
|
||||
<method name="Authenticate">
|
||||
<arg type="o" direction="in" name="connection" />
|
||||
<arg type="s" direction="in" name="url" />
|
||||
<arg type="u" direction="in" name="timestamp" />
|
||||
</method>
|
||||
<method name="Close">
|
||||
<arg type="o" direction="in" name="connection" />
|
||||
</method>
|
||||
<method name="Refresh">
|
||||
<arg type="o" direction="in" name="connection" />
|
||||
</method>
|
||||
<signal name="Done">
|
||||
<arg type="o" name="connection" />
|
||||
<arg type="u" name="result" />
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
const PortalHelperProxy = Gio.DBusProxy.makeProxyWrapper(PortalHelperIface);
|
||||
|
||||
function signalToIcon(value) {
|
||||
|
@@ -10,12 +10,13 @@ const PopupMenu = imports.ui.popupMenu;
|
||||
const BUS_NAME = 'org.gnome.SettingsDaemon.Color';
|
||||
const OBJECT_PATH = '/org/gnome/SettingsDaemon/Color';
|
||||
|
||||
const ColorInterface = '<node> \
|
||||
<interface name="org.gnome.SettingsDaemon.Color"> \
|
||||
<property name="DisabledUntilTomorrow" type="b" access="readwrite"/> \
|
||||
<property name="NightLightActive" type="b" access="read"/> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const ColorInterface = `
|
||||
<node>
|
||||
<interface name="org.gnome.SettingsDaemon.Color">
|
||||
<property name="DisabledUntilTomorrow" type="b" access="readwrite"/>
|
||||
<property name="NightLightActive" type="b" access="read"/>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const ColorProxy = Gio.DBusProxy.makeProxyWrapper(ColorInterface);
|
||||
|
||||
|
@@ -13,17 +13,18 @@ const PopupMenu = imports.ui.popupMenu;
|
||||
const BUS_NAME = 'org.freedesktop.UPower';
|
||||
const OBJECT_PATH = '/org/freedesktop/UPower/devices/DisplayDevice';
|
||||
|
||||
const DisplayDeviceInterface = '<node> \
|
||||
<interface name="org.freedesktop.UPower.Device"> \
|
||||
<property name="Type" type="u" access="read"/> \
|
||||
<property name="State" type="u" access="read"/> \
|
||||
<property name="Percentage" type="d" access="read"/> \
|
||||
<property name="TimeToEmpty" type="x" access="read"/> \
|
||||
<property name="TimeToFull" type="x" access="read"/> \
|
||||
<property name="IsPresent" type="b" access="read"/> \
|
||||
<property name="IconName" type="s" access="read"/> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const DisplayDeviceInterface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.UPower.Device">
|
||||
<property name="Type" type="u" access="read"/>
|
||||
<property name="State" type="u" access="read"/>
|
||||
<property name="Percentage" type="d" access="read"/>
|
||||
<property name="TimeToEmpty" type="x" access="read"/>
|
||||
<property name="TimeToFull" type="x" access="read"/>
|
||||
<property name="IsPresent" type="b" access="read"/>
|
||||
<property name="IconName" type="s" access="read"/>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(DisplayDeviceInterface);
|
||||
|
||||
|
@@ -11,13 +11,14 @@ const PopupMenu = imports.ui.popupMenu;
|
||||
const BUS_NAME = 'org.gnome.SettingsDaemon.Rfkill';
|
||||
const OBJECT_PATH = '/org/gnome/SettingsDaemon/Rfkill';
|
||||
|
||||
const RfkillManagerInterface = '<node> \
|
||||
<interface name="org.gnome.SettingsDaemon.Rfkill"> \
|
||||
<property name="AirplaneMode" type="b" access="readwrite" /> \
|
||||
<property name="HardwareAirplaneMode" type="b" access="read" /> \
|
||||
<property name="ShouldShowAirplaneMode" type="b" access="read" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const RfkillManagerInterface = `
|
||||
<node>
|
||||
<interface name="org.gnome.SettingsDaemon.Rfkill">
|
||||
<property name="AirplaneMode" type="b" access="readwrite" />
|
||||
<property name="HardwareAirplaneMode" type="b" access="read" />
|
||||
<property name="ShouldShowAirplaneMode" type="b" access="read" />
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const RfkillManagerProxy = Gio.DBusProxy.makeProxyWrapper(RfkillManagerInterface);
|
||||
|
||||
|
@@ -14,40 +14,42 @@ const PanelMenu = imports.ui.panelMenu;
|
||||
|
||||
/* Keep in sync with data/org.freedesktop.bolt.xml */
|
||||
|
||||
const BoltClientInterface = '<node> \
|
||||
<interface name="org.freedesktop.bolt1.Manager"> \
|
||||
<property name="Probing" type="b" access="read"></property> \
|
||||
<property name="AuthMode" type="s" access="readwrite"></property> \
|
||||
<method name="EnrollDevice"> \
|
||||
<arg type="s" name="uid" direction="in"> </arg> \
|
||||
<arg type="s" name="policy" direction="in"> </arg> \
|
||||
<arg type="s" name="flags" direction="in"> </arg> \
|
||||
<arg name="device" direction="out" type="o"> </arg> \
|
||||
</method> \
|
||||
<signal name="DeviceAdded"> \
|
||||
<arg name="device" type="o"> </arg> \
|
||||
</signal> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const BoltClientInterface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.bolt1.Manager">
|
||||
<property name="Probing" type="b" access="read"></property>
|
||||
<property name="AuthMode" type="s" access="readwrite"></property>
|
||||
<method name="EnrollDevice">
|
||||
<arg type="s" name="uid" direction="in"> </arg>
|
||||
<arg type="s" name="policy" direction="in"> </arg>
|
||||
<arg type="s" name="flags" direction="in"> </arg>
|
||||
<arg name="device" direction="out" type="o"> </arg>
|
||||
</method>
|
||||
<signal name="DeviceAdded">
|
||||
<arg name="device" type="o"> </arg>
|
||||
</signal>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const BoltDeviceInterface = '<node> \
|
||||
<interface name="org.freedesktop.bolt1.Device"> \
|
||||
<property name="Uid" type="s" access="read"></property> \
|
||||
<property name="Name" type="s" access="read"></property> \
|
||||
<property name="Vendor" type="s" access="read"></property> \
|
||||
<property name="Type" type="s" access="read"></property> \
|
||||
<property name="Status" type="s" access="read"></property> \
|
||||
<property name="Parent" type="s" access="read"></property> \
|
||||
<property name="SysfsPath" type="s" access="read"></property> \
|
||||
<property name="Stored" type="b" access="read"></property> \
|
||||
<property name="Policy" type="s" access="read"></property> \
|
||||
<property name="Key" type="s" access="read"></property> \
|
||||
<property name="Label" type="s" access="read"></property> \
|
||||
<property name="ConnectTime" type="t" access="read"></property> \
|
||||
<property name="AuthorizeTime" type="t" access="read"></property> \
|
||||
<property name="StoreTime" type="t" access="read"></property> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const BoltDeviceInterface = `
|
||||
<node>
|
||||
<interface name="org.freedesktop.bolt1.Device">
|
||||
<property name="Uid" type="s" access="read"></property>
|
||||
<property name="Name" type="s" access="read"></property>
|
||||
<property name="Vendor" type="s" access="read"></property>
|
||||
<property name="Type" type="s" access="read"></property>
|
||||
<property name="Status" type="s" access="read"></property>
|
||||
<property name="Parent" type="s" access="read"></property>
|
||||
<property name="SysfsPath" type="s" access="read"></property>
|
||||
<property name="Stored" type="b" access="read"></property>
|
||||
<property name="Policy" type="s" access="read"></property>
|
||||
<property name="Key" type="s" access="read"></property>
|
||||
<property name="Label" type="s" access="read"></property>
|
||||
<property name="ConnectTime" type="t" access="read"></property>
|
||||
<property name="AuthorizeTime" type="t" access="read"></property>
|
||||
<property name="StoreTime" type="t" access="read"></property>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const BoltDeviceProxy = Gio.DBusProxy.makeProxyWrapper(BoltDeviceInterface);
|
||||
|
||||
|
@@ -42,19 +42,20 @@ var ONE_SECOND = 1000; // in ms
|
||||
const GSD_WACOM_BUS_NAME = 'org.gnome.SettingsDaemon.Wacom';
|
||||
const GSD_WACOM_OBJECT_PATH = '/org/gnome/SettingsDaemon/Wacom';
|
||||
|
||||
const GsdWacomIface = '<node name="/org/gnome/SettingsDaemon/Wacom"> \
|
||||
<interface name="org.gnome.SettingsDaemon.Wacom"> \
|
||||
<method name="SetGroupModeLED"> \
|
||||
<arg name="device_path" direction="in" type="s"/> \
|
||||
<arg name="group" direction="in" type="u"/> \
|
||||
<arg name="mode" direction="in" type="u"/> \
|
||||
</method> \
|
||||
<method name="SetOLEDLabels"> \
|
||||
<arg name="device_path" direction="in" type="s"/> \
|
||||
<arg name="labels" direction="in" type="as"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
const GsdWacomIface = `
|
||||
<node name="/org/gnome/SettingsDaemon/Wacom">
|
||||
<interface name="org.gnome.SettingsDaemon.Wacom">
|
||||
<method name="SetGroupModeLED">
|
||||
<arg name="device_path" direction="in" type="s"/>
|
||||
<arg name="group" direction="in" type="u"/>
|
||||
<arg name="mode" direction="in" type="u"/>
|
||||
</method>
|
||||
<method name="SetOLEDLabels">
|
||||
<arg name="device_path" direction="in" type="s"/>
|
||||
<arg name="labels" direction="in" type="as"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>`;
|
||||
|
||||
const GsdWacomProxy = Gio.DBusProxy.makeProxyWrapper(GsdWacomIface);
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
project('gnome-shell', 'c',
|
||||
version: '3.29.91',
|
||||
version: '3.30.0',
|
||||
meson_version: '>= 0.47.0',
|
||||
license: 'GPLv2+'
|
||||
)
|
||||
@@ -23,7 +23,7 @@ gi_req = '>= 1.49.1'
|
||||
gjs_req = '>= 1.47.0'
|
||||
gtk_req = '>= 3.15.0'
|
||||
json_glib_req = '>= 0.13.2'
|
||||
mutter_req = '>= 3.29.91'
|
||||
mutter_req = '>= 3.30.0'
|
||||
polkit_req = '>= 0.100'
|
||||
schemas_req = '>= 3.27.90'
|
||||
startup_req = '>= 0.11'
|
||||
|
160
po/id.po
160
po/id.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2018-04-13 19:54+0000\n"
|
||||
"PO-Revision-Date: 2018-04-23 13:41+0700\n"
|
||||
"POT-Creation-Date: 2018-07-24 18:34+0000\n"
|
||||
"PO-Revision-Date: 2018-07-25 16:01+0700\n"
|
||||
"Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\n"
|
||||
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
|
||||
"Language: id\n"
|
||||
@@ -360,20 +360,20 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Masuk"
|
||||
|
||||
#: js/gdm/loginDialog.js:315
|
||||
#: js/gdm/loginDialog.js:319
|
||||
msgid "Choose Session"
|
||||
msgstr "Pilih Sesi"
|
||||
|
||||
#. translators: this message is shown below the user list on the
|
||||
#. login screen. It can be activated to reveal an entry for
|
||||
#. manually entering the username.
|
||||
#: js/gdm/loginDialog.js:458
|
||||
#: js/gdm/loginDialog.js:462
|
||||
msgid "Not listed?"
|
||||
msgstr "Tak masuk daftar?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: js/gdm/loginDialog.js:887
|
||||
#: js/gdm/loginDialog.js:891
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(cth., pengguna dari %s)"
|
||||
@@ -381,12 +381,12 @@ msgstr "(cth., pengguna dari %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:892 js/ui/components/networkAgent.js:243
|
||||
#: js/gdm/loginDialog.js:896 js/ui/components/networkAgent.js:243
|
||||
#: js/ui/components/networkAgent.js:261
|
||||
msgid "Username: "
|
||||
msgstr "Nama pengguna: "
|
||||
|
||||
#: js/gdm/loginDialog.js:1228
|
||||
#: js/gdm/loginDialog.js:1234
|
||||
msgid "Login Window"
|
||||
msgstr "Jendela Log Masuk"
|
||||
|
||||
@@ -399,7 +399,7 @@ msgstr "Galat otentikasi"
|
||||
#. as a cue to display our own message.
|
||||
#. Translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: js/gdm/util.js:482
|
||||
#: js/gdm/util.js:485
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(atau gesekkan jari)"
|
||||
|
||||
@@ -634,23 +634,23 @@ msgstr "Sering"
|
||||
msgid "All"
|
||||
msgstr "Semua"
|
||||
|
||||
#: js/ui/appDisplay.js:1886
|
||||
#: js/ui/appDisplay.js:1890
|
||||
msgid "New Window"
|
||||
msgstr "Jendela Baru"
|
||||
|
||||
#: js/ui/appDisplay.js:1900
|
||||
#: js/ui/appDisplay.js:1904
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Luncurkan menggunakan Kartu Grafis Terdedikasi"
|
||||
|
||||
#: js/ui/appDisplay.js:1927 js/ui/dash.js:285
|
||||
#: js/ui/appDisplay.js:1931 js/ui/dash.js:285
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Hapus dari Favorit"
|
||||
|
||||
#: js/ui/appDisplay.js:1933
|
||||
#: js/ui/appDisplay.js:1937
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Tambah ke Favorit"
|
||||
|
||||
#: js/ui/appDisplay.js:1943
|
||||
#: js/ui/appDisplay.js:1947
|
||||
msgid "Show Details"
|
||||
msgstr "Tampilkan Rincian"
|
||||
|
||||
@@ -797,35 +797,35 @@ msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Sepanjang Hari"
|
||||
|
||||
#: js/ui/calendar.js:864
|
||||
#: js/ui/calendar.js:866
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d %B"
|
||||
|
||||
#: js/ui/calendar.js:868
|
||||
#: js/ui/calendar.js:870
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d %B %Y"
|
||||
|
||||
#: js/ui/calendar.js:1086
|
||||
#: js/ui/calendar.js:1100
|
||||
msgid "No Notifications"
|
||||
msgstr "Tak Ada Pemberitahuan"
|
||||
|
||||
#: js/ui/calendar.js:1089
|
||||
#: js/ui/calendar.js:1103
|
||||
msgid "No Events"
|
||||
msgstr "Tak Ada Kejadian"
|
||||
|
||||
#: js/ui/calendar.js:1117
|
||||
#: js/ui/calendar.js:1131
|
||||
msgid "Clear All"
|
||||
msgstr "Bersihkan Semua"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: js/ui/closeDialog.js:44
|
||||
#: js/ui/closeDialog.js:47
|
||||
#, javascript-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "\"%s\" tidak merespon."
|
||||
|
||||
#: js/ui/closeDialog.js:45
|
||||
#: js/ui/closeDialog.js:48
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -833,11 +833,11 @@ msgstr ""
|
||||
"Anda dapat memilih untuk menunggu sebentar untuk melanjutkan atau memaksa "
|
||||
"aplikasi keluar."
|
||||
|
||||
#: js/ui/closeDialog.js:61
|
||||
#: js/ui/closeDialog.js:64
|
||||
msgid "Force Quit"
|
||||
msgstr "Tutup Paksa"
|
||||
|
||||
#: js/ui/closeDialog.js:64
|
||||
#: js/ui/closeDialog.js:67
|
||||
msgid "Wait"
|
||||
msgstr "Tunggu"
|
||||
|
||||
@@ -854,7 +854,7 @@ msgstr "Drive eksternal terputus"
|
||||
msgid "Open with %s"
|
||||
msgstr "Buka dengan %s"
|
||||
|
||||
#: js/ui/components/keyring.js:107 js/ui/components/polkitAgent.js:295
|
||||
#: js/ui/components/keyring.js:107 js/ui/components/polkitAgent.js:297
|
||||
msgid "Password:"
|
||||
msgstr "Sandi:"
|
||||
|
||||
@@ -891,11 +891,11 @@ msgstr "Sandi kunci privat: "
|
||||
msgid "Service: "
|
||||
msgstr "Layanan: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:292 js/ui/components/networkAgent.js:659
|
||||
#: js/ui/components/networkAgent.js:292 js/ui/components/networkAgent.js:664
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Otentikasi diperlukan oleh jaringan nirkabel"
|
||||
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/networkAgent.js:660
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/networkAgent.js:665
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -904,7 +904,7 @@ msgstr ""
|
||||
"Sandi atau kunci enkripsi diperlukan untuk mengakses jaringan nirkabel \"%s"
|
||||
"\"."
|
||||
|
||||
#: js/ui/components/networkAgent.js:297 js/ui/components/networkAgent.js:663
|
||||
#: js/ui/components/networkAgent.js:297 js/ui/components/networkAgent.js:668
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Otentikasi 802.1X kabel"
|
||||
|
||||
@@ -912,15 +912,15 @@ msgstr "Otentikasi 802.1X kabel"
|
||||
msgid "Network name: "
|
||||
msgstr "Nama jaringan: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:304 js/ui/components/networkAgent.js:667
|
||||
#: js/ui/components/networkAgent.js:304 js/ui/components/networkAgent.js:672
|
||||
msgid "DSL authentication"
|
||||
msgstr "Otentikasi DSL"
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:673
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:678
|
||||
msgid "PIN code required"
|
||||
msgstr "Perlu kode PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:312 js/ui/components/networkAgent.js:674
|
||||
#: js/ui/components/networkAgent.js:312 js/ui/components/networkAgent.js:679
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Kode PIN diperlukan untuk perangkat data seluler"
|
||||
|
||||
@@ -928,17 +928,17 @@ msgstr "Kode PIN diperlukan untuk perangkat data seluler"
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:680
|
||||
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:685
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Sandi jaringan data seluler"
|
||||
|
||||
#: js/ui/components/networkAgent.js:321 js/ui/components/networkAgent.js:664
|
||||
#: js/ui/components/networkAgent.js:668 js/ui/components/networkAgent.js:681
|
||||
#: js/ui/components/networkAgent.js:321 js/ui/components/networkAgent.js:669
|
||||
#: js/ui/components/networkAgent.js:673 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Perlu suatu sandi untuk menyambung ke \"%s\"."
|
||||
|
||||
#: js/ui/components/networkAgent.js:648 js/ui/status/network.js:1691
|
||||
#: js/ui/components/networkAgent.js:653 js/ui/status/network.js:1704
|
||||
msgid "Network Manager"
|
||||
msgstr "Manajer Jaringan"
|
||||
|
||||
@@ -958,7 +958,7 @@ msgstr "Otentikasi"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: js/ui/components/polkitAgent.js:281 js/ui/shellMountOperation.js:327
|
||||
#: js/ui/components/polkitAgent.js:283 js/ui/shellMountOperation.js:327
|
||||
msgid "Sorry, that didn’t work. Please try again."
|
||||
msgstr "Maaf, tidak berhasil. Silakan coba lagi."
|
||||
|
||||
@@ -1281,13 +1281,13 @@ msgid "Leave On"
|
||||
msgstr "Biarkan Menyala"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:59 js/ui/status/bluetooth.js:143
|
||||
#: js/ui/status/network.js:1281
|
||||
#: js/ui/status/network.js:1294
|
||||
msgid "Turn On"
|
||||
msgstr "Nyalakan"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:67 js/ui/status/bluetooth.js:143
|
||||
#: js/ui/status/network.js:154 js/ui/status/network.js:337
|
||||
#: js/ui/status/network.js:1281 js/ui/status/network.js:1396
|
||||
#: js/ui/status/network.js:1294 js/ui/status/network.js:1409
|
||||
#: js/ui/status/nightLight.js:47 js/ui/status/rfkill.js:90
|
||||
#: js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
@@ -1349,7 +1349,7 @@ msgstr "Tilik Sumber"
|
||||
msgid "Web Page"
|
||||
msgstr "Halaman Web"
|
||||
|
||||
#: js/ui/messageTray.js:1493
|
||||
#: js/ui/messageTray.js:1495
|
||||
msgid "System Information"
|
||||
msgstr "Informasi Sistem"
|
||||
|
||||
@@ -1423,22 +1423,22 @@ msgstr "Tekan Esc untuk keluar"
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Tekan tombol apa saja untuk keluar"
|
||||
|
||||
#: js/ui/panel.js:355
|
||||
#: js/ui/panel.js:356
|
||||
msgid "Quit"
|
||||
msgstr "Keluar"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: js/ui/panel.js:411
|
||||
#: js/ui/panel.js:412
|
||||
msgid "Activities"
|
||||
msgstr "Aktivitas"
|
||||
|
||||
#: js/ui/panel.js:692
|
||||
#: js/ui/panel.js:693
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Sistem"
|
||||
|
||||
#: js/ui/panel.js:811
|
||||
#: js/ui/panel.js:816
|
||||
msgid "Top Bar"
|
||||
msgstr "Bar Atas"
|
||||
|
||||
@@ -1448,7 +1448,7 @@ msgstr "Bar Atas"
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: js/ui/popupMenu.js:291
|
||||
#: js/ui/popupMenu.js:300
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@@ -1456,15 +1456,15 @@ msgstr "toggle-switch-intl"
|
||||
msgid "Enter a Command"
|
||||
msgstr "Ketikkan Perintah"
|
||||
|
||||
#: js/ui/runDialog.js:110 js/ui/windowMenu.js:175
|
||||
#: js/ui/runDialog.js:110 js/ui/windowMenu.js:174
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
|
||||
#: js/ui/runDialog.js:273
|
||||
#: js/ui/runDialog.js:274
|
||||
msgid "Restart is not available on Wayland"
|
||||
msgstr "Memulai ulang tidak tersedia di Wayland"
|
||||
|
||||
#: js/ui/runDialog.js:278
|
||||
#: js/ui/runDialog.js:279
|
||||
msgid "Restarting…"
|
||||
msgstr "Memulai ulang..."
|
||||
|
||||
@@ -1665,7 +1665,7 @@ msgid "<unknown>"
|
||||
msgstr "<tak dikenal>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:441 js/ui/status/network.js:1310
|
||||
#: js/ui/status/network.js:441 js/ui/status/network.js:1323
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s Mati"
|
||||
@@ -1691,7 +1691,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "%s Memutus"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:459 js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:459 js/ui/status/network.js:1315
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s Menyambung"
|
||||
@@ -1731,7 +1731,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Pengaturan Data Seluler"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:578 js/ui/status/network.js:1307
|
||||
#: js/ui/status/network.js:578 js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s Perangkat Keras Dinonaktifkan"
|
||||
@@ -1787,78 +1787,78 @@ msgstr "Tiada Jaringan"
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Pakai saklar perangkat keras untuk mematikan"
|
||||
|
||||
#: js/ui/status/network.js:1173
|
||||
#: js/ui/status/network.js:1186
|
||||
msgid "Select Network"
|
||||
msgstr "Pilih Jaringan"
|
||||
|
||||
#: js/ui/status/network.js:1179
|
||||
#: js/ui/status/network.js:1192
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Pengaturan Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1298
|
||||
#: js/ui/status/network.js:1311
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s Hotspot Aktif"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1313
|
||||
#: js/ui/status/network.js:1326
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s Tak Tersambung"
|
||||
|
||||
#: js/ui/status/network.js:1413
|
||||
#: js/ui/status/network.js:1426
|
||||
msgid "connecting…"
|
||||
msgstr "menghubungi..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1416
|
||||
#: js/ui/status/network.js:1429
|
||||
msgid "authentication required"
|
||||
msgstr "diperlukan otentikasi"
|
||||
|
||||
#: js/ui/status/network.js:1418
|
||||
#: js/ui/status/network.js:1431
|
||||
msgid "connection failed"
|
||||
msgstr "koneksi gagal"
|
||||
|
||||
#: js/ui/status/network.js:1472
|
||||
#: js/ui/status/network.js:1485
|
||||
msgid "VPN Settings"
|
||||
msgstr "Pengaturan VPN"
|
||||
|
||||
#: js/ui/status/network.js:1485
|
||||
#: js/ui/status/network.js:1498
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1495
|
||||
#: js/ui/status/network.js:1508
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN Mati"
|
||||
|
||||
#: js/ui/status/network.js:1559 js/ui/status/rfkill.js:93
|
||||
#: js/ui/status/network.js:1572 js/ui/status/rfkill.js:93
|
||||
msgid "Network Settings"
|
||||
msgstr "Pengaturan Jaringan"
|
||||
|
||||
#: js/ui/status/network.js:1588
|
||||
#: js/ui/status/network.js:1601
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s Koneksi Kabel"
|
||||
|
||||
#: js/ui/status/network.js:1592
|
||||
#: js/ui/status/network.js:1605
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s Koneksi Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:1596
|
||||
#: js/ui/status/network.js:1609
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s Koneksi Modem"
|
||||
|
||||
#: js/ui/status/network.js:1728
|
||||
#: js/ui/status/network.js:1741
|
||||
msgid "Connection failed"
|
||||
msgstr "Koneksi gagal"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1742
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivasi koneksi jaringan gagal"
|
||||
|
||||
@@ -1909,6 +1909,14 @@ msgstr "%d:%02d Sampai Penuh (%d%%)"
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
msgid "Screen is Being Shared"
|
||||
msgstr "Layar Sedang Dibagi"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:47
|
||||
msgid "Turn off"
|
||||
msgstr "Matikan"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
#. changing the menu contents.
|
||||
@@ -1940,16 +1948,16 @@ msgstr "Suspensi"
|
||||
msgid "Power Off"
|
||||
msgstr "Matikan"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:294
|
||||
#: js/ui/status/thunderbolt.js:298
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#. we are done
|
||||
#: js/ui/status/thunderbolt.js:350
|
||||
#: js/ui/status/thunderbolt.js:354
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Perangkat Thunderbolt tak dikenal"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:351
|
||||
#: js/ui/status/thunderbolt.js:355
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -1957,11 +1965,11 @@ msgstr ""
|
||||
"Perangkat baru telah terdeteksi saat Anda pergi. Harap lepaskan dan "
|
||||
"sambungkan kembali perangkat untuk mulai menggunakannya."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:356
|
||||
#: js/ui/status/thunderbolt.js:360
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Autorisasi Thunderbolt galat"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:357
|
||||
#: js/ui/status/thunderbolt.js:361
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Tidak dapat mengautorisasi perangkat Thunderbolt: %s"
|
||||
@@ -2046,7 +2054,7 @@ msgstr[0] "Perubahan tatanan akan dikembalikan dalam %d detik"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:660
|
||||
#: js/ui/windowManager.js:668
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2099,19 +2107,19 @@ msgstr "Pindah ke Ruang Kerja Atas"
|
||||
msgid "Move to Workspace Down"
|
||||
msgstr "Pindah ke Ruang Kerja Bawah"
|
||||
|
||||
#: js/ui/windowMenu.js:140
|
||||
#: js/ui/windowMenu.js:139
|
||||
msgid "Move to Monitor Up"
|
||||
msgstr "Pindah ke Ruang Kerja Atas"
|
||||
|
||||
#: js/ui/windowMenu.js:149
|
||||
#: js/ui/windowMenu.js:148
|
||||
msgid "Move to Monitor Down"
|
||||
msgstr "Pindah ke Ruang Kerja Bawah"
|
||||
|
||||
#: js/ui/windowMenu.js:158
|
||||
#: js/ui/windowMenu.js:157
|
||||
msgid "Move to Monitor Left"
|
||||
msgstr "Pindahkan ke Monitor Kiri"
|
||||
|
||||
#: js/ui/windowMenu.js:167
|
||||
#: js/ui/windowMenu.js:166
|
||||
msgid "Move to Monitor Right"
|
||||
msgstr "Pindahkan ke Monitor Kanan"
|
||||
|
||||
@@ -2140,12 +2148,12 @@ msgstr "Menggunakan mode tertentu, mis. \"gdm\" untuk layar masuk"
|
||||
msgid "List possible modes"
|
||||
msgstr "Menampilkan mode yang mungkin"
|
||||
|
||||
#: src/shell-app.c:270
|
||||
#: src/shell-app.c:272
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Tak dikenal"
|
||||
|
||||
#: src/shell-app.c:511
|
||||
#: src/shell-app.c:523
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Gagal meluncurkan \"%s\""
|
||||
|
315
po/ko.po
315
po/ko.po
@@ -14,13 +14,14 @@
|
||||
# - VPN: 가상사설망
|
||||
# - pairing (bluetooth 관련): 페어링
|
||||
# - Wayland: 웨일랜드로 음역
|
||||
# - Night Light: 야간 모드 (gnome-control-center와 일치)
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2018-02-22 09:24+0000\n"
|
||||
"PO-Revision-Date: 2018-02-25 09:21+0900\n"
|
||||
"POT-Creation-Date: 2018-08-01 18:08+0000\n"
|
||||
"PO-Revision-Date: 2018-08-26 15:05+0900\n"
|
||||
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
|
||||
"Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n"
|
||||
"Language: ko\n"
|
||||
@@ -283,32 +284,32 @@ msgstr ""
|
||||
"참이면, 현재 작업 공간에 창이 있는 창만 창 전환 창에 표시합니다. 거짓이면 모"
|
||||
"든 창을 표시합니다."
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:197
|
||||
#: data/org.gnome.shell.gschema.xml.in:198
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "상위 창에 모달 대화창 붙이기"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:198
|
||||
#: data/org.gnome.shell.gschema.xml.in:207
|
||||
#: data/org.gnome.shell.gschema.xml.in:215
|
||||
#: data/org.gnome.shell.gschema.xml.in:223
|
||||
#: data/org.gnome.shell.gschema.xml.in:231
|
||||
#: data/org.gnome.shell.gschema.xml.in:199
|
||||
#: data/org.gnome.shell.gschema.xml.in:208
|
||||
#: data/org.gnome.shell.gschema.xml.in:216
|
||||
#: data/org.gnome.shell.gschema.xml.in:224
|
||||
#: data/org.gnome.shell.gschema.xml.in:232
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr "그놈 셸을 실행할 때 org.gnome.mutter의 키 대신 사용됩니다."
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:206
|
||||
#: data/org.gnome.shell.gschema.xml.in:207
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "화면 가장자리에 창을 놓을 때 가장자리에 맞춥니다"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:214
|
||||
#: data/org.gnome.shell.gschema.xml.in:215
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "작업 공간을 동적으로 관리"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:222
|
||||
#: data/org.gnome.shell.gschema.xml.in:223
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "주 모니터에서만 작업 공간 사용"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:230
|
||||
#: data/org.gnome.shell.gschema.xml.in:231
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "마우스 포인터가 움직이지 않을 때까지 포커스 전환을 미루기"
|
||||
|
||||
@@ -327,7 +328,7 @@ msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "%s에 대한 기본 설정 대화상자를 불러오는데 오류가 발생했습니다:"
|
||||
|
||||
#: js/gdm/authPrompt.js:147 js/ui/audioDeviceSelection.js:71
|
||||
#: js/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||
#: js/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:153
|
||||
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
||||
#: js/ui/shellMountOperation.js:343 js/ui/status/network.js:919
|
||||
msgid "Cancel"
|
||||
@@ -347,20 +348,20 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "로그인"
|
||||
|
||||
#: js/gdm/loginDialog.js:315
|
||||
#: js/gdm/loginDialog.js:319
|
||||
msgid "Choose Session"
|
||||
msgstr "세션 선택"
|
||||
|
||||
#. translators: this message is shown below the user list on the
|
||||
#. login screen. It can be activated to reveal an entry for
|
||||
#. manually entering the username.
|
||||
#: js/gdm/loginDialog.js:458
|
||||
#: js/gdm/loginDialog.js:462
|
||||
msgid "Not listed?"
|
||||
msgstr "목록에 없습니까?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: js/gdm/loginDialog.js:887
|
||||
#: js/gdm/loginDialog.js:891
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(예를 들어, 사용자 또는 %s)"
|
||||
@@ -368,12 +369,12 @@ msgstr "(예를 들어, 사용자 또는 %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:892 js/ui/components/networkAgent.js:243
|
||||
#: js/gdm/loginDialog.js:896 js/ui/components/networkAgent.js:243
|
||||
#: js/ui/components/networkAgent.js:261
|
||||
msgid "Username: "
|
||||
msgstr "사용자 이름: "
|
||||
|
||||
#: js/gdm/loginDialog.js:1228
|
||||
#: js/gdm/loginDialog.js:1234
|
||||
msgid "Login Window"
|
||||
msgstr "로그인 창"
|
||||
|
||||
@@ -386,7 +387,7 @@ msgstr "인증 오류"
|
||||
#. as a cue to display our own message.
|
||||
#. Translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: js/gdm/util.js:482
|
||||
#: js/gdm/util.js:485
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(또는 지문을 문지르십시오)"
|
||||
|
||||
@@ -621,33 +622,33 @@ msgstr "자주"
|
||||
msgid "All"
|
||||
msgstr "모두"
|
||||
|
||||
#: js/ui/appDisplay.js:1886
|
||||
#: js/ui/appDisplay.js:1890
|
||||
msgid "New Window"
|
||||
msgstr "새 창"
|
||||
|
||||
#: js/ui/appDisplay.js:1900
|
||||
#: js/ui/appDisplay.js:1904
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "지정한 그래픽 카드를 사용해 시작"
|
||||
|
||||
#: js/ui/appDisplay.js:1927 js/ui/dash.js:285
|
||||
#: js/ui/appDisplay.js:1931 js/ui/dash.js:285
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "즐겨찾기에서 제거"
|
||||
|
||||
#: js/ui/appDisplay.js:1933
|
||||
#: js/ui/appDisplay.js:1937
|
||||
msgid "Add to Favorites"
|
||||
msgstr "즐겨찾기에 추가"
|
||||
|
||||
# 주의: "Show ..." 형태지만 보이기로 번역하지 않는다
|
||||
#: js/ui/appDisplay.js:1943
|
||||
#: js/ui/appDisplay.js:1947
|
||||
msgid "Show Details"
|
||||
msgstr "자세히 보기"
|
||||
|
||||
#: js/ui/appFavorites.js:138
|
||||
#: js/ui/appFavorites.js:140
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s 프로그램을 즐겨찾기에 추가했습니다."
|
||||
|
||||
#: js/ui/appFavorites.js:172
|
||||
#: js/ui/appFavorites.js:174
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s 프로그램을 즐겨찾기에서 제거했습니다."
|
||||
@@ -668,7 +669,7 @@ msgstr "헤드폰"
|
||||
msgid "Headset"
|
||||
msgstr "헤드셋"
|
||||
|
||||
#: js/ui/audioDeviceSelection.js:82 js/ui/status/volume.js:221
|
||||
#: js/ui/audioDeviceSelection.js:82 js/ui/status/volume.js:255
|
||||
msgid "Microphone"
|
||||
msgstr "마이크"
|
||||
|
||||
@@ -680,7 +681,7 @@ msgstr "배경 바꾸기…"
|
||||
msgid "Display Settings"
|
||||
msgstr "디스플레이 설정"
|
||||
|
||||
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:264
|
||||
#: js/ui/backgroundMenu.js:22
|
||||
msgid "Settings"
|
||||
msgstr "설정"
|
||||
|
||||
@@ -785,46 +786,46 @@ msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "종일"
|
||||
|
||||
#: js/ui/calendar.js:864
|
||||
#: js/ui/calendar.js:866
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%B %d일 %A"
|
||||
|
||||
#: js/ui/calendar.js:868
|
||||
#: js/ui/calendar.js:870
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%Y년 %B %d일 %A"
|
||||
|
||||
#: js/ui/calendar.js:1086
|
||||
#: js/ui/calendar.js:1100
|
||||
msgid "No Notifications"
|
||||
msgstr "알림 없음"
|
||||
|
||||
#: js/ui/calendar.js:1089
|
||||
#: js/ui/calendar.js:1103
|
||||
msgid "No Events"
|
||||
msgstr "행사 없음"
|
||||
|
||||
#: js/ui/calendar.js:1117
|
||||
#: js/ui/calendar.js:1131
|
||||
msgid "Clear All"
|
||||
msgstr "모두 지우기"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: js/ui/closeDialog.js:44
|
||||
#: js/ui/closeDialog.js:47
|
||||
#, javascript-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "“%s” 프로그램이 응답하지 않습니다."
|
||||
|
||||
#: js/ui/closeDialog.js:45
|
||||
#: js/ui/closeDialog.js:48
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
msgstr ""
|
||||
"좀 더 기다려서 계속 할 수도 있고, 강제로 프로그램을 끝낼 수도 있습니다."
|
||||
|
||||
#: js/ui/closeDialog.js:61
|
||||
#: js/ui/closeDialog.js:64
|
||||
msgid "Force Quit"
|
||||
msgstr "강제로 끝내기"
|
||||
|
||||
#: js/ui/closeDialog.js:64
|
||||
#: js/ui/closeDialog.js:67
|
||||
msgid "Wait"
|
||||
msgstr "기다리기"
|
||||
|
||||
@@ -841,7 +842,7 @@ msgstr "외부 드라이브 연결 끊김"
|
||||
msgid "Open with %s"
|
||||
msgstr "%s 프로그램으로 열기"
|
||||
|
||||
#: js/ui/components/keyring.js:107 js/ui/components/polkitAgent.js:284
|
||||
#: js/ui/components/keyring.js:107 js/ui/components/polkitAgent.js:297
|
||||
msgid "Password:"
|
||||
msgstr "암호:"
|
||||
|
||||
@@ -878,18 +879,18 @@ msgstr "개인 키 암호: "
|
||||
msgid "Service: "
|
||||
msgstr "서비스: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:292 js/ui/components/networkAgent.js:659
|
||||
#: js/ui/components/networkAgent.js:292 js/ui/components/networkAgent.js:664
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "무선 네트워크에서 인증이 필요합니다"
|
||||
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/networkAgent.js:660
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/networkAgent.js:665
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
msgstr "“%s” 무선 네트워크에 연결하려면 암호 또는 암호화 키가 필요합니다."
|
||||
|
||||
#: js/ui/components/networkAgent.js:297 js/ui/components/networkAgent.js:663
|
||||
#: js/ui/components/networkAgent.js:297 js/ui/components/networkAgent.js:668
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "유선 802.1X 인증"
|
||||
|
||||
@@ -897,15 +898,15 @@ msgstr "유선 802.1X 인증"
|
||||
msgid "Network name: "
|
||||
msgstr "네트워크 이름: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:304 js/ui/components/networkAgent.js:667
|
||||
#: js/ui/components/networkAgent.js:304 js/ui/components/networkAgent.js:672
|
||||
msgid "DSL authentication"
|
||||
msgstr "인증이 필요합니다"
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:673
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:678
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN 코드가 필요합니다"
|
||||
|
||||
#: js/ui/components/networkAgent.js:312 js/ui/components/networkAgent.js:674
|
||||
#: js/ui/components/networkAgent.js:312 js/ui/components/networkAgent.js:679
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "휴대전화 네트워크 장치를 사용하려면 PIN 코드가 필요합니다"
|
||||
|
||||
@@ -913,29 +914,29 @@ msgstr "휴대전화 네트워크 장치를 사용하려면 PIN 코드가 필요
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:680
|
||||
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:685
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "휴대전화 네트워크 암호"
|
||||
|
||||
#: js/ui/components/networkAgent.js:321 js/ui/components/networkAgent.js:664
|
||||
#: js/ui/components/networkAgent.js:668 js/ui/components/networkAgent.js:681
|
||||
#: js/ui/components/networkAgent.js:321 js/ui/components/networkAgent.js:669
|
||||
#: js/ui/components/networkAgent.js:673 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "“%s”에 연결하려면 암호가 필요합니다."
|
||||
|
||||
#: js/ui/components/networkAgent.js:648 js/ui/status/network.js:1691
|
||||
#: js/ui/components/networkAgent.js:653 js/ui/status/network.js:1704
|
||||
msgid "Network Manager"
|
||||
msgstr "네트워크 관리"
|
||||
|
||||
#: js/ui/components/polkitAgent.js:43
|
||||
#: js/ui/components/polkitAgent.js:48
|
||||
msgid "Authentication Required"
|
||||
msgstr "인증이 필요합니다"
|
||||
|
||||
#: js/ui/components/polkitAgent.js:71
|
||||
#: js/ui/components/polkitAgent.js:76
|
||||
msgid "Administrator"
|
||||
msgstr "관리자"
|
||||
|
||||
#: js/ui/components/polkitAgent.js:151
|
||||
#: js/ui/components/polkitAgent.js:156
|
||||
msgid "Authenticate"
|
||||
msgstr "인증"
|
||||
|
||||
@@ -943,7 +944,7 @@ msgstr "인증"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: js/ui/components/polkitAgent.js:270 js/ui/shellMountOperation.js:327
|
||||
#: js/ui/components/polkitAgent.js:283 js/ui/shellMountOperation.js:327
|
||||
msgid "Sorry, that didn’t work. Please try again."
|
||||
msgstr "죄송합니다. 동작하지 않았습니다. 다시 시도하십시오."
|
||||
|
||||
@@ -991,7 +992,7 @@ msgstr "세계 시계 추가…"
|
||||
msgid "World Clocks"
|
||||
msgstr "세계 시계"
|
||||
|
||||
#: js/ui/dateMenu.js:225
|
||||
#: js/ui/dateMenu.js:227
|
||||
msgid "Weather"
|
||||
msgstr "날씨"
|
||||
|
||||
@@ -999,7 +1000,7 @@ msgstr "날씨"
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:289
|
||||
#: js/ui/dateMenu.js:291
|
||||
#, javascript-format
|
||||
msgid "%s all day."
|
||||
msgstr "하루 종일 %s."
|
||||
@@ -1008,7 +1009,7 @@ msgstr "하루 종일 %s."
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:295
|
||||
#: js/ui/dateMenu.js:297
|
||||
#, javascript-format
|
||||
msgid "%s, then %s later."
|
||||
msgstr "%s, 그리고 나중에 %s."
|
||||
@@ -1017,30 +1018,30 @@ msgstr "%s, 그리고 나중에 %s."
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:301
|
||||
#: js/ui/dateMenu.js:303
|
||||
#, javascript-format
|
||||
msgid "%s, then %s, followed by %s later."
|
||||
msgstr "%s, 그리고 %s, 또 나중에 %s."
|
||||
|
||||
#: js/ui/dateMenu.js:312
|
||||
#: js/ui/dateMenu.js:314
|
||||
msgid "Select a location…"
|
||||
msgstr "위치를 선택하십시오…"
|
||||
|
||||
#: js/ui/dateMenu.js:315
|
||||
#: js/ui/dateMenu.js:317
|
||||
msgid "Loading…"
|
||||
msgstr "읽어들이는 중…"
|
||||
|
||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
||||
#: js/ui/dateMenu.js:321
|
||||
#: js/ui/dateMenu.js:323
|
||||
#, javascript-format
|
||||
msgid "Feels like %s."
|
||||
msgstr "체감 온도 %s."
|
||||
|
||||
#: js/ui/dateMenu.js:324
|
||||
#: js/ui/dateMenu.js:326
|
||||
msgid "Go online for weather information"
|
||||
msgstr "날씨 정보를 온라인으로 가져옵니다"
|
||||
|
||||
#: js/ui/dateMenu.js:326
|
||||
#: js/ui/dateMenu.js:328
|
||||
msgid "Weather information is currently unavailable"
|
||||
msgstr "날씨 정보를 현재 사용할 수 없습니다"
|
||||
|
||||
@@ -1228,7 +1229,9 @@ msgstr "느린 키 끔"
|
||||
msgid ""
|
||||
"You just held down the Shift key for 8 seconds. This is the shortcut for the "
|
||||
"Slow Keys feature, which affects the way your keyboard works."
|
||||
msgstr "Shift 키를 8초 동안 누르고 있었습니다. 느린 키 기능의 바로 가기이고, 이렇게 하면 키보드 동작이 달라집니다."
|
||||
msgstr ""
|
||||
"Shift 키를 8초 동안 누르고 있었습니다. 느린 키 기능의 바로 가기이고, 이렇게 "
|
||||
"하면 키보드 동작이 달라집니다."
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:42
|
||||
msgid "Sticky Keys Turned On"
|
||||
@@ -1260,13 +1263,13 @@ msgid "Leave On"
|
||||
msgstr "계속 유지"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:59 js/ui/status/bluetooth.js:143
|
||||
#: js/ui/status/network.js:1281
|
||||
#: js/ui/status/network.js:1294
|
||||
msgid "Turn On"
|
||||
msgstr "켜기"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:67 js/ui/status/bluetooth.js:143
|
||||
#: js/ui/status/network.js:154 js/ui/status/network.js:337
|
||||
#: js/ui/status/network.js:1281 js/ui/status/network.js:1396
|
||||
#: js/ui/status/network.js:1294 js/ui/status/network.js:1409
|
||||
#: js/ui/status/nightLight.js:47 js/ui/status/rfkill.js:90
|
||||
#: js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
@@ -1328,7 +1331,7 @@ msgstr "소스 보기"
|
||||
msgid "Web Page"
|
||||
msgstr "웹페이지"
|
||||
|
||||
#: js/ui/messageTray.js:1493
|
||||
#: js/ui/messageTray.js:1495
|
||||
msgid "System Information"
|
||||
msgstr "시스템 정보"
|
||||
|
||||
@@ -1340,6 +1343,11 @@ msgstr "알 수 없는 음악가"
|
||||
msgid "Unknown title"
|
||||
msgstr "알 수 없는 제목"
|
||||
|
||||
# 오디오 볼륨
|
||||
#: js/ui/osdWindow.js:32 js/ui/status/volume.js:204
|
||||
msgid "Volume"
|
||||
msgstr "볼륨"
|
||||
|
||||
#: js/ui/overview.js:83
|
||||
msgid "Undo"
|
||||
msgstr "실행 취소"
|
||||
@@ -1382,42 +1390,42 @@ msgstr "키 누르기 지정"
|
||||
msgid "Done"
|
||||
msgstr "마침"
|
||||
|
||||
#: js/ui/padOsd.js:740
|
||||
#: js/ui/padOsd.js:742
|
||||
msgid "Edit…"
|
||||
msgstr "편집…"
|
||||
|
||||
#: js/ui/padOsd.js:782 js/ui/padOsd.js:887
|
||||
#: js/ui/padOsd.js:784 js/ui/padOsd.js:889
|
||||
msgid "None"
|
||||
msgstr "없음"
|
||||
|
||||
#: js/ui/padOsd.js:841
|
||||
#: js/ui/padOsd.js:843
|
||||
msgid "Press a button to configure"
|
||||
msgstr "설정하려면 단추를 누르십시오"
|
||||
|
||||
#: js/ui/padOsd.js:842
|
||||
#: js/ui/padOsd.js:844
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "나가려면 Esc를 누르십시오"
|
||||
|
||||
#: js/ui/padOsd.js:845
|
||||
#: js/ui/padOsd.js:847
|
||||
msgid "Press any key to exit"
|
||||
msgstr "나가려면 아무 키나 누르십시오"
|
||||
|
||||
#: js/ui/panel.js:355
|
||||
#: js/ui/panel.js:356
|
||||
msgid "Quit"
|
||||
msgstr "끝내기"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: js/ui/panel.js:411
|
||||
#: js/ui/panel.js:412
|
||||
msgid "Activities"
|
||||
msgstr "현재 활동"
|
||||
|
||||
#: js/ui/panel.js:692
|
||||
#: js/ui/panel.js:693
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "시스템"
|
||||
|
||||
#: js/ui/panel.js:811
|
||||
#: js/ui/panel.js:816
|
||||
msgid "Top Bar"
|
||||
msgstr "위 막대"
|
||||
|
||||
@@ -1426,23 +1434,23 @@ msgstr "위 막대"
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: js/ui/popupMenu.js:291
|
||||
#: js/ui/popupMenu.js:300
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: js/ui/runDialog.js:70
|
||||
#: js/ui/runDialog.js:74
|
||||
msgid "Enter a Command"
|
||||
msgstr "명령을 입력하십시오"
|
||||
|
||||
#: js/ui/runDialog.js:110 js/ui/windowMenu.js:175
|
||||
#: js/ui/runDialog.js:114 js/ui/windowMenu.js:174
|
||||
msgid "Close"
|
||||
msgstr "닫기"
|
||||
|
||||
#: js/ui/runDialog.js:273
|
||||
#: js/ui/runDialog.js:278
|
||||
msgid "Restart is not available on Wayland"
|
||||
msgstr "웨일랜드에서는 다시 시작 기능을 사용할 수 없습니다"
|
||||
|
||||
#: js/ui/runDialog.js:278
|
||||
#: js/ui/runDialog.js:283
|
||||
msgid "Restarting…"
|
||||
msgstr "다시 시작하는 중…"
|
||||
|
||||
@@ -1464,7 +1472,7 @@ msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "새 알림 %d개"
|
||||
|
||||
#: js/ui/screenShield.js:451 js/ui/status/system.js:283
|
||||
#: js/ui/screenShield.js:451 js/ui/status/system.js:294
|
||||
msgid "Lock"
|
||||
msgstr "잠그기"
|
||||
|
||||
@@ -1643,7 +1651,7 @@ msgid "<unknown>"
|
||||
msgstr "<알 수 없음>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:441 js/ui/status/network.js:1310
|
||||
#: js/ui/status/network.js:441 js/ui/status/network.js:1323
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s 꺼짐"
|
||||
@@ -1669,7 +1677,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "%s 연결 끊는 중"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:459 js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:459 js/ui/status/network.js:1315
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s 연결하는 중"
|
||||
@@ -1709,7 +1717,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "휴대전화 네트워크 설정"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:578 js/ui/status/network.js:1307
|
||||
#: js/ui/status/network.js:578 js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s 하드웨어 사용 않음"
|
||||
@@ -1765,88 +1773,88 @@ msgstr "네트워크 없음"
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "끄려면 하드웨어 스위치를 사용하십시오"
|
||||
|
||||
#: js/ui/status/network.js:1173
|
||||
#: js/ui/status/network.js:1186
|
||||
msgid "Select Network"
|
||||
msgstr "네트워크 선택"
|
||||
|
||||
#: js/ui/status/network.js:1179
|
||||
#: js/ui/status/network.js:1192
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "와이파이 설정"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1298
|
||||
#: js/ui/status/network.js:1311
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s 핫스팟 사용 중"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1313
|
||||
#: js/ui/status/network.js:1326
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s 연결되지 않음"
|
||||
|
||||
#: js/ui/status/network.js:1413
|
||||
#: js/ui/status/network.js:1426
|
||||
msgid "connecting…"
|
||||
msgstr "연결하는 중…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1416
|
||||
#: js/ui/status/network.js:1429
|
||||
msgid "authentication required"
|
||||
msgstr "인증 필요"
|
||||
|
||||
#: js/ui/status/network.js:1418
|
||||
#: js/ui/status/network.js:1431
|
||||
msgid "connection failed"
|
||||
msgstr "연결 실패"
|
||||
|
||||
#: js/ui/status/network.js:1472
|
||||
#: js/ui/status/network.js:1485
|
||||
msgid "VPN Settings"
|
||||
msgstr "가상사설망 설정"
|
||||
|
||||
#: js/ui/status/network.js:1485
|
||||
#: js/ui/status/network.js:1498
|
||||
msgid "VPN"
|
||||
msgstr "가상사설망"
|
||||
|
||||
#: js/ui/status/network.js:1495
|
||||
#: js/ui/status/network.js:1508
|
||||
msgid "VPN Off"
|
||||
msgstr "가상사설망 꺼짐"
|
||||
|
||||
#: js/ui/status/network.js:1559 js/ui/status/rfkill.js:93
|
||||
#: js/ui/status/network.js:1572 js/ui/status/rfkill.js:93
|
||||
msgid "Network Settings"
|
||||
msgstr "네트워크 설정"
|
||||
|
||||
#: js/ui/status/network.js:1588
|
||||
#: js/ui/status/network.js:1601
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s 유선 연결"
|
||||
|
||||
#: js/ui/status/network.js:1592
|
||||
#: js/ui/status/network.js:1605
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s 와이파이 연결"
|
||||
|
||||
#: js/ui/status/network.js:1596
|
||||
#: js/ui/status/network.js:1609
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s 모뎀 연결"
|
||||
|
||||
#: js/ui/status/network.js:1728
|
||||
#: js/ui/status/network.js:1741
|
||||
msgid "Connection failed"
|
||||
msgstr "연결이 실패했습니다"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1742
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "네트워크 연결이 실패했습니다"
|
||||
|
||||
#: js/ui/status/nightLight.js:68
|
||||
msgid "Night Light Disabled"
|
||||
msgstr "야간 조명 사용하지 않음"
|
||||
msgstr "야간 모드 사용하지 않음"
|
||||
|
||||
#: js/ui/status/nightLight.js:69
|
||||
msgid "Night Light On"
|
||||
msgstr "야간 조명 켬"
|
||||
msgstr "야간 모드 켬"
|
||||
|
||||
#: js/ui/status/nightLight.js:70
|
||||
msgid "Resume"
|
||||
@@ -1887,6 +1895,14 @@ msgstr "충전까지 %d:%02d(%d %%)"
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:46
|
||||
msgid "Screen is Being Shared"
|
||||
msgstr "화면을 공유하는 중입니다"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:48
|
||||
msgid "Turn off"
|
||||
msgstr "끄기"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
#. changing the menu contents.
|
||||
@@ -1906,28 +1922,28 @@ msgstr "로그아웃"
|
||||
msgid "Account Settings"
|
||||
msgstr "계정 설정"
|
||||
|
||||
#: js/ui/status/system.js:268
|
||||
#: js/ui/status/system.js:279
|
||||
msgid "Orientation Lock"
|
||||
msgstr "방향 잠금"
|
||||
|
||||
#: js/ui/status/system.js:294
|
||||
#: js/ui/status/system.js:305
|
||||
msgid "Suspend"
|
||||
msgstr "절전"
|
||||
|
||||
#: js/ui/status/system.js:304
|
||||
#: js/ui/status/system.js:315
|
||||
msgid "Power Off"
|
||||
msgstr "컴퓨터 끄기"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:272
|
||||
#: js/ui/status/thunderbolt.js:298
|
||||
msgid "Thunderbolt"
|
||||
msgstr "썬더볼트"
|
||||
|
||||
#. we are done
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:354
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "알 수 없는 썬더볼트 장치"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:355
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -1935,25 +1951,20 @@ msgstr ""
|
||||
"자리에 없는 동안 새 장치를 검색했습니다. 이 장치를 사용하려면 장치 연결을 끊"
|
||||
"었다가 다시 연결하십시오."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:334
|
||||
#: js/ui/status/thunderbolt.js:360
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "썬더볼트 권한 오류"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:361
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the thunderbolt device: %s"
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "썬더볼트 장치에 권한을 부여할 수 없습니다: %s"
|
||||
|
||||
# 오디오 볼륨
|
||||
#: js/ui/status/volume.js:128
|
||||
#: js/ui/status/volume.js:135
|
||||
msgid "Volume changed"
|
||||
msgstr "볼륨 바꿈"
|
||||
|
||||
# 오디오 볼륨
|
||||
#: js/ui/status/volume.js:170
|
||||
msgid "Volume"
|
||||
msgstr "볼륨"
|
||||
|
||||
#. Translators: this is for display mirroring i.e. cloning.
|
||||
#. * Try to keep it under around 15 characters.
|
||||
#.
|
||||
@@ -2003,22 +2014,22 @@ msgstr "검색"
|
||||
msgid "“%s” is ready"
|
||||
msgstr "“%s” 프로그램이 준비되었습니다"
|
||||
|
||||
#: js/ui/windowManager.js:72
|
||||
#: js/ui/windowManager.js:74
|
||||
msgid "Do you want to keep these display settings?"
|
||||
msgstr "이 디스플레이 설정을 유지하시겠습니까?"
|
||||
|
||||
#. Translators: this and the following message should be limited in lenght,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#: js/ui/windowManager.js:84
|
||||
#: js/ui/windowManager.js:86
|
||||
msgid "Revert Settings"
|
||||
msgstr "설정 되돌리기"
|
||||
|
||||
#: js/ui/windowManager.js:87
|
||||
#: js/ui/windowManager.js:89
|
||||
msgid "Keep Changes"
|
||||
msgstr "바뀐 사항 유지"
|
||||
|
||||
#: js/ui/windowManager.js:105
|
||||
#: js/ui/windowManager.js:107
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
@@ -2026,7 +2037,7 @@ msgstr[0] "바뀐 설정을 %d초 후에 되돌립니다"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:660
|
||||
#: js/ui/windowManager.js:689
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2079,19 +2090,19 @@ msgstr "위 작업 공간으로 옮기기"
|
||||
msgid "Move to Workspace Down"
|
||||
msgstr "아래 작업 공간으로 옮기기"
|
||||
|
||||
#: js/ui/windowMenu.js:140
|
||||
#: js/ui/windowMenu.js:139
|
||||
msgid "Move to Monitor Up"
|
||||
msgstr "위 모니터로 옮기기"
|
||||
|
||||
#: js/ui/windowMenu.js:149
|
||||
#: js/ui/windowMenu.js:148
|
||||
msgid "Move to Monitor Down"
|
||||
msgstr "아래 모니터로 옮기기"
|
||||
|
||||
#: js/ui/windowMenu.js:158
|
||||
#: js/ui/windowMenu.js:157
|
||||
msgid "Move to Monitor Left"
|
||||
msgstr "왼쪽 모니터로 옮기기"
|
||||
|
||||
#: js/ui/windowMenu.js:167
|
||||
#: js/ui/windowMenu.js:166
|
||||
msgid "Move to Monitor Right"
|
||||
msgstr "오른쪽 모니터로 옮기기"
|
||||
|
||||
@@ -2105,28 +2116,28 @@ msgid "evolution"
|
||||
msgstr "evolution"
|
||||
|
||||
# 커맨드라인 옵션 설명
|
||||
#: src/main.c:432
|
||||
#: src/main.c:410
|
||||
msgid "Print version"
|
||||
msgstr "버전을 표시합니다"
|
||||
|
||||
#: src/main.c:438
|
||||
#: src/main.c:416
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "GDM에서 로그인 화면에 사용할 모드"
|
||||
|
||||
#: src/main.c:444
|
||||
#: src/main.c:422
|
||||
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
||||
msgstr "특정 모드 사용. 예를 들어 로그인 화면에 대해 “gdm”"
|
||||
|
||||
#: src/main.c:450
|
||||
#: src/main.c:428
|
||||
msgid "List possible modes"
|
||||
msgstr "가능한 모드 목록 표시"
|
||||
|
||||
#: src/shell-app.c:270
|
||||
#: src/shell-app.c:272
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "알 수 없음"
|
||||
|
||||
#: src/shell-app.c:511
|
||||
#: src/shell-app.c:523
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "“%s” 실행에 실패했습니다"
|
||||
@@ -2162,45 +2173,3 @@ msgstr[0] "%u개 입력"
|
||||
#: subprojects/gvc/gvc-mixer-control.c:2738
|
||||
msgid "System Sounds"
|
||||
msgstr "시스템 소리"
|
||||
|
||||
#~ msgctxt "search-result"
|
||||
#~ msgid "Power off"
|
||||
#~ msgstr "컴퓨터 끄기"
|
||||
|
||||
#~ msgctxt "search-result"
|
||||
#~ msgid "Log out"
|
||||
#~ msgstr "로그아웃"
|
||||
|
||||
#~ msgctxt "search-result"
|
||||
#~ msgid "Switch user"
|
||||
#~ msgstr "사용자 바꾸기"
|
||||
|
||||
#~ msgid "Hide tray"
|
||||
#~ msgstr "트레이 숨기기"
|
||||
|
||||
#~ msgid "Status Icons"
|
||||
#~ msgstr "상태 아이콘"
|
||||
|
||||
#~ msgid "GNOME Shell Extension Preferences"
|
||||
#~ msgstr "그놈 셸 확장 기본 설정"
|
||||
|
||||
#~ msgid "Web Authentication Redirect"
|
||||
#~ msgstr "웹 인증 리다이렉트"
|
||||
|
||||
#~ msgid "Events"
|
||||
#~ msgstr "행사"
|
||||
|
||||
#~ msgid "Notifications"
|
||||
#~ msgstr "알림"
|
||||
|
||||
#~ msgid "Clear section"
|
||||
#~ msgstr "부분 지우기"
|
||||
|
||||
#~ msgid "Media"
|
||||
#~ msgstr "미디어"
|
||||
|
||||
#~ msgid "Not In Use"
|
||||
#~ msgstr "사용 중 아님"
|
||||
|
||||
#~ msgid "%d x %d"
|
||||
#~ msgstr "%d x %d"
|
||||
|
232
po/sv.po
232
po/sv.po
@@ -11,8 +11,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2018-04-13 19:54+0000\n"
|
||||
"PO-Revision-Date: 2018-05-20 19:24+0200\n"
|
||||
"POT-Creation-Date: 2018-08-01 18:08+0000\n"
|
||||
"PO-Revision-Date: 2018-08-16 01:11+0200\n"
|
||||
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
|
||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||
"Language: sv\n"
|
||||
@@ -20,7 +20,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.0.7\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
|
||||
#: data/50-gnome-shell-system.xml:6
|
||||
msgid "System"
|
||||
@@ -287,33 +287,33 @@ msgstr ""
|
||||
"Om satt till \"true\", visas endast fönster från den aktuella arbetsytan i "
|
||||
"väljaren. I annat fall inkluderas alla fönster."
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:197
|
||||
#: data/org.gnome.shell.gschema.xml.in:198
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Fäst modal dialog till föräldrafönstret"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:198
|
||||
#: data/org.gnome.shell.gschema.xml.in:207
|
||||
#: data/org.gnome.shell.gschema.xml.in:215
|
||||
#: data/org.gnome.shell.gschema.xml.in:223
|
||||
#: data/org.gnome.shell.gschema.xml.in:231
|
||||
#: data/org.gnome.shell.gschema.xml.in:199
|
||||
#: data/org.gnome.shell.gschema.xml.in:208
|
||||
#: data/org.gnome.shell.gschema.xml.in:216
|
||||
#: data/org.gnome.shell.gschema.xml.in:224
|
||||
#: data/org.gnome.shell.gschema.xml.in:232
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Denna nyckel åsidosätter nyckeln i org.gnome.mutter när GNOME-skalet körs."
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:206
|
||||
#: data/org.gnome.shell.gschema.xml.in:207
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Slå på kantdockning när fönster släpps på skärmkanter"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:214
|
||||
#: data/org.gnome.shell.gschema.xml.in:215
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Arbetsytor hanteras dynamiskt"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:222
|
||||
#: data/org.gnome.shell.gschema.xml.in:223
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Arbetsytor endast på primär skärm"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:230
|
||||
#: data/org.gnome.shell.gschema.xml.in:231
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Fördröj fokusändringar i musläge tills pekare slutar röra sig"
|
||||
|
||||
@@ -352,20 +352,20 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Logga in"
|
||||
|
||||
#: js/gdm/loginDialog.js:315
|
||||
#: js/gdm/loginDialog.js:319
|
||||
msgid "Choose Session"
|
||||
msgstr "Välj session"
|
||||
|
||||
#. translators: this message is shown below the user list on the
|
||||
#. login screen. It can be activated to reveal an entry for
|
||||
#. manually entering the username.
|
||||
#: js/gdm/loginDialog.js:458
|
||||
#: js/gdm/loginDialog.js:462
|
||||
msgid "Not listed?"
|
||||
msgstr "Inte listad?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: js/gdm/loginDialog.js:887
|
||||
#: js/gdm/loginDialog.js:891
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(till exempel användare eller %s)"
|
||||
@@ -373,12 +373,12 @@ msgstr "(till exempel användare eller %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:892 js/ui/components/networkAgent.js:243
|
||||
#: js/gdm/loginDialog.js:896 js/ui/components/networkAgent.js:243
|
||||
#: js/ui/components/networkAgent.js:261
|
||||
msgid "Username: "
|
||||
msgstr "Användarnamn: "
|
||||
|
||||
#: js/gdm/loginDialog.js:1228
|
||||
#: js/gdm/loginDialog.js:1234
|
||||
msgid "Login Window"
|
||||
msgstr "Inloggningsfönster"
|
||||
|
||||
@@ -391,7 +391,7 @@ msgstr "Autentiseringsfel"
|
||||
#. as a cue to display our own message.
|
||||
#. Translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: js/gdm/util.js:482
|
||||
#: js/gdm/util.js:485
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(eller dra fingret)"
|
||||
|
||||
@@ -632,23 +632,23 @@ msgstr "Ofta använda"
|
||||
msgid "All"
|
||||
msgstr "Alla"
|
||||
|
||||
#: js/ui/appDisplay.js:1886
|
||||
#: js/ui/appDisplay.js:1890
|
||||
msgid "New Window"
|
||||
msgstr "Nytt fönster"
|
||||
|
||||
#: js/ui/appDisplay.js:1900
|
||||
#: js/ui/appDisplay.js:1904
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Kör med diskret grafikkort"
|
||||
|
||||
#: js/ui/appDisplay.js:1927 js/ui/dash.js:285
|
||||
#: js/ui/appDisplay.js:1931 js/ui/dash.js:285
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Ta bort från favoriter"
|
||||
|
||||
#: js/ui/appDisplay.js:1933
|
||||
#: js/ui/appDisplay.js:1937
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Lägg till som favorit"
|
||||
|
||||
#: js/ui/appDisplay.js:1943
|
||||
#: js/ui/appDisplay.js:1947
|
||||
msgid "Show Details"
|
||||
msgstr "Visa detaljer"
|
||||
|
||||
@@ -678,7 +678,7 @@ msgstr "Hörlurar"
|
||||
msgid "Headset"
|
||||
msgstr "Mikrofonlur"
|
||||
|
||||
#: js/ui/audioDeviceSelection.js:82 js/ui/status/volume.js:221
|
||||
#: js/ui/audioDeviceSelection.js:82 js/ui/status/volume.js:255
|
||||
msgid "Microphone"
|
||||
msgstr "Mikrofon"
|
||||
|
||||
@@ -690,7 +690,7 @@ msgstr "Ändra bakgrund…"
|
||||
msgid "Display Settings"
|
||||
msgstr "Skärminställningar"
|
||||
|
||||
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:264
|
||||
#: js/ui/backgroundMenu.js:22
|
||||
msgid "Settings"
|
||||
msgstr "Inställningar"
|
||||
|
||||
@@ -795,35 +795,35 @@ msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Hela dagen"
|
||||
|
||||
#: js/ui/calendar.js:864
|
||||
#: js/ui/calendar.js:866
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d %B"
|
||||
|
||||
#: js/ui/calendar.js:868
|
||||
#: js/ui/calendar.js:870
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d %B, %Y"
|
||||
|
||||
#: js/ui/calendar.js:1086
|
||||
#: js/ui/calendar.js:1100
|
||||
msgid "No Notifications"
|
||||
msgstr "Inga aviseringar"
|
||||
|
||||
#: js/ui/calendar.js:1089
|
||||
#: js/ui/calendar.js:1103
|
||||
msgid "No Events"
|
||||
msgstr "Inga händelser"
|
||||
|
||||
#: js/ui/calendar.js:1117
|
||||
#: js/ui/calendar.js:1131
|
||||
msgid "Clear All"
|
||||
msgstr "Töm alla"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: js/ui/closeDialog.js:44
|
||||
#: js/ui/closeDialog.js:47
|
||||
#, javascript-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "”%s” svarar inte."
|
||||
|
||||
#: js/ui/closeDialog.js:45
|
||||
#: js/ui/closeDialog.js:48
|
||||
msgid ""
|
||||
"You may choose to wait a short while for it to continue or force the "
|
||||
"application to quit entirely."
|
||||
@@ -831,11 +831,11 @@ msgstr ""
|
||||
"Du kan välja att vänta en kort stund på att det ska fortsätta eller tvinga "
|
||||
"programmet att helt avslutas."
|
||||
|
||||
#: js/ui/closeDialog.js:61
|
||||
#: js/ui/closeDialog.js:64
|
||||
msgid "Force Quit"
|
||||
msgstr "Tvinga avslut"
|
||||
|
||||
#: js/ui/closeDialog.js:64
|
||||
#: js/ui/closeDialog.js:67
|
||||
msgid "Wait"
|
||||
msgstr "Vänta"
|
||||
|
||||
@@ -852,7 +852,7 @@ msgstr "Extern disk frånkopplad"
|
||||
msgid "Open with %s"
|
||||
msgstr "Öppna med %s"
|
||||
|
||||
#: js/ui/components/keyring.js:107 js/ui/components/polkitAgent.js:295
|
||||
#: js/ui/components/keyring.js:107 js/ui/components/polkitAgent.js:297
|
||||
msgid "Password:"
|
||||
msgstr "Lösenord:"
|
||||
|
||||
@@ -889,11 +889,11 @@ msgstr "Lösenord för privat nyckel: "
|
||||
msgid "Service: "
|
||||
msgstr "Tjänst: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:292 js/ui/components/networkAgent.js:659
|
||||
#: js/ui/components/networkAgent.js:292 js/ui/components/networkAgent.js:664
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Autentisering krävs av trådlöst nätverk"
|
||||
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/networkAgent.js:660
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/networkAgent.js:665
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -902,7 +902,7 @@ msgstr ""
|
||||
"Lösenord eller krypteringsnycklar krävs för att komma åt det trådlösa "
|
||||
"nätverket ”%s”."
|
||||
|
||||
#: js/ui/components/networkAgent.js:297 js/ui/components/networkAgent.js:663
|
||||
#: js/ui/components/networkAgent.js:297 js/ui/components/networkAgent.js:668
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Trådbunden 802.1X-autentisering"
|
||||
|
||||
@@ -910,15 +910,15 @@ msgstr "Trådbunden 802.1X-autentisering"
|
||||
msgid "Network name: "
|
||||
msgstr "Nätverksnamn: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:304 js/ui/components/networkAgent.js:667
|
||||
#: js/ui/components/networkAgent.js:304 js/ui/components/networkAgent.js:672
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL-autentisering"
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:673
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:678
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN-kod krävs"
|
||||
|
||||
#: js/ui/components/networkAgent.js:312 js/ui/components/networkAgent.js:674
|
||||
#: js/ui/components/networkAgent.js:312 js/ui/components/networkAgent.js:679
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "PIN-koden krävs för den mobila bredbandsenheten"
|
||||
|
||||
@@ -926,17 +926,17 @@ msgstr "PIN-koden krävs för den mobila bredbandsenheten"
|
||||
msgid "PIN: "
|
||||
msgstr "PIN-kod: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:680
|
||||
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:685
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Lösenord för mobilt bredbandsnätverk"
|
||||
|
||||
#: js/ui/components/networkAgent.js:321 js/ui/components/networkAgent.js:664
|
||||
#: js/ui/components/networkAgent.js:668 js/ui/components/networkAgent.js:681
|
||||
#: js/ui/components/networkAgent.js:321 js/ui/components/networkAgent.js:669
|
||||
#: js/ui/components/networkAgent.js:673 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Ett lösenord krävs för att ansluta till ”%s”."
|
||||
|
||||
#: js/ui/components/networkAgent.js:648 js/ui/status/network.js:1691
|
||||
#: js/ui/components/networkAgent.js:653 js/ui/status/network.js:1704
|
||||
msgid "Network Manager"
|
||||
msgstr "Nätverkshanterare"
|
||||
|
||||
@@ -956,7 +956,7 @@ msgstr "Autentisera"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: js/ui/components/polkitAgent.js:281 js/ui/shellMountOperation.js:327
|
||||
#: js/ui/components/polkitAgent.js:283 js/ui/shellMountOperation.js:327
|
||||
msgid "Sorry, that didn’t work. Please try again."
|
||||
msgstr "Tyvärr, det fungerade inte. Försök igen."
|
||||
|
||||
@@ -1287,13 +1287,13 @@ msgid "Leave On"
|
||||
msgstr "Lämna påslagen"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:59 js/ui/status/bluetooth.js:143
|
||||
#: js/ui/status/network.js:1281
|
||||
#: js/ui/status/network.js:1294
|
||||
msgid "Turn On"
|
||||
msgstr "Slå på"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:67 js/ui/status/bluetooth.js:143
|
||||
#: js/ui/status/network.js:154 js/ui/status/network.js:337
|
||||
#: js/ui/status/network.js:1281 js/ui/status/network.js:1396
|
||||
#: js/ui/status/network.js:1294 js/ui/status/network.js:1409
|
||||
#: js/ui/status/nightLight.js:47 js/ui/status/rfkill.js:90
|
||||
#: js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
@@ -1355,7 +1355,7 @@ msgstr "Visa källa"
|
||||
msgid "Web Page"
|
||||
msgstr "Webbsida"
|
||||
|
||||
#: js/ui/messageTray.js:1493
|
||||
#: js/ui/messageTray.js:1495
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformation"
|
||||
|
||||
@@ -1367,6 +1367,10 @@ msgstr "Okänd artist"
|
||||
msgid "Unknown title"
|
||||
msgstr "Okänd titel"
|
||||
|
||||
#: js/ui/osdWindow.js:32 js/ui/status/volume.js:204
|
||||
msgid "Volume"
|
||||
msgstr "Volym"
|
||||
|
||||
#: js/ui/overview.js:83
|
||||
msgid "Undo"
|
||||
msgstr "Ångra"
|
||||
@@ -1409,42 +1413,42 @@ msgstr "Tilldela tangenttryckning"
|
||||
msgid "Done"
|
||||
msgstr "Färdig"
|
||||
|
||||
#: js/ui/padOsd.js:740
|
||||
#: js/ui/padOsd.js:742
|
||||
msgid "Edit…"
|
||||
msgstr "Redigera…"
|
||||
|
||||
#: js/ui/padOsd.js:782 js/ui/padOsd.js:887
|
||||
#: js/ui/padOsd.js:784 js/ui/padOsd.js:889
|
||||
msgid "None"
|
||||
msgstr "Ingen"
|
||||
|
||||
#: js/ui/padOsd.js:841
|
||||
#: js/ui/padOsd.js:843
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Tryck på en knapp för att konfigurera"
|
||||
|
||||
#: js/ui/padOsd.js:842
|
||||
#: js/ui/padOsd.js:844
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Tryck Esc för att avsluta"
|
||||
|
||||
#: js/ui/padOsd.js:845
|
||||
#: js/ui/padOsd.js:847
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Tryck på valfri tangent för att avsluta"
|
||||
|
||||
#: js/ui/panel.js:355
|
||||
#: js/ui/panel.js:356
|
||||
msgid "Quit"
|
||||
msgstr "Avsluta"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: js/ui/panel.js:411
|
||||
#: js/ui/panel.js:412
|
||||
msgid "Activities"
|
||||
msgstr "Aktiviteter"
|
||||
|
||||
#: js/ui/panel.js:692
|
||||
#: js/ui/panel.js:693
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: js/ui/panel.js:811
|
||||
#: js/ui/panel.js:816
|
||||
msgid "Top Bar"
|
||||
msgstr "Systemrad"
|
||||
|
||||
@@ -1453,23 +1457,23 @@ msgstr "Systemrad"
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: js/ui/popupMenu.js:291
|
||||
#: js/ui/popupMenu.js:300
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: js/ui/runDialog.js:70
|
||||
#: js/ui/runDialog.js:74
|
||||
msgid "Enter a Command"
|
||||
msgstr "Ange ett kommando"
|
||||
|
||||
#: js/ui/runDialog.js:110 js/ui/windowMenu.js:175
|
||||
#: js/ui/runDialog.js:114 js/ui/windowMenu.js:174
|
||||
msgid "Close"
|
||||
msgstr "Stäng"
|
||||
|
||||
#: js/ui/runDialog.js:273
|
||||
#: js/ui/runDialog.js:278
|
||||
msgid "Restart is not available on Wayland"
|
||||
msgstr "Omstart är inte tillgänglig i Wayland"
|
||||
|
||||
#: js/ui/runDialog.js:278
|
||||
#: js/ui/runDialog.js:283
|
||||
msgid "Restarting…"
|
||||
msgstr "Startar om…"
|
||||
|
||||
@@ -1493,7 +1497,7 @@ msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d ny avisering"
|
||||
msgstr[1] "%d nya aviseringar"
|
||||
|
||||
#: js/ui/screenShield.js:451 js/ui/status/system.js:283
|
||||
#: js/ui/screenShield.js:451 js/ui/status/system.js:294
|
||||
msgid "Lock"
|
||||
msgstr "Lås"
|
||||
|
||||
@@ -1674,7 +1678,7 @@ msgid "<unknown>"
|
||||
msgstr "<okänd>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:441 js/ui/status/network.js:1310
|
||||
#: js/ui/status/network.js:441 js/ui/status/network.js:1323
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s avslagen"
|
||||
@@ -1700,7 +1704,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "%s kopplar från"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:459 js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:459 js/ui/status/network.js:1315
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s ansluter"
|
||||
@@ -1740,7 +1744,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Inställningar för mobilt bredband"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:578 js/ui/status/network.js:1307
|
||||
#: js/ui/status/network.js:578 js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "Hårdvara för %s inaktiverad"
|
||||
@@ -1797,81 +1801,81 @@ msgstr "Inga nätverk"
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Använd hårdvarubrytare för att slå av"
|
||||
|
||||
#: js/ui/status/network.js:1173
|
||||
#: js/ui/status/network.js:1186
|
||||
msgid "Select Network"
|
||||
msgstr "Välj nätverk"
|
||||
|
||||
#: js/ui/status/network.js:1179
|
||||
#: js/ui/status/network.js:1192
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Inställningar för trådlösa nätverk"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1298
|
||||
#: js/ui/status/network.js:1311
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Surfzon för %s aktiv"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1313
|
||||
#: js/ui/status/network.js:1326
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s ej ansluten"
|
||||
|
||||
#: js/ui/status/network.js:1413
|
||||
#: js/ui/status/network.js:1426
|
||||
msgid "connecting…"
|
||||
msgstr "ansluter…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1416
|
||||
#: js/ui/status/network.js:1429
|
||||
msgid "authentication required"
|
||||
msgstr "autentisering krävs"
|
||||
|
||||
#: js/ui/status/network.js:1418
|
||||
#: js/ui/status/network.js:1431
|
||||
msgid "connection failed"
|
||||
msgstr "anslutningen misslyckades"
|
||||
|
||||
#: js/ui/status/network.js:1472
|
||||
#: js/ui/status/network.js:1485
|
||||
msgid "VPN Settings"
|
||||
msgstr "VPN-inställningar"
|
||||
|
||||
#: js/ui/status/network.js:1485
|
||||
#: js/ui/status/network.js:1498
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1495
|
||||
#: js/ui/status/network.js:1508
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN avslaget"
|
||||
|
||||
#: js/ui/status/network.js:1559 js/ui/status/rfkill.js:93
|
||||
#: js/ui/status/network.js:1572 js/ui/status/rfkill.js:93
|
||||
msgid "Network Settings"
|
||||
msgstr "Nätverksinställningar"
|
||||
|
||||
#: js/ui/status/network.js:1588
|
||||
#: js/ui/status/network.js:1601
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s trådbunden anslutning"
|
||||
msgstr[1] "%s trådbundna anslutningar"
|
||||
|
||||
#: js/ui/status/network.js:1592
|
||||
#: js/ui/status/network.js:1605
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s trådlös anslutning"
|
||||
msgstr[1] "%s trådlösa anslutningar"
|
||||
|
||||
#: js/ui/status/network.js:1596
|
||||
#: js/ui/status/network.js:1609
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s modemanslutning"
|
||||
msgstr[1] "%s modemanslutningar"
|
||||
|
||||
#: js/ui/status/network.js:1728
|
||||
#: js/ui/status/network.js:1741
|
||||
msgid "Connection failed"
|
||||
msgstr "Anslutningen misslyckades"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1742
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivering av nätverksanslutning misslyckades"
|
||||
|
||||
@@ -1922,6 +1926,14 @@ msgstr "%d∶%02d tills fulladdad (%d %%)"
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:46
|
||||
msgid "Screen is Being Shared"
|
||||
msgstr "Skärmen delas"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:48
|
||||
msgid "Turn off"
|
||||
msgstr "Stäng av"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
#. changing the menu contents.
|
||||
@@ -1941,28 +1953,28 @@ msgstr "Logga ut"
|
||||
msgid "Account Settings"
|
||||
msgstr "Kontoinställningar"
|
||||
|
||||
#: js/ui/status/system.js:268
|
||||
#: js/ui/status/system.js:279
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Skärmrotation"
|
||||
|
||||
#: js/ui/status/system.js:294
|
||||
#: js/ui/status/system.js:305
|
||||
msgid "Suspend"
|
||||
msgstr "Vänteläge"
|
||||
|
||||
#: js/ui/status/system.js:304
|
||||
#: js/ui/status/system.js:315
|
||||
msgid "Power Off"
|
||||
msgstr "Stäng av"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:294
|
||||
#: js/ui/status/thunderbolt.js:298
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#. we are done
|
||||
#: js/ui/status/thunderbolt.js:350
|
||||
#: js/ui/status/thunderbolt.js:354
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Okänd Thunderbolt-enhet"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:351
|
||||
#: js/ui/status/thunderbolt.js:355
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -1970,23 +1982,19 @@ msgstr ""
|
||||
"En ny enhet har upptäckts medan du var borta. Koppla från och anslut enheten "
|
||||
"igen för att börja använda den."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:356
|
||||
#: js/ui/status/thunderbolt.js:360
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Thunderbolt-auktoriseringsfel"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:357
|
||||
#: js/ui/status/thunderbolt.js:361
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Kunde inte auktorisera Thunderbolt-enheten: %s"
|
||||
|
||||
#: js/ui/status/volume.js:128
|
||||
#: js/ui/status/volume.js:135
|
||||
msgid "Volume changed"
|
||||
msgstr "Volymen ändrades"
|
||||
|
||||
#: js/ui/status/volume.js:170
|
||||
msgid "Volume"
|
||||
msgstr "Volym"
|
||||
|
||||
#. Translators: this is for display mirroring i.e. cloning.
|
||||
#. * Try to keep it under around 15 characters.
|
||||
#.
|
||||
@@ -2036,22 +2044,22 @@ msgstr "Sök"
|
||||
msgid "“%s” is ready"
|
||||
msgstr "”%s” är redo"
|
||||
|
||||
#: js/ui/windowManager.js:72
|
||||
#: js/ui/windowManager.js:74
|
||||
msgid "Do you want to keep these display settings?"
|
||||
msgstr "Vill du behålla dessa skärminställningar?"
|
||||
|
||||
#. Translators: this and the following message should be limited in lenght,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#: js/ui/windowManager.js:84
|
||||
#: js/ui/windowManager.js:86
|
||||
msgid "Revert Settings"
|
||||
msgstr "Återställ inställningar"
|
||||
|
||||
#: js/ui/windowManager.js:87
|
||||
#: js/ui/windowManager.js:89
|
||||
msgid "Keep Changes"
|
||||
msgstr "Behåll ändringar"
|
||||
|
||||
#: js/ui/windowManager.js:105
|
||||
#: js/ui/windowManager.js:107
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
@@ -2060,7 +2068,7 @@ msgstr[1] "Inställningarna kommer återställas om %d sekunder"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:660
|
||||
#: js/ui/windowManager.js:689
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2113,19 +2121,19 @@ msgstr "Flytta till arbetsyta ovan"
|
||||
msgid "Move to Workspace Down"
|
||||
msgstr "Flytta till arbetsyta nedan"
|
||||
|
||||
#: js/ui/windowMenu.js:140
|
||||
#: js/ui/windowMenu.js:139
|
||||
msgid "Move to Monitor Up"
|
||||
msgstr "Flytta till skärm uppåt"
|
||||
|
||||
#: js/ui/windowMenu.js:149
|
||||
#: js/ui/windowMenu.js:148
|
||||
msgid "Move to Monitor Down"
|
||||
msgstr "Flytta till skärm nedåt"
|
||||
|
||||
#: js/ui/windowMenu.js:158
|
||||
#: js/ui/windowMenu.js:157
|
||||
msgid "Move to Monitor Left"
|
||||
msgstr "Flytta till skärm åt vänster"
|
||||
|
||||
#: js/ui/windowMenu.js:167
|
||||
#: js/ui/windowMenu.js:166
|
||||
msgid "Move to Monitor Right"
|
||||
msgstr "Flytta till skärm åt höger"
|
||||
|
||||
@@ -2138,28 +2146,28 @@ msgstr "Evolution-kalender"
|
||||
msgid "evolution"
|
||||
msgstr "evolution"
|
||||
|
||||
#: src/main.c:432
|
||||
#: src/main.c:410
|
||||
msgid "Print version"
|
||||
msgstr "Skriv ut version"
|
||||
|
||||
#: src/main.c:438
|
||||
#: src/main.c:416
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "Läge som används av GDM för inloggningsskärmen"
|
||||
|
||||
#: src/main.c:444
|
||||
#: src/main.c:422
|
||||
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
||||
msgstr "Använd ett specifikt läge, t.ex. ”gdm” för inloggningsskärm"
|
||||
|
||||
#: src/main.c:450
|
||||
#: src/main.c:428
|
||||
msgid "List possible modes"
|
||||
msgstr "Lista möjliga lägen"
|
||||
|
||||
#: src/shell-app.c:270
|
||||
#: src/shell-app.c:272
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Okänt"
|
||||
|
||||
#: src/shell-app.c:511
|
||||
#: src/shell-app.c:523
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Misslyckades med att starta ”%s”"
|
||||
|
Reference in New Issue
Block a user