Compare commits
108 Commits
wip/fullsc
...
3.19.3
Author | SHA1 | Date | |
---|---|---|---|
fbf6746acf | |||
a36686a6aa | |||
fd837d74d1 | |||
fd57334395 | |||
85100cb65f | |||
c70f6278d6 | |||
e573441bac | |||
5ed9571b37 | |||
9d203ddc0f | |||
508a13ae72 | |||
c0b50cbdf2 | |||
06f78549bd | |||
67afd7a6d8 | |||
ffa8c2f2b1 | |||
3803a880e8 | |||
965aedb0bb | |||
80911535a7 | |||
ca401d5036 | |||
a1c091d98d | |||
e1e08f0a68 | |||
1a4f629554 | |||
4113be770b | |||
cf3f4850b8 | |||
14f374096a | |||
6fef5c37f7 | |||
6e7455aa1e | |||
03bf6fa399 | |||
f777e761c0 | |||
31201d9618 | |||
d95d78ac15 | |||
bef4f17c49 | |||
f4b7ab0cb6 | |||
a180dde01c | |||
385c918e2e | |||
d7401c8646 | |||
a456d5eb19 | |||
6c08799c7b | |||
8d7bb6496c | |||
f0496a2d3c | |||
6664553b7e | |||
2a950ca3b3 | |||
463cd6382c | |||
78db025b10 | |||
f3265c28a9 | |||
a6e5e459d3 | |||
9ba399bf18 | |||
a52c91e9e5 | |||
9a7b47c23f | |||
18f7d20006 | |||
3f0ee88657 | |||
c634718dfa | |||
df6b31de05 | |||
b8e29ae8c7 | |||
cdba8e5cea | |||
4fccdaafb7 | |||
df0b465e76 | |||
aacdd4fd5e | |||
5f68c3a324 | |||
8ceae3b054 | |||
3fc5afaff1 | |||
8b7464c648 | |||
3e602b1765 | |||
5858028411 | |||
2c682ace81 | |||
45f3106814 | |||
aa947f9948 | |||
0c72d1fcbd | |||
6d22670307 | |||
0b9e68e305 | |||
da8155cbe5 | |||
5b7a052e18 | |||
6f26e39082 | |||
489b96a310 | |||
e65d90d624 | |||
9c74e22313 | |||
48a1fce151 | |||
83e7f6f496 | |||
3c5c3a6597 | |||
1c3ea1649f | |||
48a54e8ac4 | |||
113a854048 | |||
882f5fa79e | |||
9acdb8012c | |||
731d64e0e4 | |||
ccf1bd9f27 | |||
c164a8fe03 | |||
1a39666f7c | |||
f2731d4d6a | |||
3e63fb7abe | |||
8b4249ef26 | |||
bf0be6ef12 | |||
294702d3f1 | |||
58f3b7c748 | |||
e25502aeb2 | |||
ffe4eaf00d | |||
2f88a7a1e1 | |||
cd7d564125 | |||
ede81017ec | |||
a539e6236a | |||
90b7710834 | |||
f8cc8f1dc1 | |||
f8e5e3e435 | |||
508e751ffd | |||
207c847762 | |||
3c980566d3 | |||
50b59e0ca6 | |||
14c52bb00a | |||
9720b32987 |
6
.gitignore
vendored
6
.gitignore
vendored
@ -17,10 +17,8 @@ config.status
|
||||
config
|
||||
configure
|
||||
data/50-gnome-shell-*.xml
|
||||
data/gnome-shell.desktop
|
||||
data/gnome-shell.desktop.in
|
||||
data/gnome-shell-wayland.desktop
|
||||
data/gnome-shell-wayland.desktop.in
|
||||
data/org.gnome.Shell.desktop
|
||||
data/org.gnome.Shell.desktop.in
|
||||
data/gnome-shell-extension-prefs.desktop
|
||||
data/gnome-shell-extension-prefs.desktop.in
|
||||
data/gnome-shell-theme.gresource
|
||||
|
74
NEWS
74
NEWS
@ -1,3 +1,77 @@
|
||||
3.19.3
|
||||
======
|
||||
* Fix thumbnail scaling in window switcher on HiDPI [Florian; #758676]
|
||||
* Update animated backgrounds on timezone changes [Florian; #758939]
|
||||
* loginDialog: Update user list on user changes [Michael; #758568]
|
||||
* Fix touch interaction on wayland [Carlos; #756748]
|
||||
|
||||
Contributors:
|
||||
Michael Catanzaro, Carlos Garnacho, Kalev Lember, Florian Müllner
|
||||
|
||||
Translations:
|
||||
Daniel Korostil [uk], Muhammet Kara [tr], Dušan Kazik [sk],
|
||||
Baurzhan Muftakhidinov [kk], Marek Černocký [cs]
|
||||
|
||||
3.19.2
|
||||
======
|
||||
* Make gnome-shell DBus activatable [Ray; #741666]
|
||||
* Fix browser plugin crash in Firefox [Carlos; #737932, #757940]
|
||||
* Optionally show battery percentage in system status area [Bastien; #735771]
|
||||
* Misc. bug fixes [Kalev, Florian, Bastien; #757418, #757668, #757779, #757816,
|
||||
#745626, #758220]
|
||||
|
||||
Contributors:
|
||||
Michael Biebl, Michael Catanzaro, Piotr Drąg, Carlos Garcia Campos,
|
||||
Kalev Lember, Florian Müllner, Bastien Nocera, Ray Strode
|
||||
|
||||
Translations:
|
||||
Pedro Albuquerque [pt], liushuyu [zh_CN], Yosef Or Boczko [he],
|
||||
Jiri Grönroos [fi], Kjartan Maraas [nb], GNOME Translation Robot [gd],
|
||||
Daniel Mustieles [es], Marek Černocký [cs], Kristjan SCHMIDT [eo],
|
||||
Stas Solovey [ru]
|
||||
|
||||
3.19.1
|
||||
======
|
||||
* Respect text-scaling factor under wayland [Owen; #756447]
|
||||
* Show the Bluetooth submenu when there were setup devices [Bastien; #723848]
|
||||
* Misc. bug fixes [Florian, Cosimo, Rui, Ray, Owen, Jakub, Bastien;
|
||||
#756697, #756714, #756605, #754814, #738942, #756983, #756925,
|
||||
#757011, #673235, #757150]
|
||||
|
||||
Contributors:
|
||||
Cosimo Cecchi, Rui Matos, Florian Müllner, Bastien Nocera, Jakub Steiner,
|
||||
Ray Strode, Owen W. Taylor
|
||||
|
||||
Translations:
|
||||
Kjartan Maraas [nb], Khaled Hosny [ar], Balázs Meskó [hu],
|
||||
Daniel Șerbănescu [ro], Marek Černocký [cs]
|
||||
|
||||
3.18.1
|
||||
======
|
||||
* Fix screen freezes when a notification is pushed [Carlos; #755425]
|
||||
* Fix overzealous ellipsization in system status menu [Adel, Florian; #708472]
|
||||
* Hide app menu when disabled by setting [Florian; #745919]
|
||||
* Fix lightbox effect when animations are disabled [Rui; #755827]
|
||||
* Do not mark hotplug notifications as critical [Florian; #657923]
|
||||
* Fix icons getting cut off in dash [Florian; #745649]
|
||||
* Animate fullscreen/unfullscreen operations [Cosimo; #707248]
|
||||
* Misc. bug fixes [Florian, Owen; #748919, #674799, #754581]
|
||||
|
||||
Contributors:
|
||||
Emmanuele Bassi, Michael Catanzaro, Cosimo Cecchi, Matthias Clasen,
|
||||
Adel Gadllah, Carlos Garnacho, Ekaterina Gerasimova, Rui Matos,
|
||||
Florian Müllner, Owen W. Taylor
|
||||
|
||||
Translations:
|
||||
Марко Костић [sr], Милош Поповић [sr@latin], Khaled Hosny [ar],
|
||||
Trần Ngọc Quân [vi], Petr Kovar [cs], Alexandre Franke [fr],
|
||||
Fran Dieguez [gl], Anders Jonsson [sv], Piotr Drąg [pl], Dušan Kazik [sk],
|
||||
Milo Casagrande [it], Changwoo Ryu [ko], Stas Solovey [ru],
|
||||
Rafael Fontenelle [pt_BR], Tom Tryfonidis [el], Aurimas Černius [lt],
|
||||
Seán de Búrca [ga], Christian Kirbach [de], Jiri Grönroos [fi],
|
||||
Pedro Albuquerque [pt], Baurzhan Muftakhidinov [kk], Daniel Mustieles [es],
|
||||
Marek Černocký [cs], Ask Hjorth Larsen [da], Inaki Larranaga Murgoitio [eu]
|
||||
|
||||
3.18.0
|
||||
======
|
||||
|
||||
|
@ -3,7 +3,10 @@ mozillalibdir = $(BROWSER_PLUGIN_DIR)
|
||||
|
||||
mozillalib_LTLIBRARIES = libgnome-shell-browser-plugin.la
|
||||
|
||||
libgnome_shell_browser_plugin_la_LDFLAGS = -module -avoid-version -no-undefined
|
||||
# Browsers can unload and reload the module while browsing, which is not supported by GObject.
|
||||
# We pass -Wl,-z,nodelete to the linker to ensure the module is never unloaded.
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=737932
|
||||
libgnome_shell_browser_plugin_la_LDFLAGS = -module -avoid-version -no-undefined -Wl,-z,nodelete
|
||||
|
||||
libgnome_shell_browser_plugin_la_LIBADD = \
|
||||
$(BROWSER_PLUGIN_LIBS)
|
||||
|
@ -33,20 +33,16 @@
|
||||
#include <json-glib/json-glib.h>
|
||||
|
||||
#define ORIGIN "extensions.gnome.org"
|
||||
#define PLUGIN_NAME "Gnome Shell Integration"
|
||||
#define PLUGIN_DESCRIPTION "This plugin provides integration with Gnome Shell " \
|
||||
#define PLUGIN_NAME "GNOME Shell Integration"
|
||||
#define PLUGIN_DESCRIPTION "This plugin provides integration with GNOME Shell " \
|
||||
"for live extension enabling and disabling. " \
|
||||
"It can be used only by extensions.gnome.org"
|
||||
#define PLUGIN_MIME_STRING "application/x-gnome-shell-integration::Gnome Shell Integration Dummy Content-Type";
|
||||
#define PLUGIN_MIME_STRING "application/x-gnome-shell-integration::GNOME Shell Integration Dummy Content-Type";
|
||||
|
||||
#define PLUGIN_API_VERSION 5
|
||||
|
||||
#define EXTENSION_DISABLE_VERSION_CHECK_KEY "disable-extension-version-validation"
|
||||
|
||||
typedef struct {
|
||||
GDBusProxy *proxy;
|
||||
} PluginData;
|
||||
|
||||
static NPNetscapeFuncs funcs;
|
||||
|
||||
static inline gchar *
|
||||
@ -145,121 +141,6 @@ check_origin_and_protocol (NPP instance)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* =============== public entry points =================== */
|
||||
|
||||
NPError
|
||||
NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
|
||||
{
|
||||
/* global initialization routine, called once when plugin
|
||||
is loaded */
|
||||
|
||||
g_debug ("plugin loaded");
|
||||
|
||||
memcpy (&funcs, pfuncs, sizeof (funcs));
|
||||
|
||||
plugin->size = sizeof(NPPluginFuncs);
|
||||
plugin->newp = NPP_New;
|
||||
plugin->destroy = NPP_Destroy;
|
||||
plugin->getvalue = NPP_GetValue;
|
||||
plugin->setwindow = NPP_SetWindow;
|
||||
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
NPError
|
||||
NP_Shutdown(void)
|
||||
{
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
const char*
|
||||
NP_GetMIMEDescription(void)
|
||||
{
|
||||
return PLUGIN_MIME_STRING;
|
||||
}
|
||||
|
||||
NPError
|
||||
NP_GetValue(void *instance,
|
||||
NPPVariable variable,
|
||||
void *value)
|
||||
{
|
||||
switch (variable) {
|
||||
case NPPVpluginNameString:
|
||||
*(char**)value = PLUGIN_NAME;
|
||||
break;
|
||||
case NPPVpluginDescriptionString:
|
||||
*(char**)value = PLUGIN_DESCRIPTION;
|
||||
break;
|
||||
default:
|
||||
;
|
||||
}
|
||||
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
NPError
|
||||
NPP_New(NPMIMEType mimetype,
|
||||
NPP instance,
|
||||
uint16_t mode,
|
||||
int16_t argc,
|
||||
char **argn,
|
||||
char **argv,
|
||||
NPSavedData *saved)
|
||||
{
|
||||
/* instance initialization function */
|
||||
PluginData *data;
|
||||
GError *error = NULL;
|
||||
|
||||
g_debug ("plugin created");
|
||||
|
||||
if (!check_origin_and_protocol (instance))
|
||||
return NPERR_GENERIC_ERROR;
|
||||
|
||||
data = g_slice_new (PluginData);
|
||||
instance->pdata = data;
|
||||
|
||||
data->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
||||
G_DBUS_PROXY_FLAGS_NONE,
|
||||
NULL, /* interface info */
|
||||
"org.gnome.Shell",
|
||||
"/org/gnome/Shell",
|
||||
"org.gnome.Shell.Extensions",
|
||||
NULL, /* GCancellable */
|
||||
&error);
|
||||
if (!data->proxy)
|
||||
{
|
||||
/* ignore error if the shell is not running, otherwise warn */
|
||||
if (error->domain != G_DBUS_ERROR ||
|
||||
error->code != G_DBUS_ERROR_NAME_HAS_NO_OWNER)
|
||||
{
|
||||
g_warning ("Failed to set up Shell proxy: %s", error->message);
|
||||
}
|
||||
g_clear_error (&error);
|
||||
return NPERR_GENERIC_ERROR;
|
||||
}
|
||||
|
||||
g_debug ("plugin created successfully");
|
||||
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
NPError
|
||||
NPP_Destroy(NPP instance,
|
||||
NPSavedData **saved)
|
||||
{
|
||||
/* instance finalization function */
|
||||
|
||||
PluginData *data = instance->pdata;
|
||||
|
||||
g_debug ("plugin destroyed");
|
||||
|
||||
g_object_unref (data->proxy);
|
||||
|
||||
g_slice_free (PluginData, data);
|
||||
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
/* =================== scripting interface =================== */
|
||||
|
||||
typedef struct {
|
||||
@ -282,14 +163,6 @@ on_shell_signal (GDBusProxy *proxy,
|
||||
{
|
||||
PluginObject *obj = user_data;
|
||||
|
||||
/* FIXME: We have half a dozen bug reports in which this function crashes in
|
||||
* WebKit due to a null NPObject. This should never happen, but since it is
|
||||
* happening, let's turn the crash into a critical.
|
||||
*
|
||||
* https://bugzilla.gnome.org/show_bug.cgi?id=737932
|
||||
*/
|
||||
g_return_if_fail (obj->instance);
|
||||
|
||||
if (strcmp (signal_name, "ExtensionStatusChanged") == 0)
|
||||
{
|
||||
gchar *uuid;
|
||||
@ -320,12 +193,6 @@ on_shell_appeared (GDBusConnection *connection,
|
||||
{
|
||||
PluginObject *obj = (PluginObject*) user_data;
|
||||
|
||||
/* FIXME: Not sure if this is ever hit or not, but let's play it safe.
|
||||
*
|
||||
* https://bugzilla.gnome.org/show_bug.cgi?id=737932
|
||||
*/
|
||||
g_return_if_fail (obj->instance);
|
||||
|
||||
if (obj->restart_listener)
|
||||
{
|
||||
NPVariant result = { NPVariantType_Void };
|
||||
@ -344,45 +211,18 @@ static NPObject *
|
||||
plugin_object_allocate (NPP instance,
|
||||
NPClass *klass)
|
||||
{
|
||||
PluginData *data = instance->pdata;
|
||||
PluginObject *obj = g_slice_new0 (PluginObject);
|
||||
PluginObject *obj = (PluginObject *) funcs.memalloc (sizeof (PluginObject));
|
||||
|
||||
memset (obj, 0, sizeof (PluginObject));
|
||||
obj->instance = instance;
|
||||
obj->proxy = g_object_ref (data->proxy);
|
||||
obj->settings = g_settings_new (SHELL_SCHEMA);
|
||||
obj->signal_id = g_signal_connect (obj->proxy, "g-signal",
|
||||
G_CALLBACK (on_shell_signal), obj);
|
||||
|
||||
obj->watch_name_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
|
||||
"org.gnome.Shell",
|
||||
G_BUS_NAME_WATCHER_FLAGS_NONE,
|
||||
on_shell_appeared,
|
||||
NULL,
|
||||
obj,
|
||||
NULL);
|
||||
|
||||
g_debug ("plugin object created");
|
||||
|
||||
return (NPObject*)obj;
|
||||
return (NPObject*) obj;
|
||||
}
|
||||
|
||||
static void
|
||||
plugin_object_deallocate (NPObject *npobj)
|
||||
{
|
||||
PluginObject *obj = (PluginObject*)npobj;
|
||||
|
||||
g_signal_handler_disconnect (obj->proxy, obj->signal_id);
|
||||
g_object_unref (obj->proxy);
|
||||
|
||||
if (obj->listener)
|
||||
funcs.releaseobject (obj->listener);
|
||||
|
||||
if (obj->watch_name_id)
|
||||
g_bus_unwatch_name (obj->watch_name_id);
|
||||
|
||||
g_debug ("plugin object destroyed");
|
||||
|
||||
g_slice_free (PluginObject, obj);
|
||||
funcs.memfree (npobj);
|
||||
}
|
||||
|
||||
static inline gboolean
|
||||
@ -1033,6 +873,149 @@ init_methods_and_properties (void)
|
||||
onextension_changed_id = funcs.getstringidentifier ("onchange");
|
||||
}
|
||||
|
||||
/* =============== public entry points =================== */
|
||||
|
||||
NPError
|
||||
NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
|
||||
{
|
||||
/* global initialization routine, called once when plugin
|
||||
is loaded */
|
||||
|
||||
g_debug ("plugin loaded");
|
||||
|
||||
memcpy (&funcs, pfuncs, sizeof (funcs));
|
||||
|
||||
plugin->size = sizeof(NPPluginFuncs);
|
||||
plugin->newp = NPP_New;
|
||||
plugin->destroy = NPP_Destroy;
|
||||
plugin->getvalue = NPP_GetValue;
|
||||
plugin->setwindow = NPP_SetWindow;
|
||||
plugin->event = NPP_HandleEvent;
|
||||
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
NPError
|
||||
NP_Shutdown(void)
|
||||
{
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
const char*
|
||||
NP_GetMIMEDescription(void)
|
||||
{
|
||||
return PLUGIN_MIME_STRING;
|
||||
}
|
||||
|
||||
NPError
|
||||
NP_GetValue(void *instance,
|
||||
NPPVariable variable,
|
||||
void *value)
|
||||
{
|
||||
switch (variable) {
|
||||
case NPPVpluginNameString:
|
||||
*(char**)value = PLUGIN_NAME;
|
||||
break;
|
||||
case NPPVpluginDescriptionString:
|
||||
*(char**)value = PLUGIN_DESCRIPTION;
|
||||
break;
|
||||
default:
|
||||
;
|
||||
}
|
||||
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
NPError
|
||||
NPP_New(NPMIMEType mimetype,
|
||||
NPP instance,
|
||||
uint16_t mode,
|
||||
int16_t argc,
|
||||
char **argn,
|
||||
char **argv,
|
||||
NPSavedData *saved)
|
||||
{
|
||||
/* instance initialization function */
|
||||
PluginObject *obj;
|
||||
GError *error = NULL;
|
||||
|
||||
g_debug ("plugin created");
|
||||
|
||||
if (!check_origin_and_protocol (instance))
|
||||
return NPERR_GENERIC_ERROR;
|
||||
|
||||
/* set windowless mode */
|
||||
funcs.setvalue(instance, NPPVpluginWindowBool, NULL);
|
||||
|
||||
g_debug ("creating scriptable object");
|
||||
init_methods_and_properties ();
|
||||
obj = (PluginObject *) funcs.createobject (instance, &plugin_class);
|
||||
instance->pdata = obj;
|
||||
|
||||
obj->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
||||
G_DBUS_PROXY_FLAGS_NONE,
|
||||
NULL, /* interface info */
|
||||
"org.gnome.Shell",
|
||||
"/org/gnome/Shell",
|
||||
"org.gnome.Shell.Extensions",
|
||||
NULL, /* GCancellable */
|
||||
&error);
|
||||
if (!obj->proxy)
|
||||
{
|
||||
/* ignore error if the shell is not running, otherwise warn */
|
||||
if (!g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_NAME_HAS_NO_OWNER))
|
||||
{
|
||||
g_warning ("Failed to set up Shell proxy: %s", error->message);
|
||||
}
|
||||
g_clear_error (&error);
|
||||
return NPERR_GENERIC_ERROR;
|
||||
}
|
||||
|
||||
obj->settings = g_settings_new (SHELL_SCHEMA);
|
||||
obj->signal_id = g_signal_connect (obj->proxy, "g-signal",
|
||||
G_CALLBACK (on_shell_signal), obj);
|
||||
obj->watch_name_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
|
||||
"org.gnome.Shell",
|
||||
G_BUS_NAME_WATCHER_FLAGS_NONE,
|
||||
on_shell_appeared,
|
||||
NULL,
|
||||
obj,
|
||||
NULL);
|
||||
|
||||
g_debug ("plugin created successfully");
|
||||
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
NPError
|
||||
NPP_Destroy(NPP instance,
|
||||
NPSavedData **saved)
|
||||
{
|
||||
/* instance finalization function */
|
||||
PluginObject *obj = (PluginObject *) instance->pdata;
|
||||
|
||||
if (!obj)
|
||||
return NPERR_INVALID_INSTANCE_ERROR;
|
||||
|
||||
g_debug ("plugin destroyed");
|
||||
|
||||
g_signal_handler_disconnect (obj->proxy, obj->signal_id);
|
||||
g_object_unref (obj->proxy);
|
||||
|
||||
if (obj->listener)
|
||||
funcs.releaseobject (obj->listener);
|
||||
|
||||
if (obj->restart_listener)
|
||||
funcs.releaseobject (obj->restart_listener);
|
||||
|
||||
if (obj->watch_name_id)
|
||||
g_bus_unwatch_name (obj->watch_name_id);
|
||||
|
||||
funcs.releaseobject((NPObject *)obj);
|
||||
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
NPError
|
||||
NPP_GetValue(NPP instance,
|
||||
NPPVariable variable,
|
||||
@ -1043,13 +1026,10 @@ NPP_GetValue(NPP instance,
|
||||
switch (variable) {
|
||||
case NPPVpluginScriptableNPObject:
|
||||
g_debug ("creating scriptable object");
|
||||
init_methods_and_properties ();
|
||||
if (!instance->pdata)
|
||||
return NPERR_INVALID_INSTANCE_ERROR;
|
||||
|
||||
*(NPObject**)value = funcs.createobject (instance, &plugin_class);
|
||||
break;
|
||||
|
||||
case NPPVpluginNeedsXEmbed:
|
||||
*(bool *)value = TRUE;
|
||||
*(NPObject**)value = instance->pdata;
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -1067,3 +1047,11 @@ NPP_SetWindow(NPP instance,
|
||||
{
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
int16_t
|
||||
NPP_HandleEvent(NPP instance,
|
||||
void *event)
|
||||
{
|
||||
/* Ignore the event */
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
AC_PREREQ(2.63)
|
||||
AC_INIT([gnome-shell],[3.18.0],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
AC_INIT([gnome-shell],[3.19.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
AX_IS_RELEASE([git-directory])
|
||||
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
@ -77,7 +77,7 @@ AC_MSG_RESULT($enable_systemd)
|
||||
CLUTTER_MIN_VERSION=1.21.5
|
||||
GOBJECT_INTROSPECTION_MIN_VERSION=1.45.4
|
||||
GJS_MIN_VERSION=1.39.0
|
||||
MUTTER_MIN_VERSION=3.18.0
|
||||
MUTTER_MIN_VERSION=3.19.3
|
||||
GTK_MIN_VERSION=3.15.0
|
||||
GIO_MIN_VERSION=2.45.3
|
||||
LIBECAL_MIN_VERSION=3.5.3
|
||||
@ -117,9 +117,9 @@ PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION)
|
||||
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11)
|
||||
PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
|
||||
PKG_CHECK_MODULES(SHELL_HOTPLUG_SNIFFER, gio-2.0 gdk-pixbuf-2.0)
|
||||
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
|
||||
PKG_CHECK_MODULES(TRAY, clutter-1.0 gtk+-3.0)
|
||||
PKG_CHECK_MODULES(GVC, libpulse >= $PULSE_MIN_VERS libpulse-mainloop-glib gobject-2.0)
|
||||
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.13.1)
|
||||
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.19.2)
|
||||
|
||||
AC_ARG_ENABLE(browser-plugin,
|
||||
[AS_HELP_STRING([--enable-browser-plugin],
|
||||
|
@ -2,7 +2,7 @@ CLEANFILES =
|
||||
NULL =
|
||||
|
||||
desktopdir=$(datadir)/applications
|
||||
desktop_DATA = gnome-shell.desktop gnome-shell-wayland.desktop gnome-shell-extension-prefs.desktop
|
||||
desktop_DATA = org.gnome.Shell.desktop gnome-shell-extension-prefs.desktop
|
||||
|
||||
if HAVE_NETWORKMANAGER
|
||||
desktop_DATA += org.gnome.Shell.PortalHelper.desktop
|
||||
@ -104,8 +104,7 @@ convertdir = $(datadir)/GConf/gsettings
|
||||
convert_DATA = gnome-shell-overrides.convert
|
||||
|
||||
EXTRA_DIST = \
|
||||
gnome-shell.desktop.in.in \
|
||||
gnome-shell-wayland.desktop.in.in \
|
||||
org.gnome.Shell.desktop.in.in \
|
||||
gnome-shell-extension-prefs.desktop.in.in \
|
||||
$(introspection_DATA) \
|
||||
$(menu_DATA) \
|
||||
@ -121,8 +120,7 @@ EXTRA_DIST = \
|
||||
$(NULL)
|
||||
|
||||
CLEANFILES += \
|
||||
gnome-shell.desktop.in \
|
||||
gnome-shell-wayland.desktop.in \
|
||||
org.gnome.Shell.desktop.in \
|
||||
gnome-shell-extension-prefs.in \
|
||||
$(desktop_DATA) \
|
||||
$(keys_DATA) \
|
||||
|
@ -1,15 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
_Name=GNOME Shell (wayland compositor)
|
||||
_Comment=Window management and application launching
|
||||
Exec=@bindir@/gnome-shell --wayland --display-server
|
||||
X-GNOME-Bugzilla-Bugzilla=GNOME
|
||||
X-GNOME-Bugzilla-Product=gnome-shell
|
||||
X-GNOME-Bugzilla-Component=general
|
||||
X-GNOME-Bugzilla-Version=@VERSION@
|
||||
Categories=GNOME;GTK;Core;
|
||||
OnlyShowIn=GNOME;
|
||||
NoDisplay=true
|
||||
X-GNOME-Autostart-Phase=DisplayServer
|
||||
X-GNOME-Autostart-Notify=true
|
||||
X-GNOME-AutoRestart=false
|
@ -10,7 +10,7 @@ X-GNOME-Bugzilla-Version=@VERSION@
|
||||
Categories=GNOME;GTK;Core;
|
||||
OnlyShowIn=GNOME;
|
||||
NoDisplay=true
|
||||
X-GNOME-Autostart-Phase=WindowManager
|
||||
X-GNOME-Autostart-Phase=DisplayServer
|
||||
X-GNOME-Provides=panel;windowmanager;
|
||||
X-GNOME-Autostart-Notify=true
|
||||
X-GNOME-AutoRestart=false
|
@ -72,6 +72,16 @@
|
||||
This key sets the default state of the checkbox.
|
||||
</_description>
|
||||
</key>
|
||||
<key name="had-bluetooth-devices-setup" type="b">
|
||||
<default>false</default>
|
||||
<_summary>Whether the default Bluetooth adapter had set up devices associated to it</_summary>
|
||||
<_description>
|
||||
The shell will only show a Bluetooth menu item if a Bluetooth
|
||||
adapter is powered, or if there were devices set up associated
|
||||
with the default adapter. This will be reset if the default
|
||||
adapter is ever seen not to have devices associated to it.
|
||||
</_description>
|
||||
</key>
|
||||
<child name="calendar" schema="org.gnome.shell.calendar"/>
|
||||
<child name="keybindings" schema="org.gnome.shell.keybindings"/>
|
||||
<child name="keyboard" schema="org.gnome.shell.keyboard"/>
|
||||
|
@ -41,9 +41,9 @@ stage {
|
||||
icon-shadow: 0 1px black;
|
||||
box-shadow: inset 0px 0px 0px 1px #215d9c; }
|
||||
.button:insensitive {
|
||||
color: #7f7f7f;
|
||||
color: gray;
|
||||
border-color: rgba(0, 0, 0, 0.7);
|
||||
background-color: rgba(62, 67, 68, 0.7);
|
||||
background-color: rgba(62, 67, 69, 0.7);
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
icon-shadow: none; }
|
||||
@ -65,9 +65,9 @@ stage {
|
||||
icon-shadow: 0 1px black;
|
||||
padding: 12px; }
|
||||
.modal-dialog-linked-button:insensitive {
|
||||
color: #7f7f7f;
|
||||
color: gray;
|
||||
border-color: rgba(0, 0, 0, 0.7);
|
||||
background-color: rgba(62, 67, 68, 0.7);
|
||||
background-color: rgba(62, 67, 69, 0.7);
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
icon-shadow: none; }
|
||||
@ -107,8 +107,8 @@ StEntry {
|
||||
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.4);
|
||||
border-color: rgba(166, 166, 166, 0.5); }
|
||||
StEntry:insensitive {
|
||||
color: #7f7f7f;
|
||||
border-color: #0d0d0d;
|
||||
color: gray;
|
||||
border-color: #0e0e0e;
|
||||
box-shadow: none; }
|
||||
StEntry StIcon.capslock-warning {
|
||||
icon-size: 16px;
|
||||
@ -142,7 +142,7 @@ StScrollBar {
|
||||
.slider {
|
||||
height: 1em;
|
||||
-slider-height: 0.3em;
|
||||
-slider-background-color: #0d0d0d;
|
||||
-slider-background-color: #0e0e0e;
|
||||
-slider-border-color: black;
|
||||
-slider-active-background-color: #215d9c;
|
||||
-slider-active-border-color: #184472;
|
||||
@ -408,9 +408,9 @@ StScrollBar {
|
||||
spacing-rows: 15px;
|
||||
spacing-columns: 1em; }
|
||||
|
||||
/* Popvers/Menus */
|
||||
/* Popovers/Menus */
|
||||
.popup-menu {
|
||||
min-width: 200px; }
|
||||
min-width: 15em; }
|
||||
.popup-menu .popup-sub-menu {
|
||||
background-color: black;
|
||||
box-shadow: inset 0 -1px 0px #0d0d0d; }
|
||||
@ -625,6 +625,8 @@ StScrollBar {
|
||||
#panel .panel-status-indicators-box,
|
||||
#panel .panel-status-menu-box {
|
||||
spacing: 2px; }
|
||||
#panel .power-status.panel-status-indicators-box {
|
||||
spacing: 0; }
|
||||
#panel .screencast-indicator {
|
||||
color: #f57900; }
|
||||
|
||||
@ -735,7 +737,7 @@ StScrollBar {
|
||||
border-left-width: 1px; }
|
||||
|
||||
.calendar-nonwork-day {
|
||||
color: #7f7f7f; }
|
||||
color: gray; }
|
||||
|
||||
.calendar-today {
|
||||
font-weight: bold;
|
||||
@ -752,7 +754,7 @@ StScrollBar {
|
||||
|
||||
/* Message list */
|
||||
.message-list {
|
||||
width: 420px; }
|
||||
width: 31.5em; }
|
||||
|
||||
.message-list-sections {
|
||||
spacing: 1.5em; }
|
||||
@ -823,8 +825,7 @@ StScrollBar {
|
||||
color: transparent; }
|
||||
|
||||
.aggregate-menu {
|
||||
min-width: 280px;
|
||||
max-width: 400px; }
|
||||
min-width: 21em; }
|
||||
.aggregate-menu .popup-menu-icon {
|
||||
padding: 0 4px; }
|
||||
|
||||
@ -961,10 +962,14 @@ StScrollBar {
|
||||
.search-entry {
|
||||
width: 320px;
|
||||
padding: 7px 9px;
|
||||
border-radius: 6px; }
|
||||
border-radius: 6px;
|
||||
border-color: #747467;
|
||||
color: #eeeeec;
|
||||
background-color: #2e3436; }
|
||||
.search-entry:focus {
|
||||
padding: 6px 8px;
|
||||
border-width: 2px; }
|
||||
border-width: 2px;
|
||||
border-color: #215d9c; }
|
||||
.search-entry .search-entry-icon {
|
||||
icon-size: 1em;
|
||||
padding: 0 4px;
|
||||
@ -1492,9 +1497,9 @@ StScrollBar {
|
||||
text-shadow: none;
|
||||
icon-shadow: none; }
|
||||
.login-dialog .modal-dialog-button:default:insensitive {
|
||||
color: #7f7f7f;
|
||||
color: gray;
|
||||
border-color: rgba(0, 0, 0, 0.7);
|
||||
background-color: rgba(62, 67, 68, 0.7);
|
||||
background-color: rgba(62, 67, 69, 0.7);
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
icon-shadow: none; }
|
||||
|
Submodule data/theme/gnome-shell-sass updated: 01253d8545...63e059c923
@ -41,9 +41,9 @@ stage {
|
||||
icon-shadow: 0 1px black;
|
||||
box-shadow: inset 0px 0px 0px 1px #215d9c; }
|
||||
.button:insensitive {
|
||||
color: #939695;
|
||||
color: #949796;
|
||||
border-color: rgba(0, 0, 0, 0.7);
|
||||
background-color: rgba(66, 71, 73, 0.7);
|
||||
background-color: rgba(66, 72, 73, 0.7);
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
icon-shadow: none; }
|
||||
@ -65,9 +65,9 @@ stage {
|
||||
icon-shadow: 0 1px black;
|
||||
padding: 12px; }
|
||||
.modal-dialog-linked-button:insensitive {
|
||||
color: #939695;
|
||||
color: #949796;
|
||||
border-color: rgba(0, 0, 0, 0.7);
|
||||
background-color: rgba(66, 71, 73, 0.7);
|
||||
background-color: rgba(66, 72, 73, 0.7);
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
icon-shadow: none; }
|
||||
@ -107,8 +107,8 @@ StEntry {
|
||||
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.4);
|
||||
border-color: rgba(154, 154, 142, 0.5); }
|
||||
StEntry:insensitive {
|
||||
color: #939695;
|
||||
border-color: #323636;
|
||||
color: #949796;
|
||||
border-color: #333636;
|
||||
box-shadow: none; }
|
||||
StEntry StIcon.capslock-warning {
|
||||
icon-size: 16px;
|
||||
@ -131,10 +131,10 @@ StScrollBar {
|
||||
background-color: transparent; }
|
||||
StScrollBar StButton#vhandle, StScrollBar StButton#hhandle {
|
||||
border-radius: 8px;
|
||||
background-color: #a5a8a6;
|
||||
background-color: #a6a8a7;
|
||||
margin: 3px; }
|
||||
StScrollBar StButton#vhandle:hover, StScrollBar StButton#hhandle:hover {
|
||||
background-color: #c9cbc9; }
|
||||
background-color: #cacbc9; }
|
||||
StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
|
||||
background-color: #215d9c; }
|
||||
|
||||
@ -142,7 +142,7 @@ StScrollBar {
|
||||
.slider {
|
||||
height: 1em;
|
||||
-slider-height: 0.3em;
|
||||
-slider-background-color: #323636;
|
||||
-slider-background-color: #333636;
|
||||
-slider-border-color: #1c1f1f;
|
||||
-slider-active-background-color: #215d9c;
|
||||
-slider-active-border-color: #184472;
|
||||
@ -408,9 +408,9 @@ StScrollBar {
|
||||
spacing-rows: 15px;
|
||||
spacing-columns: 1em; }
|
||||
|
||||
/* Popvers/Menus */
|
||||
/* Popovers/Menus */
|
||||
.popup-menu {
|
||||
min-width: 200px; }
|
||||
min-width: 15em; }
|
||||
.popup-menu .popup-sub-menu {
|
||||
background-color: #343a3a;
|
||||
box-shadow: inset 0 -1px 0px #282c2c; }
|
||||
@ -625,6 +625,8 @@ StScrollBar {
|
||||
#panel .panel-status-indicators-box,
|
||||
#panel .panel-status-menu-box {
|
||||
spacing: 2px; }
|
||||
#panel .power-status.panel-status-indicators-box {
|
||||
spacing: 0; }
|
||||
#panel .screencast-indicator {
|
||||
color: #f57900; }
|
||||
|
||||
@ -735,7 +737,7 @@ StScrollBar {
|
||||
border-left-width: 1px; }
|
||||
|
||||
.calendar-nonwork-day {
|
||||
color: #939695; }
|
||||
color: #949796; }
|
||||
|
||||
.calendar-today {
|
||||
font-weight: bold;
|
||||
@ -752,7 +754,7 @@ StScrollBar {
|
||||
|
||||
/* Message list */
|
||||
.message-list {
|
||||
width: 420px; }
|
||||
width: 31.5em; }
|
||||
|
||||
.message-list-sections {
|
||||
spacing: 1.5em; }
|
||||
@ -823,8 +825,7 @@ StScrollBar {
|
||||
color: transparent; }
|
||||
|
||||
.aggregate-menu {
|
||||
min-width: 280px;
|
||||
max-width: 400px; }
|
||||
min-width: 21em; }
|
||||
.aggregate-menu .popup-menu-icon {
|
||||
padding: 0 4px; }
|
||||
|
||||
@ -961,10 +962,14 @@ StScrollBar {
|
||||
.search-entry {
|
||||
width: 320px;
|
||||
padding: 7px 9px;
|
||||
border-radius: 6px; }
|
||||
border-radius: 6px;
|
||||
border-color: #747467;
|
||||
color: #eeeeec;
|
||||
background-color: #2e3436; }
|
||||
.search-entry:focus {
|
||||
padding: 6px 8px;
|
||||
border-width: 2px; }
|
||||
border-width: 2px;
|
||||
border-color: #215d9c; }
|
||||
.search-entry .search-entry-icon {
|
||||
icon-size: 1em;
|
||||
padding: 0 4px;
|
||||
@ -1492,9 +1497,9 @@ StScrollBar {
|
||||
text-shadow: none;
|
||||
icon-shadow: none; }
|
||||
.login-dialog .modal-dialog-button:default:insensitive {
|
||||
color: #939695;
|
||||
color: #949796;
|
||||
border-color: rgba(0, 0, 0, 0.7);
|
||||
background-color: rgba(66, 71, 73, 0.7);
|
||||
background-color: rgba(66, 72, 73, 0.7);
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
icon-shadow: none; }
|
||||
|
@ -16,6 +16,34 @@
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* In order for transformation animations to look good, they need to be
|
||||
* incremental and have some order to them (e.g., fade out hidden items,
|
||||
* then shrink to close the void left over). Chaining animations in this way can
|
||||
* be error-prone and wordy using just Tweener callbacks.
|
||||
*
|
||||
* The classes in this file help with this:
|
||||
*
|
||||
* - Task. encapsulates schedulable work to be run in a specific scope.
|
||||
*
|
||||
* - ConsecutiveBatch. runs a series of tasks in order and completes
|
||||
* when the last in the series finishes.
|
||||
*
|
||||
* - ConcurrentBatch. runs a set of tasks at the same time and completes
|
||||
* when the last to finish completes.
|
||||
*
|
||||
* - Hold. prevents a batch from completing the pending task until
|
||||
* the hold is released.
|
||||
*
|
||||
* The tasks associated with a batch are specified in a list at batch
|
||||
* construction time as either task objects or plain functions.
|
||||
* Batches are task objects, themselves, so they can be nested.
|
||||
*
|
||||
* These classes aren't specific to GDM, but were found to be unintuitive and so
|
||||
* are not used elsewhere. These APIs may ultimately get dropped entirely and
|
||||
* replaced by something else.
|
||||
*/
|
||||
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
|
||||
|
@ -96,7 +96,7 @@ const UserListItem = new Lang.Class({
|
||||
},
|
||||
|
||||
_onDestroy: function() {
|
||||
this._user.disconnect(this._userChangedId);
|
||||
this.user.disconnect(this._userChangedId);
|
||||
},
|
||||
|
||||
_onClicked: function() {
|
||||
@ -212,6 +212,10 @@ const UserList = new Lang.Class({
|
||||
return item;
|
||||
},
|
||||
|
||||
containsUser: function(user) {
|
||||
return this._items[user.get_user_name()] != null;
|
||||
},
|
||||
|
||||
addUser: function(user) {
|
||||
if (!user.is_loaded)
|
||||
return;
|
||||
@ -924,11 +928,7 @@ const LoginDialog = new Lang.Class({
|
||||
},
|
||||
onUpdateScope: this,
|
||||
onComplete: function() {
|
||||
let id = Mainloop.idle_add(Lang.bind(this, function() {
|
||||
this._greeter.call_start_session_when_ready_sync(serviceName, true, null);
|
||||
return GLib.SOURCE_REMOVE;
|
||||
}));
|
||||
GLib.Source.set_name_by_id(id, '[gnome-shell] this._greeter.call_start_session_when_ready_sync');
|
||||
this._greeter.call_start_session_when_ready_sync(serviceName, true, null);
|
||||
},
|
||||
onCompleteScope: this });
|
||||
},
|
||||
@ -1130,6 +1130,10 @@ const LoginDialog = new Lang.Class({
|
||||
this._userManager.disconnect(this._userRemovedId);
|
||||
this._userRemovedId = 0;
|
||||
}
|
||||
if (this._userChangedId) {
|
||||
this._userManager.disconnect(this._userChangedId);
|
||||
this._userChangedId = 0;
|
||||
}
|
||||
this._textureCache.disconnect(this._updateLogoTextureId);
|
||||
Main.layoutManager.disconnect(this._startupCompleteId);
|
||||
if (this._settings) {
|
||||
@ -1176,6 +1180,14 @@ const LoginDialog = new Lang.Class({
|
||||
this._userList.removeUser(user);
|
||||
}));
|
||||
|
||||
this._userChangedId = this._userManager.connect('user-changed',
|
||||
Lang.bind(this, function(userManager, user) {
|
||||
if (this._userList.containsUser(user) && user.locked)
|
||||
this._userList.removeUser(user);
|
||||
else if (!this._userList.containsUser(user) && !user.locked)
|
||||
this._userList.addUser(user);
|
||||
}));
|
||||
|
||||
return GLib.SOURCE_REMOVE;
|
||||
},
|
||||
|
||||
|
@ -685,15 +685,17 @@ const WindowIcon = new Lang.Class({
|
||||
|
||||
this._icon.destroy_all_children();
|
||||
|
||||
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||
|
||||
switch (mode) {
|
||||
case AppIconMode.THUMBNAIL_ONLY:
|
||||
size = WINDOW_PREVIEW_SIZE;
|
||||
this._icon.add_actor(_createWindowClone(mutterWindow, WINDOW_PREVIEW_SIZE));
|
||||
this._icon.add_actor(_createWindowClone(mutterWindow, size * scaleFactor));
|
||||
break;
|
||||
|
||||
case AppIconMode.BOTH:
|
||||
size = WINDOW_PREVIEW_SIZE;
|
||||
this._icon.add_actor(_createWindowClone(mutterWindow, WINDOW_PREVIEW_SIZE));
|
||||
this._icon.add_actor(_createWindowClone(mutterWindow, size * scaleFactor));
|
||||
|
||||
if (this.app)
|
||||
this._icon.add_actor(this._createAppIcon(this.app,
|
||||
@ -705,7 +707,7 @@ const WindowIcon = new Lang.Class({
|
||||
this._icon.add_actor(this._createAppIcon(this.app, size));
|
||||
}
|
||||
|
||||
this._icon.set_size(size, size);
|
||||
this._icon.set_size(size * scaleFactor, size * scaleFactor);
|
||||
},
|
||||
|
||||
_createAppIcon: function(app, size) {
|
||||
|
@ -7,7 +7,7 @@ const St = imports.gi.St;
|
||||
const Signals = imports.signals;
|
||||
const Atk = imports.gi.Atk;
|
||||
|
||||
const ANIMATED_ICON_UPDATE_TIMEOUT = 14;
|
||||
const ANIMATED_ICON_UPDATE_TIMEOUT = 16;
|
||||
|
||||
const Animation = new Lang.Class({
|
||||
Name: 'Animation',
|
||||
@ -33,7 +33,7 @@ const Animation = new Lang.Class({
|
||||
if (this._frame == 0)
|
||||
this._showFrame(0);
|
||||
|
||||
this._timeoutId = Mainloop.timeout_add(this._speed, Lang.bind(this, this._update));
|
||||
this._timeoutId = GLib.timeout_add(GLib.PRIORITY_LOW, this._speed, Lang.bind(this, this._update));
|
||||
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._update');
|
||||
}
|
||||
|
||||
|
@ -26,6 +26,7 @@ const RENAMED_DESKTOP_IDS = {
|
||||
'gnome-photos.desktop': 'org.gnome.Photos.desktop',
|
||||
'gnome-screenshot.desktop': 'org.gnome.Screenshot.desktop',
|
||||
'gnome-software.desktop': 'org.gnome.Software.desktop',
|
||||
'gnome-terminal.desktop': 'org.gnome.Terminal.desktop',
|
||||
'gnome-weather.desktop': 'org.gnome.Weather.Application.desktop',
|
||||
'gnomine.desktop': 'gnome-mines.desktop',
|
||||
'gnotravex.desktop': 'gnome-tetravex.desktop',
|
||||
|
@ -247,6 +247,13 @@ const Background = new Lang.Class({
|
||||
this._cancellable = new Gio.Cancellable();
|
||||
this.isLoaded = false;
|
||||
|
||||
this._clock = new GnomeDesktop.WallClock();
|
||||
this._timezoneChangedId = this._clock.connect('notify::timezone',
|
||||
Lang.bind(this, function() {
|
||||
if (this._animation)
|
||||
this._loadAnimation(this._animation.file);
|
||||
}));
|
||||
|
||||
this._settingsChangedSignalId = this._settings.connect('changed', Lang.bind(this, function() {
|
||||
this.emit('changed');
|
||||
}));
|
||||
@ -265,6 +272,10 @@ const Background = new Lang.Class({
|
||||
}
|
||||
this._fileWatches = null;
|
||||
|
||||
if (this._timezoneChangedId != 0)
|
||||
this._clock.disconnect(this._timezoneChangedId);
|
||||
this._timezoneChangedId = 0;
|
||||
|
||||
if (this._settingsChangedSignalId != 0)
|
||||
this._settings.disconnect(this._settingsChangedSignalId);
|
||||
this._settingsChangedSignalId = 0;
|
||||
|
@ -725,7 +725,7 @@ const Calendar = new Lang.Class({
|
||||
// nRows here means 6 weeks + one header + one navbar
|
||||
let nRows = 8;
|
||||
while (row < 8) {
|
||||
let button = new St.Button({ label: iter.getDate().toString(),
|
||||
let button = new St.Button({ label: iter.toLocaleFormat(C_("date day number format", "%d")),
|
||||
can_focus: true });
|
||||
let rtl = button.get_text_direction() == Clutter.TextDirection.RTL;
|
||||
|
||||
|
@ -313,6 +313,10 @@ const AutorunSource = new Lang.Class({
|
||||
|
||||
getIcon: function() {
|
||||
return this.mount.get_icon();
|
||||
},
|
||||
|
||||
_createPolicy: function() {
|
||||
return new MessageTray.NotificationApplicationPolicy('org.gnome.Nautilus');
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -644,15 +644,14 @@ const Dash = new Lang.Class({
|
||||
let firstIcon = firstButton._delegate.icon;
|
||||
|
||||
let minHeight, natHeight;
|
||||
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||
|
||||
// Enforce the current icon size during the size request
|
||||
firstIcon.setIconSize(this.iconSize);
|
||||
firstIcon.icon.ensure_style();
|
||||
let [currentWidth, currentHeight] = firstIcon.icon.get_size();
|
||||
firstIcon.icon.set_size(this.iconSize * scaleFactor, this.iconSize * scaleFactor);
|
||||
[minHeight, natHeight] = firstButton.get_preferred_height(-1);
|
||||
|
||||
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||
let iconSizes = baseIconSizes.map(function(s) {
|
||||
return s * scaleFactor;
|
||||
});
|
||||
firstIcon.icon.set_size(currentWidth, currentHeight);
|
||||
|
||||
// Subtract icon padding and box spacing from the available height
|
||||
availHeight -= iconChildren.length * (natHeight - this.iconSize * scaleFactor) +
|
||||
@ -660,6 +659,10 @@ const Dash = new Lang.Class({
|
||||
|
||||
let availSize = availHeight / iconChildren.length;
|
||||
|
||||
let iconSizes = baseIconSizes.map(function(s) {
|
||||
return s * scaleFactor;
|
||||
});
|
||||
|
||||
let newIconSize = baseIconSizes[0];
|
||||
for (let i = 0; i < iconSizes.length; i++) {
|
||||
if (iconSizes[i] < availSize)
|
||||
|
71
js/ui/dnd.js
71
js/ui/dnd.js
@ -79,9 +79,12 @@ const _Draggable = new Lang.Class({
|
||||
dragActorOpacity: undefined });
|
||||
|
||||
this.actor = actor;
|
||||
if (!params.manualMode)
|
||||
if (!params.manualMode) {
|
||||
this.actor.connect('button-press-event',
|
||||
Lang.bind(this, this._onButtonPress));
|
||||
this.actor.connect('touch-event',
|
||||
Lang.bind(this, this._onTouchEvent));
|
||||
}
|
||||
|
||||
this.actor.connect('destroy', Lang.bind(this, function() {
|
||||
this._actorDestroyed = true;
|
||||
@ -121,8 +124,50 @@ const _Draggable = new Lang.Class({
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
},
|
||||
|
||||
_onTouchEvent: function (actor, event) {
|
||||
if (event.type() != Clutter.EventType.TOUCH_BEGIN ||
|
||||
!global.display.is_pointer_emulating_sequence(event.get_event_sequence()))
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
if (Tweener.getTweenCount(actor))
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
this._touchSequence = event.get_event_sequence();
|
||||
|
||||
this._buttonDown = true;
|
||||
this._grabActor();
|
||||
|
||||
let [stageX, stageY] = event.get_coords();
|
||||
this._dragStartX = stageX;
|
||||
this._dragStartY = stageY;
|
||||
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
},
|
||||
|
||||
_grabDevice: function(actor) {
|
||||
let manager = Clutter.DeviceManager.get_default();
|
||||
let pointer = manager.get_core_device(Clutter.InputDeviceType.POINTER_DEVICE);
|
||||
|
||||
if (pointer && this._touchSequence)
|
||||
pointer.sequence_grab(this._touchSequence, actor);
|
||||
else if (pointer)
|
||||
pointer.grab (actor);
|
||||
|
||||
this._grabbedDevice = pointer;
|
||||
},
|
||||
|
||||
_ungrabDevice: function() {
|
||||
if (this._touchSequence)
|
||||
this._grabbedDevice.sequence_ungrab (this._touchSequence);
|
||||
else
|
||||
this._grabbedDevice.ungrab();
|
||||
|
||||
this._touchSequence = null;
|
||||
this._grabbedDevice = null;
|
||||
},
|
||||
|
||||
_grabActor: function() {
|
||||
Clutter.grab_pointer(this.actor);
|
||||
this._grabDevice(this.actor);
|
||||
this._onEventId = this.actor.connect('event',
|
||||
Lang.bind(this, this._onEvent));
|
||||
},
|
||||
@ -131,7 +176,7 @@ const _Draggable = new Lang.Class({
|
||||
if (!this._onEventId)
|
||||
return;
|
||||
|
||||
Clutter.ungrab_pointer();
|
||||
this._ungrabDevice();
|
||||
this.actor.disconnect(this._onEventId);
|
||||
this._onEventId = null;
|
||||
},
|
||||
@ -140,13 +185,13 @@ const _Draggable = new Lang.Class({
|
||||
if (!this._eventsGrabbed) {
|
||||
this._eventsGrabbed = Main.pushModal(_getEventHandlerActor());
|
||||
if (this._eventsGrabbed)
|
||||
Clutter.grab_pointer(_getEventHandlerActor());
|
||||
this._grabDevice(_getEventHandlerActor());
|
||||
}
|
||||
},
|
||||
|
||||
_ungrabEvents: function() {
|
||||
if (this._eventsGrabbed) {
|
||||
Clutter.ungrab_pointer();
|
||||
this._ungrabDevice();
|
||||
Main.popModal(_getEventHandlerActor());
|
||||
this._eventsGrabbed = false;
|
||||
}
|
||||
@ -157,7 +202,9 @@ const _Draggable = new Lang.Class({
|
||||
// didn't start the drag, to drop the draggable in case the drag was in progress, and
|
||||
// to complete the drag and ensure that whatever happens to be under the pointer does
|
||||
// not get triggered if the drag was cancelled with Esc.
|
||||
if (event.type() == Clutter.EventType.BUTTON_RELEASE) {
|
||||
if (event.type() == Clutter.EventType.BUTTON_RELEASE ||
|
||||
(event.type() == Clutter.EventType.TOUCH_END &&
|
||||
global.display.is_pointer_emulating_sequence(event.get_event_sequence()))) {
|
||||
this._buttonDown = false;
|
||||
if (this._dragInProgress) {
|
||||
return this._dragActorDropped(event);
|
||||
@ -172,7 +219,9 @@ const _Draggable = new Lang.Class({
|
||||
}
|
||||
// We intercept MOTION event to figure out if the drag has started and to draw
|
||||
// this._dragActor under the pointer when dragging is in progress
|
||||
} else if (event.type() == Clutter.EventType.MOTION) {
|
||||
} else if (event.type() == Clutter.EventType.MOTION ||
|
||||
(event.type() == Clutter.EventType.TOUCH_UPDATE &&
|
||||
global.display.is_pointer_emulating_sequence(event.get_event_sequence()))) {
|
||||
if (this._dragInProgress) {
|
||||
return this._updateDragPosition(event);
|
||||
} else if (this._dragActor == null) {
|
||||
@ -214,7 +263,7 @@ const _Draggable = new Lang.Class({
|
||||
* This function is useful to call if you've specified manualMode
|
||||
* for the draggable.
|
||||
*/
|
||||
startDrag: function (stageX, stageY, time) {
|
||||
startDrag: function (stageX, stageY, time, sequence) {
|
||||
currentDraggable = this;
|
||||
this._dragInProgress = true;
|
||||
|
||||
@ -228,6 +277,8 @@ const _Draggable = new Lang.Class({
|
||||
this.emit('drag-begin', time);
|
||||
if (this._onEventId)
|
||||
this._ungrabActor();
|
||||
|
||||
this._touchSequence = sequence;
|
||||
this._grabEvents();
|
||||
global.screen.set_cursor(Meta.Cursor.DND_IN_DRAG);
|
||||
|
||||
@ -338,8 +389,8 @@ const _Draggable = new Lang.Class({
|
||||
let threshold = Gtk.Settings.get_default().gtk_dnd_drag_threshold;
|
||||
if ((Math.abs(stageX - this._dragStartX) > threshold ||
|
||||
Math.abs(stageY - this._dragStartY) > threshold)) {
|
||||
this.startDrag(stageX, stageY, event.get_time());
|
||||
this._updateDragPosition(event);
|
||||
this.startDrag(stageX, stageY, event.get_time(), this._touchSequence);
|
||||
this._updateDragPosition(event);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -334,7 +334,7 @@ function _sessionUpdated() {
|
||||
// from allowExtensions in the future
|
||||
if (Main.sessionMode.allowExtensions) {
|
||||
if (initted)
|
||||
onEnabledExtensionsChanged();
|
||||
enabledExtensions = getEnabledExtensions();
|
||||
enableAllExtensions();
|
||||
} else {
|
||||
disableAllExtensions();
|
||||
|
@ -78,6 +78,7 @@ let _startDate;
|
||||
let _defaultCssStylesheet = null;
|
||||
let _cssStylesheet = null;
|
||||
let _a11ySettings = null;
|
||||
let _themeResource = null;
|
||||
|
||||
function _sessionUpdated() {
|
||||
if (sessionMode.isPrimary)
|
||||
@ -137,9 +138,7 @@ function _initializeUI() {
|
||||
Shell.WindowTracker.get_default();
|
||||
Shell.AppUsage.get_default();
|
||||
|
||||
let resource = Gio.Resource.load(global.datadir + '/gnome-shell-theme.gresource');
|
||||
resource._register();
|
||||
|
||||
reloadThemeResource();
|
||||
_loadDefaultStylesheet();
|
||||
|
||||
// Setup the stage hierarchy early
|
||||
@ -290,6 +289,14 @@ function setThemeStylesheet(cssStylesheet) {
|
||||
_cssStylesheet = cssStylesheet ? Gio.File.new_for_path(cssStylesheet) : null;
|
||||
}
|
||||
|
||||
function reloadThemeResource() {
|
||||
if (_themeResource)
|
||||
_themeResource._unregister();
|
||||
|
||||
_themeResource = Gio.Resource.load(global.datadir + '/gnome-shell-theme.gresource');
|
||||
_themeResource._register();
|
||||
}
|
||||
|
||||
/**
|
||||
* loadTheme:
|
||||
*
|
||||
|
@ -459,7 +459,8 @@ const ActivitiesButton = new Lang.Class({
|
||||
|
||||
if (event.type() == Clutter.EventType.TOUCH_END ||
|
||||
event.type() == Clutter.EventType.BUTTON_RELEASE)
|
||||
Main.overview.toggle();
|
||||
if (Main.overview.shouldToggleByCornerOrButton())
|
||||
Main.overview.toggle();
|
||||
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
},
|
||||
@ -467,7 +468,8 @@ const ActivitiesButton = new Lang.Class({
|
||||
_onKeyRelease: function(actor, event) {
|
||||
let symbol = event.get_key_symbol();
|
||||
if (symbol == Clutter.KEY_Return || symbol == Clutter.KEY_space) {
|
||||
Main.overview.toggle();
|
||||
if (Main.overview.shouldToggleByCornerOrButton())
|
||||
Main.overview.toggle();
|
||||
}
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
},
|
||||
@ -652,6 +654,39 @@ const PanelCorner = new Lang.Class({
|
||||
}
|
||||
});
|
||||
|
||||
const AggregateLayout = new Lang.Class({
|
||||
Name: 'AggregateLayout',
|
||||
Extends: Clutter.BoxLayout,
|
||||
|
||||
_init: function(params) {
|
||||
if (!params)
|
||||
params = {};
|
||||
params['orientation'] = Clutter.Orientation.VERTICAL;
|
||||
this.parent(params);
|
||||
|
||||
this._sizeChildren = [];
|
||||
},
|
||||
|
||||
addSizeChild: function(actor) {
|
||||
this._sizeChildren.push(actor);
|
||||
this.layout_changed();
|
||||
},
|
||||
|
||||
vfunc_get_preferred_width: function(container, forHeight) {
|
||||
let themeNode = container.get_theme_node();
|
||||
let minWidth = themeNode.get_min_width();
|
||||
let natWidth = minWidth;
|
||||
|
||||
for (let i = 0; i < this._sizeChildren.length; i++) {
|
||||
let child = this._sizeChildren[i];
|
||||
let [childMin, childNat] = child.get_preferred_width(forHeight);
|
||||
minWidth = Math.max(minWidth, childMin);
|
||||
natWidth = Math.max(minWidth, childNat);
|
||||
}
|
||||
return [minWidth, natWidth];
|
||||
}
|
||||
});
|
||||
|
||||
const AggregateMenu = new Lang.Class({
|
||||
Name: 'AggregateMenu',
|
||||
Extends: PanelMenu.Button,
|
||||
@ -660,6 +695,9 @@ const AggregateMenu = new Lang.Class({
|
||||
this.parent(0.0, C_("System menu in the top bar", "System"), false);
|
||||
this.menu.actor.add_style_class_name('aggregate-menu');
|
||||
|
||||
let menuLayout = new AggregateLayout();
|
||||
this.menu.box.set_layout_manager(menuLayout);
|
||||
|
||||
this._indicators = new St.BoxLayout({ style_class: 'panel-status-indicators-box' });
|
||||
this.actor.add_child(this._indicators);
|
||||
|
||||
@ -708,6 +746,11 @@ const AggregateMenu = new Lang.Class({
|
||||
this.menu.addMenuItem(this._rfkill.menu);
|
||||
this.menu.addMenuItem(this._power.menu);
|
||||
this.menu.addMenuItem(this._system.menu);
|
||||
|
||||
menuLayout.addSizeChild(this._location.menu.actor);
|
||||
menuLayout.addSizeChild(this._rfkill.menu.actor);
|
||||
menuLayout.addSizeChild(this._power.menu.actor);
|
||||
menuLayout.addSizeChild(this._system.menu.actor);
|
||||
},
|
||||
});
|
||||
|
||||
|
@ -1146,6 +1146,16 @@ const PopupSubMenuMenuItem = new Lang.Class({
|
||||
this.actor.remove_style_pseudo_class ('active');
|
||||
this._setOpenState(!this._getOpenState());
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
},
|
||||
|
||||
_onTouchEvent: function(actor, event) {
|
||||
if (event.type() == Clutter.EventType.TOUCH_END) {
|
||||
// Since we override the parent, we need to manage what the parent does
|
||||
// with the active style class
|
||||
this.actor.remove_style_pseudo_class ('active');
|
||||
this._setOpenState(!this._getOpenState());
|
||||
}
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -61,6 +61,7 @@ const RunDialog = new Lang.Class({
|
||||
|
||||
// rt is short for "reload theme"
|
||||
'rt': Lang.bind(this, function() {
|
||||
Main.reloadThemeResource();
|
||||
Main.loadTheme();
|
||||
})
|
||||
};
|
||||
|
@ -1,11 +1,8 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GnomeBluetooth = imports.gi.GnomeBluetooth;
|
||||
const Lang = imports.lang;
|
||||
const St = imports.gi.St;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
@ -23,6 +20,8 @@ const RfkillManagerInterface = '<node> \
|
||||
|
||||
const RfkillManagerProxy = Gio.DBusProxy.makeProxyWrapper(RfkillManagerInterface);
|
||||
|
||||
const HAD_BLUETOOTH_DEVICES_SETUP = 'had-bluetooth-devices-setup';
|
||||
|
||||
const Indicator = new Lang.Class({
|
||||
Name: 'BTIndicator',
|
||||
Extends: PanelMenu.SystemIndicator,
|
||||
@ -32,6 +31,7 @@ const Indicator = new Lang.Class({
|
||||
|
||||
this._indicator = this._addIndicator();
|
||||
this._indicator.icon_name = 'bluetooth-active-symbolic';
|
||||
this._hadSetupDevices = global.settings.get_boolean(HAD_BLUETOOTH_DEVICES_SETUP);
|
||||
|
||||
this._proxy = new RfkillManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH,
|
||||
Lang.bind(this, function(proxy, error) {
|
||||
@ -44,13 +44,15 @@ const Indicator = new Lang.Class({
|
||||
}));
|
||||
this._proxy.connect('g-properties-changed', Lang.bind(this, this._sync));
|
||||
|
||||
// The Bluetooth menu only appears when Bluetooth is in use,
|
||||
// so just statically build it with a "Turn Off" menu item.
|
||||
this._item = new PopupMenu.PopupSubMenuMenuItem('', true);
|
||||
this._item = new PopupMenu.PopupSubMenuMenuItem(_("Bluetooth"), true);
|
||||
this._item.icon.icon_name = 'bluetooth-active-symbolic';
|
||||
this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() {
|
||||
this._proxy.BluetoothAirplaneMode = true;
|
||||
|
||||
this._toggleItem = new PopupMenu.PopupMenuItem('');
|
||||
this._toggleItem.connect('activate', Lang.bind(this, function() {
|
||||
this._proxy.BluetoothAirplaneMode = !this._proxy.BluetoothAirplaneMode;
|
||||
}));
|
||||
this._item.menu.addMenuItem(this._toggleItem);
|
||||
|
||||
this._item.menu.addSettingsAction(_("Bluetooth Settings"), 'gnome-bluetooth-panel.desktop');
|
||||
this.menu.addMenuItem(this._item);
|
||||
|
||||
@ -68,42 +70,75 @@ const Indicator = new Lang.Class({
|
||||
while (ret) {
|
||||
let isDefault = this._model.get_value(iter,
|
||||
GnomeBluetooth.Column.DEFAULT);
|
||||
if (isDefault)
|
||||
let isPowered = this._model.get_value(iter,
|
||||
GnomeBluetooth.Column.POWERED);
|
||||
if (isDefault && isPowered)
|
||||
return iter;
|
||||
ret = this._model.iter_next(iter);
|
||||
}
|
||||
return null;
|
||||
},
|
||||
|
||||
_getNConnectedDevices: function() {
|
||||
// nDevices is the number of devices setup for the current default
|
||||
// adapter if one exists and is powered. If unpowered or unavailable,
|
||||
// nDevice is "1" if it had setup devices associated to it the last
|
||||
// time it was seen, and "-1" if not.
|
||||
//
|
||||
// nConnectedDevices is the number of devices connected to the default
|
||||
// adapter if one exists and is powered, or -1 if it's not available.
|
||||
_getNDevices: function() {
|
||||
let adapter = this._getDefaultAdapter();
|
||||
if (!adapter)
|
||||
return 0;
|
||||
return [ this._hadSetupDevices ? 1 : -1, -1 ];
|
||||
|
||||
let nConnectedDevices = 0;
|
||||
let nDevices = 0;
|
||||
let [ret, iter] = this._model.iter_children(adapter);
|
||||
while (ret) {
|
||||
let isConnected = this._model.get_value(iter,
|
||||
GnomeBluetooth.Column.CONNECTED);
|
||||
if (isConnected)
|
||||
nConnectedDevices++;
|
||||
|
||||
let isPaired = this._model.get_value(iter,
|
||||
GnomeBluetooth.Column.PAIRED);
|
||||
let isTrusted = this._model.get_value(iter,
|
||||
GnomeBluetooth.Column.TRUSTED);
|
||||
if (isPaired || isTrusted)
|
||||
nDevices++;
|
||||
ret = this._model.iter_next(iter);
|
||||
}
|
||||
return nDevices;
|
||||
|
||||
if (this._hadSetupDevices != (nDevices > 0)) {
|
||||
this._hadSetupDevices = !this._hadSetupDevices;
|
||||
global.settings.set_boolean(HAD_BLUETOOTH_DEVICES_SETUP, this._hadSetupDevices);
|
||||
}
|
||||
|
||||
return [ nDevices, nConnectedDevices];
|
||||
},
|
||||
|
||||
_sync: function() {
|
||||
let nDevices = this._getNConnectedDevices();
|
||||
let [ nDevices, nConnectedDevices ] = this._getNDevices();
|
||||
let sensitive = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
|
||||
|
||||
this.menu.setSensitive(sensitive);
|
||||
this._indicator.visible = nDevices > 0;
|
||||
this._item.actor.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode;
|
||||
this._indicator.visible = nConnectedDevices > 0;
|
||||
|
||||
// Remember if there were setup devices and show the menu
|
||||
// if we've seen setup devices and we're not hard blocked
|
||||
if (nDevices > 0)
|
||||
this._item.actor.visible = !this._proxy.BluetoothHardwareAirplaneMode;
|
||||
else
|
||||
this._item.actor.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode;
|
||||
|
||||
if (nConnectedDevices > 0)
|
||||
/* Translators: this is the number of connected bluetooth devices */
|
||||
this._item.label.text = ngettext("%d Connected", "%d Connected", nDevices).format(nDevices);
|
||||
this._item.label.text = ngettext("%d Connected", "%d Connected", nConnectedDevices).format(nConnectedDevices);
|
||||
else if (nConnectedDevices == -1)
|
||||
this._item.label.text = _("Off");
|
||||
else
|
||||
this._item.label.text = _("Not In Use");
|
||||
|
||||
this._toggleItem.label.text = this._proxy.BluetoothAirplaneMode ? _("Turn On") : _("Turn Off");
|
||||
},
|
||||
});
|
||||
|
@ -1,6 +1,8 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const St = imports.gi.St;
|
||||
const Lang = imports.lang;
|
||||
const UPower = imports.gi.UPowerGlib;
|
||||
|
||||
@ -25,6 +27,8 @@ const DisplayDeviceInterface = '<node> \
|
||||
|
||||
const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(DisplayDeviceInterface);
|
||||
|
||||
const SHOW_BATTERY_PERCENTAGE = 'show-battery-percentage';
|
||||
|
||||
const Indicator = new Lang.Class({
|
||||
Name: 'PowerIndicator',
|
||||
Extends: PanelMenu.SystemIndicator,
|
||||
@ -32,7 +36,15 @@ const Indicator = new Lang.Class({
|
||||
_init: function() {
|
||||
this.parent();
|
||||
|
||||
this._desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' });
|
||||
this._desktopSettings.connect('changed::' + SHOW_BATTERY_PERCENTAGE,
|
||||
Lang.bind(this, this._sync));
|
||||
|
||||
this._indicator = this._addIndicator();
|
||||
this._percentageLabel = new St.Label({ y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
this.indicators.add(this._percentageLabel, { expand: true, y_fill: true });
|
||||
this.indicators.add_style_class_name('power-status');
|
||||
|
||||
this._proxy = new PowerManagerProxy(Gio.DBus.system, BUS_NAME, OBJECT_PATH,
|
||||
Lang.bind(this, function(proxy, error) {
|
||||
@ -83,12 +95,12 @@ const Indicator = new Lang.Class({
|
||||
|
||||
if (this._proxy.State == UPower.DeviceState.DISCHARGING) {
|
||||
// Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
return _("%d\u2236%02d Remaining (%d%%)").format(hours, minutes, this._proxy.Percentage);
|
||||
return _("%d\u2236%02d Remaining (%d\u2009%%)").format(hours, minutes, this._proxy.Percentage);
|
||||
}
|
||||
|
||||
if (this._proxy.State == UPower.DeviceState.CHARGING) {
|
||||
// Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
return _("%d\u2236%02d Until Full (%d%%)").format(hours, minutes, this._proxy.Percentage);
|
||||
return _("%d\u2236%02d Until Full (%d\u2009%%)").format(hours, minutes, this._proxy.Percentage);
|
||||
}
|
||||
|
||||
return null;
|
||||
@ -99,10 +111,12 @@ const Indicator = new Lang.Class({
|
||||
let visible = this._proxy.IsPresent;
|
||||
if (visible) {
|
||||
this._item.actor.show();
|
||||
this._percentageLabel.visible = this._desktopSettings.get_boolean(SHOW_BATTERY_PERCENTAGE);
|
||||
} else {
|
||||
// If there's no battery, then we use the power icon.
|
||||
this._item.actor.hide();
|
||||
this._indicator.icon_name = 'system-shutdown-symbolic';
|
||||
this._percentageLabel.hide();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -111,6 +125,14 @@ const Indicator = new Lang.Class({
|
||||
this._indicator.icon_name = icon;
|
||||
this._item.icon.icon_name = icon;
|
||||
|
||||
// The icon label
|
||||
let label
|
||||
if (this._proxy.State == UPower.DeviceState.FULLY_CHARGED)
|
||||
label = _("%d\u2009%%").format(100);
|
||||
else
|
||||
label = _("%d\u2009%%").format(this._proxy.Percentage);
|
||||
this._percentageLabel.clutter_text.set_markup('<span size="smaller">' + label + '</span>');
|
||||
|
||||
// The status label
|
||||
this._item.label.text = this._getStatus();
|
||||
},
|
||||
|
@ -677,6 +677,7 @@ const WindowManager = new Lang.Class({
|
||||
this._minimizing = [];
|
||||
this._unminimizing = [];
|
||||
this._mapping = [];
|
||||
this._resizing = [];
|
||||
this._destroying = [];
|
||||
this._movingWindow = null;
|
||||
|
||||
@ -1234,6 +1235,27 @@ const WindowManager = new Lang.Class({
|
||||
},
|
||||
|
||||
_fullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) {
|
||||
let monitor = Main.layoutManager.monitors[actor.meta_window.get_monitor()];
|
||||
actor.translation_x = oldFrameRect.x - monitor.x;
|
||||
actor.translation_y = oldFrameRect.y - monitor.y;
|
||||
this._fullscreenAnimation(shellwm, actor, oldFrameRect);
|
||||
},
|
||||
|
||||
_unfullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) {
|
||||
let targetRect = actor.meta_window.get_frame_rect();
|
||||
let monitor = Main.layoutManager.monitors[actor.meta_window.get_monitor()];
|
||||
actor.translation_x = -(targetRect.x - monitor.x);
|
||||
actor.translation_y = -(targetRect.y - monitor.y);
|
||||
this._fullscreenAnimation(shellwm, actor, oldFrameRect);
|
||||
},
|
||||
|
||||
_fullscreenAnimation: function(shellwm, actor, oldFrameRect) {
|
||||
this._resizing.push(actor);
|
||||
|
||||
// Position a clone of the window on top of the old position,
|
||||
// while actor updates are frozen.
|
||||
// Note that the MetaWindow has up to date sizing information for
|
||||
// the new geometry already.
|
||||
let targetRect = actor.meta_window.get_frame_rect();
|
||||
let actorContent = Shell.util_get_content_for_window_actor(actor, oldFrameRect);
|
||||
let actorClone = new St.Widget({ content: actorContent });
|
||||
@ -1247,93 +1269,68 @@ const WindowManager = new Lang.Class({
|
||||
let scaleX = targetRect.width / oldFrameRect.width;
|
||||
let scaleY = targetRect.height / oldFrameRect.height;
|
||||
|
||||
// Now scale and fade out the clone
|
||||
Tweener.addTween(actorClone,
|
||||
{ x: targetRect.x,
|
||||
y: targetRect.y,
|
||||
scaleX: scaleX,
|
||||
scaleY: scaleY,
|
||||
scale_x: scaleX,
|
||||
scale_y: scaleY,
|
||||
opacity: 0,
|
||||
time: WINDOW_ANIMATION_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: this._sizeChangeWindowDone,
|
||||
onCompleteScope: this,
|
||||
onCompleteParams: [shellwm, actor]
|
||||
});
|
||||
|
||||
actor.translation_x = actor.x;
|
||||
actor.translation_y = actor.y;
|
||||
actor.scaleX = 1 / scaleX;
|
||||
actor.scaleY = 1 / scaleY;
|
||||
|
||||
Tweener.addTween(actor,
|
||||
{ scaleX: 1.0,
|
||||
scaleY: 1.0,
|
||||
translation_x: 0,
|
||||
translation_y: 0,
|
||||
time: WINDOW_ANIMATION_TIME,
|
||||
transition: 'easeOutQuad'
|
||||
});
|
||||
|
||||
shellwm.completed_size_change(actor);
|
||||
},
|
||||
// Now set scale the actor to size it as the clone.
|
||||
// Note that the caller of this function already set a translation
|
||||
// on the actor.
|
||||
actor.scale_x = 1 / scaleX;
|
||||
actor.scale_y = 1 / scaleY;
|
||||
|
||||
_unfullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) {
|
||||
let targetRect = actor.meta_window.get_frame_rect();
|
||||
let actorContent = Shell.util_get_content_for_window_actor(actor, oldFrameRect);
|
||||
let actorClone = new St.Widget({ content: actorContent });
|
||||
actorClone.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
|
||||
actorClone.set_position(oldFrameRect.x, oldFrameRect.y);
|
||||
actorClone.set_size(oldFrameRect.width, oldFrameRect.height);
|
||||
Main.uiGroup.add_actor(actorClone);
|
||||
|
||||
actor.__unfullscreenClone = actorClone;
|
||||
|
||||
let scaleX = targetRect.width / oldFrameRect.width;
|
||||
let scaleY = targetRect.height / oldFrameRect.height;
|
||||
|
||||
Tweener.addTween(actorClone,
|
||||
{ x: targetRect.x,
|
||||
y: targetRect.y,
|
||||
scaleX: scaleX,
|
||||
scaleY: scaleY,
|
||||
opacity: 0,
|
||||
// Scale it to its actual new size
|
||||
Tweener.addTween(actor,
|
||||
{ scale_x: 1.0,
|
||||
scale_y: 1.0,
|
||||
translation_x: 0,
|
||||
translation_y: 0,
|
||||
time: WINDOW_ANIMATION_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: this._sizeChangeWindowDone,
|
||||
onCompleteScope: this,
|
||||
onCompleteParams: [shellwm, actor]
|
||||
});
|
||||
|
||||
actor.translation_x = -actor.x;
|
||||
actor.translation_y = -actor.y;
|
||||
actor.scaleX = 1 / scaleX;
|
||||
actor.scaleY = 1 / scaleY;
|
||||
|
||||
Tweener.addTween(actor,
|
||||
{ scaleX: 1.0,
|
||||
scaleY: 1.0,
|
||||
translation_x: 0,
|
||||
translation_y: 0,
|
||||
time: WINDOW_ANIMATION_TIME,
|
||||
transition: 'easeOutQuad'
|
||||
onCompleteParams: [shellwm, actor],
|
||||
onOverwrite: this._sizeChangeWindowOverwritten,
|
||||
onOverwriteScope: this,
|
||||
onOverwriteParams: [shellwm, actor]
|
||||
});
|
||||
|
||||
// Now unfreeze actor updates, to get it to the new size.
|
||||
// It's important that we don't wait until the animation is completed to
|
||||
// do this, otherwise our scale will be applied to the old texture size.
|
||||
shellwm.completed_size_change(actor);
|
||||
},
|
||||
|
||||
_sizeChangeWindowDone: function(shellwm, actor) {
|
||||
Tweener.removeTweens(actor);
|
||||
if (this._removeEffect(this._resizing, actor)) {
|
||||
Tweener.removeTweens(actor);
|
||||
actor.scale_x = 1.0;
|
||||
actor.scale_y = 1.0;
|
||||
actor.translation_x = 0;
|
||||
actor.translation_y = 0;
|
||||
|
||||
let actorClone = actor.__fullscreenClone;
|
||||
if (actorClone) {
|
||||
actorClone.destroy();
|
||||
delete actor.__fullscreenClone;
|
||||
let actorClone = actor.__fullscreenClone;
|
||||
if (actorClone) {
|
||||
actorClone.destroy();
|
||||
delete actor.__fullscreenClone;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
actorClone = actor.__unfullscreenClone;
|
||||
if (actorClone) {
|
||||
actorClone.destroy();
|
||||
delete actor.__unfullscreenClone;
|
||||
_sizeChangeWindowOverwritten: function(shellwm, actor) {
|
||||
if (this._removeEffect(this._resizing, actor)) {
|
||||
let actorClone = actor.__fullscreenClone;
|
||||
if (actorClone) {
|
||||
actorClone.destroy();
|
||||
delete actor.__fullscreenClone;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -214,7 +214,7 @@ const WindowMenuManager = new Lang.Class({
|
||||
menu.close();
|
||||
});
|
||||
|
||||
this._sourceActor.set_size(rect.width, rect.height);
|
||||
this._sourceActor.set_size(Math.max(1, rect.width), Math.max(1, rect.height));
|
||||
this._sourceActor.set_position(rect.x, rect.y);
|
||||
this._sourceActor.show();
|
||||
|
||||
|
@ -361,6 +361,9 @@ const WindowClone = new Lang.Class({
|
||||
// a long-press canceled when the pointer movement
|
||||
// exceeds dnd-drag-threshold to manually start the drag
|
||||
if (state == Clutter.LongPressState.CANCEL) {
|
||||
let event = Clutter.get_current_event();
|
||||
this._dragTouchSequence = event.get_event_sequence();
|
||||
|
||||
// A click cancels a long-press before any click handler is
|
||||
// run - make sure to not start a drag in that case
|
||||
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this,
|
||||
@ -369,7 +372,7 @@ const WindowClone = new Lang.Class({
|
||||
return;
|
||||
let [x, y] = action.get_coords();
|
||||
action.release();
|
||||
this._draggable.startDrag(x, y, global.get_current_time());
|
||||
this._draggable.startDrag(x, y, global.get_current_time(), this._dragTouchSequence);
|
||||
}));
|
||||
}
|
||||
return true;
|
||||
|
@ -80,6 +80,8 @@ const WindowClone = new Lang.Class({
|
||||
|
||||
this.actor.connect('button-release-event',
|
||||
Lang.bind(this, this._onButtonRelease));
|
||||
this.actor.connect('touch-event',
|
||||
Lang.bind(this, this._onTouchEvent));
|
||||
|
||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||
|
||||
@ -200,6 +202,15 @@ const WindowClone = new Lang.Class({
|
||||
return Clutter.EVENT_STOP;
|
||||
},
|
||||
|
||||
_onTouchEvent : function (actor, event) {
|
||||
if (event.type() != Clutter.EventType.TOUCH_END ||
|
||||
!global.display.is_pointer_emulating_sequence(event.get_event_sequence()))
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
this.emit('selected', event.get_time());
|
||||
return Clutter.EVENT_STOP;
|
||||
},
|
||||
|
||||
_onDragBegin : function (draggable, time) {
|
||||
this.inDrag = true;
|
||||
this.emit('drag-begin');
|
||||
@ -642,6 +653,7 @@ const ThumbnailsBox = new Lang.Class({
|
||||
|
||||
this.actor.connect('button-press-event', function() { return Clutter.EVENT_STOP; });
|
||||
this.actor.connect('button-release-event', Lang.bind(this, this._onButtonRelease));
|
||||
this.actor.connect('touch-event', Lang.bind(this, this._onTouchEvent));
|
||||
|
||||
Main.overview.connect('showing',
|
||||
Lang.bind(this, this._createThumbnails));
|
||||
@ -672,18 +684,31 @@ const ThumbnailsBox = new Lang.Class({
|
||||
global.screen.n_workspaces > 1;
|
||||
},
|
||||
|
||||
_onButtonRelease: function(actor, event) {
|
||||
let [stageX, stageY] = event.get_coords();
|
||||
_activateThumbnailAtPoint: function (stageX, stageY, time) {
|
||||
let [r, x, y] = this.actor.transform_stage_point(stageX, stageY);
|
||||
|
||||
for (let i = 0; i < this._thumbnails.length; i++) {
|
||||
let thumbnail = this._thumbnails[i]
|
||||
let [w, h] = thumbnail.actor.get_transformed_size();
|
||||
if (y >= thumbnail.actor.y && y <= thumbnail.actor.y + h) {
|
||||
thumbnail.activate(event.get_time());
|
||||
thumbnail.activate(time);
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_onButtonRelease: function(actor, event) {
|
||||
let [stageX, stageY] = event.get_coords();
|
||||
this._activateThumbnailAtPoint(stageX, stageY, event.get_time());
|
||||
return Clutter.EVENT_STOP;
|
||||
},
|
||||
|
||||
_onTouchEvent: function (actor, event) {
|
||||
if (event.type() == Clutter.EventType.TOUCH_END &&
|
||||
global.display.is_pointer_emulating_sequence(event.get_event_sequence())) {
|
||||
let [stageX, stageY] = event.get_coords();
|
||||
this._activateThumbnailAtPoint(stageX, stageY, event.get_time());
|
||||
}
|
||||
|
||||
return Clutter.EVENT_STOP;
|
||||
},
|
||||
|
@ -421,7 +421,7 @@ const WorkspacesDisplay = new Lang.Class({
|
||||
// Only switch to the workspace when there's no application
|
||||
// windows open. The problem is that it's too easy to miss
|
||||
// an app window and get the wrong one focused.
|
||||
if (action.get_button() == 1 &&
|
||||
if ((action.get_button() == 1 || action.get_button() == 0) &&
|
||||
this._getPrimaryView().getActiveWorkspace().isEmpty())
|
||||
Main.overview.hide();
|
||||
}));
|
||||
|
@ -140,7 +140,7 @@
|
||||
|
||||
<para>
|
||||
<filename>/usr/share/gnome-session/sessions/gnome.session</filename>,
|
||||
<filename>/usr/share/applications/gnome-shell.desktop</filename>.</para>
|
||||
<filename>/usr/share/applications/org.gnome.Shell.desktop</filename>.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
|
@ -24,6 +24,7 @@ fi
|
||||
fr
|
||||
fur
|
||||
ga
|
||||
gd
|
||||
gl
|
||||
gu
|
||||
he
|
||||
|
@ -2,9 +2,8 @@
|
||||
# Please keep this file sorted alphabetically.
|
||||
[encoding: UTF-8]
|
||||
data/50-gnome-shell-system.xml.in
|
||||
data/gnome-shell.desktop.in.in
|
||||
data/gnome-shell-extension-prefs.desktop.in.in
|
||||
data/gnome-shell-wayland.desktop.in.in
|
||||
data/org.gnome.Shell.desktop.in.in
|
||||
data/org.gnome.shell.gschema.xml.in.in
|
||||
data/org.gnome.Shell.PortalHelper.desktop.in
|
||||
js/extensionPrefs/main.js
|
||||
|
16
po/ar.po
16
po/ar.po
@ -1223,13 +1223,13 @@ msgstr "<غير معروفة>"
|
||||
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s مغلق"
|
||||
msgstr "%s مغلق"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:454
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "%s مُتصل"
|
||||
msgstr "%s مُتصل"
|
||||
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||
@ -1237,19 +1237,19 @@ msgstr "%s مُتصل"
|
||||
#: ../js/ui/status/network.js:459
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s غير مُدار"
|
||||
msgstr "%s غير مُدار"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:462
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "%s يقطع الاتّصال"
|
||||
msgstr "%s يقطع الاتّصال"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s يتّصل"
|
||||
msgstr "%s يتّصل"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
||||
#: ../js/ui/status/network.js:472
|
||||
@ -1269,7 +1269,7 @@ msgstr "برمجيات %s المغروسة (Firmware) غير متاحة"
|
||||
#: ../js/ui/status/network.js:484
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s غير متاح"
|
||||
msgstr "%s غير متاح"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:487
|
||||
@ -1296,7 +1296,7 @@ msgstr "عتاد %s مُعَطَّل"
|
||||
#: ../js/ui/status/network.js:592
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s معطّل"
|
||||
msgstr "%s معطّل"
|
||||
|
||||
#: ../js/ui/status/network.js:632
|
||||
msgid "Use as Internet connection"
|
||||
@ -1364,7 +1364,7 @@ msgstr "نقطة اتصال %s نشطة"
|
||||
#: ../js/ui/status/network.js:1311
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s غير متّصل"
|
||||
msgstr "%s غير متّصل"
|
||||
|
||||
#: ../js/ui/status/network.js:1411
|
||||
msgid "connecting..."
|
||||
|
62
po/cs.po
62
po/cs.po
@ -12,8 +12,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-10-05 08:41+0000\n"
|
||||
"PO-Revision-Date: 2015-10-04 11:42-0400\n"
|
||||
"POT-Creation-Date: 2015-10-27 22:11+0000\n"
|
||||
"PO-Revision-Date: 2015-10-28 10:56+0100\n"
|
||||
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
||||
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
|
||||
"Language: cs\n"
|
||||
@ -21,7 +21,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Virtaal 0.7.1\n"
|
||||
"X-Generator: Gtranslator 2.91.7\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
@ -357,7 +357,7 @@ msgstr "(např. uživatel nebo %s)"
|
||||
msgid "Username: "
|
||||
msgstr "Uživatelské jméno: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1184
|
||||
#: ../js/gdm/loginDialog.js:1180
|
||||
msgid "Login Window"
|
||||
msgstr "Přihlašovací okno"
|
||||
|
||||
@ -406,7 +406,7 @@ msgstr "včera, %k∶%M"
|
||||
#: ../js/misc/util.js:203
|
||||
#, no-c-format
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %k∶%M"
|
||||
msgstr "%A %k∶%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
@ -434,14 +434,14 @@ msgstr "%l∶%M %p"
|
||||
#: ../js/misc/util.js:226
|
||||
#, no-c-format
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "včera, %l∶%M %p"
|
||||
msgstr "včera %l∶%M %p"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm"
|
||||
#: ../js/misc/util.js:232
|
||||
#, no-c-format
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %l∶%M %p"
|
||||
msgstr "%A %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
@ -449,7 +449,7 @@ msgstr "%A, %l∶%M %p"
|
||||
#: ../js/misc/util.js:238
|
||||
#, no-c-format
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%e. %B, %l∶%M %p"
|
||||
msgstr "%e. %B %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
@ -575,9 +575,15 @@ msgstr "Předchozí měsíc"
|
||||
msgid "Next month"
|
||||
msgstr "Následující měsíc"
|
||||
|
||||
#: ../js/ui/calendar.js:728
|
||||
#, javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%e"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
msgid "Week %V"
|
||||
msgstr "Týden %V"
|
||||
msgstr "%V. týden"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
@ -611,11 +617,11 @@ msgstr "Upozornění"
|
||||
|
||||
#: ../js/ui/calendar.js:1771
|
||||
msgid "No Notifications"
|
||||
msgstr "Žádná upozornění"
|
||||
msgstr "Nejsou žádná upozornění"
|
||||
|
||||
#: ../js/ui/calendar.js:1774
|
||||
msgid "No Events"
|
||||
msgstr "Žádné události"
|
||||
msgstr "Nejsou žádné události"
|
||||
|
||||
#: ../js/ui/components/automountManager.js:91
|
||||
msgid "External drive connected"
|
||||
@ -625,10 +631,10 @@ msgstr "Externí svazek připojen"
|
||||
msgid "External drive disconnected"
|
||||
msgstr "Externí svazek odpojen"
|
||||
|
||||
#: ../js/ui/components/autorunManager.js:354
|
||||
#: ../js/ui/components/autorunManager.js:351
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Otevřít s %s"
|
||||
msgstr "Otevřít pomocí %s"
|
||||
|
||||
#: ../js/ui/components/keyring.js:120 ../js/ui/components/polkitAgent.js:315
|
||||
msgid "Password:"
|
||||
@ -776,7 +782,7 @@ msgstr "Oblíbené"
|
||||
#.
|
||||
#: ../js/ui/dateMenu.js:73
|
||||
msgid "%B %e %Y"
|
||||
msgstr "%e. %B, %Y"
|
||||
msgstr "%e. %B %Y"
|
||||
|
||||
# Not sure whether we've enough space for it, but anyway, looks more aesthetically with "%A".
|
||||
#. Translators: This is the accessible name of the date button shown
|
||||
@ -785,7 +791,7 @@ msgstr "%e. %B, %Y"
|
||||
#.
|
||||
#: ../js/ui/dateMenu.js:80
|
||||
msgid "%A %B %e %Y"
|
||||
msgstr "%A, %e. %B, %Y"
|
||||
msgstr "%A, %e. %B %Y"
|
||||
|
||||
#: ../js/ui/dateMenu.js:160
|
||||
msgid "Add world clocks…"
|
||||
@ -1021,24 +1027,24 @@ msgstr "Přehled"
|
||||
#. characters.
|
||||
#: ../js/ui/overview.js:244
|
||||
msgid "Type to search…"
|
||||
msgstr "Vyhledávejte psaním…"
|
||||
msgstr "vyhledávejte psaním…"
|
||||
|
||||
#: ../js/ui/panel.js:352
|
||||
#: ../js/ui/panel.js:358
|
||||
msgid "Quit"
|
||||
msgstr "Ukončit"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:404
|
||||
#: ../js/ui/panel.js:414
|
||||
msgid "Activities"
|
||||
msgstr "Činnosti"
|
||||
|
||||
#: ../js/ui/panel.js:650
|
||||
#: ../js/ui/panel.js:695
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Systém"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Top Bar"
|
||||
msgstr "Horní lišta"
|
||||
|
||||
@ -1051,15 +1057,15 @@ msgstr "Horní lišta"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:70
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "Zadejte příkaz:"
|
||||
|
||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
msgstr "Zavřít"
|
||||
|
||||
#: ../js/ui/runDialog.js:281
|
||||
#: ../js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "Restartuje se…"
|
||||
|
||||
@ -1656,24 +1662,24 @@ msgstr "Použít pro přihlašovací obrazovku zadaný režim, např. „gdm“.
|
||||
msgid "List possible modes"
|
||||
msgstr "Vypsat možné režimy"
|
||||
|
||||
#: ../src/shell-app.c:239
|
||||
#: ../src/shell-app.c:246
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Neznámé"
|
||||
|
||||
#: ../src/shell-app.c:480
|
||||
#: ../src/shell-app.c:487
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Nelze spustit „%s“"
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:742
|
||||
#: ../src/shell-keyring-prompt.c:730
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Hesla si neodpovídají."
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:750
|
||||
#: ../src/shell-keyring-prompt.c:738
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "Heslo nemůže být prázdné."
|
||||
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Dialogové okno ověření bylo uživatelem zrušeno"
|
||||
|
199
po/es.po
199
po/es.po
@ -11,8 +11,8 @@ msgstr ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell.master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-10-04 20:38+0000\n"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-11-22 22:13+0000\n"
|
||||
"PO-Revision-Date: 2015-11-23 10:21+0100\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
|
||||
@ -46,15 +46,6 @@ msgstr "Mostrar todas las aplicaciones"
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:6
|
||||
msgid "Open the application menu"
|
||||
msgstr "Abrir el menú de la aplicación"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Gestión de ventanas e inicio de aplicaciones"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Extension Preferences"
|
||||
@ -63,9 +54,13 @@ msgstr "Preferencias de las extensiones de GNOME Shell"
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Configurar las extensiones de GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Gestión de ventanas e inicio de aplicaciones"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
@ -176,80 +171,99 @@ msgstr ""
|
||||
"en un futuro, se mostrará la casilla «Recordar contraseña». Esta clave "
|
||||
"establece el valor predeterminado de la casilla."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
"Indica si el adaptador Bluetooth predeterminado tiene dispositivos asociados "
|
||||
"configurados"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
"La shell sólo mostrará un menú de Bluetooth si hay conectado un adaptador de "
|
||||
"Bluetooth, o si hay dispositivos asociados configurados con el adaptador "
|
||||
"predeterminado. Esto se restablecerá si se ve que el adaptador "
|
||||
"predeterminado no tiene dispositivos asociados."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Mostrar la fecha de la semana en el calendario"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Si es cierta, muestra la fecha de semana ISO en el calendario."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Asociación de teclas para abrir el menú de la aplicación"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Asociación de teclas para abrir el menú de la aplicación."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Asociación de teclas para la vista «Mostrar aplicaciones»"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Asociación de teclas para abrir la vista «Mostrar aplicaciones» de la vista "
|
||||
"de actividades."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Asociación de teclas para la vista general"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Asociación de teclas para abrir la Vista de actividades"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr ""
|
||||
"Asociación de teclas para cambiar la visibilidad de la lista de "
|
||||
"notificaciones"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr ""
|
||||
"Asociación de teclas para cambiar la visibilidad de la lista de "
|
||||
"notificaciones."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Asociación de teclas para dar el foco a la notificación activa"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Asociación de teclas para dar el foco a la notificación activa."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Asociación de teclas que pausa y reanuda los «tweens» en ejecución, para "
|
||||
"depuración."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Qué teclado usar"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "El tipo de teclado que usar."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Limitar el intercambiador al área de trabajo actual."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
@ -258,11 +272,11 @@ msgstr ""
|
||||
"Si es cierto, sólo las aplicaciones que tengan ventanas en el área de "
|
||||
"trabajo actual se muestran en el selector. Si no, se incluyen todas las "
|
||||
"aplicaciones."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "The application icon mode."
|
||||
msgstr "El modo de icono de la aplicación."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
@ -272,7 +286,7 @@ msgstr ""
|
||||
"Configura cómo se muestran las ventanas en el selector. Los valore posibles "
|
||||
"son «thumbnail-only» (muestra una miniatura de la ventana), «app-icon-"
|
||||
"only» (sólo muestra el icono de la aplicación) «both»."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
@ -280,31 +294,31 @@ msgstr ""
|
||||
msgstr ""
|
||||
"Si es cierto, sólo se muestran en el selector las ventanas del área de "
|
||||
"trabajo actual. Si no, se incluyen todas las ventanas."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Acoplar un diálogo modal a la ventana padre"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Esta clave sobrescribe la clave en org.gnome.mutter al ejecutar GNOME Shell."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Activar el mosaico en los bordes al arrastrar ventanas a los bordes de la "
|
||||
"ventana"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Las áreas de trabajo se gestionan dinámicamente"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Áreas de trabajo solo en la pantalla principal"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
@ -370,7 +384,7 @@ msgstr "(ej., usuario o %s)"
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Nombre de usuario:"
|
||||
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1180
|
||||
msgid "Login Window"
|
||||
msgstr "Ventana de inicio de sesión"
|
||||
@ -506,12 +520,12 @@ msgstr "Añadir a los favoritos"
|
||||
#: ../js/ui/appDisplay.js:1897
|
||||
msgid "Show Details"
|
||||
msgstr "Mostrar detalles"
|
||||
|
||||
|
||||
#: ../js/ui/appFavorites.js:133
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "Se ha añadido %s a sus favoritos."
|
||||
|
||||
|
||||
#: ../js/ui/appFavorites.js:167
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
@ -588,6 +602,12 @@ msgstr "Mes anterior"
|
||||
#: ../js/ui/calendar.js:576
|
||||
msgid "Next month"
|
||||
msgstr "Siguiente mes"
|
||||
|
||||
#: ../js/ui/calendar.js:728
|
||||
#, javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
msgid "Week %V"
|
||||
@ -638,7 +658,7 @@ msgstr "Dispositivo externo conectado"
|
||||
#: ../js/ui/components/automountManager.js:102
|
||||
msgid "External drive disconnected"
|
||||
msgstr "Dispositivo externo desconectado"
|
||||
|
||||
|
||||
#: ../js/ui/components/autorunManager.js:355
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
@ -1027,23 +1047,22 @@ msgstr "Vista general"
|
||||
#: ../js/ui/overview.js:244
|
||||
msgid "Type to search…"
|
||||
msgstr "Escribir para buscar…"
|
||||
|
||||
|
||||
#: ../js/ui/panel.js:358
|
||||
msgid "Quit"
|
||||
msgstr "Salir"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:414
|
||||
msgid "Activities"
|
||||
msgstr "Actividades"
|
||||
|
||||
#: ../js/ui/panel.js:650
|
||||
|
||||
#: ../js/ui/panel.js:695
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
@ -1056,15 +1075,15 @@ msgstr "Barra superior"
|
||||
#: ../js/ui/popupMenu.js:289
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "Introducir un comando"
|
||||
|
||||
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
|
||||
#: ../js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "Reiniciando…"
|
||||
@ -1187,29 +1206,41 @@ msgstr "Contraste alto"
|
||||
#: ../js/ui/status/accessibility.js:202
|
||||
msgid "Large Text"
|
||||
msgstr "Texto grande"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:47
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:56
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Configuración de Bluetooth"
|
||||
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#, javascript-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
msgstr[0] "%d conectado"
|
||||
msgstr[1] "%d conectados"
|
||||
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Off"
|
||||
msgstr "Desconectado"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:140
|
||||
msgid "Not In Use"
|
||||
msgstr "No está en uso"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Encender"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Apagar"
|
||||
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
@ -1377,10 +1408,6 @@ msgstr "Seleccionar red"
|
||||
#: ../js/ui/status/network.js:1177
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Configuración de Wi-Fi"
|
||||
|
||||
#: ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Encender"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:1296
|
||||
@ -1430,31 +1457,36 @@ msgstr "Falló la conexión"
|
||||
#: ../js/ui/status/network.js:1698
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Falló la activación de la conexión de red"
|
||||
|
||||
|
||||
#: ../js/ui/status/power.js:61
|
||||
msgid "Power Settings"
|
||||
msgstr "Configuración de energía"
|
||||
|
||||
|
||||
#: ../js/ui/status/power.js:77
|
||||
msgid "Fully Charged"
|
||||
msgstr "Cargada completamente"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
|
||||
msgid "Estimating…"
|
||||
msgstr "Estimando…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:98
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr "%d∶%02d queda (%d %%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:103
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr "%d∶%02d para la carga completa (%d %%)"
|
||||
|
||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
|
||||
#, javascript-format
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
@ -1657,39 +1689,36 @@ msgstr ""
|
||||
#: ../src/main.c:399
|
||||
msgid "List possible modes"
|
||||
msgstr "Listar los modos posibles"
|
||||
|
||||
|
||||
#: ../src/shell-app.c:246
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Desconocido"
|
||||
|
||||
|
||||
#: ../src/shell-app.c:487
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Falló al lanzar «%s»"
|
||||
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:730
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Las contraseñas no coinciden."
|
||||
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:738
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "La contraseña no puede estar vacía"
|
||||
|
||||
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "El usuario rechazó el diálogo de autenticación"
|
||||
|
||||
#~ msgid "Bluetooth"
|
||||
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "GNOME Shell (composición wayland)"
|
||||
|
||||
#~ msgid "%d Connected Device"
|
||||
#~ msgid_plural "%d Connected Devices"
|
||||
#~ msgstr[0] "%d dispositivo conectado"
|
||||
#~ msgstr[1] "%d dispositivos conectados"
|
||||
|
||||
#~ msgid "Off"
|
||||
#~ msgstr "Desconectado"
|
||||
|
||||
#~ msgid "Authentication required"
|
||||
#~ msgstr "Autenticación requerida"
|
||||
@ -2229,10 +2258,6 @@ msgstr "El usuario rechazó el diálogo de autenticación"
|
||||
#~ msgid_plural "%d minutes remaining"
|
||||
#~ msgstr[0] "Queda %d minuto"
|
||||
#~ msgstr[1] "Quedan %d minutos"
|
||||
|
||||
#~ msgctxt "percent of battery remaining"
|
||||
#~ msgid "%d%%"
|
||||
#~ msgstr "%d%%"
|
||||
|
||||
#~ msgid "AC Adapter"
|
||||
#~ msgstr "Adaptador de corriente"
|
||||
|
184
po/fi.po
184
po/fi.po
@ -26,8 +26,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-10-03 20:41+0000\n"
|
||||
"PO-Revision-Date: 2015-09-05 13:11+0300\n"
|
||||
"POT-Creation-Date: 2015-11-15 10:15+0000\n"
|
||||
"PO-Revision-Date: 2015-11-15 18:52+0200\n"
|
||||
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
|
||||
"Language-Team: suomi <gnome-fi-laatu@lists.sourceforge.net>\n"
|
||||
"Language: fi\n"
|
||||
@ -35,7 +35,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: Gtranslator 2.91.6\n"
|
||||
"X-Generator: Gtranslator 2.91.7\n"
|
||||
"X-DamnedLies-Scope: partial\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-POT-Import-Date: 2012-03-05 15:06:10+0000\n"
|
||||
@ -64,15 +64,6 @@ msgstr "Näytä kaikki sovellukset"
|
||||
msgid "Open the application menu"
|
||||
msgstr "Avaa sovellusvalikko"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "Gnome Shell"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Ikkunanhallinta ja sovelluksien käynnistäminen"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Extension Preferences"
|
||||
msgstr "Gnome Shell -laajennusten asetukset"
|
||||
@ -81,9 +72,13 @@ msgstr "Gnome Shell -laajennusten asetukset"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Hallitse Gnome Shell -laajennuksia"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "Gnome Shell (Wayland-komposiointi)"
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "Gnome Shell"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Ikkunanhallinta ja sovelluksien käynnistäminen"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
@ -194,73 +189,86 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Näytä viikonpäivä kalenterissa"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Jos tosi, näytä ISO-viikonpäivät kalenterissa."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Sovellusvalikon avaukseen käytettävä pikanäppäin"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Sovellusvalikon avaukseen käytettävä pikanäppäin."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Näytä sovellukset -näkymän avaukseen käytettävä pikanäppäin"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Yleisnäkymän Näytä sovellukset -näkymän avaukseen käytettävä pikanäppäin."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Yleisnäkymän avaukseen käytettävä pikanäppäin"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Yleisnäkymän avaukseen käytettävä pikanäppäin."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Ilmoitusalueen näyttämiseen/piilottamiseen tarkoitettu pikanäppäin"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr "Ilmoitusluettelon näyttämiseen/piilottamiseen tarkoitettu pikanäppäin."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Aktiiviseen ilmoitukseen kohdistava pikanäppäin"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Aktiiviseen ilmoitukseen kohdistava pikanäppäin."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Mitä näppäimistöä käytetään"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "Käytettävän näppäimistön tyyppi."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Rajoita vaihtaja nykyiseen työtilaan."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
@ -269,11 +277,11 @@ msgstr ""
|
||||
"sijaitsevat nykyisessä työtilassa. Muussa tapauksessa kaikki sovellukset "
|
||||
"sisällytetään."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "The application icon mode."
|
||||
msgstr "Sovelluskuvakkeen tila."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
@ -283,7 +291,7 @@ msgstr ""
|
||||
"'thumbnail-only' (näyttää ikkunan pienoiskuvan), 'app-icon-only' (näyttää "
|
||||
"vain sovelluksen kuvakkeen) tai 'both'."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
@ -291,29 +299,29 @@ msgstr ""
|
||||
"Jos tosi,vain nykyisessä työtilassa olevat ikkunat näytetään vaihtajassa. "
|
||||
"Muussa tapauksessa kaikki ikkunat näytetään."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Kiinnitä modaali-ikkuna isäntäikkunaan"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Tämä avain syrjäyttää avaimen org.gnome.mutter Gnome Shelliä käyttäessä."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Käytä reunakiinnitystä tiputtaessa ikkunoita näytön reunoille"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Työtilojen hallinta on dynaamista"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Työtilat ainoastaan ensisijaisella näytöllä"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Viivästytä kohdistuksen vaihtumista hiiritilassa, kunnes osoitin lopettaa "
|
||||
@ -380,7 +388,7 @@ msgstr "(esim. käyttäjä tai %s)"
|
||||
msgid "Username: "
|
||||
msgstr "Käyttäjänimi: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1184
|
||||
#: ../js/gdm/loginDialog.js:1180
|
||||
msgid "Login Window"
|
||||
msgstr "Kirjautumisikkuna"
|
||||
|
||||
@ -516,12 +524,12 @@ msgstr "Lisää suosikkeihin"
|
||||
msgid "Show Details"
|
||||
msgstr "Näytä tiedot"
|
||||
|
||||
#: ../js/ui/appFavorites.js:132
|
||||
#: ../js/ui/appFavorites.js:133
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s on lisätty suosikkeihin."
|
||||
|
||||
#: ../js/ui/appFavorites.js:166
|
||||
#: ../js/ui/appFavorites.js:167
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s on poistettu suosikeista."
|
||||
@ -598,6 +606,14 @@ msgstr "Edellinen kuukausi"
|
||||
msgid "Next month"
|
||||
msgstr "Seuraava kuukausi"
|
||||
|
||||
#: ../js/ui/calendar.js:728
|
||||
#, fuzzy, javascript-format
|
||||
#| msgctxt "percent of battery remaining"
|
||||
#| msgid "%d%%"
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d %%"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
msgid "Week %V"
|
||||
msgstr "Viikko %V"
|
||||
@ -648,7 +664,7 @@ msgstr "Erillinen asema yhdistetty"
|
||||
msgid "External drive disconnected"
|
||||
msgstr "Erillinen asema irrotettu"
|
||||
|
||||
#: ../js/ui/components/autorunManager.js:354
|
||||
#: ../js/ui/components/autorunManager.js:351
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Avaa käyttäen sovellusta %s"
|
||||
@ -1038,23 +1054,22 @@ msgstr "Yleisnäkymä"
|
||||
msgid "Type to search…"
|
||||
msgstr "Kirjoita hakeaksesi…"
|
||||
|
||||
#: ../js/ui/panel.js:352
|
||||
#: ../js/ui/panel.js:358
|
||||
msgid "Quit"
|
||||
msgstr "Lopeta"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:404
|
||||
#: ../js/ui/panel.js:414
|
||||
msgid "Activities"
|
||||
msgstr "Toiminnot"
|
||||
|
||||
#: ../js/ui/panel.js:650
|
||||
#| msgid "System"
|
||||
#: ../js/ui/panel.js:695
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Järjestelmä"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Top Bar"
|
||||
msgstr "Yläpalkki"
|
||||
|
||||
@ -1067,15 +1082,15 @@ msgstr "Yläpalkki"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:70
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "Syötä komento"
|
||||
|
||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
msgstr "Sulje"
|
||||
|
||||
#: ../js/ui/runDialog.js:281
|
||||
#: ../js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "Käynnistetään uudelleen…"
|
||||
|
||||
@ -1198,29 +1213,41 @@ msgstr "Korkea kontrasti"
|
||||
msgid "Large Text"
|
||||
msgstr "Suuri tekstin koko"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Sammuta"
|
||||
#: ../js/ui/status/bluetooth.js:50
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:54
|
||||
#: ../js/ui/status/bluetooth.js:59
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth-asetukset"
|
||||
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#: ../js/ui/status/bluetooth.js:105
|
||||
#: ../js/ui/status/bluetooth.js:139
|
||||
#, javascript-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
msgstr[0] "%d yhdistetty"
|
||||
msgstr[1] "%d yhdistetty"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:107
|
||||
#: ../js/ui/status/bluetooth.js:141
|
||||
msgid "Off"
|
||||
msgstr "Pois"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:143
|
||||
msgid "Not In Use"
|
||||
msgstr "Ei käytössä"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:145 ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Ota käyttöön"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:145 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Sammuta"
|
||||
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
msgstr "Kirkkaus"
|
||||
@ -1388,10 +1415,6 @@ msgstr "Valitse verkko"
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Wifin asetukset"
|
||||
|
||||
#: ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Ota käyttöön"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:1296
|
||||
#, javascript-format
|
||||
@ -1458,14 +1481,16 @@ msgstr "Arvioidaan…"
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:86
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgstr "%d∶%02d jäljellä (%d%%)"
|
||||
#| msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr "%d∶%02d jäljellä (%d %%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:91
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgstr "%d∶%02d kunnes täynnä (%d%%)"
|
||||
#| msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr "%d∶%02d kunnes täynnä (%d %%)"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
@ -1666,39 +1691,36 @@ msgstr "Käytä tiettyä tilaa (esim. \"gdm\") kirjautumisnäkymää varten"
|
||||
msgid "List possible modes"
|
||||
msgstr "Listaa mahdolliset tilat"
|
||||
|
||||
#: ../src/shell-app.c:239
|
||||
#: ../src/shell-app.c:246
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Tuntematon"
|
||||
|
||||
#: ../src/shell-app.c:480
|
||||
#: ../src/shell-app.c:487
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Sovelluksen ”%s” käynnistäminen epäonnistui"
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:742
|
||||
#: ../src/shell-keyring-prompt.c:730
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Salasanat eivät täsmää."
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:750
|
||||
#: ../src/shell-keyring-prompt.c:738
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "Salasana ei voi olla tyhjä"
|
||||
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Käyttäjä poistui tunnistautumisvalintaikkunasta"
|
||||
|
||||
#~ msgid "Bluetooth"
|
||||
#~ msgstr "Bluetooth"
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "Gnome Shell (Wayland-komposiointi)"
|
||||
|
||||
#~ msgid "%d Connected Device"
|
||||
#~ msgid_plural "%d Connected Devices"
|
||||
#~ msgstr[0] "%d yhdistetty laite"
|
||||
#~ msgstr[1] "%d yhdistettyä laitetta"
|
||||
|
||||
#~ msgid "Off"
|
||||
#~ msgstr "Pois"
|
||||
|
||||
#~ msgid "Authentication required"
|
||||
#~ msgstr "tunnistautuminen vaaditaan"
|
||||
|
||||
@ -2239,10 +2261,6 @@ msgstr "Käyttäjä poistui tunnistautumisvalintaikkunasta"
|
||||
#~ msgstr[0] "%d minuutti jäljellä"
|
||||
#~ msgstr[1] "%d minuuttia jäljellä"
|
||||
|
||||
#~ msgctxt "percent of battery remaining"
|
||||
#~ msgid "%d%%"
|
||||
#~ msgstr "%d %%"
|
||||
|
||||
#~| msgid "AC adapter"
|
||||
#~ msgid "AC Adapter"
|
||||
#~ msgstr "Virtalähde"
|
||||
|
267
po/he.po
267
po/he.po
@ -10,8 +10,8 @@ msgid ""
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-08-30 21:15+0300\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-11-19 20:37+0200\n"
|
||||
"PO-Revision-Date: 2015-11-19 20:37+0200\n"
|
||||
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
|
||||
"Language-Team: עברית <>\n"
|
||||
@ -47,15 +47,6 @@ msgstr "הצגת כל היישומים"
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:6
|
||||
msgid "Open the application menu"
|
||||
msgstr "פתיחת תפריט היישום"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "מעטפת GNOME"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "ניהול חלונות והרצת יישומים"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Extension Preferences"
|
||||
@ -64,9 +55,13 @@ msgstr "העדפות ההרחבות של GNOME Shell"
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "הגדרת הרחבות GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "מעטפת GNOME"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "ניהול חלונות והרצת יישומים"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
@ -170,74 +165,92 @@ msgstr ""
|
||||
"'Remember Password' checkbox will be present. This key sets the default "
|
||||
"state of the checkbox."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Show the week date in the calendar"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "If true, display the ISO week date in the calendar."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Keybinding to open the application menu"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Keybinding to open the application menu."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Keybinding to open the \"Show Applications\" view"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Keybinding to open the overview"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Keybinding to open the Activities Overview."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Keybinding to toggle the visibility of the notification list"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr "Keybinding to toggle the visibility of the notification list."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Keybinding to focus the active notification"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Keybinding to focus the active notification."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Which keyboard to use"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "The type of keyboard to use."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Limit switcher to current workspace."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
@ -245,51 +258,51 @@ msgstr ""
|
||||
msgstr ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "The application icon mode."
|
||||
msgstr "The application icon mode."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
"only' (shows only the application icon) or 'both'."
|
||||
msgstr ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
"only' (shows only the application icon) or 'both'."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
msgstr ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
"only' (shows only the application icon) or 'both'."
|
||||
msgstr ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
"only' (shows only the application icon) or 'both'."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
msgstr ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Attach modal dialog to the parent window"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Enable edge tiling when dropping windows on screen edges"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Workspaces are managed dynamically"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Workspaces only on primary monitor"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
@ -314,7 +327,7 @@ msgid "Cancel"
|
||||
msgid "Cancel"
|
||||
msgstr "ביטול"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:447
|
||||
msgid "Next"
|
||||
msgstr "הבא"
|
||||
@ -341,7 +354,7 @@ msgstr "לא רשום?"
|
||||
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
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: ../js/gdm/loginDialog.js:850
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
@ -349,12 +362,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)
|
||||
#. (and don't even care of which one)
|
||||
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "שם משתמש:"
|
||||
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1180
|
||||
msgid "Login Window"
|
||||
msgstr "חלון כניסה"
|
||||
@ -490,12 +503,12 @@ msgstr "הוספה למועדפים"
|
||||
#: ../js/ui/appDisplay.js:1897
|
||||
msgid "Show Details"
|
||||
msgstr "הצגת פרטים"
|
||||
|
||||
|
||||
#: ../js/ui/appFavorites.js:133
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s נוסף למועדפים שלך."
|
||||
|
||||
|
||||
#: ../js/ui/appFavorites.js:167
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
@ -508,8 +521,7 @@ msgstr "החלפת הרקע…"
|
||||
#: ../js/ui/backgroundMenu.js:21
|
||||
msgid "Display Settings"
|
||||
msgstr "הגדרות תצוגה"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
||||
msgid "Settings"
|
||||
msgstr "הגדרות"
|
||||
@ -573,6 +585,12 @@ msgstr "חודש קודם"
|
||||
#: ../js/ui/calendar.js:576
|
||||
msgid "Next month"
|
||||
msgstr "חודש הבא"
|
||||
|
||||
#: ../js/ui/calendar.js:728
|
||||
#, javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
msgid "Week %V"
|
||||
@ -585,33 +603,33 @@ msgctxt "event list time"
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "יום שלם"
|
||||
|
||||
|
||||
#: ../js/ui/calendar.js:1295
|
||||
msgid "Clear section"
|
||||
msgstr "ניקוי מקטע"
|
||||
|
||||
|
||||
#: ../js/ui/calendar.js:1522
|
||||
msgid "Events"
|
||||
msgstr "אירועים"
|
||||
|
||||
|
||||
#: ../js/ui/calendar.js:1531
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, ה־%e ב%B"
|
||||
|
||||
|
||||
#: ../js/ui/calendar.js:1535
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, ה־%e ב%B, %Y"
|
||||
|
||||
|
||||
#: ../js/ui/calendar.js:1620
|
||||
msgid "Notifications"
|
||||
msgstr "התרעות"
|
||||
|
||||
|
||||
#: ../js/ui/calendar.js:1771
|
||||
msgid "No Notifications"
|
||||
msgstr "אין התרעות"
|
||||
|
||||
|
||||
#: ../js/ui/calendar.js:1774
|
||||
msgid "No Events"
|
||||
msgstr "אין אירועים"
|
||||
@ -623,7 +641,7 @@ msgstr "חובר כונן חיצוני"
|
||||
#: ../js/ui/components/automountManager.js:102
|
||||
msgid "External drive disconnected"
|
||||
msgstr "נותק כונן חיצוני"
|
||||
|
||||
|
||||
#: ../js/ui/components/autorunManager.js:355
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
@ -961,7 +979,7 @@ msgstr "פעיל"
|
||||
msgstr "פעיל"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
|
||||
msgid "Disabled"
|
||||
msgstr "מנוטרל"
|
||||
@ -1005,17 +1023,22 @@ msgstr "סקירה"
|
||||
#: ../js/ui/overview.js:244
|
||||
msgid "Type to search…"
|
||||
msgstr "יש להקליד כדי לחפש…"
|
||||
|
||||
|
||||
#: ../js/ui/panel.js:358
|
||||
msgid "Quit"
|
||||
msgstr "יציאה"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:414
|
||||
msgid "Activities"
|
||||
msgstr "פעילויות"
|
||||
|
||||
|
||||
#: ../js/ui/panel.js:695
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "מערכת"
|
||||
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Top Bar"
|
||||
msgstr "הסרגל העליון"
|
||||
@ -1028,15 +1051,15 @@ msgstr "הסרגל העליון"
|
||||
#: ../js/ui/popupMenu.js:289
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "נא להזין פקודה"
|
||||
|
||||
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
msgstr "סגירה"
|
||||
|
||||
|
||||
#: ../js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "מופעל מחדש…"
|
||||
@ -1161,29 +1184,41 @@ msgstr "ניגודיות גבוהה"
|
||||
#: ../js/ui/status/accessibility.js:202
|
||||
msgid "Large Text"
|
||||
msgstr "טקסט גדול"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:47
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:56
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "הגדרות Bluetooth"
|
||||
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#, c-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
msgstr[0] "אחד מחובר"
|
||||
msgstr[1] "%d מחוברים"
|
||||
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Off"
|
||||
msgstr "כבוי"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:140
|
||||
msgid "Not In Use"
|
||||
msgstr "לא בשימוש"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "הפעלה"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "כיבוי"
|
||||
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
@ -1351,10 +1386,6 @@ msgstr "בחירת רשת"
|
||||
#: ../js/ui/status/network.js:1177
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "הגדרות רשת אלחוטית"
|
||||
|
||||
#: ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "הפעלה"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:1296
|
||||
@ -1404,32 +1435,37 @@ msgstr "ההתחברות נכשלה"
|
||||
#: ../js/ui/status/network.js:1698
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "הפעלת חיבור הרשת נכשלה"
|
||||
|
||||
|
||||
#: ../js/ui/status/power.js:61
|
||||
msgid "Power Settings"
|
||||
msgstr "הגדרות צריכת החשמל"
|
||||
|
||||
|
||||
#: ../js/ui/status/power.js:77
|
||||
msgid "Fully Charged"
|
||||
msgstr "בטעינה מלאה"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
|
||||
msgid "Estimating…"
|
||||
msgstr "מתבצע שערוך…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:98
|
||||
#, javascript-format
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr "%d∶%02d נותרו (%d%%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:103
|
||||
#, javascript-format
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr "%d:%02d עד לטעינה מלאה (%d%%)"
|
||||
|
||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
|
||||
#, javascript-format
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
@ -1594,7 +1630,7 @@ msgstr "יומן אבולושן"
|
||||
msgstr "יומן אבולושן"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound outputs on a particular device
|
||||
#. * The number of sound outputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1835
|
||||
#, c-format
|
||||
msgid "%u Output"
|
||||
@ -1603,57 +1639,57 @@ msgstr[1] "%u פלטים"
|
||||
msgstr[1] "%u פלטים"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
#. * The number of sound inputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1845
|
||||
#, c-format
|
||||
msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
msgstr[0] "קלט אחד"
|
||||
msgstr[1] "%u קלטים"
|
||||
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2371
|
||||
msgid "System Sounds"
|
||||
msgstr "צלילי מערכת"
|
||||
|
||||
|
||||
#: ../src/main.c:381
|
||||
msgid "Print version"
|
||||
msgstr "Print version"
|
||||
|
||||
|
||||
#: ../src/main.c:387
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "המצב בו GDM יעשה שימוש לצורך מסך הכניסה"
|
||||
|
||||
|
||||
#: ../src/main.c:393
|
||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
|
||||
msgstr "שימוש במצב מסוים, לדוגמה: „gdm“ למסך הכניסה"
|
||||
|
||||
|
||||
#: ../src/main.c:399
|
||||
msgid "List possible modes"
|
||||
msgstr "הצגת המצבים האפשריים"
|
||||
|
||||
|
||||
#: ../src/shell-app.c:246
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "לא ידוע"
|
||||
|
||||
|
||||
#: ../src/shell-app.c:487
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "אירע כשל בטעינת „%s”"
|
||||
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:730
|
||||
msgid "Passwords do not match."
|
||||
msgstr "הססמאות אינן תואמות."
|
||||
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:738
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "הססמה אינה יכולה להישאר ריקה"
|
||||
|
||||
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
|
||||
|
||||
#~ msgid "Bluetooth"
|
||||
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "GNOME Shell (מסדר wayland)"
|
||||
|
||||
# javascript-format
|
||||
@ -1661,9 +1697,6 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
|
||||
#~ msgid_plural "%d Connected Devices"
|
||||
#~ msgstr[0] "התקן אחד מחובר"
|
||||
#~ msgstr[1] "%d התקנים מחוברים"
|
||||
|
||||
#~ msgid "Off"
|
||||
#~ msgstr "כבוי"
|
||||
|
||||
#~ msgid "Authentication required"
|
||||
#~ msgstr "נדרש אימות"
|
||||
@ -2257,10 +2290,6 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
|
||||
#~ msgstr[0] "דקה אחת נותרה"
|
||||
#~ msgstr[1] "%d דקות נותרו"
|
||||
#~ msgstr[2] "שתי דקות נותרו"
|
||||
|
||||
#~ msgctxt "percent of battery remaining"
|
||||
#~ msgid "%d%%"
|
||||
#~ msgstr "%d%%"
|
||||
|
||||
#~ msgid "AC Adapter"
|
||||
#~ msgstr "מתאם חשמל"
|
||||
|
203
po/kk.po
203
po/kk.po
@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-10-04 08:41+0000\n"
|
||||
"PO-Revision-Date: 2015-10-04 17:00+0500\n"
|
||||
"POT-Creation-Date: 2015-12-06 10:12+0000\n"
|
||||
"PO-Revision-Date: 2015-12-06 19:33+0500\n"
|
||||
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
|
||||
"Language-Team: Kazakh <kk_KZ@googlegroups.com>\n"
|
||||
"Language: kk\n"
|
||||
@ -43,15 +43,6 @@ msgstr "Барлық қолданбаларды көрсету"
|
||||
msgid "Open the application menu"
|
||||
msgstr "Қолданбалар мәзірін ашу"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Терезелерді басқару мен қолданбаларды жөнелту"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Extension Preferences"
|
||||
msgstr "GNOME Shell кеңейту баптаулары"
|
||||
@ -60,9 +51,13 @@ msgstr "GNOME Shell кеңейту баптаулары"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "GNOME Shell кеңейтулерін баптау"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "GNOME Shell (wayland үйлестіргіші)"
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Терезелерді басқару мен қолданбаларды жөнелту"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
@ -170,77 +165,95 @@ msgstr ""
|
||||
"бастапқы күйін орнатады."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
"Үнсіз келісім бойынша Bluetooth адаптерінде байланысқан құрылғылар бар ма"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
"Қоршам Bluetooth мәзірін тек Bluetooth адаптері іске қосылған болса және "
|
||||
"үнсіз келісім бойынша адаптерінде байланысқан құрылғылар бар болса ғана "
|
||||
"көрсетеді. Бұл үнсіз келісім адаптерінде байланысқан құрылғылар жоқ болса "
|
||||
"тасталады."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Күнтізбеде апта күнін көрсету"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Ақиқат болса, күнтізбеде ISO апта күнін көрсетеді."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Қолданбалар мәзірін ашу үшін пернелер комбинациясы"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Қолданбалар мәзірін ашу үшін пернелер комбинациясы."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "\"Қолданбаларды көрсету\" көрінісін ашу үшін пернелер комбинациясы"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Көрініс ішінен \"Қолданбаларды көрсету\" ашу үшін пернелер комбинациясы"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Шолуды ашу үшін пернелер комбинациясы."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Көріністі ашу үшін пернелер комбинациясы."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr ""
|
||||
"Хабарламалар тізімінің көрінуін іске қосу/сөндіру үшін пернелер комбинациясы"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr ""
|
||||
"Хабарламалар тізімінің көрінуін іске қосу/сөндіру үшін пернелер комбинациясы."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Белсенді ескертуге фокусты ауыстыру пернелер комбинациясы"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Белсенді ескертуге фокусты ауыстыру пернелер комбинациясы."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Барлық орындалып тұрған анимацияларды тоқтататын не жалғастыратын пернелер "
|
||||
"жарлығы (жөндеу үшін)"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Қолданылатын пернетақта"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "Қолданылатын пернетақта түрі."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Ауыстырғышты ағымдағы жұмыс орнымен шектеу."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
@ -248,11 +261,11 @@ msgstr ""
|
||||
"Таңдалса, ауыстырғышта тек ағымдағы жұмыс орнындағы терезелері бар "
|
||||
"қолданбалар көрсетіледі. Болмаса, барлық қолданбалар болады."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "The application icon mode."
|
||||
msgstr "Қолданбаның таңбаша режимі."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
@ -262,7 +275,7 @@ msgstr ""
|
||||
"'thumbnail-only' (терезенің кіші көрінісі көрсетіледі), 'app-icon-only' (тек "
|
||||
"қолданба таңбашасы көрсетіледі) немесе 'both' (екеуі де)."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
@ -270,32 +283,32 @@ msgstr ""
|
||||
"Таңдалса, ауыстырғышта тек ағымдағы жұмыс орнындағы терезелер көрсетіледі. "
|
||||
"Болмаса, барлық терезелер болады."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Модальды сұхбатты аталық терезесіне жалғау"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Бұл кілт GNOME Shell орындалған кезде org.gnome.mutter ішіндегі кілтті "
|
||||
"үстінен жазады."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Терезелерді экран шеттеріне апарған кезде олардың өлшемдерін өзгертуді іске "
|
||||
"қосу"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Жұмыс орындары динамикалы түрде басқарылады"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Жұмыс орындар тек біріншілік мониторда"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Тышқан режиміндегі фокусты ауыстыру курсор тоқтағанша дейін кідірту"
|
||||
|
||||
@ -334,20 +347,20 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Кіру"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:281
|
||||
#: ../js/gdm/loginDialog.js:285
|
||||
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:431
|
||||
#: ../js/gdm/loginDialog.js:435
|
||||
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:850
|
||||
#: ../js/gdm/loginDialog.js:854
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(мыс., пайдаланушы не %s)"
|
||||
@ -355,12 +368,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:855 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/gdm/loginDialog.js:859 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Пайдаланушы аты:"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1184
|
||||
#: ../js/gdm/loginDialog.js:1196
|
||||
msgid "Login Window"
|
||||
msgstr "Жүйеге кіру терезесі"
|
||||
|
||||
@ -496,12 +509,12 @@ msgstr "Таңдамалыларға қосу"
|
||||
msgid "Show Details"
|
||||
msgstr "Деректерді көрсету"
|
||||
|
||||
#: ../js/ui/appFavorites.js:132
|
||||
#: ../js/ui/appFavorites.js:133
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s таңдамалыларыңызға қосылды."
|
||||
|
||||
#: ../js/ui/appFavorites.js:166
|
||||
#: ../js/ui/appFavorites.js:167
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s таңдамалыларыңыздан өшірілді."
|
||||
@ -578,6 +591,12 @@ msgstr "Өткен ай"
|
||||
msgid "Next month"
|
||||
msgstr "Келесі ай"
|
||||
|
||||
#: ../js/ui/calendar.js:728
|
||||
#, javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
msgid "Week %V"
|
||||
msgstr "Апта %V"
|
||||
@ -628,7 +647,7 @@ msgstr "Сыртқы диск қосылды"
|
||||
msgid "External drive disconnected"
|
||||
msgstr "Сыртқы диск алынды"
|
||||
|
||||
#: ../js/ui/components/autorunManager.js:354
|
||||
#: ../js/ui/components/autorunManager.js:355
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
msgstr "%s көмегімен ашу"
|
||||
@ -1010,22 +1029,22 @@ msgstr "Шолу"
|
||||
msgid "Type to search…"
|
||||
msgstr "Іздеу үшін теріңіз..."
|
||||
|
||||
#: ../js/ui/panel.js:352
|
||||
#: ../js/ui/panel.js:358
|
||||
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:404
|
||||
#: ../js/ui/panel.js:414
|
||||
msgid "Activities"
|
||||
msgstr "Көрініс"
|
||||
|
||||
#: ../js/ui/panel.js:650
|
||||
#: ../js/ui/panel.js:695
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Жүйелік"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Top Bar"
|
||||
msgstr "Үстідегі панель"
|
||||
|
||||
@ -1038,15 +1057,15 @@ msgstr "Үстідегі панель"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:70
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "Команданы енгізу"
|
||||
|
||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
msgstr "Жабу"
|
||||
|
||||
#: ../js/ui/runDialog.js:281
|
||||
#: ../js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "Қайта қосу…"
|
||||
|
||||
@ -1167,28 +1186,40 @@ msgstr "Жоғары контраст"
|
||||
msgid "Large Text"
|
||||
msgstr "Үлкен мәтін"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Сөндіру"
|
||||
#: ../js/ui/status/bluetooth.js:47
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:54
|
||||
#: ../js/ui/status/bluetooth.js:56
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth баптаулары"
|
||||
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#: ../js/ui/status/bluetooth.js:105
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#, javascript-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
msgstr[0] "%d байланысқан"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:107
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Off"
|
||||
msgstr "Сөнд."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:140
|
||||
msgid "Not In Use"
|
||||
msgstr "Қолданылуда емес"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Іске қосу"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Сөндіру"
|
||||
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
msgstr "Жарықтылығы"
|
||||
@ -1356,10 +1387,6 @@ msgstr "Желіні таңдау"
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Wi-Fi баптаулары"
|
||||
|
||||
#: ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Іске қосу"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:1296
|
||||
#, javascript-format
|
||||
@ -1409,31 +1436,38 @@ msgstr "Байланыс орнату сәтсіз"
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Желілік байланысты белсендіру сәтсіз"
|
||||
|
||||
#: ../js/ui/status/power.js:49
|
||||
#: ../js/ui/status/power.js:61
|
||||
msgid "Power Settings"
|
||||
msgstr "Қорек баптаулары"
|
||||
|
||||
#: ../js/ui/status/power.js:65
|
||||
#: ../js/ui/status/power.js:77
|
||||
msgid "Fully Charged"
|
||||
msgstr "Толығымен зарядталған"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
|
||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
|
||||
msgid "Estimating…"
|
||||
msgstr "Есептеу..."
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:86
|
||||
#: ../js/ui/status/power.js:98
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgstr "%d∶%02d қалды (%d%%)"
|
||||
#| msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr "%d∶%02d қалды (%d %%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:91
|
||||
#: ../js/ui/status/power.js:103
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgstr "%d∶%02d толық зарядқа дейін (%d%%)"
|
||||
#| msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr "%d∶%02d толық зарядқа дейін (%d %%)"
|
||||
|
||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
|
||||
#, javascript-format
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
@ -1631,38 +1665,35 @@ msgstr "Жүйеге кіру экраны үшін арнайы режимді,
|
||||
msgid "List possible modes"
|
||||
msgstr "Қолжетерлік режимдерді тізіп шығу"
|
||||
|
||||
#: ../src/shell-app.c:239
|
||||
#: ../src/shell-app.c:246
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Белгісіз"
|
||||
|
||||
#: ../src/shell-app.c:480
|
||||
#: ../src/shell-app.c:487
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "\"%s\" жөнелту сәтсіз"
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:742
|
||||
#: ../src/shell-keyring-prompt.c:730
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Парольдер өзара сәйкес емес."
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:750
|
||||
#: ../src/shell-keyring-prompt.c:738
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "Пароль бос болуы мүмкін емес"
|
||||
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Аутентификация терезесін пайдаланушы тайдырды"
|
||||
|
||||
#~ msgid "Bluetooth"
|
||||
#~ msgstr "Bluetooth"
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "GNOME Shell (wayland үйлестіргіші)"
|
||||
|
||||
#~ msgid "%d Connected Device"
|
||||
#~ msgid_plural "%d Connected Devices"
|
||||
#~ msgstr[0] "%d байланысқан құрылғы"
|
||||
|
||||
#~ msgid "Off"
|
||||
#~ msgstr "Сөнд."
|
||||
|
||||
#~ msgid "Authentication required"
|
||||
#~ msgstr "Аутентификация керек"
|
||||
|
||||
|
212
po/nb.po
212
po/nb.po
@ -7,10 +7,10 @@
|
||||
# Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell 3.17.x\n"
|
||||
"Project-Id-Version: gnome-shell 3.19.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-09-07 19:22+0200\n"
|
||||
"PO-Revision-Date: 2015-09-07 19:31+0200\n"
|
||||
"POT-Creation-Date: 2015-11-15 19:59+0100\n"
|
||||
"PO-Revision-Date: 2015-11-15 20:00+0100\n"
|
||||
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
||||
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
|
||||
"Language: Norwegian bokmål\n"
|
||||
@ -44,15 +44,6 @@ msgstr "Vis alle programmer"
|
||||
msgid "Open the application menu"
|
||||
msgstr "Åpne programmenyen"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Vindushåndtering og oppstart av programmer"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Extension Preferences"
|
||||
msgstr "Brukervalg for GNOME Shell-utvidelser"
|
||||
@ -61,9 +52,13 @@ msgstr "Brukervalg for GNOME Shell-utvidelser"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Sett opp utvidelser for GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "GNOME Shell (Wayland-kompositør)"
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Vindushåndtering og oppstart av programmer"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
@ -166,75 +161,88 @@ msgstr ""
|
||||
"standardverdien for avkryssingsboksen."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Vis ukedato/ukenummer i kalender"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Viser ISO-ukedato i kalenderen hvis «true»."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Tastaturbinding som åpner programmenyen"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Tastaturbinding som åpner programmenyen."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Tastaturbinding som åpner visningen «Vis programmer»"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Tastaturbinding som åpner visningen «Vis programmer» i aktivitetsoversikten."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Tastaturbinding som åpner oversikten"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Tastaturbinding som åpner aktivitetsoversikten."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Tastaturbinding som slår av/på visning av varslingsliste"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr "Tastaturbinding som slår av/på visning av varslingsliste."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Tastaturbinding som fokuserer aktiv varsling"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Tastaturbinding som fokuserer aktiv varsling."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Hurtigtast som stanser og fortsetter pågående bevegelser til "
|
||||
"feilsøkingsformål"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Tastatur som skal brukes"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "Type tastatur som skal brukes."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Begrens programveksling til gjeldende arbeidsområde."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
@ -243,11 +251,11 @@ msgstr ""
|
||||
"gjeldende arbeidsområder som vises i programveksleren. I motsatt fall kan du "
|
||||
"veksle mellom programmer på tvers av arbeidsområder."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "The application icon mode."
|
||||
msgstr "Ikonmodus for programmet."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
@ -257,7 +265,7 @@ msgstr ""
|
||||
"valgalternativer er «thumbnail-only» (viser miniatyrbilde av vinduet), «app-"
|
||||
"icon-only» (viser bare programikonet) og «both» (viser begge forannevnte)."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
@ -266,30 +274,30 @@ msgstr ""
|
||||
"arbeidsområder som vises i programveksleren. I motsatt fall vises vinduer "
|
||||
"fra alle arbeidsområder."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Fest modal dialog til opphavsvinduet"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Denne nøkkelen overstyrer nøkkelen i org.gnome.mutter når GNOME Shell kjøres."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Del opp skjermkantene i fliser når brukeren drar og slipper vinduer på dem"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Arbeidsområder håndteres dynamisk"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Arbeidsområder vises kun på hovedskjerm"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Utsett fokusendringer i musmodus til peker slutter å bevege seg"
|
||||
|
||||
@ -354,7 +362,7 @@ msgstr "(f.eks. bruker eller %s)"
|
||||
msgid "Username: "
|
||||
msgstr "Brukernavn: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1184
|
||||
#: ../js/gdm/loginDialog.js:1180
|
||||
msgid "Login Window"
|
||||
msgstr "Innloggingsvindu"
|
||||
|
||||
@ -490,12 +498,12 @@ msgstr "Legg til i favoritter"
|
||||
msgid "Show Details"
|
||||
msgstr "Vis detaljer"
|
||||
|
||||
#: ../js/ui/appFavorites.js:132
|
||||
#: ../js/ui/appFavorites.js:133
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s ble lagt til i favoritter."
|
||||
|
||||
#: ../js/ui/appFavorites.js:166
|
||||
#: ../js/ui/appFavorites.js:167
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s ble fjernet fra favoritter."
|
||||
@ -508,8 +516,7 @@ msgstr "Bytt bakgrunn …"
|
||||
msgid "Display Settings"
|
||||
msgstr "Innstillinger for skjerm"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:366
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
||||
msgid "Settings"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
@ -573,6 +580,12 @@ msgstr "Forrige måned"
|
||||
msgid "Next month"
|
||||
msgstr "Neste måned"
|
||||
|
||||
#: ../js/ui/calendar.js:728
|
||||
#, javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
msgid "Week %V"
|
||||
msgstr "Uke %V"
|
||||
@ -585,33 +598,33 @@ msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Hele dagen"
|
||||
|
||||
#: ../js/ui/calendar.js:1291
|
||||
#: ../js/ui/calendar.js:1295
|
||||
msgid "Clear section"
|
||||
msgstr "Tøm seksjon"
|
||||
|
||||
#: ../js/ui/calendar.js:1518
|
||||
#: ../js/ui/calendar.js:1522
|
||||
msgid "Events"
|
||||
msgstr "Hendelser"
|
||||
|
||||
#: ../js/ui/calendar.js:1527
|
||||
#: ../js/ui/calendar.js:1531
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A %B %d"
|
||||
|
||||
#: ../js/ui/calendar.js:1531
|
||||
#: ../js/ui/calendar.js:1535
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A %B %d, %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1616
|
||||
#: ../js/ui/calendar.js:1620
|
||||
msgid "Notifications"
|
||||
msgstr "Varslinger"
|
||||
|
||||
#: ../js/ui/calendar.js:1767
|
||||
#: ../js/ui/calendar.js:1771
|
||||
msgid "No Notifications"
|
||||
msgstr "Ingen varslinger"
|
||||
|
||||
#: ../js/ui/calendar.js:1770
|
||||
#: ../js/ui/calendar.js:1774
|
||||
msgid "No Events"
|
||||
msgstr "Ingen hendelser"
|
||||
|
||||
@ -623,7 +636,7 @@ msgstr "Ekstern stasjon koblet til"
|
||||
msgid "External drive disconnected"
|
||||
msgstr "Ekstern stasjon koblet fra"
|
||||
|
||||
#: ../js/ui/components/autorunManager.js:354
|
||||
#: ../js/ui/components/autorunManager.js:351
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Åpne med %s"
|
||||
@ -968,7 +981,7 @@ msgstr "Slått på"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
|
||||
msgid "Disabled"
|
||||
msgstr "Slått av"
|
||||
|
||||
@ -1012,17 +1025,22 @@ msgstr "Oversikt"
|
||||
msgid "Type to search…"
|
||||
msgstr "Skriv for å søke …"
|
||||
|
||||
#: ../js/ui/panel.js:352
|
||||
#: ../js/ui/panel.js:358
|
||||
msgid "Quit"
|
||||
msgstr "Avslutt"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:404
|
||||
#: ../js/ui/panel.js:414
|
||||
msgid "Activities"
|
||||
msgstr "Aktiviteter"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:695
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Top Bar"
|
||||
msgstr "Topp-panel"
|
||||
|
||||
@ -1035,15 +1053,15 @@ msgstr "Topp-panel"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:70
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "Skriv inn en kommando"
|
||||
|
||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
msgstr "Lukk"
|
||||
|
||||
#: ../js/ui/runDialog.js:281
|
||||
#: ../js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "Starter på nytt …"
|
||||
|
||||
@ -1166,29 +1184,41 @@ msgstr "Høy kontrast"
|
||||
msgid "Large Text"
|
||||
msgstr "Stor tekst"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Slå av"
|
||||
#: ../js/ui/status/bluetooth.js:50
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:54
|
||||
#: ../js/ui/status/bluetooth.js:59
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth-innstillinger"
|
||||
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#: ../js/ui/status/bluetooth.js:105
|
||||
#: ../js/ui/status/bluetooth.js:139
|
||||
#, javascript-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
msgstr[0] "%d koblet til"
|
||||
msgstr[1] "%d koblet til"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:107
|
||||
#: ../js/ui/status/bluetooth.js:141
|
||||
msgid "Off"
|
||||
msgstr "Av"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:143
|
||||
msgid "Not In Use"
|
||||
msgstr "Ikke i bruk"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:145 ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Slå på"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:145 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Slå av"
|
||||
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
msgstr "Lysstyrke"
|
||||
@ -1356,10 +1386,6 @@ msgstr "Velg nettverk"
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
#: ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Slå på"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:1296
|
||||
#, javascript-format
|
||||
@ -1426,14 +1452,14 @@ msgstr "Estimerer …"
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:86
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgstr "%d:%02d gjenstår (%d%%)"
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr "%d:%02d gjenstår (%d %%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:91
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgstr "%d:%02d til batteriet er fullt (%d%%)"
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr "%d:%02d til batteriet er fullt (%d %%)"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
@ -1562,19 +1588,19 @@ msgstr "Alltid på synlig arbeidsområde"
|
||||
|
||||
#: ../js/ui/windowMenu.js:105
|
||||
msgid "Move to Workspace Left"
|
||||
msgstr "Gå til arbeidsområdet til venstre"
|
||||
msgstr "Flytt til arbeidsområdet til venstre"
|
||||
|
||||
#: ../js/ui/windowMenu.js:110
|
||||
msgid "Move to Workspace Right"
|
||||
msgstr "Gå til arbeidsområdet til høyre"
|
||||
msgstr "Flytt til arbeidsområdet til høyre"
|
||||
|
||||
#: ../js/ui/windowMenu.js:115
|
||||
msgid "Move to Workspace Up"
|
||||
msgstr "Gå til arbeidsområdet over"
|
||||
msgstr "Flytt til arbeidsområdet over"
|
||||
|
||||
#: ../js/ui/windowMenu.js:120
|
||||
msgid "Move to Workspace Down"
|
||||
msgstr "Gå til arbeidsområdet under"
|
||||
msgstr "Flytt til arbeidsområdet under"
|
||||
|
||||
#: ../js/ui/windowMenu.js:136
|
||||
msgid "Move to Monitor Up"
|
||||
@ -1598,7 +1624,7 @@ msgstr "Evolution kalender"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound outputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1837
|
||||
#: ../src/gvc/gvc-mixer-control.c:1835
|
||||
#, c-format
|
||||
msgid "%u Output"
|
||||
msgid_plural "%u Outputs"
|
||||
@ -1607,51 +1633,51 @@ msgstr[1] "%u utganger"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1847
|
||||
#: ../src/gvc/gvc-mixer-control.c:1845
|
||||
#, c-format
|
||||
msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
msgstr[0] "%u inngang"
|
||||
msgstr[1] "%u innganger"
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2373
|
||||
#: ../src/gvc/gvc-mixer-control.c:2371
|
||||
msgid "System Sounds"
|
||||
msgstr "Systemlyder"
|
||||
|
||||
#: ../src/main.c:373
|
||||
#: ../src/main.c:381
|
||||
msgid "Print version"
|
||||
msgstr "Vis versjon"
|
||||
|
||||
#: ../src/main.c:379
|
||||
#: ../src/main.c:387
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "Modus som brukes av GDM for innloggingsskjermen"
|
||||
|
||||
#: ../src/main.c:385
|
||||
#: ../src/main.c:393
|
||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
|
||||
msgstr "Bruk spesifikt modus, f.eks «gdm» for innloggingsskjerm"
|
||||
|
||||
#: ../src/main.c:391
|
||||
#: ../src/main.c:399
|
||||
msgid "List possible modes"
|
||||
msgstr "Vis mulige modi"
|
||||
|
||||
#: ../src/shell-app.c:239
|
||||
#: ../src/shell-app.c:246
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Ukjent"
|
||||
|
||||
#: ../src/shell-app.c:480
|
||||
#: ../src/shell-app.c:487
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Klarte ikke å starte «%s»"
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:742
|
||||
#: ../src/shell-keyring-prompt.c:730
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Passordene er ikke like."
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:750
|
||||
#: ../src/shell-keyring-prompt.c:738
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "Passordet kan ikke være tomt"
|
||||
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Autentiseringsdialogen ble lukket av brukeren"
|
||||
|
206
po/pt.po
206
po/pt.po
@ -7,23 +7,24 @@
|
||||
# Tiago S. <almosthumane@portugalmail.pt>, 2014.
|
||||
# Bruno Ramalhete <bram.512@gmail.com>, 2015.
|
||||
# Pedro Albuquerque <palbuquerque73@gmail.com>, 2014, 2015.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 3.14\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-10-03 20:41+0000\n"
|
||||
"PO-Revision-Date: 2015-10-07 07:06+0100\n"
|
||||
"Last-Translator: Pedro Albuquerque <palbuquerque73o@gmail.com>\n"
|
||||
"Language-Team: Português <palbuquerque73@gmail.com>\n"
|
||||
"POT-Creation-Date: 2015-11-20 22:14+0000\n"
|
||||
"PO-Revision-Date: 2015-11-21 09:02+0100\n"
|
||||
"Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n"
|
||||
"Language-Team: Pedro Albuquerque\n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\\n\n"
|
||||
"X-Generator: Gtranslator 2.91.6\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Virtaal 0.7.1\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-Language: pt_PT\n"
|
||||
"X-Source-Language: C\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@ -49,15 +50,6 @@ msgstr "Mostrar todas as aplicações"
|
||||
msgid "Open the application menu"
|
||||
msgstr "Abrir o menu de aplicações"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "Shell GNOME"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Gestão de janelas e iniciação de aplicações"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Extension Preferences"
|
||||
msgstr "Preferências das extensões á interface GNOME"
|
||||
@ -66,9 +58,13 @@ msgstr "Preferências das extensões á interface GNOME"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Configurar extensões à interface GNOME"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "Interface GNOME (compositor wayland)"
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "Shell GNOME"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Gestão de janelas e iniciação de aplicações"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
@ -176,77 +172,96 @@ msgstr ""
|
||||
"define o estado predefinido dessa caixa de seleção."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
"Se o adaptador padrão Bluetooth tem dispositivos configurados associados a "
|
||||
"ele"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
"A shell só vai mostrar um item de menu do adaptador Bluetooth se este "
|
||||
"estiver ligado ou se existirem dispositivos associados configurados com o "
|
||||
"adaptador predefinido. Isto será reposto se se verificar que o adaptador "
|
||||
"predefinido não tem dispositivos associados a ele."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Mostrar o número da semana no calendário"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Se verdadeiro, mostra o número ISO da semana no calendário."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Atalho de teclado para abrir o menu de aplicações"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Atalho de teclado para abrir o menu de aplicações."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Atalho de teclado para abrir a vista \"Mostrar aplicações\""
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Atalho de teclado para abrir a vista \"Mostrar aplicações\" da vista geral "
|
||||
"de atividades."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Atalho de teclado para abrir a vista geral"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Atalho de teclado para abrir a vista geral de atividades."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Atalho de teclado para alternar a visibilidade da lista de notificação"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr ""
|
||||
"Atalho de teclado para alternar a visibilidade da lista de notificação."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Atalho de teclado para focar a notificação ativa"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Atalho de teclado para focar a notificação ativa."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Atalho de teclado que pausa e retoma todos os tweens em execução, para "
|
||||
"depuração de erros"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Que teclado utilizar"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "O tipo de teclado a utilizar."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Limitar troca à área de trabalho atual."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
@ -254,11 +269,11 @@ msgstr ""
|
||||
"Se verdadeiro, só as aplicações com janelas na área de trabalho atual são "
|
||||
"mostradas para troca. Senão, são incluídas todas as aplicações."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "The application icon mode."
|
||||
msgstr "O modo do ícone da aplicação."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
@ -268,7 +283,7 @@ msgstr ""
|
||||
"válidas são 'thumbnail-only' (mostra uma miniatura da janela), 'app-icon-"
|
||||
"only' (mostra só o ícone da aplicação) ou 'both' (ambas)."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
@ -276,29 +291,29 @@ msgstr ""
|
||||
"Se verdadeiro, só janelas da área de trabalho atual são apresentadas para "
|
||||
"troca. Senão, são incluídas todas as janelas."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Anexar diálogo modal à janela mãe"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Esta chave ignora a chave em org.gnome.mutter ao executar a interface GNOME."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Ativar anexar nas margens ao largar janelas junto às margens do ecrã"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Áreas de trabalho são geridas dinamicamente"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Áreas de trabalho só no monitor principal"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Atrasar alterações de foco nos modos de rato até que o ponteiro pare de se "
|
||||
@ -365,7 +380,7 @@ msgstr "(por ex., utilizador ou %s)"
|
||||
msgid "Username: "
|
||||
msgstr "Utilizador: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1184
|
||||
#: ../js/gdm/loginDialog.js:1180
|
||||
msgid "Login Window"
|
||||
msgstr "Janela de início de sessão"
|
||||
|
||||
@ -501,12 +516,12 @@ msgstr "Adicionar aos favoritos"
|
||||
msgid "Show Details"
|
||||
msgstr "Mostrar detalhes"
|
||||
|
||||
#: ../js/ui/appFavorites.js:132
|
||||
#: ../js/ui/appFavorites.js:133
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s foi adicionada aos seus favoritos."
|
||||
|
||||
#: ../js/ui/appFavorites.js:166
|
||||
#: ../js/ui/appFavorites.js:167
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s foi removida dos seus favoritos."
|
||||
@ -583,6 +598,12 @@ msgstr "Mês anterior"
|
||||
msgid "Next month"
|
||||
msgstr "Mês seguinte"
|
||||
|
||||
#: ../js/ui/calendar.js:728
|
||||
#, javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
msgid "Week %V"
|
||||
msgstr "Semana %V"
|
||||
@ -633,7 +654,7 @@ msgstr "Dispositivo externo ligado"
|
||||
msgid "External drive disconnected"
|
||||
msgstr "Dispositivo externo desligado"
|
||||
|
||||
#: ../js/ui/components/autorunManager.js:354
|
||||
#: ../js/ui/components/autorunManager.js:355
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Abrir com %s"
|
||||
@ -1023,23 +1044,22 @@ msgstr "Visão geral"
|
||||
msgid "Type to search…"
|
||||
msgstr "Escreva para procurar…"
|
||||
|
||||
#: ../js/ui/panel.js:352
|
||||
#: ../js/ui/panel.js:358
|
||||
msgid "Quit"
|
||||
msgstr "Sair"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:404
|
||||
#: ../js/ui/panel.js:414
|
||||
msgid "Activities"
|
||||
msgstr "Atividades"
|
||||
|
||||
#: ../js/ui/panel.js:650
|
||||
#| msgid "System"
|
||||
#: ../js/ui/panel.js:695
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
|
||||
@ -1052,15 +1072,15 @@ msgstr "Barra superior"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:70
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "Insira um comando"
|
||||
|
||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
msgstr "Fechar"
|
||||
|
||||
#: ../js/ui/runDialog.js:281
|
||||
#: ../js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "A reiniciar…"
|
||||
|
||||
@ -1183,29 +1203,41 @@ msgstr "Alto contraste"
|
||||
msgid "Large Text"
|
||||
msgstr "Texto grande"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Desligar"
|
||||
#: ../js/ui/status/bluetooth.js:47
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:54
|
||||
#: ../js/ui/status/bluetooth.js:56
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Definições Bluetooth"
|
||||
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#: ../js/ui/status/bluetooth.js:105
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#, javascript-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
msgstr[0] "%d ligado"
|
||||
msgstr[1] "%d ligados"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:107
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Off"
|
||||
msgstr "Desligado"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:140
|
||||
msgid "Not In Use"
|
||||
msgstr "Não em uso"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Ligar"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Desligar"
|
||||
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
msgstr "Luminosidade"
|
||||
@ -1373,10 +1405,6 @@ msgstr "Selecionar rede"
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Definições de Wi-Fi"
|
||||
|
||||
#: ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Ligar"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:1296
|
||||
#, javascript-format
|
||||
@ -1426,31 +1454,36 @@ msgstr "Falha na ligação"
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Falha na ativação da ligação à rede"
|
||||
|
||||
#: ../js/ui/status/power.js:49
|
||||
#: ../js/ui/status/power.js:61
|
||||
msgid "Power Settings"
|
||||
msgstr "Definições de energia"
|
||||
|
||||
#: ../js/ui/status/power.js:65
|
||||
#: ../js/ui/status/power.js:77
|
||||
msgid "Fully Charged"
|
||||
msgstr "Totalmente carregado"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
|
||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
|
||||
msgid "Estimating…"
|
||||
msgstr "A estimar…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:86
|
||||
#: ../js/ui/status/power.js:98
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgstr "%d∶%02d remanescentes (%d%%)"
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr "%d∶%02d restantes (%d%%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:91
|
||||
#: ../js/ui/status/power.js:103
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgstr "%d∶%02d Até estar cheio (%d%%)"
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr "%d∶%02d até estar cheio (%d%%)"
|
||||
|
||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
|
||||
#, javascript-format
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
@ -1652,39 +1685,36 @@ msgstr ""
|
||||
msgid "List possible modes"
|
||||
msgstr "Listar modos possíveis"
|
||||
|
||||
#: ../src/shell-app.c:239
|
||||
#: ../src/shell-app.c:246
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Desconhecida"
|
||||
|
||||
#: ../src/shell-app.c:480
|
||||
#: ../src/shell-app.c:487
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Falha ao iniciar “%s”"
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:742
|
||||
#: ../src/shell-keyring-prompt.c:730
|
||||
msgid "Passwords do not match."
|
||||
msgstr "As senhas não coincidem."
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:750
|
||||
#: ../src/shell-keyring-prompt.c:738
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "A senha não pode estar vazia"
|
||||
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "O diálogo de autenticação foi fechado pelo utilizador"
|
||||
|
||||
#~ msgid "Bluetooth"
|
||||
#~ msgstr "Bluetooth"
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "Interface GNOME (compositor wayland)"
|
||||
|
||||
#~ msgid "%d Connected Device"
|
||||
#~ msgid_plural "%d Connected Devices"
|
||||
#~ msgstr[0] "%d Dispositivo ligado"
|
||||
#~ msgstr[1] "%d Dispositivos ligados"
|
||||
|
||||
#~ msgid "Off"
|
||||
#~ msgstr "Desligado"
|
||||
|
||||
#~ msgid "Authentication required"
|
||||
#~ msgstr "Autenticação necessária"
|
||||
|
||||
|
205
po/ru.po
205
po/ru.po
@ -19,16 +19,16 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-09-29 08:39+0000\n"
|
||||
"PO-Revision-Date: 2015-09-29 22:06+0300\n"
|
||||
"POT-Creation-Date: 2015-11-23 10:13+0000\n"
|
||||
"PO-Revision-Date: 2015-11-23 22:19+0300\n"
|
||||
"Last-Translator: Stas Solovey <whats_up@tut.by>\n"
|
||||
"Language-Team: Русский <gnome-cyr@gnome.org>\n"
|
||||
"Language-Team: Russian <gnome-cyr@gnome.org>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Gtranslator 2.91.7\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
@ -55,15 +55,6 @@ msgstr "Показать все приложения"
|
||||
msgid "Open the application menu"
|
||||
msgstr "Открыть меню приложений"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Управление окнами и запуск приложений"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Extension Preferences"
|
||||
msgstr "Параметры расширений GNOME Shell"
|
||||
@ -72,9 +63,13 @@ msgstr "Параметры расширений GNOME Shell"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Настроить расширения GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "GNOME Shell (компоновщик wayland)"
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Управление окнами и запуск приложений"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
@ -179,76 +174,94 @@ msgstr ""
|
||||
"устанавливает состояние по умолчание для этой флаговой кнопки."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
"Пункт меню Bluetooth будет отображаться только в случае включённого адаптера "
|
||||
"Bluetooth или если имеются установленные устройства связанные с адаптером по "
|
||||
"умолчанию. Параметр будет сброшен, если адаптер по умолчанию не имеет "
|
||||
"связанных с ним устройств."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Показывать в календаре нумерацию недель"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr ""
|
||||
"Если включено, календарь будет показывать нумерацию недель в формате ISO."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Комбинация клавиш для открытия меню приложения"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Комбинация клавиш для открытия меню приложения."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Комбинация клавиш для перехода в режим просмотра приложений"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr "Комбинация клавиш для перехода в режим просмотра приложений."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Комбинация клавиш для перехода в режим обзора"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Комбинация клавиш для перехода в режим обзора."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Комбинация клавиш для отображения или скрытия списка уведомлений"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr "Комбинация клавиш для отображения или скрытия списка уведомлений."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Комбинация клавиш для перевода фокуса на текущее уведомление"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Комбинация клавиш для перевода фокуса на текущее уведомление."
|
||||
|
||||
# tweens — что-то типа анимации
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Комбинация клавиш, которая приостанавливает и возобновляет все запущенные "
|
||||
"анимации (для отладки)"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Какую клавиатуру использовать"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "Тип используемой клавиатуры."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Ограничить переключатель текущим рабочим местом."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
@ -257,11 +270,11 @@ msgstr ""
|
||||
"чьи окна находятся на текущем рабочем месте. Иначе все приложения будут "
|
||||
"включены."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "The application icon mode."
|
||||
msgstr "Режим значка приложения."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
@ -271,7 +284,7 @@ msgstr ""
|
||||
"«thumbnail-only» (показывать миниатюру окна), «app-icon-only» (показывать "
|
||||
"только значок приложения), «both» (показывать миниатюру и значок)."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
@ -279,31 +292,31 @@ msgstr ""
|
||||
"Если выбрано, то в переключателе будут показываться только окна из текущего "
|
||||
"рабочего места. Иначе все окна будут включены."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Прикреплять модальное диалоговое окно к родительскому окну"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Этот ключ переопределяет ключ в org.gnome.mutter при запуске GNOME Shell."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Включить автоматическое изменение размеров окон при перемещении окон к краям "
|
||||
"экрана"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Рабочие места управляются динамически"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Рабочие места только на основном мониторе"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Задержка изменения фокуса в режиме мыши после остановки указателя"
|
||||
|
||||
@ -368,7 +381,7 @@ msgstr "(например, пользователь или %s)"
|
||||
msgid "Username: "
|
||||
msgstr "Имя пользователя: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1184
|
||||
#: ../js/gdm/loginDialog.js:1180
|
||||
msgid "Login Window"
|
||||
msgstr "Окно входа в систему"
|
||||
|
||||
@ -509,12 +522,12 @@ msgstr "Добавить в избранное"
|
||||
msgid "Show Details"
|
||||
msgstr "Показать подробности"
|
||||
|
||||
#: ../js/ui/appFavorites.js:132
|
||||
#: ../js/ui/appFavorites.js:133
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "Приложение %s добавлено в избранное."
|
||||
|
||||
#: ../js/ui/appFavorites.js:166
|
||||
#: ../js/ui/appFavorites.js:167
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "Приложение %s удалено из избранного."
|
||||
@ -591,6 +604,12 @@ msgstr "Предыдущий месяц"
|
||||
msgid "Next month"
|
||||
msgstr "Следующий месяц"
|
||||
|
||||
#: ../js/ui/calendar.js:728
|
||||
#, javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
msgid "Week %V"
|
||||
msgstr "%V неделя"
|
||||
@ -643,7 +662,7 @@ msgstr "Внешний диск подключён"
|
||||
msgid "External drive disconnected"
|
||||
msgstr "Внешний диск отключён"
|
||||
|
||||
#: ../js/ui/components/autorunManager.js:354
|
||||
#: ../js/ui/components/autorunManager.js:355
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Открыть с помощью %s"
|
||||
@ -1040,23 +1059,22 @@ msgstr "Обзор"
|
||||
msgid "Type to search…"
|
||||
msgstr "Найти…"
|
||||
|
||||
#: ../js/ui/panel.js:352
|
||||
#: ../js/ui/panel.js:358
|
||||
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:404
|
||||
#: ../js/ui/panel.js:414
|
||||
msgid "Activities"
|
||||
msgstr "Обзор"
|
||||
|
||||
#: ../js/ui/panel.js:650
|
||||
#| msgid "System"
|
||||
#: ../js/ui/panel.js:695
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Система"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Top Bar"
|
||||
msgstr "Верхняя панель"
|
||||
|
||||
@ -1069,15 +1087,15 @@ msgstr "Верхняя панель"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:70
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "Введите команду"
|
||||
|
||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
#: ../js/ui/runDialog.js:281
|
||||
#: ../js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "Перезапуск…"
|
||||
|
||||
@ -1203,19 +1221,16 @@ msgstr "Высокая контрастность"
|
||||
msgid "Large Text"
|
||||
msgstr "Крупный текст"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Выключить"
|
||||
#: ../js/ui/status/bluetooth.js:47
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:54
|
||||
#: ../js/ui/status/bluetooth.js:56
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Настроить Bluetooth"
|
||||
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#: ../js/ui/status/bluetooth.js:105
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#, javascript-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
@ -1223,10 +1238,25 @@ msgstr[0] "Подключено %d"
|
||||
msgstr[1] "Подключено %d"
|
||||
msgstr[2] "Подключено %d"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:107
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Off"
|
||||
msgstr "Выключено"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:140
|
||||
msgid "Not In Use"
|
||||
msgstr "Не используется"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Включить"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Выключить"
|
||||
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
msgstr "Яркость"
|
||||
@ -1394,10 +1424,6 @@ msgstr "Выбрать сеть"
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Параметры Wi-Fi"
|
||||
|
||||
#: ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Включить"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:1296
|
||||
#, javascript-format
|
||||
@ -1447,44 +1473,52 @@ msgstr "Сбой подключения"
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Не удалось активировать сетевое подключение"
|
||||
|
||||
#: ../js/ui/status/power.js:49
|
||||
#: ../js/ui/status/power.js:61
|
||||
msgid "Power Settings"
|
||||
msgstr "Параметры электропитания"
|
||||
|
||||
#: ../js/ui/status/power.js:65
|
||||
#: ../js/ui/status/power.js:77
|
||||
msgid "Fully Charged"
|
||||
msgstr "Полностью заряжена"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
|
||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
|
||||
msgid "Estimating…"
|
||||
msgstr "Выполняется подсчёт…"
|
||||
|
||||
# нужно в две строки, иначе не влезает в выпадающую панель
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:86
|
||||
#: ../js/ui/status/power.js:98
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
#| msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr ""
|
||||
"Осталось %02d ч. %d мин.\n"
|
||||
"Разряжается (%d%%)"
|
||||
"Разряжается (%d %%)"
|
||||
|
||||
# нужно в две строки, иначе не влезает в выпадающую панель
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:91
|
||||
#: ../js/ui/status/power.js:103
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
#| msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr ""
|
||||
"До полной %02d ч. %d мин.\n"
|
||||
"Заряжается (%d%%)"
|
||||
"Заряжается (%d %%)"
|
||||
|
||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
|
||||
#, javascript-format
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
# Нужно максимально коротко, иначе не влазит в меню gnome shell
|
||||
#. 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.
|
||||
#: ../js/ui/status/rfkill.js:88
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Включён режим авиаперелёта"
|
||||
msgstr "Включён авиарежим"
|
||||
|
||||
#: ../js/ui/status/system.js:343
|
||||
msgid "Switch User"
|
||||
@ -1545,7 +1579,7 @@ msgstr "Окно «%s» ожидает"
|
||||
|
||||
#: ../js/ui/windowManager.js:63
|
||||
msgid "Do you want to keep these display settings?"
|
||||
msgstr "Хотите сохранить эти параметры дисплея?"
|
||||
msgstr "Сохранить эти параметры дисплея?"
|
||||
|
||||
#. Translators: this and the following message should be limited in lenght,
|
||||
#. to avoid ellipsizing the labels.
|
||||
@ -1682,30 +1716,30 @@ msgstr ""
|
||||
msgid "List possible modes"
|
||||
msgstr "Список возможных режимов"
|
||||
|
||||
#: ../src/shell-app.c:239
|
||||
#: ../src/shell-app.c:246
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Неизвестное приложение"
|
||||
|
||||
#: ../src/shell-app.c:480
|
||||
#: ../src/shell-app.c:487
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Не удалось запустить «%s»"
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:742
|
||||
#: ../src/shell-keyring-prompt.c:730
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Пароли не совпадают."
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:750
|
||||
#: ../src/shell-keyring-prompt.c:738
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "Пароль не может быть пустым"
|
||||
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Аутентификация отклонена пользователем"
|
||||
|
||||
#~ msgid "Bluetooth"
|
||||
#~ msgstr "Bluetooth"
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "GNOME Shell (компоновщик wayland)"
|
||||
|
||||
#~ msgid "%d Connected Device"
|
||||
#~ msgid_plural "%d Connected Devices"
|
||||
@ -1713,9 +1747,6 @@ msgstr "Аутентификация отклонена пользователе
|
||||
#~ msgstr[1] "Подключено %d устройства"
|
||||
#~ msgstr[2] "Подключено %d устройств"
|
||||
|
||||
#~ msgid "Off"
|
||||
#~ msgstr "Выключено"
|
||||
|
||||
#~ msgid "Authentication required"
|
||||
#~ msgstr "Требуется подтверждение подлинности"
|
||||
|
||||
|
200
po/sk.po
200
po/sk.po
@ -9,8 +9,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-09-28 20:46+0000\n"
|
||||
"PO-Revision-Date: 2015-08-21 10:43+0200\n"
|
||||
"POT-Creation-Date: 2015-12-06 10:12+0000\n"
|
||||
"PO-Revision-Date: 2015-12-06 13:04+0100\n"
|
||||
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
|
||||
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
|
||||
"Language: sk\n"
|
||||
@ -19,7 +19,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-DamnedLies-Scope: partial\n"
|
||||
"X-Generator: Poedit 1.8.4\n"
|
||||
"X-Generator: Poedit 1.8.6\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@ -49,15 +49,6 @@ msgstr "Zobraziť všetky aplikácie"
|
||||
msgid "Open the application menu"
|
||||
msgstr "Otvoriť ponuku aplikácií"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "Shell prostredia GNOME"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Správa okien a spúšťanie aplikácií"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Extension Preferences"
|
||||
msgstr "Nastavenia rozšírení pre Shell prostredia GNOME"
|
||||
@ -66,9 +57,13 @@ msgstr "Nastavenia rozšírení pre Shell prostredia GNOME"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Nastavenie rozšírení pre Shell prostredia GNOME"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "Shell prostredia GNOME (kompozitor pre wayland)"
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "Shell prostredia GNOME"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Správa okien a spúšťanie aplikácií"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
@ -183,80 +178,97 @@ msgstr ""
|
||||
"predvolený stav zaškrtávacieho poľa."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr "Či má predvolený Bluetooth adaptér nastaviť jemu priradené zariadenia"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
"Shell zobrazí položku Bluetooth v ponuke iba vtedy, ak je zapnutý adaptér "
|
||||
"Bluetooth, alebo ak boli zariadenia nastavené a priradené predvolenému "
|
||||
"adaptéru. Táto voľba bude vynulovaná, ak predvolený adaptér nemal nikdy "
|
||||
"priradené zariadenia."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Zobraziť čísla týždňov v kalendári"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr ""
|
||||
"Ak je true, zobrazí v kalendári poradie dní v týždni podľa štandardu ISO."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Klávesová skratka na otvorenie ponuky aplikácií"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Klávesová skratka na otvorenie ponuky aplikácií."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“ v prehľade "
|
||||
"aktivít."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Klávesová skratka na otvorenie prehľadu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Klávesová skratka na otvorenie prehľadu aktivít."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Klávesová skratka na prepnutie viditeľnosti zoznamu s oznámeniami"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr "Klávesová skratka na prepnutie viditeľnosti zoznamu s oznámeniami."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Klávesová skratka na zameranie aktívnych oznámení"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Klávesová skratka, s ktorou sa zamerá na aktívne oznámenia."
|
||||
|
||||
# summary
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Klávesová skratka, ktorá pozastaví a znovu spustí všetky animácie(tween), "
|
||||
"pre ladiace účely"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Ktorú klávesnicu používať"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "Typ klávesnice, ktorá sa má používať."
|
||||
|
||||
# summary
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Obmedziť prepínač na aktuálny pracovný priestor."
|
||||
|
||||
# desc
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
@ -264,11 +276,11 @@ msgstr ""
|
||||
"Ak je true, iba aplikácie, ktoré majú okná na aktuálnom pracovnom priestore "
|
||||
"budú zobrazené v prepínači. Inak budú zahrnuté všetky aplikácie."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "The application icon mode."
|
||||
msgstr "Režim ikonizácie aplikácií."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
@ -279,7 +291,7 @@ msgstr ""
|
||||
"ikonu aplikácie) alebo „both“ (zobrazí oboje)."
|
||||
|
||||
# desc
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
@ -287,31 +299,31 @@ msgstr ""
|
||||
"Ak je true, iba okná z aktuálneho pracovného priestoru budú zobrazené v "
|
||||
"prepínači. Inak budú zahrnuté všetky okná."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Pripojiť modálne dialógové okno k rodičovskému oknu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Tento kľúč preváži kľúč v org.gnome.mutter po spustení Shellu prostredia "
|
||||
"GNOME."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Povoliť natiahnutie k okraju pri pustení okien na okrajoch obrazovky"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Pracovné priestory sú spravované dynamicky"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Pracovné priestory sú iba na primárnom monitore"
|
||||
|
||||
# summary
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Oneskoriť pohyb zamerania v režime myši, až kým sa ukazovateľ nezastaví"
|
||||
@ -352,7 +364,7 @@ msgid "Sign In"
|
||||
msgstr "Prihlásiť sa"
|
||||
|
||||
# button
|
||||
#: ../js/gdm/loginDialog.js:281
|
||||
#: ../js/gdm/loginDialog.js:285
|
||||
msgid "Choose Session"
|
||||
msgstr "Vybrať reláciu"
|
||||
|
||||
@ -360,13 +372,13 @@ msgstr "Vybrať reláciu"
|
||||
#. 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:431
|
||||
#: ../js/gdm/loginDialog.js:435
|
||||
msgid "Not listed?"
|
||||
msgstr "Nie ste v zozname?"
|
||||
|
||||
#. 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:850
|
||||
#: ../js/gdm/loginDialog.js:854
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(napr., používateľ alebo %s)"
|
||||
@ -374,12 +386,12 @@ msgstr "(napr., používateľ alebo %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:855 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/gdm/loginDialog.js:859 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Používateľské meno: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1184
|
||||
#: ../js/gdm/loginDialog.js:1196
|
||||
msgid "Login Window"
|
||||
msgstr "Prihlasovacie okno"
|
||||
|
||||
@ -521,12 +533,12 @@ msgstr "Pridať do obľúbených"
|
||||
msgid "Show Details"
|
||||
msgstr "Zobraziť podrobnosti"
|
||||
|
||||
#: ../js/ui/appFavorites.js:132
|
||||
#: ../js/ui/appFavorites.js:133
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "Program %s bol pridaný medzi obľúbené."
|
||||
|
||||
#: ../js/ui/appFavorites.js:166
|
||||
#: ../js/ui/appFavorites.js:167
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "Program %s bol odstránený z obľúbených."
|
||||
@ -606,6 +618,12 @@ msgstr "Predchádzajúci mesiac"
|
||||
msgid "Next month"
|
||||
msgstr "Nasledujúci mesiac"
|
||||
|
||||
#: ../js/ui/calendar.js:728
|
||||
#, javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
msgid "Week %V"
|
||||
msgstr "%V. týždeň"
|
||||
@ -657,7 +675,7 @@ msgid "External drive disconnected"
|
||||
msgstr "Externá jednotka bola odpojená"
|
||||
|
||||
# DK: doplnil som slovo "programu", aby to znelo prirodzenejsie. priklad:po pripojeni USB kluca bolo zobrazene "Otvoriť pomocou Súbory"
|
||||
#: ../js/ui/components/autorunManager.js:354
|
||||
#: ../js/ui/components/autorunManager.js:355
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Otvoriť pomocou programu %s"
|
||||
@ -1055,22 +1073,22 @@ msgstr "Prehľad"
|
||||
msgid "Type to search…"
|
||||
msgstr "Zadajte text na vyhľadanie…"
|
||||
|
||||
#: ../js/ui/panel.js:352
|
||||
#: ../js/ui/panel.js:358
|
||||
msgid "Quit"
|
||||
msgstr "Ukončiť"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:404
|
||||
#: ../js/ui/panel.js:414
|
||||
msgid "Activities"
|
||||
msgstr "Aktivity"
|
||||
|
||||
#: ../js/ui/panel.js:650
|
||||
#: ../js/ui/panel.js:695
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Systém"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Top Bar"
|
||||
msgstr "Horná lišta"
|
||||
|
||||
@ -1083,15 +1101,15 @@ msgstr "Horná lišta"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:70
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "Zadajte príkaz"
|
||||
|
||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
msgstr "Zavrieť"
|
||||
|
||||
#: ../js/ui/runDialog.js:281
|
||||
#: ../js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "Reštartuje sa…"
|
||||
|
||||
@ -1222,19 +1240,16 @@ msgstr "Vysoký kontrast"
|
||||
msgid "Large Text"
|
||||
msgstr "Veľký text"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Vypnúť"
|
||||
#: ../js/ui/status/bluetooth.js:47
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:54
|
||||
#: ../js/ui/status/bluetooth.js:56
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Nastavenia Bluetooth"
|
||||
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#: ../js/ui/status/bluetooth.js:105
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#, javascript-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
@ -1242,10 +1257,26 @@ msgstr[0] "%d pripojené"
|
||||
msgstr[1] "%d pripojené"
|
||||
msgstr[2] "%d pripojených"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:107
|
||||
# DK: pripojenie, zariadenie
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Off"
|
||||
msgstr "Vypnuté"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:140
|
||||
msgid "Not In Use"
|
||||
msgstr "Nepoužíva sa"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Zapnúť"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Vypnúť"
|
||||
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
msgstr "Jas"
|
||||
@ -1416,10 +1447,6 @@ msgstr "Vybrať sieť"
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Nastavenia siete Wi-Fi"
|
||||
|
||||
#: ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Zapnúť"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:1296
|
||||
#, javascript-format
|
||||
@ -1469,32 +1496,37 @@ msgstr "Pripojenie zlyhalo"
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivácia pripojenia k sieti zlyhala"
|
||||
|
||||
#: ../js/ui/status/power.js:49
|
||||
#: ../js/ui/status/power.js:61
|
||||
msgid "Power Settings"
|
||||
msgstr "Nastavenia napájania"
|
||||
|
||||
#: ../js/ui/status/power.js:65
|
||||
#: ../js/ui/status/power.js:77
|
||||
msgid "Fully Charged"
|
||||
msgstr "Plne nabité"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
|
||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
|
||||
msgid "Estimating…"
|
||||
msgstr "Odhaduje sa…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:86
|
||||
#: ../js/ui/status/power.js:98
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr "%d:%02d Zostáva (%d%%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:91
|
||||
#: ../js/ui/status/power.js:103
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr "%d:%02d Do plného nabitia (%d%%)"
|
||||
|
||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
|
||||
#, javascript-format
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#. 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.
|
||||
@ -1700,31 +1732,31 @@ msgstr "Použitie zvláštneho režimu, napr. „gdm“ pre prihlasovaciu obraz
|
||||
msgid "List possible modes"
|
||||
msgstr "Zoznam možných režimov"
|
||||
|
||||
#: ../src/shell-app.c:239
|
||||
#: ../src/shell-app.c:246
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Neznámy"
|
||||
|
||||
#: ../src/shell-app.c:480
|
||||
#: ../src/shell-app.c:487
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Zlyhalo spustenie „%s“"
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:742
|
||||
#: ../src/shell-keyring-prompt.c:730
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Heslá sa nezhodujú."
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:750
|
||||
#: ../src/shell-keyring-prompt.c:738
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "Heslo nemôže byť prázdne"
|
||||
|
||||
# rovnaký reťazec ako v PolicyKit-gnome
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
|
||||
|
||||
#~ msgid "Bluetooth"
|
||||
#~ msgstr "Bluetooth"
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "Shell prostredia GNOME (kompozitor pre wayland)"
|
||||
|
||||
#~ msgid "%d Connected Device"
|
||||
#~ msgid_plural "%d Connected Devices"
|
||||
@ -1732,10 +1764,6 @@ msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
|
||||
#~ msgstr[1] "%d pripojené zariadenia"
|
||||
#~ msgstr[2] "%d pripojených zariadení"
|
||||
|
||||
# DK: pripojenie, zariadenie
|
||||
#~ msgid "Off"
|
||||
#~ msgstr "Vypnuté"
|
||||
|
||||
#~ msgid "Authentication required"
|
||||
#~ msgstr "Požaduje sa overenie totožnosti"
|
||||
|
||||
|
680
po/zh_CN.po
680
po/zh_CN.po
File diff suppressed because it is too large
Load Diff
@ -41,8 +41,6 @@
|
||||
#define N_(x) x
|
||||
#endif
|
||||
|
||||
#define CALENDAR_SOURCES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CALENDAR_TYPE_SOURCES, CalendarSourcesPrivate))
|
||||
|
||||
typedef struct _ClientData ClientData;
|
||||
typedef struct _CalendarSourceData CalendarSourceData;
|
||||
|
||||
@ -66,6 +64,14 @@ struct _CalendarSourceData
|
||||
guint loaded : 1;
|
||||
};
|
||||
|
||||
typedef struct _CalendarSourcesPrivate CalendarSourcesPrivate;
|
||||
|
||||
struct _CalendarSources
|
||||
{
|
||||
GObject parent;
|
||||
CalendarSourcesPrivate *priv;
|
||||
};
|
||||
|
||||
struct _CalendarSourcesPrivate
|
||||
{
|
||||
ESourceRegistry *registry;
|
||||
@ -77,8 +83,8 @@ struct _CalendarSourcesPrivate
|
||||
CalendarSourceData task_sources;
|
||||
};
|
||||
|
||||
static void calendar_sources_class_init (CalendarSourcesClass *klass);
|
||||
static void calendar_sources_init (CalendarSources *sources);
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (CalendarSources, calendar_sources, G_TYPE_OBJECT)
|
||||
|
||||
static void calendar_sources_finalize (GObject *object);
|
||||
|
||||
static void backend_died_cb (EClient *client, CalendarSourceData *source_data);
|
||||
@ -108,34 +114,6 @@ client_data_free (ClientData *data)
|
||||
g_slice_free (ClientData, data);
|
||||
}
|
||||
|
||||
GType
|
||||
calendar_sources_get_type (void)
|
||||
{
|
||||
static GType sources_type = 0;
|
||||
|
||||
if (!sources_type)
|
||||
{
|
||||
static const GTypeInfo sources_info =
|
||||
{
|
||||
sizeof (CalendarSourcesClass),
|
||||
NULL, /* base_init */
|
||||
NULL, /* base_finalize */
|
||||
(GClassInitFunc) calendar_sources_class_init,
|
||||
NULL, /* class_finalize */
|
||||
NULL, /* class_data */
|
||||
sizeof (CalendarSources),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) calendar_sources_init,
|
||||
};
|
||||
|
||||
sources_type = g_type_register_static (G_TYPE_OBJECT,
|
||||
"CalendarSources",
|
||||
&sources_info, 0);
|
||||
}
|
||||
|
||||
return sources_type;
|
||||
}
|
||||
|
||||
static void
|
||||
calendar_sources_class_init (CalendarSourcesClass *klass)
|
||||
{
|
||||
@ -145,14 +123,11 @@ calendar_sources_class_init (CalendarSourcesClass *klass)
|
||||
|
||||
gobject_class->finalize = calendar_sources_finalize;
|
||||
|
||||
g_type_class_add_private (klass, sizeof (CalendarSourcesPrivate));
|
||||
|
||||
signals [APPOINTMENT_SOURCES_CHANGED] =
|
||||
g_signal_new ("appointment-sources-changed",
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (CalendarSourcesClass,
|
||||
appointment_sources_changed),
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
@ -163,8 +138,7 @@ calendar_sources_class_init (CalendarSourcesClass *klass)
|
||||
g_signal_new ("task-sources-changed",
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (CalendarSourcesClass,
|
||||
task_sources_changed),
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
@ -179,7 +153,7 @@ calendar_sources_init (CalendarSources *sources)
|
||||
GDBusConnection *session_bus;
|
||||
GVariant *result;
|
||||
|
||||
sources->priv = CALENDAR_SOURCES_GET_PRIVATE (sources);
|
||||
sources->priv = calendar_sources_get_instance_private (sources);
|
||||
|
||||
/* WORKAROUND: the hardcoded timeout for e_source_registry_new_sync()
|
||||
(and other library calls that eventually call g_dbus_proxy_new[_sync]())
|
||||
|
@ -28,33 +28,10 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define CALENDAR_TYPE_SOURCES (calendar_sources_get_type ())
|
||||
#define CALENDAR_SOURCES(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CALENDAR_TYPE_SOURCES, CalendarSources))
|
||||
#define CALENDAR_SOURCES_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), CALENDAR_TYPE_SOURCES, CalendarSourcesClass))
|
||||
#define CALENDAR_IS_SOURCES(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CALENDAR_TYPE_SOURCES))
|
||||
#define CALENDAR_IS_SOURCES_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CALENDAR_TYPE_SOURCES))
|
||||
#define CALENDAR_SOURCES_GET_CLASS(o)(G_TYPE_INSTANCE_GET_CLASS ((o), CALENDAR_TYPE_SOURCES, CalendarSourcesClass))
|
||||
#define CALENDAR_TYPE_SOURCES (calendar_sources_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (CalendarSources, calendar_sources,
|
||||
CALENDAR, SOURCES, GObject)
|
||||
|
||||
typedef struct _CalendarSources CalendarSources;
|
||||
typedef struct _CalendarSourcesClass CalendarSourcesClass;
|
||||
typedef struct _CalendarSourcesPrivate CalendarSourcesPrivate;
|
||||
|
||||
struct _CalendarSources
|
||||
{
|
||||
GObject parent;
|
||||
CalendarSourcesPrivate *priv;
|
||||
};
|
||||
|
||||
struct _CalendarSourcesClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
|
||||
void (* appointment_sources_changed) (CalendarSources *sources);
|
||||
void (* task_sources_changed) (CalendarSources *sources);
|
||||
};
|
||||
|
||||
|
||||
GType calendar_sources_get_type (void) G_GNUC_CONST;
|
||||
CalendarSources *calendar_sources_get (void);
|
||||
GList *calendar_sources_get_appointment_clients (CalendarSources *sources);
|
||||
GList *calendar_sources_get_task_clients (CalendarSources *sources);
|
||||
|
@ -43,8 +43,6 @@
|
||||
#define DIRECTORY_LOAD_ITEMS_PER_CALLBACK 100
|
||||
#define HIGH_SCORE_RATIO 0.10
|
||||
|
||||
G_DEFINE_TYPE (ShellMimeSniffer, shell_mime_sniffer, G_TYPE_OBJECT);
|
||||
|
||||
enum {
|
||||
PROP_FILE = 1,
|
||||
NUM_PROPERTIES
|
||||
@ -72,16 +70,26 @@ typedef struct {
|
||||
gint total_items;
|
||||
} DeepCountState;
|
||||
|
||||
typedef struct _ShellMimeSnifferPrivate ShellMimeSnifferPrivate;
|
||||
|
||||
struct _ShellMimeSniffer
|
||||
{
|
||||
GObject parent_instance;
|
||||
|
||||
ShellMimeSnifferPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellMimeSnifferPrivate {
|
||||
GFile *file;
|
||||
|
||||
GCancellable *cancellable;
|
||||
guint watchdog_id;
|
||||
|
||||
GSimpleAsyncResult *async_result;
|
||||
gchar **sniffed_mime;
|
||||
GTask *task;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellMimeSniffer, shell_mime_sniffer, G_TYPE_OBJECT);
|
||||
|
||||
static void deep_count_load (DeepCountState *state,
|
||||
GFile *file);
|
||||
|
||||
@ -179,6 +187,7 @@ prepare_async_result (DeepCountState *state)
|
||||
GArray *results;
|
||||
GPtrArray *sniffed_mime;
|
||||
SniffedResult result;
|
||||
char **mimes;
|
||||
|
||||
sniffed_mime = g_ptr_array_new ();
|
||||
results = g_array_new (TRUE, TRUE, sizeof (SniffedResult));
|
||||
@ -220,10 +229,10 @@ prepare_async_result (DeepCountState *state)
|
||||
|
||||
out:
|
||||
g_ptr_array_add (sniffed_mime, NULL);
|
||||
self->priv->sniffed_mime = (gchar **) g_ptr_array_free (sniffed_mime, FALSE);
|
||||
mimes = (gchar **) g_ptr_array_free (sniffed_mime, FALSE);
|
||||
|
||||
g_array_free (results, TRUE);
|
||||
g_simple_async_result_complete_in_idle (self->priv->async_result);
|
||||
g_task_return_pointer (self->priv->task, mimes, (GDestroyNotify)g_strfreev);
|
||||
}
|
||||
|
||||
/* adapted from nautilus/libnautilus-private/nautilus-directory-async.c */
|
||||
@ -416,20 +425,17 @@ query_info_async_ready_cb (GObject *source,
|
||||
|
||||
if (error != NULL)
|
||||
{
|
||||
g_simple_async_result_take_error (self->priv->async_result,
|
||||
error);
|
||||
g_simple_async_result_complete_in_idle (self->priv->async_result);
|
||||
g_task_return_error (self->priv->task, error);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (g_file_info_get_file_type (info) != G_FILE_TYPE_DIRECTORY)
|
||||
{
|
||||
g_simple_async_result_set_error (self->priv->async_result,
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_NOT_DIRECTORY,
|
||||
"Not a directory");
|
||||
g_simple_async_result_complete_in_idle (self->priv->async_result);
|
||||
g_task_return_new_error (self->priv->task,
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_NOT_DIRECTORY,
|
||||
"Not a directory");
|
||||
|
||||
return;
|
||||
}
|
||||
@ -475,7 +481,7 @@ shell_mime_sniffer_dispose (GObject *object)
|
||||
|
||||
g_clear_object (&self->priv->file);
|
||||
g_clear_object (&self->priv->cancellable);
|
||||
g_clear_object (&self->priv->async_result);
|
||||
g_clear_object (&self->priv->task);
|
||||
|
||||
if (self->priv->watchdog_id != 0)
|
||||
{
|
||||
@ -486,16 +492,6 @@ shell_mime_sniffer_dispose (GObject *object)
|
||||
G_OBJECT_CLASS (shell_mime_sniffer_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_mime_sniffer_finalize (GObject *object)
|
||||
{
|
||||
ShellMimeSniffer *self = SHELL_MIME_SNIFFER (object);
|
||||
|
||||
g_strfreev (self->priv->sniffed_mime);
|
||||
|
||||
G_OBJECT_CLASS (shell_mime_sniffer_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_mime_sniffer_get_property (GObject *object,
|
||||
guint prop_id,
|
||||
@ -539,7 +535,6 @@ shell_mime_sniffer_class_init (ShellMimeSnifferClass *klass)
|
||||
|
||||
oclass = G_OBJECT_CLASS (klass);
|
||||
oclass->dispose = shell_mime_sniffer_dispose;
|
||||
oclass->finalize = shell_mime_sniffer_finalize;
|
||||
oclass->get_property = shell_mime_sniffer_get_property;
|
||||
oclass->set_property = shell_mime_sniffer_set_property;
|
||||
|
||||
@ -550,17 +545,13 @@ shell_mime_sniffer_class_init (ShellMimeSnifferClass *klass)
|
||||
G_TYPE_FILE,
|
||||
G_PARAM_READWRITE);
|
||||
|
||||
g_type_class_add_private (klass, sizeof (ShellMimeSnifferPrivate));
|
||||
g_object_class_install_properties (oclass, NUM_PROPERTIES, properties);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_mime_sniffer_init (ShellMimeSniffer *self)
|
||||
{
|
||||
self->priv =
|
||||
G_TYPE_INSTANCE_GET_PRIVATE (self,
|
||||
SHELL_TYPE_MIME_SNIFFER,
|
||||
ShellMimeSnifferPrivate);
|
||||
self->priv = shell_mime_sniffer_get_instance_private (self);
|
||||
init_mimetypes ();
|
||||
}
|
||||
|
||||
@ -578,14 +569,11 @@ shell_mime_sniffer_sniff_async (ShellMimeSniffer *self,
|
||||
gpointer user_data)
|
||||
{
|
||||
g_assert (self->priv->watchdog_id == 0);
|
||||
g_assert (self->priv->async_result == NULL);
|
||||
g_assert (self->priv->task == NULL);
|
||||
|
||||
self->priv->async_result =
|
||||
g_simple_async_result_new (G_OBJECT (self),
|
||||
callback, user_data,
|
||||
shell_mime_sniffer_sniff_finish);
|
||||
|
||||
self->priv->cancellable = g_cancellable_new ();
|
||||
self->priv->task = g_task_new (self, self->priv->cancellable,
|
||||
callback, user_data);
|
||||
|
||||
self->priv->watchdog_id =
|
||||
g_timeout_add (WATCHDOG_TIMEOUT,
|
||||
@ -600,8 +588,5 @@ shell_mime_sniffer_sniff_finish (ShellMimeSniffer *self,
|
||||
GAsyncResult *res,
|
||||
GError **error)
|
||||
{
|
||||
if (g_simple_async_result_propagate_error (self->priv->async_result, error))
|
||||
return NULL;
|
||||
|
||||
return g_strdupv (self->priv->sniffed_mime);
|
||||
return g_task_propagate_pointer (self->priv->task, error);
|
||||
}
|
||||
|
@ -27,30 +27,9 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define SHELL_TYPE_MIME_SNIFFER (shell_mime_sniffer_get_type ())
|
||||
#define SHELL_MIME_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_MIME_SNIFFER, ShellMimeSniffer))
|
||||
#define SHELL_IS_MIME_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_MIME_SNIFFER))
|
||||
#define SHELL_MIME_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_MIME_SNIFFER, ShellMimeSnifferClass))
|
||||
#define SHELL_IS_MIME_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_MIME_SNIFFER))
|
||||
#define SHELL_MIME_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_MIME_SNIFFER, ShellMimeSnifferClass))
|
||||
|
||||
typedef struct _ShellMimeSniffer ShellMimeSniffer;
|
||||
typedef struct _ShellMimeSnifferPrivate ShellMimeSnifferPrivate;
|
||||
typedef struct _ShellMimeSnifferClass ShellMimeSnifferClass;
|
||||
|
||||
struct _ShellMimeSniffer
|
||||
{
|
||||
GObject parent_instance;
|
||||
|
||||
ShellMimeSnifferPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellMimeSnifferClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
};
|
||||
|
||||
GType shell_mime_sniffer_get_type (void) G_GNUC_CONST;
|
||||
#define SHELL_TYPE_MIME_SNIFFER (shell_mime_sniffer_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellMimeSniffer, shell_mime_sniffer,
|
||||
SHELL, MIME_SNIFFER, GObject)
|
||||
|
||||
ShellMimeSniffer *shell_mime_sniffer_new (GFile *file);
|
||||
|
||||
|
@ -37,6 +37,15 @@ enum {
|
||||
|
||||
static guint signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
typedef struct _ShellAppSystemPrivate ShellAppSystemPrivate;
|
||||
|
||||
struct _ShellAppSystem
|
||||
{
|
||||
GObject parent;
|
||||
|
||||
ShellAppSystemPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellAppSystemPrivate {
|
||||
GHashTable *running_apps;
|
||||
GHashTable *id_to_app;
|
||||
@ -45,7 +54,7 @@ struct _ShellAppSystemPrivate {
|
||||
|
||||
static void shell_app_system_finalize (GObject *object);
|
||||
|
||||
G_DEFINE_TYPE(ShellAppSystem, shell_app_system, G_TYPE_OBJECT);
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellAppSystem, shell_app_system, G_TYPE_OBJECT);
|
||||
|
||||
static void shell_app_system_class_init(ShellAppSystemClass *klass)
|
||||
{
|
||||
@ -64,11 +73,9 @@ static void shell_app_system_class_init(ShellAppSystemClass *klass)
|
||||
g_signal_new ("installed-changed",
|
||||
SHELL_TYPE_APP_SYSTEM,
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (ShellAppSystemClass, installed_changed),
|
||||
NULL, NULL, NULL,
|
||||
0,
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
g_type_class_add_private (gobject_class, sizeof (ShellAppSystemPrivate));
|
||||
}
|
||||
|
||||
static void
|
||||
@ -147,9 +154,7 @@ shell_app_system_init (ShellAppSystem *self)
|
||||
ShellAppSystemPrivate *priv;
|
||||
GAppInfoMonitor *monitor;
|
||||
|
||||
self->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
|
||||
SHELL_TYPE_APP_SYSTEM,
|
||||
ShellAppSystemPrivate);
|
||||
self->priv = priv = shell_app_system_get_instance_private (self);
|
||||
|
||||
priv->running_apps = g_hash_table_new_full (NULL, NULL, (GDestroyNotify) g_object_unref, NULL);
|
||||
priv->id_to_app = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||
|
@ -8,33 +8,10 @@
|
||||
|
||||
#include "shell-app.h"
|
||||
|
||||
#define SHELL_TYPE_APP_SYSTEM (shell_app_system_get_type ())
|
||||
#define SHELL_APP_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_APP_SYSTEM, ShellAppSystem))
|
||||
#define SHELL_APP_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_APP_SYSTEM, ShellAppSystemClass))
|
||||
#define SHELL_IS_APP_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_APP_SYSTEM))
|
||||
#define SHELL_IS_APP_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_APP_SYSTEM))
|
||||
#define SHELL_APP_SYSTEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_APP_SYSTEM, ShellAppSystemClass))
|
||||
#define SHELL_TYPE_APP_SYSTEM (shell_app_system_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellAppSystem, shell_app_system,
|
||||
SHELL, APP_SYSTEM, GObject)
|
||||
|
||||
typedef struct _ShellAppSystem ShellAppSystem;
|
||||
typedef struct _ShellAppSystemClass ShellAppSystemClass;
|
||||
typedef struct _ShellAppSystemPrivate ShellAppSystemPrivate;
|
||||
|
||||
struct _ShellAppSystem
|
||||
{
|
||||
GObject parent;
|
||||
|
||||
ShellAppSystemPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellAppSystemClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
|
||||
void (*installed_changed)(ShellAppSystem *appsys, gpointer user_data);
|
||||
void (*favorites_changed)(ShellAppSystem *appsys, gpointer user_data);
|
||||
};
|
||||
|
||||
GType shell_app_system_get_type (void) G_GNUC_CONST;
|
||||
ShellAppSystem *shell_app_system_get_default (void);
|
||||
|
||||
ShellApp *shell_app_system_lookup_app (ShellAppSystem *system,
|
||||
|
@ -7,23 +7,9 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _ShellAppUsage ShellAppUsage;
|
||||
typedef struct _ShellAppUsageClass ShellAppUsageClass;
|
||||
typedef struct _ShellAppUsagePrivate ShellAppUsagePrivate;
|
||||
|
||||
#define SHELL_TYPE_APP_USAGE (shell_app_usage_get_type ())
|
||||
#define SHELL_APP_USAGE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_APP_USAGE, ShellAppUsage))
|
||||
#define SHELL_APP_USAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_APP_USAGE, ShellAppUsageClass))
|
||||
#define SHELL_IS_APP_USAGE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_APP_USAGE))
|
||||
#define SHELL_IS_APP_USAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_APP_USAGE))
|
||||
#define SHELL_APP_USAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_APP_USAGE, ShellAppUsageClass))
|
||||
|
||||
struct _ShellAppUsageClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
};
|
||||
|
||||
GType shell_app_usage_get_type (void) G_GNUC_CONST;
|
||||
G_DECLARE_FINAL_TYPE (ShellAppUsage, shell_app_usage,
|
||||
SHELL, APP_USAGE, GObject)
|
||||
|
||||
ShellAppUsage* shell_app_usage_get_default(void);
|
||||
|
||||
|
@ -9,23 +9,8 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _ShellApp ShellApp;
|
||||
typedef struct _ShellAppClass ShellAppClass;
|
||||
typedef struct _ShellAppPrivate ShellAppPrivate;
|
||||
typedef struct _ShellAppAction ShellAppAction;
|
||||
|
||||
#define SHELL_TYPE_APP (shell_app_get_type ())
|
||||
#define SHELL_APP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_APP, ShellApp))
|
||||
#define SHELL_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_APP, ShellAppClass))
|
||||
#define SHELL_IS_APP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_APP))
|
||||
#define SHELL_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_APP))
|
||||
#define SHELL_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_APP, ShellAppClass))
|
||||
|
||||
struct _ShellAppClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
|
||||
};
|
||||
#define SHELL_TYPE_APP (shell_app_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellApp, shell_app, SHELL, APP, GObject)
|
||||
|
||||
typedef enum {
|
||||
SHELL_APP_STATE_STOPPED,
|
||||
@ -33,8 +18,6 @@ typedef enum {
|
||||
SHELL_APP_STATE_RUNNING
|
||||
} ShellAppState;
|
||||
|
||||
GType shell_app_get_type (void) G_GNUC_CONST;
|
||||
|
||||
const char *shell_app_get_id (ShellApp *app);
|
||||
|
||||
GDesktopAppInfo *shell_app_get_app_info (ShellApp *app);
|
||||
|
@ -23,18 +23,22 @@
|
||||
* - Actor is mapped [actor and all parents visible, actor in stage]
|
||||
*/
|
||||
|
||||
G_DEFINE_TYPE (ShellEmbeddedWindow, shell_embedded_window, GTK_TYPE_WINDOW);
|
||||
|
||||
enum {
|
||||
PROP_0
|
||||
};
|
||||
|
||||
typedef struct _ShellEmbeddedWindowPrivate ShellEmbeddedWindowPrivate;
|
||||
|
||||
struct _ShellEmbeddedWindowPrivate {
|
||||
ShellGtkEmbed *actor;
|
||||
|
||||
GdkRectangle position;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellEmbeddedWindow,
|
||||
shell_embedded_window,
|
||||
GTK_TYPE_WINDOW);
|
||||
|
||||
/*
|
||||
* The normal gtk_window_show() starts all of the complicated asynchronous
|
||||
* window resizing code running; we don't want or need any of that.
|
||||
@ -47,19 +51,22 @@ static void
|
||||
shell_embedded_window_show (GtkWidget *widget)
|
||||
{
|
||||
ShellEmbeddedWindow *window = SHELL_EMBEDDED_WINDOW (widget);
|
||||
ShellEmbeddedWindowPrivate *priv;
|
||||
GtkWidgetClass *widget_class;
|
||||
|
||||
priv = shell_embedded_window_get_instance_private (window);
|
||||
|
||||
/* Skip GtkWindow, but run the default GtkWidget handling which
|
||||
* marks the widget visible */
|
||||
widget_class = g_type_class_peek (GTK_TYPE_WIDGET);
|
||||
widget_class->show (widget);
|
||||
|
||||
if (window->priv->actor)
|
||||
if (priv->actor)
|
||||
{
|
||||
/* Size is 0x0 if the GtkWindow is not shown */
|
||||
clutter_actor_queue_relayout (CLUTTER_ACTOR (window->priv->actor));
|
||||
clutter_actor_queue_relayout (CLUTTER_ACTOR (priv->actor));
|
||||
|
||||
if (clutter_actor_is_realized (CLUTTER_ACTOR (window->priv->actor)))
|
||||
if (clutter_actor_is_realized (CLUTTER_ACTOR (priv->actor)))
|
||||
gtk_widget_map (widget);
|
||||
}
|
||||
}
|
||||
@ -68,9 +75,12 @@ static void
|
||||
shell_embedded_window_hide (GtkWidget *widget)
|
||||
{
|
||||
ShellEmbeddedWindow *window = SHELL_EMBEDDED_WINDOW (widget);
|
||||
ShellEmbeddedWindowPrivate *priv;
|
||||
|
||||
if (window->priv->actor)
|
||||
clutter_actor_queue_relayout (CLUTTER_ACTOR (window->priv->actor));
|
||||
priv = shell_embedded_window_get_instance_private (window);
|
||||
|
||||
if (priv->actor)
|
||||
clutter_actor_queue_relayout (CLUTTER_ACTOR (priv->actor));
|
||||
|
||||
GTK_WIDGET_CLASS (shell_embedded_window_parent_class)->hide (widget);
|
||||
}
|
||||
@ -90,6 +100,9 @@ static void
|
||||
shell_embedded_window_check_resize (GtkContainer *container)
|
||||
{
|
||||
ShellEmbeddedWindow *window = SHELL_EMBEDDED_WINDOW (container);
|
||||
ShellEmbeddedWindowPrivate *priv;
|
||||
|
||||
priv = shell_embedded_window_get_instance_private (window);
|
||||
|
||||
/* Check resize is called when a resize is queued on something
|
||||
* inside the GtkWindow; we need to make sure that in response
|
||||
@ -97,8 +110,8 @@ shell_embedded_window_check_resize (GtkContainer *container)
|
||||
* gtk_widget_size_allocate() are called; we defer to the Clutter
|
||||
* logic and assume it will do the right thing.
|
||||
*/
|
||||
if (window->priv->actor)
|
||||
clutter_actor_queue_relayout (CLUTTER_ACTOR (window->priv->actor));
|
||||
if (priv->actor)
|
||||
clutter_actor_queue_relayout (CLUTTER_ACTOR (priv->actor));
|
||||
}
|
||||
|
||||
static GObject *
|
||||
@ -134,8 +147,6 @@ shell_embedded_window_class_init (ShellEmbeddedWindowClass *klass)
|
||||
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
|
||||
GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
|
||||
|
||||
g_type_class_add_private (klass, sizeof (ShellEmbeddedWindowPrivate));
|
||||
|
||||
object_class->constructor = shell_embedded_window_constructor;
|
||||
|
||||
widget_class->show = shell_embedded_window_show;
|
||||
@ -148,8 +159,6 @@ shell_embedded_window_class_init (ShellEmbeddedWindowClass *klass)
|
||||
static void
|
||||
shell_embedded_window_init (ShellEmbeddedWindow *window)
|
||||
{
|
||||
window->priv = G_TYPE_INSTANCE_GET_PRIVATE (window, SHELL_TYPE_EMBEDDED_WINDOW,
|
||||
ShellEmbeddedWindowPrivate);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -161,9 +170,12 @@ _shell_embedded_window_set_actor (ShellEmbeddedWindow *window,
|
||||
ShellGtkEmbed *actor)
|
||||
|
||||
{
|
||||
ShellEmbeddedWindowPrivate *priv;
|
||||
|
||||
g_return_if_fail (SHELL_IS_EMBEDDED_WINDOW (window));
|
||||
|
||||
window->priv->actor = actor;
|
||||
priv = shell_embedded_window_get_instance_private (window);
|
||||
priv->actor = actor;
|
||||
|
||||
if (actor &&
|
||||
clutter_actor_is_mapped (CLUTTER_ACTOR (actor)) &&
|
||||
@ -178,20 +190,23 @@ _shell_embedded_window_allocate (ShellEmbeddedWindow *window,
|
||||
int width,
|
||||
int height)
|
||||
{
|
||||
ShellEmbeddedWindowPrivate *priv;
|
||||
GtkAllocation allocation;
|
||||
|
||||
g_return_if_fail (SHELL_IS_EMBEDDED_WINDOW (window));
|
||||
|
||||
if (window->priv->position.x == x &&
|
||||
window->priv->position.y == y &&
|
||||
window->priv->position.width == width &&
|
||||
window->priv->position.height == height)
|
||||
priv = shell_embedded_window_get_instance_private (window);
|
||||
|
||||
if (priv->position.x == x &&
|
||||
priv->position.y == y &&
|
||||
priv->position.width == width &&
|
||||
priv->position.height == height)
|
||||
return;
|
||||
|
||||
window->priv->position.x = x;
|
||||
window->priv->position.y = y;
|
||||
window->priv->position.width = width;
|
||||
window->priv->position.height = height;
|
||||
priv->position.x = x;
|
||||
priv->position.y = y;
|
||||
priv->position.width = width;
|
||||
priv->position.height = height;
|
||||
|
||||
if (gtk_widget_get_realized (GTK_WIDGET (window)))
|
||||
gdk_window_move_resize (gtk_widget_get_window (GTK_WIDGET (window)),
|
||||
|
@ -5,31 +5,15 @@
|
||||
#include <gtk/gtk.h>
|
||||
#include <clutter/clutter.h>
|
||||
|
||||
#define SHELL_TYPE_EMBEDDED_WINDOW (shell_embedded_window_get_type ())
|
||||
#define SHELL_EMBEDDED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_EMBEDDED_WINDOW, ShellEmbeddedWindow))
|
||||
#define SHELL_EMBEDDED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_EMBEDDED_WINDOW, ShellEmbeddedWindowClass))
|
||||
#define SHELL_IS_EMBEDDED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_EMBEDDED_WINDOW))
|
||||
#define SHELL_IS_EMBEDDED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_EMBEDDED_WINDOW))
|
||||
#define SHELL_EMBEDDED_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_EMBEDDED_WINDOW, ShellEmbeddedWindowClass))
|
||||
|
||||
typedef struct _ShellEmbeddedWindow ShellEmbeddedWindow;
|
||||
typedef struct _ShellEmbeddedWindowClass ShellEmbeddedWindowClass;
|
||||
|
||||
typedef struct _ShellEmbeddedWindowPrivate ShellEmbeddedWindowPrivate;
|
||||
|
||||
struct _ShellEmbeddedWindow
|
||||
{
|
||||
GtkWindow parent;
|
||||
|
||||
ShellEmbeddedWindowPrivate *priv;
|
||||
};
|
||||
#define SHELL_TYPE_EMBEDDED_WINDOW (shell_embedded_window_get_type ())
|
||||
G_DECLARE_DERIVABLE_TYPE (ShellEmbeddedWindow, shell_embedded_window,
|
||||
SHELL, EMBEDDED_WINDOW, GtkWindow)
|
||||
|
||||
struct _ShellEmbeddedWindowClass
|
||||
{
|
||||
GtkWindowClass parent_class;
|
||||
};
|
||||
|
||||
GType shell_embedded_window_get_type (void) G_GNUC_CONST;
|
||||
GtkWidget *shell_embedded_window_new (void);
|
||||
|
||||
#endif /* __SHELL_EMBEDDED_WINDOW_H__ */
|
||||
|
@ -23,16 +23,26 @@
|
||||
|
||||
static void shell_generic_container_iface_init (ClutterContainerIface *iface);
|
||||
|
||||
G_DEFINE_TYPE_WITH_CODE(ShellGenericContainer,
|
||||
shell_generic_container,
|
||||
ST_TYPE_WIDGET,
|
||||
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_CONTAINER,
|
||||
shell_generic_container_iface_init));
|
||||
typedef struct _ShellGenericContainerPrivate ShellGenericContainerPrivate;
|
||||
|
||||
struct _ShellGenericContainer
|
||||
{
|
||||
StWidget parent;
|
||||
|
||||
ShellGenericContainerPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellGenericContainerPrivate {
|
||||
GHashTable *skip_paint;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE_WITH_CODE(ShellGenericContainer,
|
||||
shell_generic_container,
|
||||
ST_TYPE_WIDGET,
|
||||
G_ADD_PRIVATE (ShellGenericContainer)
|
||||
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_CONTAINER,
|
||||
shell_generic_container_iface_init));
|
||||
|
||||
/* Signals */
|
||||
enum
|
||||
{
|
||||
@ -385,8 +395,6 @@ shell_generic_container_class_init (ShellGenericContainerClass *klass)
|
||||
0,
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 2, CLUTTER_TYPE_ACTOR_BOX, CLUTTER_TYPE_ALLOCATION_FLAGS);
|
||||
|
||||
g_type_class_add_private (gobject_class, sizeof (ShellGenericContainerPrivate));
|
||||
}
|
||||
|
||||
static void
|
||||
@ -407,8 +415,7 @@ shell_generic_container_iface_init (ClutterContainerIface *iface)
|
||||
static void
|
||||
shell_generic_container_init (ShellGenericContainer *area)
|
||||
{
|
||||
area->priv = G_TYPE_INSTANCE_GET_PRIVATE (area, SHELL_TYPE_GENERIC_CONTAINER,
|
||||
ShellGenericContainerPrivate);
|
||||
area->priv = shell_generic_container_get_instance_private (area);
|
||||
area->priv->skip_paint = g_hash_table_new (NULL, NULL);
|
||||
}
|
||||
|
||||
|
@ -4,12 +4,9 @@
|
||||
|
||||
#include "st.h"
|
||||
|
||||
#define SHELL_TYPE_GENERIC_CONTAINER (shell_generic_container_get_type ())
|
||||
#define SHELL_GENERIC_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_GENERIC_CONTAINER, ShellGenericContainer))
|
||||
#define SHELL_GENERIC_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_GENERIC_CONTAINER, ShellGenericContainerClass))
|
||||
#define SHELL_IS_GENERIC_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_GENERIC_CONTAINER))
|
||||
#define SHELL_IS_GENERIC_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_GENERIC_CONTAINER))
|
||||
#define SHELL_GENERIC_CONTAINER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_GENERIC_CONTAINER, ShellGenericContainerClass))
|
||||
#define SHELL_TYPE_GENERIC_CONTAINER (shell_generic_container_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellGenericContainer, shell_generic_container,
|
||||
SHELL, GENERIC_CONTAINER, StWidget)
|
||||
|
||||
typedef struct {
|
||||
float min_size;
|
||||
@ -22,25 +19,6 @@ typedef struct {
|
||||
#define SHELL_TYPE_GENERIC_CONTAINER_ALLOCATION (shell_generic_container_allocation_get_type ())
|
||||
GType shell_generic_container_allocation_get_type (void);
|
||||
|
||||
typedef struct _ShellGenericContainer ShellGenericContainer;
|
||||
typedef struct _ShellGenericContainerClass ShellGenericContainerClass;
|
||||
|
||||
typedef struct _ShellGenericContainerPrivate ShellGenericContainerPrivate;
|
||||
|
||||
struct _ShellGenericContainer
|
||||
{
|
||||
StWidget parent;
|
||||
|
||||
ShellGenericContainerPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellGenericContainerClass
|
||||
{
|
||||
StWidgetClass parent_class;
|
||||
};
|
||||
|
||||
GType shell_generic_container_get_type (void) G_GNUC_CONST;
|
||||
|
||||
guint shell_generic_container_get_n_skip_paint (ShellGenericContainer *self);
|
||||
|
||||
gboolean shell_generic_container_get_skip_paint (ShellGenericContainer *self,
|
||||
|
@ -867,7 +867,12 @@ update_scale_factor (GtkSettings *settings,
|
||||
{
|
||||
g_object_set (context, "scale-factor", g_value_get_int (&value), NULL);
|
||||
if (meta_is_wayland_compositor ())
|
||||
g_object_set (clutter_settings_get_default (), "font-dpi", 96 * 1024 * g_value_get_int (&value), NULL);
|
||||
{
|
||||
int xft_dpi;
|
||||
g_object_get (settings, "gtk-xft-dpi", &xft_dpi, NULL);
|
||||
|
||||
g_object_set (clutter_settings_get_default (), "font-dpi", xft_dpi, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/* Make sure clutter and gdk scaling stays disabled */
|
||||
|
@ -10,22 +10,8 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _ShellGlobal ShellGlobal;
|
||||
typedef struct _ShellGlobalClass ShellGlobalClass;
|
||||
|
||||
#define SHELL_TYPE_GLOBAL (shell_global_get_type ())
|
||||
#define SHELL_GLOBAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_GLOBAL, ShellGlobal))
|
||||
#define SHELL_GLOBAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_GLOBAL, ShellGlobalClass))
|
||||
#define SHELL_IS_GLOBAL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_GLOBAL))
|
||||
#define SHELL_IS_GLOBAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_GLOBAL))
|
||||
#define SHELL_GLOBAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_GLOBAL, ShellGlobalClass))
|
||||
|
||||
struct _ShellGlobalClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
};
|
||||
|
||||
GType shell_global_get_type (void) G_GNUC_CONST;
|
||||
#define SHELL_TYPE_GLOBAL (shell_global_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellGlobal, shell_global, SHELL, GLOBAL, GObject)
|
||||
|
||||
ShellGlobal *shell_global_get (void);
|
||||
|
||||
|
@ -16,13 +16,14 @@
|
||||
#include <cogl/cogl.h>
|
||||
#include "shell-glsl-quad.h"
|
||||
|
||||
G_DEFINE_TYPE (ShellGLSLQuad, shell_glsl_quad, CLUTTER_TYPE_ACTOR);
|
||||
|
||||
typedef struct _ShellGLSLQuadPrivate ShellGLSLQuadPrivate;
|
||||
struct _ShellGLSLQuadPrivate
|
||||
{
|
||||
CoglPipeline *pipeline;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellGLSLQuad, shell_glsl_quad, CLUTTER_TYPE_ACTOR);
|
||||
|
||||
static gboolean
|
||||
shell_glsl_quad_get_paint_volume (ClutterActor *actor,
|
||||
ClutterPaintVolume *volume)
|
||||
@ -38,7 +39,7 @@ shell_glsl_quad_paint (ClutterActor *actor)
|
||||
guint8 paint_opacity;
|
||||
ClutterActorBox box;
|
||||
|
||||
priv = self->priv;
|
||||
priv = shell_glsl_quad_get_instance_private (self);
|
||||
|
||||
paint_opacity = clutter_actor_get_paint_opacity (actor);
|
||||
clutter_actor_get_allocation_box (actor, &box);
|
||||
@ -106,7 +107,7 @@ shell_glsl_quad_dispose (GObject *gobject)
|
||||
ShellGLSLQuad *self = SHELL_GLSL_QUAD (gobject);
|
||||
ShellGLSLQuadPrivate *priv;
|
||||
|
||||
priv = self->priv;
|
||||
priv = shell_glsl_quad_get_instance_private (self);
|
||||
|
||||
g_clear_pointer (&priv->pipeline, cogl_object_unref);
|
||||
|
||||
@ -116,7 +117,6 @@ shell_glsl_quad_dispose (GObject *gobject)
|
||||
static void
|
||||
shell_glsl_quad_init (ShellGLSLQuad *quad)
|
||||
{
|
||||
quad->priv = G_TYPE_INSTANCE_GET_PRIVATE (quad, SHELL_TYPE_GLSL_QUAD, ShellGLSLQuadPrivate);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -124,6 +124,7 @@ shell_glsl_quad_constructed (GObject *object)
|
||||
{
|
||||
ShellGLSLQuad *self;
|
||||
ShellGLSLQuadClass *klass;
|
||||
ShellGLSLQuadPrivate *priv;
|
||||
CoglContext *ctx =
|
||||
clutter_backend_get_cogl_context (clutter_get_default_backend ());
|
||||
|
||||
@ -135,6 +136,7 @@ shell_glsl_quad_constructed (GObject *object)
|
||||
*/
|
||||
klass = SHELL_GLSL_QUAD_GET_CLASS (object);
|
||||
self = SHELL_GLSL_QUAD (object);
|
||||
priv = shell_glsl_quad_get_instance_private (self);
|
||||
|
||||
if (G_UNLIKELY (klass->base_pipeline == NULL))
|
||||
{
|
||||
@ -145,9 +147,9 @@ shell_glsl_quad_constructed (GObject *object)
|
||||
klass->build_pipeline (self);
|
||||
}
|
||||
|
||||
self->priv->pipeline = cogl_pipeline_copy (klass->base_pipeline);
|
||||
priv->pipeline = cogl_pipeline_copy (klass->base_pipeline);
|
||||
|
||||
cogl_pipeline_set_layer_null_texture (self->priv->pipeline, 0, COGL_TEXTURE_TYPE_2D);
|
||||
cogl_pipeline_set_layer_null_texture (priv->pipeline, 0, COGL_TEXTURE_TYPE_2D);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -161,8 +163,6 @@ shell_glsl_quad_class_init (ShellGLSLQuadClass *klass)
|
||||
|
||||
actor_class->get_paint_volume = shell_glsl_quad_get_paint_volume;
|
||||
actor_class->paint = shell_glsl_quad_paint;
|
||||
|
||||
g_type_class_add_private (klass, sizeof (ShellGLSLQuadPrivate));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -177,7 +177,8 @@ int
|
||||
shell_glsl_quad_get_uniform_location (ShellGLSLQuad *quad,
|
||||
const char *name)
|
||||
{
|
||||
return cogl_pipeline_get_uniform_location (quad->priv->pipeline, name);
|
||||
ShellGLSLQuadPrivate *priv = shell_glsl_quad_get_instance_private (quad);
|
||||
return cogl_pipeline_get_uniform_location (priv->pipeline, name);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -195,7 +196,8 @@ shell_glsl_quad_set_uniform_float (ShellGLSLQuad *quad,
|
||||
int total_count,
|
||||
const float *value)
|
||||
{
|
||||
cogl_pipeline_set_uniform_float (quad->priv->pipeline, uniform,
|
||||
ShellGLSLQuadPrivate *priv = shell_glsl_quad_get_instance_private (quad);
|
||||
cogl_pipeline_set_uniform_float (priv->pipeline, uniform,
|
||||
n_components, total_count / n_components,
|
||||
value);
|
||||
}
|
||||
|
@ -26,23 +26,9 @@ typedef enum {
|
||||
SHELL_SNIPPET_HOOK_TEXTURE_LOOKUP
|
||||
} ShellSnippetHook;
|
||||
|
||||
#define SHELL_TYPE_GLSL_QUAD (shell_glsl_quad_get_type ())
|
||||
#define SHELL_GLSL_QUAD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_GLSL_QUAD, ShellGLSLQuad))
|
||||
#define SHELL_GLSL_QUAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_GLSL_QUAD, ShellGLSLQuadClass))
|
||||
#define SHELL_IS_GLSL_QUAD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_GLSL_QUAD))
|
||||
#define SHELL_IS_GLSL_QUAD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_GLSL_QUAD))
|
||||
#define SHELL_GLSL_QUAD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_GLSL_QUAD, ShellGLSLQuadClass))
|
||||
|
||||
typedef struct _ShellGLSLQuad ShellGLSLQuad;
|
||||
typedef struct _ShellGLSLQuadClass ShellGLSLQuadClass;
|
||||
typedef struct _ShellGLSLQuadPrivate ShellGLSLQuadPrivate;
|
||||
|
||||
struct _ShellGLSLQuad
|
||||
{
|
||||
ClutterActor parent;
|
||||
|
||||
ShellGLSLQuadPrivate *priv;
|
||||
};
|
||||
#define SHELL_TYPE_GLSL_QUAD (shell_glsl_quad_get_type ())
|
||||
G_DECLARE_DERIVABLE_TYPE (ShellGLSLQuad, shell_glsl_quad,
|
||||
SHELL, GLSL_QUAD, ClutterActor)
|
||||
|
||||
struct _ShellGLSLQuadClass
|
||||
{
|
||||
@ -53,8 +39,6 @@ struct _ShellGLSLQuadClass
|
||||
void (*build_pipeline) (ShellGLSLQuad *effect);
|
||||
};
|
||||
|
||||
GType shell_glsl_quad_get_type (void) G_GNUC_CONST;
|
||||
|
||||
void shell_glsl_quad_add_glsl_snippet (ShellGLSLQuad *quad,
|
||||
ShellSnippetHook hook,
|
||||
const char *declarations,
|
||||
|
@ -15,6 +15,8 @@ enum {
|
||||
PROP_WINDOW
|
||||
};
|
||||
|
||||
typedef struct _ShellGtkEmbedPrivate ShellGtkEmbedPrivate;
|
||||
|
||||
struct _ShellGtkEmbedPrivate
|
||||
{
|
||||
ShellEmbeddedWindow *window;
|
||||
@ -25,7 +27,7 @@ struct _ShellGtkEmbedPrivate
|
||||
guint window_created_handler;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (ShellGtkEmbed, shell_gtk_embed, CLUTTER_TYPE_CLONE);
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellGtkEmbed, shell_gtk_embed, CLUTTER_TYPE_CLONE);
|
||||
|
||||
static void shell_gtk_embed_set_window (ShellGtkEmbed *embed,
|
||||
ShellEmbeddedWindow *window);
|
||||
@ -40,7 +42,7 @@ shell_gtk_embed_on_window_destroy (GtkWidget *object,
|
||||
static void
|
||||
shell_gtk_embed_remove_window_actor (ShellGtkEmbed *embed)
|
||||
{
|
||||
ShellGtkEmbedPrivate *priv = embed->priv;
|
||||
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
|
||||
|
||||
if (priv->window_actor)
|
||||
{
|
||||
@ -60,7 +62,7 @@ shell_gtk_embed_window_created_cb (MetaDisplay *display,
|
||||
MetaWindow *window,
|
||||
ShellGtkEmbed *embed)
|
||||
{
|
||||
ShellGtkEmbedPrivate *priv = embed->priv;
|
||||
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
|
||||
Window xwindow = meta_window_get_xwindow (window);
|
||||
GdkWindow *gdk_window = gtk_widget_get_window (GTK_WIDGET (priv->window));
|
||||
|
||||
@ -119,11 +121,12 @@ static void
|
||||
shell_gtk_embed_on_window_mapped (GtkWidget *object,
|
||||
ShellGtkEmbed *embed)
|
||||
{
|
||||
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
|
||||
MetaDisplay *display = shell_global_get_display (shell_global_get ());
|
||||
|
||||
/* Listen for new windows so we can detect when Mutter has
|
||||
created a MutterWindow for this window */
|
||||
embed->priv->window_created_handler =
|
||||
priv->window_created_handler =
|
||||
g_signal_connect (display,
|
||||
"window-created",
|
||||
G_CALLBACK (shell_gtk_embed_window_created_cb),
|
||||
@ -134,44 +137,45 @@ static void
|
||||
shell_gtk_embed_set_window (ShellGtkEmbed *embed,
|
||||
ShellEmbeddedWindow *window)
|
||||
{
|
||||
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
|
||||
MetaDisplay *display = shell_global_get_display (shell_global_get ());
|
||||
|
||||
if (embed->priv->window)
|
||||
if (priv->window)
|
||||
{
|
||||
if (embed->priv->window_created_handler)
|
||||
if (priv->window_created_handler)
|
||||
{
|
||||
g_signal_handler_disconnect (display,
|
||||
embed->priv->window_created_handler);
|
||||
embed->priv->window_created_handler = 0;
|
||||
priv->window_created_handler);
|
||||
priv->window_created_handler = 0;
|
||||
}
|
||||
|
||||
shell_gtk_embed_remove_window_actor (embed);
|
||||
|
||||
_shell_embedded_window_set_actor (embed->priv->window, NULL);
|
||||
_shell_embedded_window_set_actor (priv->window, NULL);
|
||||
|
||||
g_object_unref (embed->priv->window);
|
||||
g_object_unref (priv->window);
|
||||
|
||||
g_signal_handlers_disconnect_by_func (embed->priv->window,
|
||||
g_signal_handlers_disconnect_by_func (priv->window,
|
||||
(gpointer)shell_gtk_embed_on_window_destroy,
|
||||
embed);
|
||||
|
||||
g_signal_handlers_disconnect_by_func (embed->priv->window,
|
||||
g_signal_handlers_disconnect_by_func (priv->window,
|
||||
(gpointer)shell_gtk_embed_on_window_mapped,
|
||||
embed);
|
||||
}
|
||||
|
||||
embed->priv->window = window;
|
||||
priv->window = window;
|
||||
|
||||
if (embed->priv->window)
|
||||
if (priv->window)
|
||||
{
|
||||
g_object_ref (embed->priv->window);
|
||||
g_object_ref (priv->window);
|
||||
|
||||
_shell_embedded_window_set_actor (embed->priv->window, embed);
|
||||
_shell_embedded_window_set_actor (priv->window, embed);
|
||||
|
||||
g_signal_connect (embed->priv->window, "destroy",
|
||||
g_signal_connect (priv->window, "destroy",
|
||||
G_CALLBACK (shell_gtk_embed_on_window_destroy), embed);
|
||||
|
||||
g_signal_connect (embed->priv->window, "map",
|
||||
g_signal_connect (priv->window, "map",
|
||||
G_CALLBACK (shell_gtk_embed_on_window_mapped), embed);
|
||||
}
|
||||
|
||||
@ -205,11 +209,12 @@ shell_gtk_embed_get_property (GObject *object,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
ShellGtkEmbed *embed = SHELL_GTK_EMBED (object);
|
||||
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_WINDOW:
|
||||
g_value_set_object (value, embed->priv->window);
|
||||
g_value_set_object (value, priv->window);
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -225,12 +230,13 @@ shell_gtk_embed_get_preferred_width (ClutterActor *actor,
|
||||
float *natural_width_p)
|
||||
{
|
||||
ShellGtkEmbed *embed = SHELL_GTK_EMBED (actor);
|
||||
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
|
||||
|
||||
if (embed->priv->window
|
||||
&& gtk_widget_get_visible (GTK_WIDGET (embed->priv->window)))
|
||||
if (priv->window
|
||||
&& gtk_widget_get_visible (GTK_WIDGET (priv->window)))
|
||||
{
|
||||
GtkRequisition min_req, natural_req;
|
||||
gtk_widget_get_preferred_size (GTK_WIDGET (embed->priv->window), &min_req, &natural_req);
|
||||
gtk_widget_get_preferred_size (GTK_WIDGET (priv->window), &min_req, &natural_req);
|
||||
|
||||
*min_width_p = min_req.width;
|
||||
*natural_width_p = natural_req.width;
|
||||
@ -246,12 +252,13 @@ shell_gtk_embed_get_preferred_height (ClutterActor *actor,
|
||||
float *natural_height_p)
|
||||
{
|
||||
ShellGtkEmbed *embed = SHELL_GTK_EMBED (actor);
|
||||
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
|
||||
|
||||
if (embed->priv->window
|
||||
&& gtk_widget_get_visible (GTK_WIDGET (embed->priv->window)))
|
||||
if (priv->window
|
||||
&& gtk_widget_get_visible (GTK_WIDGET (priv->window)))
|
||||
{
|
||||
GtkRequisition min_req, natural_req;
|
||||
gtk_widget_get_preferred_size (GTK_WIDGET (embed->priv->window), &min_req, &natural_req);
|
||||
gtk_widget_get_preferred_size (GTK_WIDGET (priv->window), &min_req, &natural_req);
|
||||
|
||||
*min_height_p = min_req.height;
|
||||
*natural_height_p = natural_req.height;
|
||||
@ -266,6 +273,7 @@ shell_gtk_embed_allocate (ClutterActor *actor,
|
||||
ClutterAllocationFlags flags)
|
||||
{
|
||||
ShellGtkEmbed *embed = SHELL_GTK_EMBED (actor);
|
||||
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
|
||||
float wx = 0.0, wy = 0.0, x, y, ax, ay;
|
||||
|
||||
CLUTTER_ACTOR_CLASS (shell_gtk_embed_parent_class)->
|
||||
@ -285,7 +293,7 @@ shell_gtk_embed_allocate (ClutterActor *actor,
|
||||
actor = clutter_actor_get_parent (actor);
|
||||
}
|
||||
|
||||
_shell_embedded_window_allocate (embed->priv->window,
|
||||
_shell_embedded_window_allocate (priv->window,
|
||||
(int)(0.5 + wx), (int)(0.5 + wy),
|
||||
box->x2 - box->x1,
|
||||
box->y2 - box->y1);
|
||||
@ -295,8 +303,9 @@ static void
|
||||
shell_gtk_embed_map (ClutterActor *actor)
|
||||
{
|
||||
ShellGtkEmbed *embed = SHELL_GTK_EMBED (actor);
|
||||
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
|
||||
|
||||
_shell_embedded_window_map (embed->priv->window);
|
||||
_shell_embedded_window_map (priv->window);
|
||||
|
||||
CLUTTER_ACTOR_CLASS (shell_gtk_embed_parent_class)->map (actor);
|
||||
}
|
||||
@ -305,8 +314,9 @@ static void
|
||||
shell_gtk_embed_unmap (ClutterActor *actor)
|
||||
{
|
||||
ShellGtkEmbed *embed = SHELL_GTK_EMBED (actor);
|
||||
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
|
||||
|
||||
_shell_embedded_window_unmap (embed->priv->window);
|
||||
_shell_embedded_window_unmap (priv->window);
|
||||
|
||||
CLUTTER_ACTOR_CLASS (shell_gtk_embed_parent_class)->unmap (actor);
|
||||
}
|
||||
@ -327,8 +337,6 @@ shell_gtk_embed_class_init (ShellGtkEmbedClass *klass)
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
|
||||
|
||||
g_type_class_add_private (klass, sizeof (ShellGtkEmbedPrivate));
|
||||
|
||||
object_class->get_property = shell_gtk_embed_get_property;
|
||||
object_class->set_property = shell_gtk_embed_set_property;
|
||||
object_class->dispose = shell_gtk_embed_dispose;
|
||||
@ -351,8 +359,6 @@ shell_gtk_embed_class_init (ShellGtkEmbedClass *klass)
|
||||
static void
|
||||
shell_gtk_embed_init (ShellGtkEmbed *embed)
|
||||
{
|
||||
embed->priv = G_TYPE_INSTANCE_GET_PRIVATE (embed, SHELL_TYPE_GTK_EMBED,
|
||||
ShellGtkEmbedPrivate);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -6,30 +6,15 @@
|
||||
|
||||
#include "shell-embedded-window.h"
|
||||
|
||||
#define SHELL_TYPE_GTK_EMBED (shell_gtk_embed_get_type ())
|
||||
#define SHELL_GTK_EMBED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_GTK_EMBED, ShellGtkEmbed))
|
||||
#define SHELL_GTK_EMBED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_GTK_EMBED, ShellGtkEmbedClass))
|
||||
#define SHELL_IS_GTK_EMBED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_GTK_EMBED))
|
||||
#define SHELL_IS_GTK_EMBED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_GTK_EMBED))
|
||||
#define SHELL_GTK_EMBED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_GTK_EMBED, ShellGtkEmbedClass))
|
||||
|
||||
typedef struct _ShellGtkEmbed ShellGtkEmbed;
|
||||
typedef struct _ShellGtkEmbedClass ShellGtkEmbedClass;
|
||||
typedef struct _ShellGtkEmbedPrivate ShellGtkEmbedPrivate;
|
||||
|
||||
struct _ShellGtkEmbed
|
||||
{
|
||||
ClutterClone parent;
|
||||
|
||||
ShellGtkEmbedPrivate *priv;
|
||||
};
|
||||
#define SHELL_TYPE_GTK_EMBED (shell_gtk_embed_get_type ())
|
||||
G_DECLARE_DERIVABLE_TYPE (ShellGtkEmbed, shell_gtk_embed,
|
||||
SHELL, GTK_EMBED, ClutterClone)
|
||||
|
||||
struct _ShellGtkEmbedClass
|
||||
{
|
||||
ClutterCloneClass parent_class;
|
||||
};
|
||||
|
||||
GType shell_gtk_embed_get_type (void) G_GNUC_CONST;
|
||||
ClutterActor *shell_gtk_embed_new (ShellEmbeddedWindow *window);
|
||||
|
||||
#endif /* __SHELL_GTK_EMBED_H__ */
|
||||
|
@ -32,7 +32,6 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
typedef struct _ShellPasswordPromptClass ShellPasswordPromptClass;
|
||||
typedef struct _ShellPasswordPromptPrivate ShellPasswordPromptPrivate;
|
||||
|
||||
typedef enum
|
||||
@ -57,19 +56,13 @@ struct _ShellKeyringPrompt
|
||||
gchar *continue_label;
|
||||
gchar *cancel_label;
|
||||
|
||||
GcrPromptReply last_reply;
|
||||
GSimpleAsyncResult *async_result;
|
||||
GTask *task;
|
||||
ClutterText *password_actor;
|
||||
ClutterText *confirm_actor;
|
||||
PromptingMode mode;
|
||||
gboolean shown;
|
||||
};
|
||||
|
||||
typedef struct _ShellKeyringPromptClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
} ShellKeyringPromptClass;
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_TITLE,
|
||||
@ -288,9 +281,9 @@ shell_keyring_prompt_dispose (GObject *obj)
|
||||
if (self->shown)
|
||||
gcr_prompt_close (GCR_PROMPT (self));
|
||||
|
||||
if (self->async_result)
|
||||
if (self->task)
|
||||
shell_keyring_prompt_cancel (self);
|
||||
g_assert (self->async_result == NULL);
|
||||
g_assert (self->task == NULL);
|
||||
|
||||
shell_keyring_prompt_set_password_actor (self, NULL);
|
||||
shell_keyring_prompt_set_confirm_actor (self, NULL);
|
||||
@ -420,14 +413,14 @@ shell_keyring_prompt_password_async (GcrPrompt *prompt,
|
||||
ShellKeyringPrompt *self = SHELL_KEYRING_PROMPT (prompt);
|
||||
GObject *obj;
|
||||
|
||||
if (self->async_result != NULL) {
|
||||
if (self->task != NULL) {
|
||||
g_warning ("this prompt can only show one prompt at a time");
|
||||
return;
|
||||
}
|
||||
|
||||
self->mode = PROMPTING_FOR_PASSWORD;
|
||||
self->async_result = g_simple_async_result_new (G_OBJECT (self), callback, user_data,
|
||||
shell_keyring_prompt_password_async);
|
||||
self->task = g_task_new (self, NULL, callback, user_data);
|
||||
g_task_set_source_tag (self->task, shell_keyring_prompt_password_async);
|
||||
|
||||
obj = G_OBJECT (self);
|
||||
g_object_notify (obj, "password-visible");
|
||||
@ -444,18 +437,11 @@ shell_keyring_prompt_password_finish (GcrPrompt *prompt,
|
||||
GAsyncResult *result,
|
||||
GError **error)
|
||||
{
|
||||
ShellKeyringPrompt *self = SHELL_KEYRING_PROMPT (prompt);
|
||||
|
||||
g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (prompt),
|
||||
g_return_val_if_fail (g_task_get_source_object (G_TASK (result)) == prompt, NULL);
|
||||
g_return_val_if_fail (g_async_result_is_tagged (result,
|
||||
shell_keyring_prompt_password_async), NULL);
|
||||
|
||||
if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
|
||||
return NULL;
|
||||
|
||||
if (self->last_reply == GCR_PROMPT_REPLY_CONTINUE)
|
||||
return clutter_text_get_text (self->password_actor);
|
||||
|
||||
return NULL;
|
||||
return g_task_propagate_pointer (G_TASK (result), error);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -467,14 +453,14 @@ shell_keyring_prompt_confirm_async (GcrPrompt *prompt,
|
||||
ShellKeyringPrompt *self = SHELL_KEYRING_PROMPT (prompt);
|
||||
GObject *obj;
|
||||
|
||||
if (self->async_result != NULL) {
|
||||
if (self->task != NULL) {
|
||||
g_warning ("this prompt is already prompting");
|
||||
return;
|
||||
}
|
||||
|
||||
self->mode = PROMPTING_FOR_CONFIRM;
|
||||
self->async_result = g_simple_async_result_new (G_OBJECT (self), callback, user_data,
|
||||
shell_keyring_prompt_confirm_async);
|
||||
self->task = g_task_new (self, NULL, callback, user_data);
|
||||
g_task_set_source_tag (self->task, shell_keyring_prompt_confirm_async);
|
||||
|
||||
obj = G_OBJECT (self);
|
||||
g_object_notify (obj, "password-visible");
|
||||
@ -491,15 +477,16 @@ shell_keyring_prompt_confirm_finish (GcrPrompt *prompt,
|
||||
GAsyncResult *result,
|
||||
GError **error)
|
||||
{
|
||||
ShellKeyringPrompt *self = SHELL_KEYRING_PROMPT (prompt);
|
||||
GTask *task = G_TASK (result);
|
||||
gssize res;
|
||||
|
||||
g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (prompt),
|
||||
g_return_val_if_fail (g_task_get_source_object (task) == prompt,
|
||||
GCR_PROMPT_REPLY_CANCEL);
|
||||
g_return_val_if_fail (g_async_result_is_tagged (result,
|
||||
shell_keyring_prompt_confirm_async), GCR_PROMPT_REPLY_CANCEL);
|
||||
|
||||
if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
|
||||
return GCR_PROMPT_REPLY_CANCEL;
|
||||
|
||||
return self->last_reply;
|
||||
res = g_task_propagate_int (task, error);
|
||||
return res == -1 ? GCR_PROMPT_REPLY_CANCEL : (GcrPromptReply)res;
|
||||
}
|
||||
|
||||
static void
|
||||
@ -718,19 +705,20 @@ shell_keyring_prompt_set_confirm_actor (ShellKeyringPrompt *self,
|
||||
gboolean
|
||||
shell_keyring_prompt_complete (ShellKeyringPrompt *self)
|
||||
{
|
||||
GSimpleAsyncResult *res;
|
||||
GTask *res;
|
||||
PromptingMode mode;
|
||||
const gchar *password;
|
||||
const gchar *confirm;
|
||||
const gchar *env;
|
||||
|
||||
g_return_val_if_fail (SHELL_IS_KEYRING_PROMPT (self), FALSE);
|
||||
g_return_val_if_fail (self->mode != PROMPTING_NONE, FALSE);
|
||||
g_return_val_if_fail (self->async_result != NULL, FALSE);
|
||||
g_return_val_if_fail (self->task != NULL, FALSE);
|
||||
|
||||
password = clutter_text_get_text (self->password_actor);
|
||||
|
||||
if (self->mode == PROMPTING_FOR_PASSWORD)
|
||||
{
|
||||
password = clutter_text_get_text (self->password_actor);
|
||||
|
||||
/* Is it a new password? */
|
||||
if (self->password_new)
|
||||
{
|
||||
@ -756,13 +744,15 @@ shell_keyring_prompt_complete (ShellKeyringPrompt *self)
|
||||
g_object_notify (G_OBJECT (self), "password-strength");
|
||||
}
|
||||
|
||||
self->last_reply = GCR_PROMPT_REPLY_CONTINUE;
|
||||
|
||||
res = self->async_result;
|
||||
self->async_result = NULL;
|
||||
res = self->task;
|
||||
mode = self->mode;
|
||||
self->task = NULL;
|
||||
self->mode = PROMPTING_NONE;
|
||||
|
||||
g_simple_async_result_complete (res);
|
||||
if (mode == PROMPTING_FOR_CONFIRM)
|
||||
g_task_return_int (res, (gssize)GCR_PROMPT_REPLY_CONTINUE);
|
||||
else
|
||||
g_task_return_pointer (res, (gpointer)password, NULL);
|
||||
g_object_unref (res);
|
||||
|
||||
return TRUE;
|
||||
@ -777,7 +767,8 @@ shell_keyring_prompt_complete (ShellKeyringPrompt *self)
|
||||
void
|
||||
shell_keyring_prompt_cancel (ShellKeyringPrompt *self)
|
||||
{
|
||||
GSimpleAsyncResult *res;
|
||||
GTask *res;
|
||||
PromptingMode mode;
|
||||
|
||||
g_return_if_fail (SHELL_IS_KEYRING_PROMPT (self));
|
||||
|
||||
@ -792,13 +783,16 @@ shell_keyring_prompt_cancel (ShellKeyringPrompt *self)
|
||||
return;
|
||||
}
|
||||
|
||||
g_return_if_fail (self->async_result != NULL);
|
||||
self->last_reply = GCR_PROMPT_REPLY_CANCEL;
|
||||
g_return_if_fail (self->task != NULL);
|
||||
|
||||
res = self->async_result;
|
||||
self->async_result = NULL;
|
||||
res = self->task;
|
||||
mode = self->mode;
|
||||
self->task = NULL;
|
||||
self->mode = PROMPTING_NONE;
|
||||
|
||||
g_simple_async_result_complete_in_idle (res);
|
||||
if (mode == PROMPTING_FOR_CONFIRM)
|
||||
g_task_return_int (res, (gssize) GCR_PROMPT_REPLY_CANCEL);
|
||||
else
|
||||
g_task_return_pointer (res, NULL, NULL);
|
||||
g_object_unref (res);
|
||||
}
|
||||
|
@ -32,11 +32,9 @@ G_BEGIN_DECLS
|
||||
|
||||
typedef struct _ShellKeyringPrompt ShellKeyringPrompt;
|
||||
|
||||
#define SHELL_TYPE_KEYRING_PROMPT (shell_keyring_prompt_get_type ())
|
||||
#define SHELL_KEYRING_PROMPT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_KEYRING_PROMPT, ShellKeyringPrompt))
|
||||
#define SHELL_IS_KEYRING_PROMPT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_KEYRING_PROMPT))
|
||||
|
||||
GType shell_keyring_prompt_get_type (void) G_GNUC_CONST;
|
||||
#define SHELL_TYPE_KEYRING_PROMPT (shell_keyring_prompt_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellKeyringPrompt, shell_keyring_prompt,
|
||||
SHELL, KEYRING_PROMPT, GObject)
|
||||
|
||||
ShellKeyringPrompt * shell_keyring_prompt_new (void);
|
||||
|
||||
|
@ -33,7 +33,6 @@
|
||||
* the GPid array to JS).
|
||||
* See https://bugzilla.gnome.org/show_bug.cgi?id=645978
|
||||
*/
|
||||
G_DEFINE_TYPE (ShellMountOperation, shell_mount_operation, G_TYPE_MOUNT_OPERATION);
|
||||
|
||||
enum {
|
||||
SHOW_PROCESSES_2,
|
||||
@ -42,17 +41,27 @@ enum {
|
||||
|
||||
static guint signals[NUM_SIGNALS] = { 0, };
|
||||
|
||||
typedef struct _ShellMountOperationPrivate ShellMountOperationPrivate;
|
||||
|
||||
struct _ShellMountOperation
|
||||
{
|
||||
GMountOperation parent_instance;
|
||||
|
||||
ShellMountOperationPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellMountOperationPrivate {
|
||||
GArray *pids;
|
||||
gchar **choices;
|
||||
gchar *message;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellMountOperation, shell_mount_operation, G_TYPE_MOUNT_OPERATION);
|
||||
|
||||
static void
|
||||
shell_mount_operation_init (ShellMountOperation *self)
|
||||
{
|
||||
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, SHELL_TYPE_MOUNT_OPERATION,
|
||||
ShellMountOperationPrivate);
|
||||
self->priv = shell_mount_operation_get_instance_private (self);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -135,8 +144,6 @@ shell_mount_operation_class_init (ShellMountOperationClass *klass)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0, NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
g_type_class_add_private (klass, sizeof (ShellMountOperationPrivate));
|
||||
}
|
||||
|
||||
GMountOperation *
|
||||
|
@ -26,31 +26,10 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define SHELL_TYPE_MOUNT_OPERATION (shell_mount_operation_get_type ())
|
||||
#define SHELL_MOUNT_OPERATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SHELL_TYPE_MOUNT_OPERATION, ShellMountOperation))
|
||||
#define SHELL_MOUNT_OPERATION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SHELL_TYPE_MOUNT_OPERATION, ShellMountOperationClass))
|
||||
#define SHELL_IS_MOUNT_OPERATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SHELL_TYPE_MOUNT_OPERATION))
|
||||
#define SHELL_IS_MOUNT_OPERATION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SHELL_TYPE_MOUNT_OPERATION))
|
||||
#define SHELL_MOUNT_OPERATION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), SHELL_TYPE_MOUNT_OPERATION, ShellMountOperationClass))
|
||||
#define SHELL_TYPE_MOUNT_OPERATION (shell_mount_operation_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellMountOperation, shell_mount_operation,
|
||||
SHELL, MOUNT_OPERATION, GMountOperation)
|
||||
|
||||
typedef struct _ShellMountOperation ShellMountOperation;
|
||||
typedef struct _ShellMountOperationClass ShellMountOperationClass;
|
||||
typedef struct _ShellMountOperationPrivate ShellMountOperationPrivate;
|
||||
|
||||
struct _ShellMountOperation
|
||||
{
|
||||
GMountOperation parent_instance;
|
||||
|
||||
ShellMountOperationPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellMountOperationClass
|
||||
{
|
||||
GMountOperationClass parent_class;
|
||||
};
|
||||
|
||||
|
||||
GType shell_mount_operation_get_type (void);
|
||||
GMountOperation *shell_mount_operation_new (void);
|
||||
|
||||
GArray * shell_mount_operation_get_show_processes_pids (ShellMountOperation *self);
|
||||
|
@ -60,7 +60,7 @@ struct _ShellNetworkAgentPrivate {
|
||||
GHashTable *requests;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (ShellNetworkAgent, shell_network_agent, NM_TYPE_SECRET_AGENT)
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellNetworkAgent, shell_network_agent, NM_TYPE_SECRET_AGENT)
|
||||
|
||||
static const SecretSchema network_agent_schema = {
|
||||
"org.freedesktop.NetworkManager.Connection",
|
||||
@ -114,8 +114,7 @@ shell_network_agent_init (ShellNetworkAgent *agent)
|
||||
{
|
||||
ShellNetworkAgentPrivate *priv;
|
||||
|
||||
priv = agent->priv = G_TYPE_INSTANCE_GET_PRIVATE (agent, SHELL_TYPE_NETWORK_AGENT, ShellNetworkAgentPrivate);
|
||||
|
||||
priv = agent->priv = shell_network_agent_get_instance_private (agent);
|
||||
priv->requests = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||
g_free, shell_agent_request_free);
|
||||
}
|
||||
@ -853,6 +852,4 @@ shell_network_agent_class_init (ShellNetworkAgentClass *klass)
|
||||
G_TYPE_NONE,
|
||||
1, /* n_params */
|
||||
G_TYPE_STRING);
|
||||
|
||||
g_type_class_add_private (klass, sizeof (ShellNetworkAgentPrivate));
|
||||
}
|
||||
|
@ -53,11 +53,6 @@ struct _ShellPerfLog
|
||||
guint enabled : 1;
|
||||
};
|
||||
|
||||
struct _ShellPerfLogClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
};
|
||||
|
||||
struct _ShellPerfEvent
|
||||
{
|
||||
guint16 id;
|
||||
|
@ -7,17 +7,8 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _ShellPerfLog ShellPerfLog;
|
||||
typedef struct _ShellPerfLogClass ShellPerfLogClass;
|
||||
|
||||
#define SHELL_TYPE_PERF_LOG (shell_perf_log_get_type ())
|
||||
#define SHELL_PERF_LOG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_PERF_LOG, ShellPerfLog))
|
||||
#define SHELL_PERF_LOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_PERF_LOG, ShellPerfLogClass))
|
||||
#define SHELL_IS_PERF_LOG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_PERF_LOG))
|
||||
#define SHELL_IS_PERF_LOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_PERF_LOG))
|
||||
#define SHELL_PERF_LOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_PERF_LOG, ShellPerfLogClass))
|
||||
|
||||
GType shell_perf_log_get_type (void) G_GNUC_CONST;
|
||||
#define SHELL_TYPE_PERF_LOG (shell_perf_log_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellPerfLog, shell_perf_log, SHELL, PERF_LOG, GObject)
|
||||
|
||||
ShellPerfLog *shell_perf_log_get_default (void);
|
||||
|
||||
|
@ -201,13 +201,12 @@ struct _AuthRequest {
|
||||
gchar *cookie;
|
||||
GList *identities;
|
||||
|
||||
GSimpleAsyncResult *simple;
|
||||
GTask *simple;
|
||||
};
|
||||
|
||||
static void
|
||||
auth_request_free (AuthRequest *request)
|
||||
{
|
||||
g_cancellable_disconnect (request->cancellable, request->handler_id);
|
||||
g_free (request->action_id);
|
||||
g_free (request->message);
|
||||
g_free (request->icon_name);
|
||||
@ -338,30 +337,29 @@ auth_request_complete (AuthRequest *request,
|
||||
gboolean dismissed)
|
||||
{
|
||||
ShellPolkitAuthenticationAgent *agent = request->agent;
|
||||
gboolean is_current = agent->current_request == request;
|
||||
|
||||
print_debug ("COMPLETING %s %s cookie %s", is_current ? "CURRENT" : "SCHEDULED",
|
||||
request->action_id, request->cookie);
|
||||
|
||||
if (!is_current)
|
||||
agent->scheduled_requests = g_list_remove (agent->scheduled_requests, request);
|
||||
g_cancellable_disconnect (request->cancellable, request->handler_id);
|
||||
|
||||
if (dismissed)
|
||||
g_simple_async_result_set_error (request->simple,
|
||||
POLKIT_ERROR,
|
||||
POLKIT_ERROR_CANCELLED,
|
||||
_("Authentication dialog was dismissed by the user"));
|
||||
|
||||
if (agent->current_request == request)
|
||||
{
|
||||
print_debug ("COMPLETING CURRENT %s cookie %s", request->action_id, request->cookie);
|
||||
|
||||
g_simple_async_result_complete_in_idle (request->simple);
|
||||
auth_request_free (request);
|
||||
|
||||
agent->current_request = NULL;
|
||||
|
||||
maybe_process_next_request (agent);
|
||||
}
|
||||
g_task_return_new_error (request->simple,
|
||||
POLKIT_ERROR,
|
||||
POLKIT_ERROR_CANCELLED,
|
||||
_("Authentication dialog was dismissed by the user"));
|
||||
else
|
||||
g_task_return_boolean (request->simple, TRUE);
|
||||
|
||||
auth_request_free (request);
|
||||
|
||||
if (is_current)
|
||||
{
|
||||
print_debug ("COMPLETING SCHEDULED %s cookie %s", request->action_id, request->cookie);
|
||||
agent->scheduled_requests = g_list_remove (agent->scheduled_requests, request);
|
||||
g_simple_async_result_complete_in_idle (request->simple);
|
||||
auth_request_free (request);
|
||||
agent->current_request = NULL;
|
||||
maybe_process_next_request (agent);
|
||||
}
|
||||
}
|
||||
|
||||
@ -408,10 +406,7 @@ initiate_authentication (PolkitAgentListener *listener,
|
||||
request->cookie = g_strdup (cookie);
|
||||
request->identities = g_list_copy (identities);
|
||||
g_list_foreach (request->identities, (GFunc) g_object_ref, NULL);
|
||||
request->simple = g_simple_async_result_new (G_OBJECT (listener),
|
||||
callback,
|
||||
user_data,
|
||||
initiate_authentication);
|
||||
request->simple = g_task_new (listener, NULL, callback, user_data);
|
||||
request->cancellable = cancellable;
|
||||
request->handler_id = g_cancellable_connect (request->cancellable,
|
||||
G_CALLBACK (on_request_cancelled),
|
||||
@ -429,11 +424,7 @@ initiate_authentication_finish (PolkitAgentListener *listener,
|
||||
GAsyncResult *res,
|
||||
GError **error)
|
||||
{
|
||||
GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
|
||||
if (g_simple_async_result_propagate_error (simple, error))
|
||||
return FALSE;
|
||||
else
|
||||
return TRUE;
|
||||
return g_task_propagate_boolean (G_TASK (res), error);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -33,11 +33,6 @@ typedef enum {
|
||||
|
||||
typedef struct _RecorderPipeline RecorderPipeline;
|
||||
|
||||
struct _ShellRecorderClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
};
|
||||
|
||||
struct _ShellRecorder {
|
||||
GObject parent;
|
||||
|
||||
|
@ -16,17 +16,8 @@ G_BEGIN_DECLS
|
||||
* directory named after the date, but the encoding and output can
|
||||
* be configured.
|
||||
*/
|
||||
typedef struct _ShellRecorder ShellRecorder;
|
||||
typedef struct _ShellRecorderClass ShellRecorderClass;
|
||||
|
||||
#define SHELL_TYPE_RECORDER (shell_recorder_get_type ())
|
||||
#define SHELL_RECORDER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_RECORDER, ShellRecorder))
|
||||
#define SHELL_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_RECORDER, ShellRecorderClass))
|
||||
#define SHELL_IS_RECORDER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_RECORDER))
|
||||
#define SHELL_IS_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_RECORDER))
|
||||
#define SHELL_RECORDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_RECORDER, ShellRecorderClass))
|
||||
|
||||
GType shell_recorder_get_type (void) G_GNUC_CONST;
|
||||
#define SHELL_TYPE_RECORDER (shell_recorder_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellRecorder, shell_recorder, SHELL, RECORDER, GObject)
|
||||
|
||||
ShellRecorder *shell_recorder_new (ClutterStage *stage);
|
||||
|
||||
|
@ -14,10 +14,7 @@
|
||||
#define A11Y_APPS_SCHEMA "org.gnome.desktop.a11y.applications"
|
||||
#define MAGNIFIER_ACTIVE_KEY "screen-magnifier-enabled"
|
||||
|
||||
struct _ShellScreenshotClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
};
|
||||
typedef struct _ShellScreenshotPrivate ShellScreenshotPrivate;
|
||||
|
||||
struct _ShellScreenshot
|
||||
{
|
||||
@ -58,16 +55,16 @@ shell_screenshot_init (ShellScreenshot *screenshot)
|
||||
}
|
||||
|
||||
static void
|
||||
on_screenshot_written (GObject *source,
|
||||
on_screenshot_written (GObject *source,
|
||||
GAsyncResult *result,
|
||||
gpointer user_data)
|
||||
gpointer user_data)
|
||||
{
|
||||
ShellScreenshot *screenshot = SHELL_SCREENSHOT (source);
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
|
||||
if (priv->callback)
|
||||
priv->callback (screenshot,
|
||||
g_simple_async_result_get_op_res_gboolean (G_SIMPLE_ASYNC_RESULT (result)),
|
||||
g_task_propagate_boolean (G_TASK (result), NULL),
|
||||
&priv->screenshot_area,
|
||||
priv->filename_used);
|
||||
|
||||
@ -168,8 +165,9 @@ prepare_write_stream (const gchar *filename,
|
||||
}
|
||||
|
||||
static void
|
||||
write_screenshot_thread (GSimpleAsyncResult *result,
|
||||
GObject *object,
|
||||
write_screenshot_thread (GTask *result,
|
||||
gpointer object,
|
||||
gpointer task_data,
|
||||
GCancellable *cancellable)
|
||||
{
|
||||
cairo_status_t status;
|
||||
@ -205,7 +203,7 @@ write_screenshot_thread (GSimpleAsyncResult *result,
|
||||
}
|
||||
|
||||
|
||||
g_simple_async_result_set_op_res_gboolean (result, status == CAIRO_STATUS_SUCCESS);
|
||||
g_task_return_boolean (result, status == CAIRO_STATUS_SUCCESS);
|
||||
|
||||
g_clear_object (&stream);
|
||||
}
|
||||
@ -307,7 +305,7 @@ grab_screenshot (ClutterActor *stage,
|
||||
MetaScreen *screen;
|
||||
MetaCursorTracker *tracker;
|
||||
int width, height;
|
||||
GSimpleAsyncResult *result;
|
||||
GTask *result;
|
||||
GSettings *settings;
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
|
||||
@ -370,8 +368,8 @@ grab_screenshot (ClutterActor *stage,
|
||||
|
||||
g_signal_handlers_disconnect_by_func (stage, (void *)grab_screenshot, (gpointer)screenshot);
|
||||
|
||||
result = g_simple_async_result_new (G_OBJECT (screenshot), on_screenshot_written, NULL, grab_screenshot);
|
||||
g_simple_async_result_run_in_thread (result, write_screenshot_thread, G_PRIORITY_DEFAULT, NULL);
|
||||
result = g_task_new (screenshot, NULL, on_screenshot_written, NULL);
|
||||
g_task_run_in_thread (result, write_screenshot_thread);
|
||||
g_object_unref (result);
|
||||
}
|
||||
|
||||
@ -379,7 +377,7 @@ static void
|
||||
grab_area_screenshot (ClutterActor *stage,
|
||||
ShellScreenshot *screenshot)
|
||||
{
|
||||
GSimpleAsyncResult *result;
|
||||
GTask *result;
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
|
||||
do_grab_screenshot (screenshot,
|
||||
@ -389,8 +387,8 @@ grab_area_screenshot (ClutterActor *stage,
|
||||
priv->screenshot_area.height);
|
||||
|
||||
g_signal_handlers_disconnect_by_func (stage, (void *)grab_area_screenshot, (gpointer)screenshot);
|
||||
result = g_simple_async_result_new (G_OBJECT (screenshot), on_screenshot_written, NULL, grab_area_screenshot);
|
||||
g_simple_async_result_run_in_thread (result, write_screenshot_thread, G_PRIORITY_DEFAULT, NULL);
|
||||
result = g_task_new (screenshot, NULL, on_screenshot_written, NULL);
|
||||
g_task_run_in_thread (result, write_screenshot_thread);
|
||||
g_object_unref (result);
|
||||
}
|
||||
|
||||
@ -399,7 +397,7 @@ grab_window_screenshot (ClutterActor *stage,
|
||||
ShellScreenshot *screenshot)
|
||||
{
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
GSimpleAsyncResult *result;
|
||||
GTask *result;
|
||||
GSettings *settings;
|
||||
MetaScreen *screen = shell_global_get_screen (priv->global);
|
||||
MetaCursorTracker *tracker;
|
||||
@ -439,8 +437,8 @@ grab_window_screenshot (ClutterActor *stage,
|
||||
g_object_unref (settings);
|
||||
|
||||
g_signal_handlers_disconnect_by_func (stage, (void *)grab_window_screenshot, (gpointer)screenshot);
|
||||
result = g_simple_async_result_new (G_OBJECT (screenshot), on_screenshot_written, NULL, grab_window_screenshot);
|
||||
g_simple_async_result_run_in_thread (result, write_screenshot_thread, G_PRIORITY_DEFAULT, NULL);
|
||||
result = g_task_new (screenshot, NULL, on_screenshot_written, NULL);
|
||||
g_task_run_in_thread (result, write_screenshot_thread);
|
||||
g_object_unref (result);
|
||||
}
|
||||
|
||||
|
@ -10,19 +10,9 @@
|
||||
* areas or windows and write them out as png files.
|
||||
*
|
||||
*/
|
||||
|
||||
typedef struct _ShellScreenshot ShellScreenshot;
|
||||
typedef struct _ShellScreenshotPrivate ShellScreenshotPrivate;
|
||||
typedef struct _ShellScreenshotClass ShellScreenshotClass;
|
||||
|
||||
#define SHELL_TYPE_SCREENSHOT (shell_screenshot_get_type ())
|
||||
#define SHELL_SCREENSHOT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_SCREENSHOT, ShellScreenshot))
|
||||
#define SHELL_SCREENSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_SCREENSHOT, ShellScreenshotClass))
|
||||
#define SHELL_IS_SCREENSHOT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_SCREENSHOT))
|
||||
#define SHELL_IS_SCREENSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_SCREENSHOT))
|
||||
#define SHELL_SCREENSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_SCREENSHOT, ShellScreenshotClass))
|
||||
|
||||
GType shell_screenshot_get_type (void) G_GNUC_CONST;
|
||||
#define SHELL_TYPE_SCREENSHOT (shell_screenshot_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellScreenshot, shell_screenshot,
|
||||
SHELL, SCREENSHOT, GObject)
|
||||
|
||||
ShellScreenshot *shell_screenshot_new (void);
|
||||
|
||||
|
@ -30,9 +30,6 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
typedef struct _ShellSecureTextBuffer ShellSecureTextBuffer;
|
||||
typedef struct _ShellSecureTextBufferClass ShellSecureTextBufferClass;
|
||||
|
||||
struct _ShellSecureTextBuffer {
|
||||
ClutterTextBuffer parent;
|
||||
gchar *text;
|
||||
@ -41,10 +38,6 @@ struct _ShellSecureTextBuffer {
|
||||
guint text_chars;
|
||||
};
|
||||
|
||||
struct _ShellSecureTextBufferClass {
|
||||
ClutterTextBufferClass parent_class;
|
||||
};
|
||||
|
||||
/* Initial size of buffer, in bytes */
|
||||
#define MIN_SIZE 16
|
||||
|
||||
|
@ -28,11 +28,9 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define SHELL_TYPE_SECURE_TEXT_BUFFER (shell_secure_text_buffer_get_type ())
|
||||
#define SHELL_SECURE_TEXT_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_SECURE_TEXT_BUFFER, ShellSecureTextBuffer))
|
||||
#define SHELL_IS_SECURE_TEXT_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_SECURE_TEXT_BUFFER))
|
||||
|
||||
GType shell_secure_text_buffer_get_type (void) G_GNUC_CONST;
|
||||
#define SHELL_TYPE_SECURE_TEXT_BUFFER (shell_secure_text_buffer_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellSecureTextBuffer, shell_secure_text_buffer,
|
||||
SHELL, SECURE_TEXT_BUFFER, ClutterTextBuffer)
|
||||
|
||||
ClutterTextBuffer * shell_secure_text_buffer_new (void);
|
||||
|
||||
|
@ -16,9 +16,12 @@
|
||||
|
||||
#include "shell-stack.h"
|
||||
|
||||
G_DEFINE_TYPE (ShellStack,
|
||||
shell_stack,
|
||||
ST_TYPE_WIDGET);
|
||||
struct _ShellStack
|
||||
{
|
||||
StWidget parent;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (ShellStack, shell_stack, ST_TYPE_WIDGET);
|
||||
|
||||
static void
|
||||
shell_stack_allocate (ClutterActor *self,
|
||||
|
@ -5,30 +5,7 @@
|
||||
#include "st.h"
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#define SHELL_TYPE_STACK (shell_stack_get_type ())
|
||||
#define SHELL_STACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_STACK, ShellStack))
|
||||
#define SHELL_STACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_STACK, ShellStackClass))
|
||||
#define SHELL_IS_STACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_STACK))
|
||||
#define SHELL_IS_STACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_STACK))
|
||||
#define SHELL_STACK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_STACK, ShellStackClass))
|
||||
|
||||
typedef struct _ShellStack ShellStack;
|
||||
typedef struct _ShellStackClass ShellStackClass;
|
||||
|
||||
typedef struct _ShellStackPrivate ShellStackPrivate;
|
||||
|
||||
struct _ShellStack
|
||||
{
|
||||
StWidget parent;
|
||||
|
||||
ShellStackPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellStackClass
|
||||
{
|
||||
StWidgetClass parent_class;
|
||||
};
|
||||
|
||||
GType shell_stack_get_type (void) G_GNUC_CONST;
|
||||
#define SHELL_TYPE_STACK (shell_stack_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellStack, shell_stack, SHELL, STACK, StWidget)
|
||||
|
||||
#endif /* __SHELL_STACK_H__ */
|
||||
|
@ -6,8 +6,6 @@
|
||||
|
||||
#include <telepathy-glib/telepathy-glib.h>
|
||||
|
||||
G_DEFINE_TYPE(ShellTpClient, shell_tp_client, TP_TYPE_BASE_CLIENT)
|
||||
|
||||
struct _ShellTpClientPrivate
|
||||
{
|
||||
ShellTpClientObserveChannelsImpl observe_impl;
|
||||
@ -23,6 +21,8 @@ struct _ShellTpClientPrivate
|
||||
GDestroyNotify destroy_handle_channels;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellTpClient, shell_tp_client, TP_TYPE_BASE_CLIENT)
|
||||
|
||||
/**
|
||||
* ShellTpClientObserveChannelsImpl:
|
||||
* @client: a #ShellTpClient instance
|
||||
@ -84,8 +84,7 @@ shell_tp_client_init (ShellTpClient *self)
|
||||
{
|
||||
GHashTable *filter;
|
||||
|
||||
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, SHELL_TYPE_TP_CLIENT,
|
||||
ShellTpClientPrivate);
|
||||
self->priv = shell_tp_client_get_instance_private (self);
|
||||
|
||||
/* We only care about single-user text-based chats */
|
||||
filter = tp_asv_new (
|
||||
@ -198,8 +197,6 @@ shell_tp_client_class_init (ShellTpClientClass *cls)
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (cls);
|
||||
TpBaseClientClass *base_clt_cls = TP_BASE_CLIENT_CLASS (cls);
|
||||
|
||||
g_type_class_add_private (cls, sizeof (ShellTpClientPrivate));
|
||||
|
||||
object_class->dispose = shell_tp_client_dispose;
|
||||
|
||||
base_clt_cls->observe_channels = observe_channels;
|
||||
|
@ -17,6 +17,15 @@ enum {
|
||||
PROP_WM_CLASS
|
||||
};
|
||||
|
||||
typedef struct _ShellTrayIconPrivate ShellTrayIconPrivate;
|
||||
|
||||
struct _ShellTrayIcon
|
||||
{
|
||||
ShellGtkEmbed parent;
|
||||
|
||||
ShellTrayIconPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellTrayIconPrivate
|
||||
{
|
||||
NaTrayChild *socket;
|
||||
@ -25,7 +34,7 @@ struct _ShellTrayIconPrivate
|
||||
char *title, *wm_class;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (ShellTrayIcon, shell_tray_icon, SHELL_TYPE_GTK_EMBED);
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellTrayIcon, shell_tray_icon, SHELL_TYPE_GTK_EMBED);
|
||||
|
||||
static void
|
||||
shell_tray_icon_finalize (GObject *object)
|
||||
@ -117,8 +126,6 @@ shell_tray_icon_class_init (ShellTrayIconClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
g_type_class_add_private (klass, sizeof (ShellTrayIconPrivate));
|
||||
|
||||
object_class->get_property = shell_tray_icon_get_property;
|
||||
object_class->constructed = shell_tray_icon_constructed;
|
||||
object_class->finalize = shell_tray_icon_finalize;
|
||||
@ -149,8 +156,7 @@ shell_tray_icon_class_init (ShellTrayIconClass *klass)
|
||||
static void
|
||||
shell_tray_icon_init (ShellTrayIcon *icon)
|
||||
{
|
||||
icon->priv = G_TYPE_INSTANCE_GET_PRIVATE (icon, SHELL_TYPE_TRAY_ICON,
|
||||
ShellTrayIconPrivate);
|
||||
icon->priv = shell_tray_icon_get_instance_private (icon);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -4,31 +4,10 @@
|
||||
|
||||
#include "shell-gtk-embed.h"
|
||||
|
||||
#define SHELL_TYPE_TRAY_ICON (shell_tray_icon_get_type ())
|
||||
#define SHELL_TRAY_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_TRAY_ICON, ShellTrayIcon))
|
||||
#define SHELL_TRAY_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_TRAY_ICON, ShellTrayIconClass))
|
||||
#define SHELL_IS_TRAY_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_TRAY_ICON))
|
||||
#define SHELL_IS_TRAY_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_TRAY_ICON))
|
||||
#define SHELL_TRAY_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_TRAY_ICON, ShellTrayIconClass))
|
||||
#define SHELL_TYPE_TRAY_ICON (shell_tray_icon_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellTrayIcon, shell_tray_icon,
|
||||
SHELL, TRAY_ICON, ShellGtkEmbed)
|
||||
|
||||
typedef struct _ShellTrayIcon ShellTrayIcon;
|
||||
typedef struct _ShellTrayIconClass ShellTrayIconClass;
|
||||
typedef struct _ShellTrayIconPrivate ShellTrayIconPrivate;
|
||||
|
||||
struct _ShellTrayIcon
|
||||
{
|
||||
ShellGtkEmbed parent;
|
||||
|
||||
ShellTrayIconPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellTrayIconClass
|
||||
{
|
||||
ShellGtkEmbedClass parent_class;
|
||||
};
|
||||
|
||||
|
||||
GType shell_tray_icon_get_type (void) G_GNUC_CONST;
|
||||
ClutterActor *shell_tray_icon_new (ShellEmbeddedWindow *window);
|
||||
|
||||
void shell_tray_icon_click (ShellTrayIcon *icon,
|
||||
|
@ -15,6 +15,15 @@
|
||||
#include "shell-embedded-window.h"
|
||||
#include "shell-global.h"
|
||||
|
||||
typedef struct _ShellTrayManagerPrivate ShellTrayManagerPrivate;
|
||||
|
||||
struct _ShellTrayManager
|
||||
{
|
||||
GObject parent_instance;
|
||||
|
||||
ShellTrayManagerPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellTrayManagerPrivate {
|
||||
NaTrayManager *na_manager;
|
||||
ClutterColor bg_color;
|
||||
@ -43,7 +52,7 @@ enum
|
||||
LAST_SIGNAL
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (ShellTrayManager, shell_tray_manager, G_TYPE_OBJECT);
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellTrayManager, shell_tray_manager, G_TYPE_OBJECT);
|
||||
|
||||
static guint shell_tray_manager_signals [LAST_SIGNAL] = { 0 };
|
||||
|
||||
@ -114,8 +123,8 @@ shell_tray_manager_get_property(GObject *object,
|
||||
static void
|
||||
shell_tray_manager_init (ShellTrayManager *manager)
|
||||
{
|
||||
manager->priv = G_TYPE_INSTANCE_GET_PRIVATE (manager, SHELL_TYPE_TRAY_MANAGER,
|
||||
ShellTrayManagerPrivate);
|
||||
manager->priv = shell_tray_manager_get_instance_private (manager);
|
||||
|
||||
manager->priv->na_manager = na_tray_manager_new ();
|
||||
|
||||
manager->priv->icons = g_hash_table_new_full (NULL, NULL,
|
||||
@ -144,8 +153,6 @@ shell_tray_manager_class_init (ShellTrayManagerClass *klass)
|
||||
{
|
||||
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
g_type_class_add_private (klass, sizeof (ShellTrayManagerPrivate));
|
||||
|
||||
gobject_class->finalize = shell_tray_manager_finalize;
|
||||
gobject_class->set_property = shell_tray_manager_set_property;
|
||||
gobject_class->get_property = shell_tray_manager_get_property;
|
||||
@ -154,7 +161,7 @@ shell_tray_manager_class_init (ShellTrayManagerClass *klass)
|
||||
g_signal_new ("tray-icon-added",
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (ShellTrayManagerClass, tray_icon_added),
|
||||
0,
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 1,
|
||||
CLUTTER_TYPE_ACTOR);
|
||||
@ -162,7 +169,7 @@ shell_tray_manager_class_init (ShellTrayManagerClass *klass)
|
||||
g_signal_new ("tray-icon-removed",
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (ShellTrayManagerClass, tray_icon_removed),
|
||||
0,
|
||||
NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 1,
|
||||
CLUTTER_TYPE_ACTOR);
|
||||
@ -193,27 +200,12 @@ shell_tray_manager_style_changed (StWidget *theme_widget,
|
||||
ShellTrayManager *manager = user_data;
|
||||
StThemeNode *theme_node;
|
||||
StIconColors *icon_colors;
|
||||
GdkColor foreground, warning, error, success;
|
||||
|
||||
theme_node = st_widget_get_theme_node (theme_widget);
|
||||
icon_colors = st_theme_node_get_icon_colors (theme_node);
|
||||
|
||||
foreground.red = icon_colors->foreground.red * 0x101;
|
||||
foreground.green = icon_colors->foreground.green * 0x101;
|
||||
foreground.blue = icon_colors->foreground.blue * 0x101;
|
||||
warning.red = icon_colors->warning.red * 0x101;
|
||||
warning.green = icon_colors->warning.green * 0x101;
|
||||
warning.blue = icon_colors->warning.blue * 0x101;
|
||||
error.red = icon_colors->error.red * 0x101;
|
||||
error.green = icon_colors->error.green * 0x101;
|
||||
error.blue = icon_colors->error.blue * 0x101;
|
||||
success.red = icon_colors->success.red * 0x101;
|
||||
success.green = icon_colors->success.green * 0x101;
|
||||
success.blue = icon_colors->success.blue * 0x101;
|
||||
|
||||
na_tray_manager_set_colors (manager->priv->na_manager,
|
||||
&foreground, &warning,
|
||||
&error, &success);
|
||||
&icon_colors->foreground, &icon_colors->warning,
|
||||
&icon_colors->error, &icon_colors->success);
|
||||
}
|
||||
|
||||
void
|
||||
@ -287,14 +279,6 @@ na_tray_icon_added (NaTrayManager *na_manager, GtkWidget *socket,
|
||||
GtkWidget *win;
|
||||
ShellTrayManagerChild *child;
|
||||
|
||||
/* We don't need the NaTrayIcon to be composited on the window we
|
||||
* put it in: the window is the same size as the tray icon
|
||||
* and transparent. We can just use the default X handling of
|
||||
* subwindows as mode of SOURCE (replace the parent with the
|
||||
* child) and then composite the parent onto the stage.
|
||||
*/
|
||||
na_tray_child_set_composited (NA_TRAY_CHILD (socket), FALSE);
|
||||
|
||||
win = shell_embedded_window_new ();
|
||||
gtk_container_add (GTK_CONTAINER (win), socket);
|
||||
|
||||
|
@ -8,37 +8,9 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define SHELL_TYPE_TRAY_MANAGER (shell_tray_manager_get_type ())
|
||||
#define SHELL_TRAY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_TRAY_MANAGER, ShellTrayManager))
|
||||
#define SHELL_TRAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_TRAY_MANAGER, ShellTrayManagerClass))
|
||||
#define SHELL_IS_TRAY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_TRAY_MANAGER))
|
||||
#define SHELL_IS_TRAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_TRAY_MANAGER))
|
||||
#define SHELL_TRAY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_TRAY_MANAGER, ShellTrayManagerClass))
|
||||
|
||||
typedef struct _ShellTrayManager ShellTrayManager;
|
||||
typedef struct _ShellTrayManagerPrivate ShellTrayManagerPrivate;
|
||||
typedef struct _ShellTrayManagerClass ShellTrayManagerClass;
|
||||
|
||||
struct _ShellTrayManager
|
||||
{
|
||||
GObject parent_instance;
|
||||
|
||||
ShellTrayManagerPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellTrayManagerClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
|
||||
void (* tray_icon_added) (ShellTrayManager *manager,
|
||||
ClutterActor *icon,
|
||||
const char *lowercase_wm_class);
|
||||
void (* tray_icon_removed) (ShellTrayManager *manager,
|
||||
ClutterActor *icon);
|
||||
|
||||
};
|
||||
|
||||
GType shell_tray_manager_get_type (void);
|
||||
#define SHELL_TYPE_TRAY_MANAGER (shell_tray_manager_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellTrayManager, shell_tray_manager,
|
||||
SHELL, TRAY_MANAGER, GObject)
|
||||
|
||||
ShellTrayManager *shell_tray_manager_new (void);
|
||||
void shell_tray_manager_manage_screen (ShellTrayManager *manager,
|
||||
|
@ -11,23 +11,9 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _ShellWindowTracker ShellWindowTracker;
|
||||
typedef struct _ShellWindowTrackerClass ShellWindowTrackerClass;
|
||||
typedef struct _ShellWindowTrackerPrivate ShellWindowTrackerPrivate;
|
||||
|
||||
#define SHELL_TYPE_WINDOW_TRACKER (shell_window_tracker_get_type ())
|
||||
#define SHELL_WINDOW_TRACKER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_WINDOW_TRACKER, ShellWindowTracker))
|
||||
#define SHELL_WINDOW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_WINDOW_TRACKER, ShellWindowTrackerClass))
|
||||
#define SHELL_IS_WINDOW_TRACKER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_WINDOW_TRACKER))
|
||||
#define SHELL_IS_WINDOW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_WINDOW_TRACKER))
|
||||
#define SHELL_WINDOW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_WINDOW_TRACKER, ShellWindowTrackerClass))
|
||||
|
||||
struct _ShellWindowTrackerClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
};
|
||||
|
||||
GType shell_window_tracker_get_type (void) G_GNUC_CONST;
|
||||
#define SHELL_TYPE_WINDOW_TRACKER (shell_window_tracker_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellWindowTracker, shell_window_tracker,
|
||||
SHELL, WINDOW_TRACKER, GObject)
|
||||
|
||||
ShellWindowTracker* shell_window_tracker_get_default(void);
|
||||
|
||||
|
@ -7,23 +7,8 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _ShellWM ShellWM;
|
||||
typedef struct _ShellWMClass ShellWMClass;
|
||||
|
||||
#define SHELL_TYPE_WM (shell_wm_get_type ())
|
||||
#define SHELL_WM(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_WM, ShellWM))
|
||||
#define SHELL_WM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_WM, ShellWMClass))
|
||||
#define SHELL_IS_WM(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_WM))
|
||||
#define SHELL_IS_WM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_WM))
|
||||
#define SHELL_WM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_WM, ShellWMClass))
|
||||
|
||||
struct _ShellWMClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
|
||||
};
|
||||
|
||||
GType shell_wm_get_type (void) G_GNUC_CONST;
|
||||
#define SHELL_TYPE_WM (shell_wm_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (ShellWM, shell_wm, SHELL, WM, GObject)
|
||||
|
||||
ShellWM *shell_wm_new (MetaPlugin *plugin);
|
||||
|
||||
|
@ -37,9 +37,7 @@
|
||||
#include "st-adjustment.h"
|
||||
#include "st-private.h"
|
||||
|
||||
G_DEFINE_TYPE (StAdjustment, st_adjustment, G_TYPE_OBJECT)
|
||||
|
||||
#define ADJUSTMENT_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ST_TYPE_ADJUSTMENT, StAdjustmentPrivate))
|
||||
typedef struct _StAdjustmentPrivate StAdjustmentPrivate;
|
||||
|
||||
struct _StAdjustmentPrivate
|
||||
{
|
||||
@ -55,6 +53,8 @@ struct _StAdjustmentPrivate
|
||||
gdouble page_size;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (StAdjustment, st_adjustment, G_TYPE_OBJECT)
|
||||
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
@ -92,6 +92,7 @@ st_adjustment_constructed (GObject *object)
|
||||
{
|
||||
GObjectClass *g_class;
|
||||
StAdjustment *self = ST_ADJUSTMENT (object);
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (self);
|
||||
|
||||
g_class = G_OBJECT_CLASS (st_adjustment_parent_class);
|
||||
/* The docs say we're suppose to chain up, but would crash without
|
||||
@ -102,8 +103,8 @@ st_adjustment_constructed (GObject *object)
|
||||
g_class->constructed (object);
|
||||
}
|
||||
|
||||
ST_ADJUSTMENT (self)->priv->is_constructing = FALSE;
|
||||
st_adjustment_clamp_page (self, self->priv->lower, self->priv->upper);
|
||||
priv->is_constructing = FALSE;
|
||||
st_adjustment_clamp_page (self, priv->lower, priv->upper);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -112,7 +113,7 @@ st_adjustment_get_property (GObject *gobject,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
StAdjustmentPrivate *priv = ST_ADJUSTMENT (gobject)->priv;
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (ST_ADJUSTMENT (gobject));
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
@ -191,8 +192,6 @@ st_adjustment_class_init (StAdjustmentClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
g_type_class_add_private (klass, sizeof (StAdjustmentPrivate));
|
||||
|
||||
object_class->constructed = st_adjustment_constructed;
|
||||
object_class->get_property = st_adjustment_get_property;
|
||||
object_class->set_property = st_adjustment_set_property;
|
||||
@ -275,9 +274,8 @@ st_adjustment_class_init (StAdjustmentClass *klass)
|
||||
static void
|
||||
st_adjustment_init (StAdjustment *self)
|
||||
{
|
||||
self->priv = ADJUSTMENT_PRIVATE (self);
|
||||
|
||||
self->priv->is_constructing = TRUE;
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (self);
|
||||
priv->is_constructing = TRUE;
|
||||
}
|
||||
|
||||
StAdjustment *
|
||||
@ -301,13 +299,9 @@ st_adjustment_new (gdouble value,
|
||||
gdouble
|
||||
st_adjustment_get_value (StAdjustment *adjustment)
|
||||
{
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (ST_IS_ADJUSTMENT (adjustment), 0);
|
||||
|
||||
priv = adjustment->priv;
|
||||
|
||||
return priv->value;
|
||||
return ((StAdjustmentPrivate *)st_adjustment_get_instance_private (adjustment))->value;
|
||||
}
|
||||
|
||||
void
|
||||
@ -318,7 +312,7 @@ st_adjustment_set_value (StAdjustment *adjustment,
|
||||
|
||||
g_return_if_fail (ST_IS_ADJUSTMENT (adjustment));
|
||||
|
||||
priv = adjustment->priv;
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
/* Defer clamp until after construction. */
|
||||
if (!priv->is_constructing)
|
||||
@ -346,7 +340,7 @@ st_adjustment_clamp_page (StAdjustment *adjustment,
|
||||
|
||||
g_return_if_fail (ST_IS_ADJUSTMENT (adjustment));
|
||||
|
||||
priv = adjustment->priv;
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
lower = CLAMP (lower, priv->lower, priv->upper - priv->page_size);
|
||||
upper = CLAMP (upper, priv->lower + priv->page_size, priv->upper);
|
||||
@ -373,7 +367,7 @@ static gboolean
|
||||
st_adjustment_set_lower (StAdjustment *adjustment,
|
||||
gdouble lower)
|
||||
{
|
||||
StAdjustmentPrivate *priv = adjustment->priv;
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
if (priv->lower != lower)
|
||||
{
|
||||
@ -397,7 +391,7 @@ static gboolean
|
||||
st_adjustment_set_upper (StAdjustment *adjustment,
|
||||
gdouble upper)
|
||||
{
|
||||
StAdjustmentPrivate *priv = adjustment->priv;
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
if (priv->upper != upper)
|
||||
{
|
||||
@ -421,7 +415,7 @@ static gboolean
|
||||
st_adjustment_set_step_increment (StAdjustment *adjustment,
|
||||
gdouble step)
|
||||
{
|
||||
StAdjustmentPrivate *priv = adjustment->priv;
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
if (priv->step_increment != step)
|
||||
{
|
||||
@ -441,7 +435,7 @@ static gboolean
|
||||
st_adjustment_set_page_increment (StAdjustment *adjustment,
|
||||
gdouble page)
|
||||
{
|
||||
StAdjustmentPrivate *priv = adjustment->priv;
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
if (priv->page_increment != page)
|
||||
{
|
||||
@ -461,7 +455,7 @@ static gboolean
|
||||
st_adjustment_set_page_size (StAdjustment *adjustment,
|
||||
gdouble size)
|
||||
{
|
||||
StAdjustmentPrivate *priv = adjustment->priv;
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
if (priv->page_size != size)
|
||||
{
|
||||
@ -498,7 +492,7 @@ st_adjustment_set_values (StAdjustment *adjustment,
|
||||
g_return_if_fail (step_increment >= 0 && step_increment <= G_MAXDOUBLE);
|
||||
g_return_if_fail (page_increment >= 0 && page_increment <= G_MAXDOUBLE);
|
||||
|
||||
priv = adjustment->priv;
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
emit_changed = FALSE;
|
||||
|
||||
@ -547,7 +541,7 @@ st_adjustment_get_values (StAdjustment *adjustment,
|
||||
|
||||
g_return_if_fail (ST_IS_ADJUSTMENT (adjustment));
|
||||
|
||||
priv = adjustment->priv;
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
if (lower)
|
||||
*lower = priv->lower;
|
||||
@ -589,7 +583,7 @@ st_adjustment_adjust_for_scroll_event (StAdjustment *adjustment,
|
||||
|
||||
g_return_if_fail (ST_IS_ADJUSTMENT (adjustment));
|
||||
|
||||
priv = adjustment->priv;
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
scroll_unit = pow (priv->page_size, 2.0 / 3.0);
|
||||
|
||||
|
@ -30,31 +30,8 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define ST_TYPE_ADJUSTMENT (st_adjustment_get_type())
|
||||
#define ST_ADJUSTMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ST_TYPE_ADJUSTMENT, StAdjustment))
|
||||
#define ST_IS_ADJUSTMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ST_TYPE_ADJUSTMENT))
|
||||
#define ST_ADJUSTMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ST_TYPE_ADJUSTMENT, StAdjustmentClass))
|
||||
#define ST_IS_ADJUSTMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ST_TYPE_ADJUSTMENT))
|
||||
#define ST_ADJUSTMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ST_TYPE_ADJUSTMENT, StAdjustmentClass))
|
||||
|
||||
typedef struct _StAdjustment StAdjustment;
|
||||
typedef struct _StAdjustmentPrivate StAdjustmentPrivate;
|
||||
typedef struct _StAdjustmentClass StAdjustmentClass;
|
||||
|
||||
/**
|
||||
* StAdjustment:
|
||||
*
|
||||
* Class for handling an interval between to values. The contents of
|
||||
* the #StAdjustment are private and should be accessed using the
|
||||
* public API.
|
||||
*/
|
||||
struct _StAdjustment
|
||||
{
|
||||
/*< private >*/
|
||||
GObject parent_instance;
|
||||
|
||||
StAdjustmentPrivate *priv;
|
||||
};
|
||||
#define ST_TYPE_ADJUSTMENT (st_adjustment_get_type())
|
||||
G_DECLARE_DERIVABLE_TYPE (StAdjustment, st_adjustment, ST, ADJUSTMENT, GObject)
|
||||
|
||||
/**
|
||||
* StAdjustmentClass:
|
||||
@ -71,8 +48,6 @@ struct _StAdjustmentClass
|
||||
void (* changed) (StAdjustment *adjustment);
|
||||
};
|
||||
|
||||
GType st_adjustment_get_type (void) G_GNUC_CONST;
|
||||
|
||||
StAdjustment *st_adjustment_new (gdouble value,
|
||||
gdouble lower,
|
||||
gdouble upper,
|
||||
|
@ -38,8 +38,7 @@
|
||||
#include "st-enum-types.h"
|
||||
#include "st-private.h"
|
||||
|
||||
#define ST_BIN_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), ST_TYPE_BIN, StBinPrivate))
|
||||
|
||||
typedef struct _StBinPrivate StBinPrivate;
|
||||
struct _StBinPrivate
|
||||
{
|
||||
ClutterActor *child;
|
||||
@ -65,6 +64,7 @@ enum
|
||||
static void clutter_container_iface_init (ClutterContainerIface *iface);
|
||||
|
||||
G_DEFINE_TYPE_WITH_CODE (StBin, st_bin, ST_TYPE_WIDGET,
|
||||
G_ADD_PRIVATE (StBin)
|
||||
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_CONTAINER,
|
||||
clutter_container_iface_init));
|
||||
|
||||
@ -79,10 +79,11 @@ static void
|
||||
st_bin_remove (ClutterContainer *container,
|
||||
ClutterActor *actor)
|
||||
{
|
||||
StBinPrivate *priv = ST_BIN (container)->priv;
|
||||
StBin *bin = ST_BIN (container);
|
||||
StBinPrivate *priv = st_bin_get_instance_private (bin);
|
||||
|
||||
if (priv->child == actor)
|
||||
st_bin_set_child (ST_BIN (container), NULL);
|
||||
st_bin_set_child (bin, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -97,7 +98,7 @@ st_bin_allocate (ClutterActor *self,
|
||||
const ClutterActorBox *box,
|
||||
ClutterAllocationFlags flags)
|
||||
{
|
||||
StBinPrivate *priv = ST_BIN (self)->priv;
|
||||
StBinPrivate *priv = st_bin_get_instance_private (ST_BIN (self));
|
||||
|
||||
clutter_actor_set_allocation (self, box, flags);
|
||||
|
||||
@ -123,7 +124,7 @@ st_bin_get_preferred_width (ClutterActor *self,
|
||||
gfloat *min_width_p,
|
||||
gfloat *natural_width_p)
|
||||
{
|
||||
StBinPrivate *priv = ST_BIN (self)->priv;
|
||||
StBinPrivate *priv = st_bin_get_instance_private (ST_BIN (self));
|
||||
StThemeNode *theme_node = st_widget_get_theme_node (ST_WIDGET (self));
|
||||
|
||||
st_theme_node_adjust_for_height (theme_node, &for_height);
|
||||
@ -152,7 +153,7 @@ st_bin_get_preferred_height (ClutterActor *self,
|
||||
gfloat *min_height_p,
|
||||
gfloat *natural_height_p)
|
||||
{
|
||||
StBinPrivate *priv = ST_BIN (self)->priv;
|
||||
StBinPrivate *priv = st_bin_get_instance_private (ST_BIN (self));
|
||||
StThemeNode *theme_node = st_widget_get_theme_node (ST_WIDGET (self));
|
||||
|
||||
st_theme_node_adjust_for_width (theme_node, &for_width);
|
||||
@ -178,7 +179,7 @@ st_bin_get_preferred_height (ClutterActor *self,
|
||||
static void
|
||||
st_bin_dispose (GObject *gobject)
|
||||
{
|
||||
StBinPrivate *priv = ST_BIN (gobject)->priv;
|
||||
StBinPrivate *priv = st_bin_get_instance_private (ST_BIN (gobject));
|
||||
|
||||
if (priv->child)
|
||||
clutter_actor_destroy (priv->child);
|
||||
@ -190,7 +191,7 @@ st_bin_dispose (GObject *gobject)
|
||||
static void
|
||||
st_bin_popup_menu (StWidget *widget)
|
||||
{
|
||||
StBinPrivate *priv = ST_BIN (widget)->priv;
|
||||
StBinPrivate *priv = st_bin_get_instance_private (ST_BIN (widget));
|
||||
|
||||
if (priv->child && ST_IS_WIDGET (priv->child))
|
||||
st_widget_popup_menu (ST_WIDGET (priv->child));
|
||||
@ -201,7 +202,7 @@ st_bin_navigate_focus (StWidget *widget,
|
||||
ClutterActor *from,
|
||||
GtkDirectionType direction)
|
||||
{
|
||||
StBinPrivate *priv = ST_BIN (widget)->priv;
|
||||
StBinPrivate *priv = st_bin_get_instance_private (ST_BIN (widget));
|
||||
ClutterActor *bin_actor = CLUTTER_ACTOR (widget);
|
||||
|
||||
if (st_widget_get_can_focus (widget))
|
||||
@ -232,6 +233,7 @@ st_bin_set_property (GObject *gobject,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
StBin *bin = ST_BIN (gobject);
|
||||
StBinPrivate *priv = st_bin_get_instance_private (bin);
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
@ -242,24 +244,24 @@ st_bin_set_property (GObject *gobject,
|
||||
case PROP_X_ALIGN:
|
||||
st_bin_set_alignment (bin,
|
||||
g_value_get_enum (value),
|
||||
bin->priv->y_align);
|
||||
priv->y_align);
|
||||
break;
|
||||
|
||||
case PROP_Y_ALIGN:
|
||||
st_bin_set_alignment (bin,
|
||||
bin->priv->x_align,
|
||||
priv->x_align,
|
||||
g_value_get_enum (value));
|
||||
break;
|
||||
|
||||
case PROP_X_FILL:
|
||||
st_bin_set_fill (bin,
|
||||
g_value_get_boolean (value),
|
||||
bin->priv->y_fill);
|
||||
priv->y_fill);
|
||||
break;
|
||||
|
||||
case PROP_Y_FILL:
|
||||
st_bin_set_fill (bin,
|
||||
bin->priv->x_fill,
|
||||
priv->x_fill,
|
||||
g_value_get_boolean (value));
|
||||
break;
|
||||
|
||||
@ -274,7 +276,7 @@ st_bin_get_property (GObject *gobject,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
StBinPrivate *priv = ST_BIN (gobject)->priv;
|
||||
StBinPrivate *priv = st_bin_get_instance_private (ST_BIN (gobject));
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
@ -311,8 +313,6 @@ st_bin_class_init (StBinClass *klass)
|
||||
StWidgetClass *widget_class = ST_WIDGET_CLASS (klass);
|
||||
GParamSpec *pspec;
|
||||
|
||||
g_type_class_add_private (klass, sizeof (StBinPrivate));
|
||||
|
||||
gobject_class->set_property = st_bin_set_property;
|
||||
gobject_class->get_property = st_bin_get_property;
|
||||
gobject_class->dispose = st_bin_dispose;
|
||||
@ -392,10 +392,10 @@ st_bin_class_init (StBinClass *klass)
|
||||
static void
|
||||
st_bin_init (StBin *bin)
|
||||
{
|
||||
bin->priv = ST_BIN_GET_PRIVATE (bin);
|
||||
StBinPrivate *priv = st_bin_get_instance_private (bin);
|
||||
|
||||
bin->priv->x_align = ST_ALIGN_MIDDLE;
|
||||
bin->priv->y_align = ST_ALIGN_MIDDLE;
|
||||
priv->x_align = ST_ALIGN_MIDDLE;
|
||||
priv->y_align = ST_ALIGN_MIDDLE;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -429,7 +429,7 @@ st_bin_set_child (StBin *bin,
|
||||
g_return_if_fail (ST_IS_BIN (bin));
|
||||
g_return_if_fail (child == NULL || CLUTTER_IS_ACTOR (child));
|
||||
|
||||
priv = bin->priv;
|
||||
priv = st_bin_get_instance_private (bin);
|
||||
|
||||
if (priv->child == child)
|
||||
return;
|
||||
@ -463,7 +463,7 @@ st_bin_get_child (StBin *bin)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_BIN (bin), NULL);
|
||||
|
||||
return bin->priv->child;
|
||||
return ((StBinPrivate *)st_bin_get_instance_private (bin))->child;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -485,7 +485,7 @@ st_bin_set_alignment (StBin *bin,
|
||||
|
||||
g_return_if_fail (ST_IS_BIN (bin));
|
||||
|
||||
priv = bin->priv;
|
||||
priv = st_bin_get_instance_private (bin);
|
||||
|
||||
g_object_freeze_notify (G_OBJECT (bin));
|
||||
|
||||
@ -527,7 +527,7 @@ st_bin_get_alignment (StBin *bin,
|
||||
|
||||
g_return_if_fail (ST_IS_BIN (bin));
|
||||
|
||||
priv = bin->priv;
|
||||
priv = st_bin_get_instance_private (bin);
|
||||
|
||||
if (x_align)
|
||||
*x_align = priv->x_align;
|
||||
@ -555,7 +555,7 @@ st_bin_set_fill (StBin *bin,
|
||||
|
||||
g_return_if_fail (ST_IS_BIN (bin));
|
||||
|
||||
priv = bin->priv;
|
||||
priv = st_bin_get_instance_private (bin);
|
||||
|
||||
g_object_freeze_notify (G_OBJECT (bin));
|
||||
|
||||
@ -594,11 +594,15 @@ st_bin_get_fill (StBin *bin,
|
||||
gboolean *x_fill,
|
||||
gboolean *y_fill)
|
||||
{
|
||||
StBinPrivate *priv;
|
||||
|
||||
g_return_if_fail (ST_IS_BIN (bin));
|
||||
|
||||
priv = st_bin_get_instance_private (bin);
|
||||
|
||||
if (x_fill)
|
||||
*x_fill = bin->priv->x_fill;
|
||||
*x_fill = priv->x_fill;
|
||||
|
||||
if (y_fill)
|
||||
*y_fill = bin->priv->y_fill;
|
||||
*y_fill = priv->y_fill;
|
||||
}
|
||||
|
@ -30,28 +30,7 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define ST_TYPE_BIN (st_bin_get_type ())
|
||||
#define ST_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ST_TYPE_BIN, StBin))
|
||||
#define ST_IS_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ST_TYPE_BIN))
|
||||
#define ST_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ST_TYPE_BIN, StBinClass))
|
||||
#define ST_IS_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ST_TYPE_BIN))
|
||||
#define ST_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ST_TYPE_BIN, StBinClass))
|
||||
|
||||
typedef struct _StBin StBin;
|
||||
typedef struct _StBinPrivate StBinPrivate;
|
||||
typedef struct _StBinClass StBinClass;
|
||||
|
||||
/**
|
||||
* StBin:
|
||||
*
|
||||
* The #StBin struct contains only private data
|
||||
*/
|
||||
struct _StBin
|
||||
{
|
||||
/*< private >*/
|
||||
StWidget parent_instance;
|
||||
|
||||
StBinPrivate *priv;
|
||||
};
|
||||
G_DECLARE_DERIVABLE_TYPE (StBin, st_bin, ST, BIN, StWidget)
|
||||
|
||||
/**
|
||||
* StBinClass:
|
||||
@ -64,8 +43,6 @@ struct _StBinClass
|
||||
StWidgetClass parent_class;
|
||||
};
|
||||
|
||||
GType st_bin_get_type (void) G_GNUC_CONST;
|
||||
|
||||
StWidget * st_bin_new (void);
|
||||
void st_bin_set_child (StBin *bin,
|
||||
ClutterActor *child);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user