Compare commits

..

2 Commits

Author SHA1 Message Date
Carlos Garnacho
708a198abf windowManager: Add TouchpadWorkspaceSwitchAction
This object (not really a Clutter.GestureAction) sets up a captured-event
handler, which exclusively looks for 4 finger touchpad swipes, emitting
an ::activated signal under the same terms than WorkspaceSwitchAction.
2015-07-09 12:42:38 +02:00
Carlos Garnacho
8270d84b80 windowManager: refactor WorkspaceSwitchAction callback into separate function
This will be used too by the touchpad-specific "action", so put it in a
shared place.
2015-07-09 12:42:38 +02:00
110 changed files with 11509 additions and 17084 deletions

96
NEWS
View File

@@ -1,99 +1,3 @@
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
======
Translations:
Sendy Aditya Suryana [id], Kris Thomsen [da], Seán de Búrca [ga],
Andika Triwidada [id], Enrico Nicoletto [pt_BR], Anders Jonsson [sv],
Rūdolfs Mazurs [lv]
3.17.92
=======
* Fix race when loading multiple background animations [Josselin; #741453]
Contributors:
Michael Biebl, Josselin Mouette, Florian Müllner
Translations:
Baurzhan Muftakhidinov [kk], Changwoo Ryu [ko], Christian Kirbach [de],
Kjartan Maraas [nb], Jiri Grönroos [fi], Arash Mousavi [fa],
Jiro Matsuzawa [ja], Marek Černocký [cs], Milo Casagrande [it]
3.17.91
=======
* Fix login screen spinner causing wakeups while VT-switched away
[Ray, Rui; #753891]
* Fix scrolling of user list on login screen [Florian; #754525]
Contributors:
Piotr Drąg, Rui Matos, Florian Müllner, Ray Strode
Translations:
Dušan Kazik [sk], Jordi Mas [ca], Aurimas Černius [lt], Stas Solovey [ru],
Piotr Drąg [pl], Pedro Albuquerque [pt], Daniel Mustieles [es],
Chao-Hsiung Liao [zh_TW], Muhammet Kara [tr], Fran Dieguez [gl],
Hannie Dumoleyn [nl], Yosef Or Boczko [he], Tom Tryfonidis [el],
A S Alam [pa], Balázs Úr [hu], Alexandre Franke [fr], Frédéric Péters [fr]
3.17.90
=======
* Avoid caret/focus viewport changes during pointer movement [Rui; #752138]
* Match GTK+'s modal dialogs for system modal dialogs [Carlos; #746108]
* Refine message list style [Florian; #749958]
* Fix type-ahead behavior for backspace and compose key [Rui; #753319, #753320]
* Refine the system status menu [Florian; #751377]
* Misc. bug fixes and cleanups [Bastien, Ray, Florian, Jakub; #752779, #752739,
#741366, #651503, #753064, #753181, #752881]
Contributors:
Rui Matos, Florian Müllner, Bastien Nocera, Carlos Soriano, Jakub Steiner,
Ray Strode, Rico Tzschichholz
Translations:
Marek Černocký [cs], Kjartan Maraas [nb], Jordi Mas [ca], Muhammet Kara [tr],
Enrico Nicoletto [pt_BR]
3.17.4
======
* Fix fuzziness of app menu icon [Jakub; #747932]
* Implement 4 finger swipe gesture for touchpads [Carlos; #752250]
* Misc. bug fixes [Florian, Alexandre, Piotr, Ray, Mario; #751921, #659969,
#752438, #752675]
Contributors:
Piotr Drąg, Alexandre Franke, Carlos Garnacho, Florian Müllner,
Mario Sanchez Prada, Jakub Steiner, Jasper St. Pierre, Ray Strode
Translations:
Benjamin Steinwender [de], Pedro Albuquerque [pt], Fabio Tomat [fur],
Matej Urbančič [sl], Daniel Mustieles [es], Yosef Or Boczko [he],
Daniel Martinez [an]
3.17.3 3.17.3
====== ======
* Handle touch events in OSK on wayland [Rui; #750287] * Handle touch events in OSK on wayland [Rui; #750287]

View File

@@ -282,14 +282,6 @@ on_shell_signal (GDBusProxy *proxy,
{ {
PluginObject *obj = user_data; 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) if (strcmp (signal_name, "ExtensionStatusChanged") == 0)
{ {
gchar *uuid; gchar *uuid;
@@ -320,12 +312,6 @@ on_shell_appeared (GDBusConnection *connection,
{ {
PluginObject *obj = (PluginObject*) user_data; 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) if (obj->restart_listener)
{ {
NPVariant result = { NPVariantType_Void }; NPVariant result = { NPVariantType_Void };

View File

@@ -1,6 +1,5 @@
AC_PREREQ(2.63) AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.18.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) AC_INIT([gnome-shell],[3.17.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AX_IS_RELEASE([git-directory])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([src/shell-global.c]) AC_CONFIG_SRCDIR([src/shell-global.c])
@@ -75,13 +74,13 @@ AS_IF([test x$enable_systemd != xno], [
AC_MSG_RESULT($enable_systemd) AC_MSG_RESULT($enable_systemd)
CLUTTER_MIN_VERSION=1.21.5 CLUTTER_MIN_VERSION=1.21.5
GOBJECT_INTROSPECTION_MIN_VERSION=1.45.4 GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
GJS_MIN_VERSION=1.39.0 GJS_MIN_VERSION=1.39.0
MUTTER_MIN_VERSION=3.18.1 MUTTER_MIN_VERSION=3.17.3
GTK_MIN_VERSION=3.15.0 GTK_MIN_VERSION=3.15.0
GIO_MIN_VERSION=2.45.3 GIO_MIN_VERSION=2.45.3
LIBECAL_MIN_VERSION=3.5.3 LIBECAL_MIN_VERSION=3.5.3
LIBEDATASERVER_MIN_VERSION=3.17.2 LIBEDATASERVER_MIN_VERSION=3.13.90
TELEPATHY_GLIB_MIN_VERSION=0.17.5 TELEPATHY_GLIB_MIN_VERSION=0.17.5
POLKIT_MIN_VERSION=0.100 POLKIT_MIN_VERSION=0.100
STARTUP_NOTIFICATION_MIN_VERSION=0.11 STARTUP_NOTIFICATION_MIN_VERSION=0.11
@@ -221,7 +220,7 @@ if test "$enable_man" != no; then
fi fi
AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no) AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no)
AX_COMPILER_FLAGS() GNOME_COMPILE_WARNINGS([error])
case "$WARN_CFLAGS" in case "$WARN_CFLAGS" in
*-Werror*) *-Werror*)
WARN_CFLAGS="$WARN_CFLAGS -Wno-error=deprecated-declarations" WARN_CFLAGS="$WARN_CFLAGS -Wno-error=deprecated-declarations"
@@ -270,7 +269,7 @@ Build configuration:
Prefix: ${prefix} Prefix: ${prefix}
Source code location: ${srcdir} Source code location: ${srcdir}
Compiler: ${CC} Compiler: ${CC}
Compiler Warnings: $ax_enable_compile_warnings Compiler Warnings: $enable_compile_warnings
Support for NetworkManager: $have_networkmanager Support for NetworkManager: $have_networkmanager
Support for GStreamer recording: $build_recorder Support for GStreamer recording: $build_recorder

View File

@@ -51,7 +51,6 @@
</key> </key>
<key name="looking-glass-history" type="as"> <key name="looking-glass-history" type="as">
<default>[]</default> <default>[]</default>
<!-- Translators: looking glass is a debugger and inspector tool, see https://live.gnome.org/GnomeShell/LookingGlass -->
<_summary>History for the looking glass dialog</_summary> <_summary>History for the looking glass dialog</_summary>
</key> </key>
<key name="always-show-log-out" type="b"> <key name="always-show-log-out" type="b">

View File

@@ -37,9 +37,10 @@ stage {
icon-shadow: 0 1px black; } icon-shadow: 0 1px black; }
.button:focus { .button:focus {
color: #eeeeec; color: #eeeeec;
border-color: #215d9c;
box-shadow: inset 0 1px #454f52;
text-shadow: 0 1px black; text-shadow: 0 1px black;
icon-shadow: 0 1px black; icon-shadow: 0 1px black; }
box-shadow: inset 0px 0px 0px 1px #215d9c; }
.button:insensitive { .button:insensitive {
color: #7f7f7f; color: #7f7f7f;
border-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7);
@@ -51,46 +52,9 @@ stage {
color: white; color: white;
border-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7);
background-color: #222728; background-color: #222728;
box-shadow: inset 0 0 black;
text-shadow: none;
icon-shadow: none; }
.modal-dialog-linked-button {
border-right-width: 1px;
color: #eeeeec;
background-color: #2e3436;
border-color: rgba(0, 0, 0, 0.7);
box-shadow: inset 0 1px #454f52;
text-shadow: 0 1px black;
icon-shadow: 0 1px black;
padding: 12px; }
.modal-dialog-linked-button:insensitive {
color: #7f7f7f;
border-color: rgba(0, 0, 0, 0.7);
background-color: rgba(62, 67, 68, 0.7);
box-shadow: none; box-shadow: none;
text-shadow: none; text-shadow: none;
icon-shadow: none; } icon-shadow: none; }
.modal-dialog-linked-button:active {
color: white;
border-color: rgba(0, 0, 0, 0.7);
background-color: #222728;
box-shadow: inset 0 0 black;
text-shadow: none;
icon-shadow: none; }
.modal-dialog-linked-button:focus {
color: #eeeeec;
text-shadow: 0 1px black;
icon-shadow: 0 1px black;
box-shadow: inset 0px 0px 0px 1px #215d9c; }
.modal-dialog-linked-button:first-child {
border-radius: 0px 0px 0px 6px; }
.modal-dialog-linked-button:last-child {
border-right-width: 0px;
border-radius: 0px 0px 6px 0px; }
.modal-dialog-linked-button:first-child:last-child {
border-right-width: 0px;
border-radius: 0px 0px 6px 6px; }
/* Entries */ /* Entries */
StEntry { StEntry {
@@ -196,12 +160,11 @@ StScrollBar {
background-color: white; } background-color: white; }
.modal-dialog { .modal-dialog {
border-radius: 9px; border-radius: 5px;
color: #eeeeec; color: #eeeeec;
background-color: rgba(23, 25, 26, 0.95); background-color: rgba(23, 25, 26, 0.95);
border: 3px solid rgba(238, 238, 236, 0.5); } border: 3px solid rgba(238, 238, 236, 0.5);
.modal-dialog .modal-dialog-content-box { padding: 24px; }
padding: 24px; }
.modal-dialog .run-dialog-entry { .modal-dialog .run-dialog-entry {
width: 20em; width: 20em;
margin-bottom: 6px; } margin-bottom: 6px; }
@@ -216,6 +179,10 @@ StScrollBar {
color: #d6d6d1; color: #d6d6d1;
padding-bottom: .4em; } padding-bottom: .4em; }
.button-dialog-button-box {
spacing: 18px;
padding-top: 48px; }
.show-processes-dialog-subject, .show-processes-dialog-subject,
.mount-question-dialog-subject, .mount-question-dialog-subject,
.end-session-dialog-subject { .end-session-dialog-subject {
@@ -408,9 +375,9 @@ StScrollBar {
spacing-rows: 15px; spacing-rows: 15px;
spacing-columns: 1em; } spacing-columns: 1em; }
/* Popovers/Menus */ /* Popvers/Menus */
.popup-menu { .popup-menu {
min-width: 15em; } min-width: 200px; }
.popup-menu .popup-sub-menu { .popup-menu .popup-sub-menu {
background-color: black; background-color: black;
box-shadow: inset 0 -1px 0px #0d0d0d; } box-shadow: inset 0 -1px 0px #0d0d0d; }
@@ -444,7 +411,7 @@ StScrollBar {
.popup-menu-ornament { .popup-menu-ornament {
text-align: right; text-align: right;
width: 1.2em; } width: 1em; }
.popup-menu-boxpointer, .popup-menu-boxpointer,
.candidate-popup-boxpointer { .candidate-popup-boxpointer {
@@ -752,7 +719,7 @@ StScrollBar {
/* Message list */ /* Message list */
.message-list { .message-list {
width: 31.5em; } width: 420px; }
.message-list-sections { .message-list-sections {
spacing: 1.5em; } spacing: 1.5em; }
@@ -787,12 +754,7 @@ StScrollBar {
padding: 8px 8px 8px 0px; } padding: 8px 8px 8px 0px; }
.message-icon-bin > StIcon { .message-icon-bin > StIcon {
icon-size: 32px; } icon-size: 48px; }
.message-secondary-bin:ltr {
padding-left: 8px; }
.message-secondary-bin:rtl {
padding-right: 8px; }
.message-secondary-bin { .message-secondary-bin {
color: #999999; } color: #999999; }
@@ -801,20 +763,14 @@ StScrollBar {
icon-size: 16px; } icon-size: 16px; }
.message-title { .message-title {
font-weight: bold; font-weight: bold; }
font-size: 1.1em; }
.message-content { .message-content {
padding: 8px; padding: 8px; }
font-size: .9em; }
.system-switch-user-submenu-icon.user-icon { .system-switch-user-submenu-icon {
icon-size: 20px; icon-size: 24px;
padding: 0 2px; } border: 1px solid rgba(255, 255, 255, 0.4); }
.system-switch-user-submenu-icon.default-icon {
icon-size: 16px;
padding: 0 4px; }
#appMenu { #appMenu {
spinner-image: url("resource:///org/gnome/shell/theme/process-working.svg"); spinner-image: url("resource:///org/gnome/shell/theme/process-working.svg");
@@ -823,7 +779,7 @@ StScrollBar {
color: transparent; } color: transparent; }
.aggregate-menu { .aggregate-menu {
min-width: 21em; } width: 360px; }
.aggregate-menu .popup-menu-icon { .aggregate-menu .popup-menu-icon {
padding: 0 4px; } padding: 0 4px; }
@@ -878,8 +834,7 @@ StScrollBar {
min-width: 470px; } min-width: 470px; }
.nm-dialog-content { .nm-dialog-content {
spacing: 20px; spacing: 20px; }
padding: 24px; }
.nm-dialog-header-hbox { .nm-dialog-header-hbox {
spacing: 10px; } spacing: 10px; }
@@ -1061,7 +1016,7 @@ StScrollBar {
color: white; color: white;
border-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7);
background-color: #222728; background-color: #222728;
box-shadow: inset 0 0 black; box-shadow: none;
text-shadow: none; text-shadow: none;
icon-shadow: none; } icon-shadow: none; }
.app-view-control:first-child { .app-view-control:first-child {
@@ -1380,9 +1335,10 @@ StScrollBar {
color: white; } color: white; }
.keyboard-key:focus { .keyboard-key:focus {
color: #eeeeec; color: #eeeeec;
border-color: #215d9c;
box-shadow: inset 0 1px #454f52;
text-shadow: 0 1px black; text-shadow: 0 1px black;
icon-shadow: 0 1px black; icon-shadow: 0 1px black; }
box-shadow: inset 0px 0px 0px 1px #215d9c; }
.keyboard-key:hover, .keyboard-key:checked { .keyboard-key:hover, .keyboard-key:checked {
color: white; color: white;
border-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7);
@@ -1394,7 +1350,7 @@ StScrollBar {
color: white; color: white;
border-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7);
background-color: #222728; background-color: #222728;
box-shadow: inset 0 0 black; box-shadow: none;
text-shadow: none; text-shadow: none;
icon-shadow: none; } icon-shadow: none; }
.keyboard-key:grayed { .keyboard-key:grayed {
@@ -1487,7 +1443,7 @@ StScrollBar {
color: white; color: white;
border-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7);
background-color: #1c5187; background-color: #1c5187;
box-shadow: inset 0 0 black; box-shadow: none;
text-shadow: none; text-shadow: none;
icon-shadow: none; } icon-shadow: none; }
.login-dialog .modal-dialog-button:default:insensitive { .login-dialog .modal-dialog-button:default:insensitive {

View File

@@ -37,9 +37,10 @@ stage {
icon-shadow: 0 1px black; } icon-shadow: 0 1px black; }
.button:focus { .button:focus {
color: #eeeeec; color: #eeeeec;
border-color: #215d9c;
box-shadow: inset 0 1px #454f52;
text-shadow: 0 1px black; text-shadow: 0 1px black;
icon-shadow: 0 1px black; icon-shadow: 0 1px black; }
box-shadow: inset 0px 0px 0px 1px #215d9c; }
.button:insensitive { .button:insensitive {
color: #939695; color: #939695;
border-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7);
@@ -51,46 +52,9 @@ stage {
color: white; color: white;
border-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7);
background-color: #222728; background-color: #222728;
box-shadow: inset 0 0 black;
text-shadow: none;
icon-shadow: none; }
.modal-dialog-linked-button {
border-right-width: 1px;
color: #eeeeec;
background-color: #2e3436;
border-color: rgba(0, 0, 0, 0.7);
box-shadow: inset 0 1px #454f52;
text-shadow: 0 1px black;
icon-shadow: 0 1px black;
padding: 12px; }
.modal-dialog-linked-button:insensitive {
color: #939695;
border-color: rgba(0, 0, 0, 0.7);
background-color: rgba(66, 71, 73, 0.7);
box-shadow: none; box-shadow: none;
text-shadow: none; text-shadow: none;
icon-shadow: none; } icon-shadow: none; }
.modal-dialog-linked-button:active {
color: white;
border-color: rgba(0, 0, 0, 0.7);
background-color: #222728;
box-shadow: inset 0 0 black;
text-shadow: none;
icon-shadow: none; }
.modal-dialog-linked-button:focus {
color: #eeeeec;
text-shadow: 0 1px black;
icon-shadow: 0 1px black;
box-shadow: inset 0px 0px 0px 1px #215d9c; }
.modal-dialog-linked-button:first-child {
border-radius: 0px 0px 0px 6px; }
.modal-dialog-linked-button:last-child {
border-right-width: 0px;
border-radius: 0px 0px 6px 0px; }
.modal-dialog-linked-button:first-child:last-child {
border-right-width: 0px;
border-radius: 0px 0px 6px 6px; }
/* Entries */ /* Entries */
StEntry { StEntry {
@@ -196,12 +160,11 @@ StScrollBar {
background-color: white; } background-color: white; }
.modal-dialog { .modal-dialog {
border-radius: 9px; border-radius: 5px;
color: #eeeeec; color: #eeeeec;
background-color: rgba(23, 25, 26, 0.95); background-color: rgba(23, 25, 26, 0.95);
border: 3px solid rgba(238, 238, 236, 0.5); } border: 3px solid rgba(238, 238, 236, 0.5);
.modal-dialog .modal-dialog-content-box { padding: 24px; }
padding: 24px; }
.modal-dialog .run-dialog-entry { .modal-dialog .run-dialog-entry {
width: 20em; width: 20em;
margin-bottom: 6px; } margin-bottom: 6px; }
@@ -216,6 +179,10 @@ StScrollBar {
color: #d6d6d1; color: #d6d6d1;
padding-bottom: .4em; } padding-bottom: .4em; }
.button-dialog-button-box {
spacing: 18px;
padding-top: 48px; }
.show-processes-dialog-subject, .show-processes-dialog-subject,
.mount-question-dialog-subject, .mount-question-dialog-subject,
.end-session-dialog-subject { .end-session-dialog-subject {
@@ -408,9 +375,9 @@ StScrollBar {
spacing-rows: 15px; spacing-rows: 15px;
spacing-columns: 1em; } spacing-columns: 1em; }
/* Popovers/Menus */ /* Popvers/Menus */
.popup-menu { .popup-menu {
min-width: 15em; } min-width: 200px; }
.popup-menu .popup-sub-menu { .popup-menu .popup-sub-menu {
background-color: #343a3a; background-color: #343a3a;
box-shadow: inset 0 -1px 0px #282c2c; } box-shadow: inset 0 -1px 0px #282c2c; }
@@ -444,7 +411,7 @@ StScrollBar {
.popup-menu-ornament { .popup-menu-ornament {
text-align: right; text-align: right;
width: 1.2em; } width: 1em; }
.popup-menu-boxpointer, .popup-menu-boxpointer,
.candidate-popup-boxpointer { .candidate-popup-boxpointer {
@@ -752,7 +719,7 @@ StScrollBar {
/* Message list */ /* Message list */
.message-list { .message-list {
width: 31.5em; } width: 420px; }
.message-list-sections { .message-list-sections {
spacing: 1.5em; } spacing: 1.5em; }
@@ -787,12 +754,7 @@ StScrollBar {
padding: 8px 8px 8px 0px; } padding: 8px 8px 8px 0px; }
.message-icon-bin > StIcon { .message-icon-bin > StIcon {
icon-size: 32px; } icon-size: 48px; }
.message-secondary-bin:ltr {
padding-left: 8px; }
.message-secondary-bin:rtl {
padding-right: 8px; }
.message-secondary-bin { .message-secondary-bin {
color: #8e8e80; } color: #8e8e80; }
@@ -801,20 +763,14 @@ StScrollBar {
icon-size: 16px; } icon-size: 16px; }
.message-title { .message-title {
font-weight: bold; font-weight: bold; }
font-size: 1.1em; }
.message-content { .message-content {
padding: 8px; padding: 8px; }
font-size: .9em; }
.system-switch-user-submenu-icon.user-icon { .system-switch-user-submenu-icon {
icon-size: 20px; icon-size: 24px;
padding: 0 2px; } border: 1px solid rgba(238, 238, 236, 0.4); }
.system-switch-user-submenu-icon.default-icon {
icon-size: 16px;
padding: 0 4px; }
#appMenu { #appMenu {
spinner-image: url("resource:///org/gnome/shell/theme/process-working.svg"); spinner-image: url("resource:///org/gnome/shell/theme/process-working.svg");
@@ -823,7 +779,7 @@ StScrollBar {
color: transparent; } color: transparent; }
.aggregate-menu { .aggregate-menu {
min-width: 21em; } width: 360px; }
.aggregate-menu .popup-menu-icon { .aggregate-menu .popup-menu-icon {
padding: 0 4px; } padding: 0 4px; }
@@ -878,8 +834,7 @@ StScrollBar {
min-width: 470px; } min-width: 470px; }
.nm-dialog-content { .nm-dialog-content {
spacing: 20px; spacing: 20px; }
padding: 24px; }
.nm-dialog-header-hbox { .nm-dialog-header-hbox {
spacing: 10px; } spacing: 10px; }
@@ -1061,7 +1016,7 @@ StScrollBar {
color: white; color: white;
border-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7);
background-color: #222728; background-color: #222728;
box-shadow: inset 0 0 black; box-shadow: none;
text-shadow: none; text-shadow: none;
icon-shadow: none; } icon-shadow: none; }
.app-view-control:first-child { .app-view-control:first-child {
@@ -1380,9 +1335,10 @@ StScrollBar {
color: white; } color: white; }
.keyboard-key:focus { .keyboard-key:focus {
color: #eeeeec; color: #eeeeec;
border-color: #215d9c;
box-shadow: inset 0 1px #454f52;
text-shadow: 0 1px black; text-shadow: 0 1px black;
icon-shadow: 0 1px black; icon-shadow: 0 1px black; }
box-shadow: inset 0px 0px 0px 1px #215d9c; }
.keyboard-key:hover, .keyboard-key:checked { .keyboard-key:hover, .keyboard-key:checked {
color: white; color: white;
border-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7);
@@ -1394,7 +1350,7 @@ StScrollBar {
color: white; color: white;
border-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7);
background-color: #222728; background-color: #222728;
box-shadow: inset 0 0 black; box-shadow: none;
text-shadow: none; text-shadow: none;
icon-shadow: none; } icon-shadow: none; }
.keyboard-key:grayed { .keyboard-key:grayed {
@@ -1487,7 +1443,7 @@ StScrollBar {
color: white; color: white;
border-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7);
background-color: #1c5187; background-color: #1c5187;
box-shadow: inset 0 0 black; box-shadow: none;
text-shadow: none; text-shadow: none;
icon-shadow: none; } icon-shadow: none; }
.login-dialog .modal-dialog-button:default:insensitive { .login-dialog .modal-dialog-button:default:insensitive {

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -14,7 +14,7 @@ const ShellEntry = imports.ui.shellEntry;
const Tweener = imports.ui.tweener; const Tweener = imports.ui.tweener;
const UserWidget = imports.ui.userWidget; const UserWidget = imports.ui.userWidget;
const DEFAULT_BUTTON_WELL_ICON_SIZE = 16; const DEFAULT_BUTTON_WELL_ICON_SIZE = 24;
const DEFAULT_BUTTON_WELL_ANIMATION_DELAY = 1.0; const DEFAULT_BUTTON_WELL_ANIMATION_DELAY = 1.0;
const DEFAULT_BUTTON_WELL_ANIMATION_TIME = 0.3; const DEFAULT_BUTTON_WELL_ANIMATION_TIME = 0.3;
@@ -258,7 +258,6 @@ const AuthPrompt = new Lang.Class({
}, },
_onVerificationComplete: function() { _onVerificationComplete: function() {
this.setActorInDefaultButtonWell(null);
this.verificationStatus = AuthPromptStatus.VERIFICATION_SUCCEEDED; this.verificationStatus = AuthPromptStatus.VERIFICATION_SUCCEEDED;
this.cancelButton.reactive = false; this.cancelButton.reactive = false;
}, },
@@ -282,12 +281,6 @@ const AuthPrompt = new Lang.Class({
if (oldActor) if (oldActor)
Tweener.removeTweens(oldActor); Tweener.removeTweens(oldActor);
let wasSpinner;
if (oldActor == this._spinner.actor)
wasSpinner = true;
else
wasSpinner = false;
let isSpinner; let isSpinner;
if (actor == this._spinner.actor) if (actor == this._spinner.actor)
isSpinner = true; isSpinner = true;
@@ -297,11 +290,6 @@ const AuthPrompt = new Lang.Class({
if (this._defaultButtonWellActor != actor && oldActor) { if (this._defaultButtonWellActor != actor && oldActor) {
if (!animate) { if (!animate) {
oldActor.opacity = 0; oldActor.opacity = 0;
if (wasSpinner) {
if (this._spinner)
this._spinner.stop();
}
} else { } else {
Tweener.addTween(oldActor, Tweener.addTween(oldActor,
{ opacity: 0, { opacity: 0,
@@ -310,7 +298,7 @@ const AuthPrompt = new Lang.Class({
transition: 'linear', transition: 'linear',
onCompleteScope: this, onCompleteScope: this,
onComplete: function() { onComplete: function() {
if (wasSpinner) { if (isSpinner) {
if (this._spinner) if (this._spinner)
this._spinner.stop(); this._spinner.stop();
} }
@@ -413,7 +401,7 @@ const AuthPrompt = new Lang.Class({
}, },
updateSensitivity: function(sensitive) { updateSensitivity: function(sensitive) {
this._updateNextButtonSensitivity(sensitive && this._entry.text.length > 0); this._updateNextButtonSensitivity(sensitive);
this._entry.reactive = sensitive; this._entry.reactive = sensitive;
this._entry.clutter_text.editable = sensitive; this._entry.clutter_text.editable = sensitive;
}, },
@@ -444,9 +432,8 @@ const AuthPrompt = new Lang.Class({
let oldStatus = this.verificationStatus; let oldStatus = this.verificationStatus;
this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; this.verificationStatus = AuthPromptStatus.NOT_VERIFYING;
this.cancelButton.reactive = true; this.cancelButton.reactive = true;
this.nextButton.label = _("Next");
if (this._userVerifier) if (oldStatus == AuthPromptStatus.VERIFYING)
this._userVerifier.cancel(); this._userVerifier.cancel();
this._queryingService = null; this._queryingService = null;
@@ -501,7 +488,6 @@ const AuthPrompt = new Lang.Class({
finish: function(onComplete) { finish: function(onComplete) {
if (!this._userVerifier.hasPendingMessages) { if (!this._userVerifier.hasPendingMessages) {
this._userVerifier.clear();
onComplete(); onComplete();
return; return;
} }
@@ -509,13 +495,12 @@ const AuthPrompt = new Lang.Class({
let signalId = this._userVerifier.connect('no-more-messages', let signalId = this._userVerifier.connect('no-more-messages',
Lang.bind(this, function() { Lang.bind(this, function() {
this._userVerifier.disconnect(signalId); this._userVerifier.disconnect(signalId);
this._userVerifier.clear();
onComplete(); onComplete();
})); }));
}, },
cancel: function() { cancel: function() {
if (this.verificationStatus == AuthPromptStatus.VERIFICATION_SUCCEEDED) { if (this.verificationStatus == AuthPromptStatus.NOT_VERIFYING || this.verificationStatus == AuthPromptStatus.VERIFICATION_SUCCEEDED) {
return; return;
} }
this.reset(); this.reset();

View File

@@ -16,34 +16,6 @@
* along with this program; if not, see <http://www.gnu.org/licenses/>. * 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 Lang = imports.lang;
const Signals = imports.signals; const Signals = imports.signals;

View File

@@ -535,9 +535,6 @@ const LoginDialog = new Lang.Class({
let centerX = dialogBox.x1 + (dialogBox.x2 - dialogBox.x1) / 2; let centerX = dialogBox.x1 + (dialogBox.x2 - dialogBox.x1) / 2;
let centerY = dialogBox.y1 + (dialogBox.y2 - dialogBox.y1) / 2; let centerY = dialogBox.y1 + (dialogBox.y2 - dialogBox.y1) / 2;
natWidth = Math.min(natWidth, dialogBox.x2 - dialogBox.x1);
natHeight = Math.min(natHeight, dialogBox.y2 - dialogBox.y1);
actorBox.x1 = Math.floor(centerX - natWidth / 2); actorBox.x1 = Math.floor(centerX - natWidth / 2);
actorBox.y1 = Math.floor(centerY - natHeight / 2); actorBox.y1 = Math.floor(centerY - natHeight / 2);
actorBox.x2 = actorBox.x1 + natWidth; actorBox.x2 = actorBox.x1 + natWidth;
@@ -877,7 +874,7 @@ const LoginDialog = new Lang.Class({
}, },
_loginScreenSessionActivated: function() { _loginScreenSessionActivated: function() {
if (this.actor.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING) if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.VERIFICATION_SUCCEEDED)
return; return;
Tweener.addTween(this.actor, Tweener.addTween(this.actor,
@@ -894,8 +891,7 @@ const LoginDialog = new Lang.Class({
}, },
onUpdateScope: this, onUpdateScope: this,
onComplete: function() { onComplete: function() {
if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING) this._authPrompt.reset();
this._authPrompt.reset();
}, },
onCompleteScope: this }); onCompleteScope: this });
}, },

View File

@@ -448,6 +448,8 @@ const AppSwitcher = new Lang.Class({
}); });
if (appIcon.cachedWindows.length > 0) if (appIcon.cachedWindows.length > 0)
this._addIcon(appIcon); this._addIcon(appIcon);
else if (workspace == null)
throw new Error('%s appears to be running, but doesn\'t have any windows'.format(appIcon.app.get_name()));
} }
this._curApp = -1; this._curApp = -1;

View File

@@ -7,7 +7,7 @@ const St = imports.gi.St;
const Signals = imports.signals; const Signals = imports.signals;
const Atk = imports.gi.Atk; const Atk = imports.gi.Atk;
const ANIMATED_ICON_UPDATE_TIMEOUT = 14; const ANIMATED_ICON_UPDATE_TIMEOUT = 100;
const Animation = new Lang.Class({ const Animation = new Lang.Class({
Name: 'Animation', Name: 'Animation',

View File

@@ -500,11 +500,6 @@ const AllView = new Lang.Class({
_loadApps: function() { _loadApps: function() {
let apps = Gio.AppInfo.get_all().filter(function(appInfo) { let apps = Gio.AppInfo.get_all().filter(function(appInfo) {
try {
let id = appInfo.get_id(); // catch invalid file encodings
} catch(e) {
return false;
}
return appInfo.should_show(); return appInfo.should_show();
}).map(function(app) { }).map(function(app) {
return app.get_id(); return app.get_id();
@@ -1066,7 +1061,7 @@ const AppSearchProvider = new Lang.Class({
getInitialResultSet: function(terms, callback, cancellable) { getInitialResultSet: function(terms, callback, cancellable) {
let query = terms.join(' '); let query = terms.join(' ');
let groups = Shell.AppSystem.search(query); let groups = Gio.DesktopAppInfo.search(query);
let usage = Shell.AppUsage.get_default(); let usage = Shell.AppUsage.get_default();
let results = []; let results = [];
groups.forEach(function(group) { groups.forEach(function(group) {
@@ -1295,10 +1290,7 @@ const FolderIcon = new Lang.Class({
if (!_listsIntersect(folderCategories, appCategories)) if (!_listsIntersect(folderCategories, appCategories))
return; return;
try { addAppId(appInfo.get_id());
addAppId(appInfo.get_id()); // catch invalid file encodings
} catch(e) {
}
}); });
this.actor.visible = this.view.getAllItems().length > 0; this.actor.visible = this.view.getAllItems().length > 0;

View File

@@ -144,7 +144,6 @@ const BackgroundCache = new Lang.Class({
this._pendingFileLoads = []; this._pendingFileLoads = [];
this._fileMonitors = {}; this._fileMonitors = {};
this._backgroundSources = {}; this._backgroundSources = {};
this._animations = {};
}, },
monitorFile: function(file) { monitorFile: function(file) {
@@ -163,13 +162,12 @@ const BackgroundCache = new Lang.Class({
getAnimation: function(params) { getAnimation: function(params) {
params = Params.parse(params, { file: null, params = Params.parse(params, { file: null,
settingsSchema: null,
onLoaded: null }); onLoaded: null });
if (this._animations[params.settingsSchema] && _fileEqual0(this._animationFile, params.file)) { if (_fileEqual0(this._animationFile, params.file)) {
if (params.onLoaded) { if (params.onLoaded) {
let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() {
params.onLoaded(this._animations[params.settingsSchema]); params.onLoaded(this._animation);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(id, '[gnome-shell] params.onLoaded'); GLib.Source.set_name_by_id(id, '[gnome-shell] params.onLoaded');
@@ -180,11 +178,12 @@ const BackgroundCache = new Lang.Class({
let animation = new Animation({ file: params.file }); let animation = new Animation({ file: params.file });
animation.load(Lang.bind(this, function() { animation.load(Lang.bind(this, function() {
this._animations[params.settingsSchema] = animation; this._animationFile = params.file;
this._animation = animation;
if (params.onLoaded) { if (params.onLoaded) {
let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() {
params.onLoaded(this._animations[params.settingsSchema]); params.onLoaded(this._animation);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(id, '[gnome-shell] params.onLoaded'); GLib.Source.set_name_by_id(id, '[gnome-shell] params.onLoaded');
@@ -404,18 +403,17 @@ const Background = new Lang.Class({
_loadAnimation: function(file) { _loadAnimation: function(file) {
this._cache.getAnimation({ file: file, this._cache.getAnimation({ file: file,
settingsSchema: this._settings.schema_id, onLoaded: Lang.bind(this, function(animation) {
onLoaded: Lang.bind(this, function(animation) { this._animation = animation;
this._animation = animation;
if (!this._animation || this._cancellable.is_cancelled()) { if (!this._animation || this._cancellable.is_cancelled()) {
this._setLoaded(); this._setLoaded();
return; return;
} }
this._updateAnimation(); this._updateAnimation();
this._watchFile(file); this._watchFile(file);
}) })
}); });
}, },

View File

@@ -24,8 +24,6 @@ const MSECS_IN_DAY = 24 * 60 * 60 * 1000;
const SHOW_WEEKDATE_KEY = 'show-weekdate'; const SHOW_WEEKDATE_KEY = 'show-weekdate';
const ELLIPSIS_CHAR = '\u2026'; const ELLIPSIS_CHAR = '\u2026';
const MESSAGE_ICON_SIZE = 32;
const MESSAGE_ANIMATION_TIME = 0.1; const MESSAGE_ANIMATION_TIME = 0.1;
const DEFAULT_EXPAND_LINES = 6; const DEFAULT_EXPAND_LINES = 6;
@@ -978,6 +976,7 @@ const Message = new Lang.Class({
this._iconBin = new St.Bin({ style_class: 'message-icon-bin', this._iconBin = new St.Bin({ style_class: 'message-icon-bin',
y_expand: true, y_expand: true,
visible: false }); visible: false });
this._iconBin.set_y_align(Clutter.ActorAlign.START);
hbox.add_actor(this._iconBin); hbox.add_actor(this._iconBin);
let contentBox = new St.BoxLayout({ style_class: 'message-content', let contentBox = new St.BoxLayout({ style_class: 'message-content',
@@ -1230,7 +1229,7 @@ const NotificationMessage = new Lang.Class({
this._closed = true; this._closed = true;
this.notification.destroy(MessageTray.NotificationDestroyedReason.DISMISSED); this.notification.destroy(MessageTray.NotificationDestroyedReason.DISMISSED);
})); }));
this._destroyId = notification.connect('destroy', Lang.bind(this, notification.connect('destroy', Lang.bind(this,
function() { function() {
if (!this._closed) if (!this._closed)
this.close(); this.close();
@@ -1241,10 +1240,9 @@ const NotificationMessage = new Lang.Class({
_getIcon: function() { _getIcon: function() {
if (this.notification.gicon) if (this.notification.gicon)
return new St.Icon({ gicon: this.notification.gicon, return new St.Icon({ gicon: this.notification.gicon, icon_size: 48 });
icon_size: MESSAGE_ICON_SIZE });
else else
return this.notification.source.createIcon(MESSAGE_ICON_SIZE); return this.notification.source.createIcon(48);
}, },
_onUpdated: function(n, clear) { _onUpdated: function(n, clear) {
@@ -1262,10 +1260,6 @@ const NotificationMessage = new Lang.Class({
if (this._updatedId) if (this._updatedId)
this.notification.disconnect(this._updatedId); this.notification.disconnect(this._updatedId);
this._updatedId = 0; this._updatedId = 0;
if (this._destroyId)
this.notification.disconnect(this._destroyId);
this._destroyId = 0;
} }
}); });

View File

@@ -325,6 +325,9 @@ const AutorunNotification = new Lang.Class({
this._manager = manager; this._manager = manager;
this._mount = source.mount; this._mount = source.mount;
// set the notification to urgent, so that it expands out
this.setUrgency(MessageTray.Urgency.CRITICAL);
}, },
createBanner: function() { createBanner: function() {

View File

@@ -9,15 +9,9 @@ const Gio = imports.gi.Gio;
const GObject = imports.gi.GObject; const GObject = imports.gi.GObject;
const Gcr = imports.gi.Gcr; const Gcr = imports.gi.Gcr;
const Animation = imports.ui.animation;
const ModalDialog = imports.ui.modalDialog; const ModalDialog = imports.ui.modalDialog;
const ShellEntry = imports.ui.shellEntry; const ShellEntry = imports.ui.shellEntry;
const CheckBox = imports.ui.checkBox; const CheckBox = imports.ui.checkBox;
const Tweener = imports.ui.tweener;
const WORK_SPINNER_ICON_SIZE = 16;
const WORK_SPINNER_ANIMATION_DELAY = 1.0;
const WORK_SPINNER_ANIMATION_TIME = 0.3;
const KeyringDialog = new Lang.Class({ const KeyringDialog = new Lang.Class({
Name: 'KeyringDialog', Name: 'KeyringDialog',
@@ -64,47 +58,27 @@ const KeyringDialog = new Lang.Class({
{ y_fill: true, { y_fill: true,
y_align: St.Align.START }); y_align: St.Align.START });
this._workSpinner = null;
this._controlTable = null; this._controlTable = null;
this._cancelButton = this.addButton({ label: '', this._cancelButton = this.addButton({ label: '',
action: Lang.bind(this, this._onCancelButton), action: Lang.bind(this, this._onCancelButton),
key: Clutter.Escape }); key: Clutter.Escape },
{ expand: true, x_fill: false, x_align: St.Align.START });
this.placeSpinner({ expand: false,
x_fill: false,
y_fill: false,
x_align: St.Align.END,
y_align: St.Align.MIDDLE });
this._continueButton = this.addButton({ label: '', this._continueButton = this.addButton({ label: '',
action: Lang.bind(this, this._onContinueButton), action: Lang.bind(this, this._onContinueButton),
default: true }); default: true },
{ expand: false, x_fill: false, x_align: St.Align.END });
this.prompt.bind_property('cancel-label', this._cancelButton, 'label', GObject.BindingFlags.SYNC_CREATE); this.prompt.bind_property('cancel-label', this._cancelButton, 'label', GObject.BindingFlags.SYNC_CREATE);
this.prompt.bind_property('continue-label', this._continueButton, 'label', GObject.BindingFlags.SYNC_CREATE); this.prompt.bind_property('continue-label', this._continueButton, 'label', GObject.BindingFlags.SYNC_CREATE);
}, },
_setWorking: function(working) {
if (!this._workSpinner)
return;
Tweener.removeTweens(this._workSpinner.actor);
if (working) {
this._workSpinner.play();
Tweener.addTween(this._workSpinner.actor,
{ opacity: 255,
delay: WORK_SPINNER_ANIMATION_DELAY,
time: WORK_SPINNER_ANIMATION_TIME,
transition: 'linear'
});
} else {
Tweener.addTween(this._workSpinner.actor,
{ opacity: 0,
time: WORK_SPINNER_ANIMATION_TIME,
transition: 'linear',
onCompleteScope: this,
onComplete: function() {
if (this._workSpinner)
this._workSpinner.stop();
}
});
}
},
_buildControlTable: function() { _buildControlTable: function() {
let layout = new Clutter.GridLayout({ orientation: Clutter.Orientation.VERTICAL }); let layout = new Clutter.GridLayout({ orientation: Clutter.Orientation.VERTICAL });
let table = new St.Widget({ style_class: 'keyring-dialog-control-table', let table = new St.Widget({ style_class: 'keyring-dialog-control-table',
@@ -127,22 +101,15 @@ const KeyringDialog = new Lang.Class({
ShellEntry.addContextMenu(this._passwordEntry, { isPassword: true }); ShellEntry.addContextMenu(this._passwordEntry, { isPassword: true });
this._passwordEntry.clutter_text.connect('activate', Lang.bind(this, this._onPasswordActivate)); this._passwordEntry.clutter_text.connect('activate', Lang.bind(this, this._onPasswordActivate));
let spinnerIcon = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg');
this._workSpinner = new Animation.AnimatedIcon(spinnerIcon, WORK_SPINNER_ICON_SIZE);
this._workSpinner.actor.opacity = 0;
if (rtl) { if (rtl) {
layout.attach(this._workSpinner.actor, 0, row, 1, 1); layout.attach(this._passwordEntry, 0, row, 1, 1);
layout.attach(this._passwordEntry, 1, row, 1, 1); layout.attach(label, 1, row, 1, 1);
layout.attach(label, 2, row, 1, 1);
} else { } else {
layout.attach(label, 0, row, 1, 1); layout.attach(label, 0, row, 1, 1);
layout.attach(this._passwordEntry, 1, row, 1, 1); layout.attach(this._passwordEntry, 1, row, 1, 1);
layout.attach(this._workSpinner.actor, 2, row, 1, 1);
} }
row++; row++;
} else { } else {
this._workSpinner = null;
this._passwordEntry = null; this._passwordEntry = null;
} }
@@ -211,7 +178,7 @@ const KeyringDialog = new Lang.Class({
this._continueButton.can_focus = sensitive; this._continueButton.can_focus = sensitive;
this._continueButton.reactive = sensitive; this._continueButton.reactive = sensitive;
this._setWorking(!sensitive); this.setWorking(!sensitive);
}, },
_ensureOpen: function() { _ensureOpen: function() {

View File

@@ -13,19 +13,13 @@ const Mainloop = imports.mainloop;
const Polkit = imports.gi.Polkit; const Polkit = imports.gi.Polkit;
const PolkitAgent = imports.gi.PolkitAgent; const PolkitAgent = imports.gi.PolkitAgent;
const Animation = imports.ui.animation;
const Components = imports.ui.components; const Components = imports.ui.components;
const ModalDialog = imports.ui.modalDialog; const ModalDialog = imports.ui.modalDialog;
const ShellEntry = imports.ui.shellEntry; const ShellEntry = imports.ui.shellEntry;
const UserWidget = imports.ui.userWidget; const UserWidget = imports.ui.userWidget;
const Tweener = imports.ui.tweener;
const DIALOG_ICON_SIZE = 48; const DIALOG_ICON_SIZE = 48;
const WORK_SPINNER_ICON_SIZE = 16;
const WORK_SPINNER_ANIMATION_DELAY = 1.0;
const WORK_SPINNER_ANIMATION_TIME = 0.3;
const AuthenticationDialog = new Lang.Class({ const AuthenticationDialog = new Lang.Class({
Name: 'AuthenticationDialog', Name: 'AuthenticationDialog',
Extends: ModalDialog.ModalDialog, Extends: ModalDialog.ModalDialog,
@@ -142,13 +136,6 @@ const AuthenticationDialog = new Lang.Class({
this._passwordEntry.clutter_text.connect('activate', Lang.bind(this, this._onEntryActivate)); this._passwordEntry.clutter_text.connect('activate', Lang.bind(this, this._onEntryActivate));
this._passwordBox.add(this._passwordEntry, this._passwordBox.add(this._passwordEntry,
{ expand: true }); { expand: true });
let spinnerIcon = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg');
this._workSpinner = new Animation.AnimatedIcon(spinnerIcon, WORK_SPINNER_ICON_SIZE);
this._workSpinner.actor.opacity = 0;
this._passwordBox.add(this._workSpinner.actor);
this.setInitialKeyFocus(this._passwordEntry); this.setInitialKeyFocus(this._passwordEntry);
this._passwordBox.hide(); this._passwordBox.hide();
@@ -178,10 +165,17 @@ const AuthenticationDialog = new Lang.Class({
this._cancelButton = this.addButton({ label: _("Cancel"), this._cancelButton = this.addButton({ label: _("Cancel"),
action: Lang.bind(this, this.cancel), action: Lang.bind(this, this.cancel),
key: Clutter.Escape }); key: Clutter.Escape },
{ expand: true, x_fill: false, x_align: St.Align.START });
this.placeSpinner({ expand: false,
x_fill: false,
y_fill: false,
x_align: St.Align.END,
y_align: St.Align.MIDDLE });
this._okButton = this.addButton({ label: _("Authenticate"), this._okButton = this.addButton({ label: _("Authenticate"),
action: Lang.bind(this, this._onAuthenticateButtonPressed), action: Lang.bind(this, this._onAuthenticateButtonPressed),
default: true }); default: true },
{ expand: false, x_fill: false, x_align: St.Align.END });
this._doneEmitted = false; this._doneEmitted = false;
@@ -189,30 +183,6 @@ const AuthenticationDialog = new Lang.Class({
this._cookie = cookie; this._cookie = cookie;
}, },
_setWorking: function(working) {
Tweener.removeTweens(this._workSpinner.actor);
if (working) {
this._workSpinner.play();
Tweener.addTween(this._workSpinner.actor,
{ opacity: 255,
delay: WORK_SPINNER_ANIMATION_DELAY,
time: WORK_SPINNER_ANIMATION_TIME,
transition: 'linear'
});
} else {
Tweener.addTween(this._workSpinner.actor,
{ opacity: 0,
time: WORK_SPINNER_ANIMATION_TIME,
transition: 'linear',
onCompleteScope: this,
onComplete: function() {
if (this._workSpinner)
this._workSpinner.stop();
}
});
}
},
performAuthentication: function() { performAuthentication: function() {
this.destroySession(); this.destroySession();
this._session = new PolkitAgent.Session({ identity: this._identityToAuth, this._session = new PolkitAgent.Session({ identity: this._identityToAuth,
@@ -259,7 +229,7 @@ const AuthenticationDialog = new Lang.Class({
this._okButton.can_focus = sensitive; this._okButton.can_focus = sensitive;
this._okButton.reactive = sensitive; this._okButton.reactive = sensitive;
this._setWorking(!sensitive); this.setWorking(!sensitive);
}, },
_onEntryActivate: function() { _onEntryActivate: function() {

View File

@@ -303,8 +303,6 @@ const ChatSource = new Lang.Class({
}, },
_createPolicy: function() { _createPolicy: function() {
if (this._account.protocol_name == 'irc')
return new MessageTray.NotificationApplicationPolicy('org.gnome.Polari');
return new MessageTray.NotificationApplicationPolicy('empathy'); return new MessageTray.NotificationApplicationPolicy('empathy');
}, },

View File

@@ -644,14 +644,15 @@ const Dash = new Lang.Class({
let firstIcon = firstButton._delegate.icon; let firstIcon = firstButton._delegate.icon;
let minHeight, natHeight; let minHeight, natHeight;
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
// Enforce the current icon size during the size request // Enforce the current icon size during the size request
firstIcon.icon.ensure_style(); firstIcon.setIconSize(this.iconSize);
let [currentWidth, currentHeight] = firstIcon.icon.get_size();
firstIcon.icon.set_size(this.iconSize * scaleFactor, this.iconSize * scaleFactor);
[minHeight, natHeight] = firstButton.get_preferred_height(-1); [minHeight, natHeight] = firstButton.get_preferred_height(-1);
firstIcon.icon.set_size(currentWidth, currentHeight);
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
let iconSizes = baseIconSizes.map(function(s) {
return s * scaleFactor;
});
// Subtract icon padding and box spacing from the available height // Subtract icon padding and box spacing from the available height
availHeight -= iconChildren.length * (natHeight - this.iconSize * scaleFactor) + availHeight -= iconChildren.length * (natHeight - this.iconSize * scaleFactor) +
@@ -659,10 +660,6 @@ const Dash = new Lang.Class({
let availSize = availHeight / iconChildren.length; let availSize = availHeight / iconChildren.length;
let iconSizes = baseIconSizes.map(function(s) {
return s * scaleFactor;
});
let newIconSize = baseIconSizes[0]; let newIconSize = baseIconSizes[0];
for (let i = 0; i < iconSizes.length; i++) { for (let i = 0; i < iconSizes.length; i++) {
if (iconSizes[i] < availSize) if (iconSizes[i] < availSize)

View File

@@ -24,6 +24,9 @@ const KEYBOARD_TYPE = 'keyboard-type';
const A11Y_APPLICATIONS_SCHEMA = 'org.gnome.desktop.a11y.applications'; const A11Y_APPLICATIONS_SCHEMA = 'org.gnome.desktop.a11y.applications';
const SHOW_KEYBOARD = 'screen-keyboard-enabled'; const SHOW_KEYBOARD = 'screen-keyboard-enabled';
const CURSOR_BUS_NAME = 'org.gnome.SettingsDaemon.Cursor';
const CURSOR_OBJECT_PATH = '/org/gnome/SettingsDaemon/Cursor';
const CARIBOU_BUS_NAME = 'org.gnome.Caribou.Daemon'; const CARIBOU_BUS_NAME = 'org.gnome.Caribou.Daemon';
const CARIBOU_OBJECT_PATH = '/org/gnome/Caribou/Daemon'; const CARIBOU_OBJECT_PATH = '/org/gnome/Caribou/Daemon';
@@ -204,6 +207,9 @@ const Keyboard = new Lang.Class({
this._keyboardSettings.connect('changed', Lang.bind(this, this._sync)); this._keyboardSettings.connect('changed', Lang.bind(this, this._sync));
this._a11yApplicationsSettings = new Gio.Settings({ schema_id: A11Y_APPLICATIONS_SCHEMA }); this._a11yApplicationsSettings = new Gio.Settings({ schema_id: A11Y_APPLICATIONS_SCHEMA });
this._a11yApplicationsSettings.connect('changed', Lang.bind(this, this._sync)); this._a11yApplicationsSettings.connect('changed', Lang.bind(this, this._sync));
this._watchNameId = Gio.bus_watch_name(Gio.BusType.SESSION, CURSOR_BUS_NAME, 0,
Lang.bind(this, this._sync),
Lang.bind(this, this._sync));
this._daemonProxy = null; this._daemonProxy = null;
this._lastDeviceId = null; this._lastDeviceId = null;

View File

@@ -4,7 +4,6 @@ const Atspi = imports.gi.Atspi;
const Clutter = imports.gi.Clutter; const Clutter = imports.gi.Clutter;
const GDesktopEnums = imports.gi.GDesktopEnums; const GDesktopEnums = imports.gi.GDesktopEnums;
const Gio = imports.gi.Gio; const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Shell = imports.gi.Shell; const Shell = imports.gi.Shell;
const St = imports.gi.St; const St = imports.gi.St;
const Lang = imports.lang; const Lang = imports.lang;
@@ -23,8 +22,6 @@ const MOUSE_POLL_FREQUENCY = 50;
const CROSSHAIRS_CLIP_SIZE = [100, 100]; const CROSSHAIRS_CLIP_SIZE = [100, 100];
const NO_CHANGE = 0.0; const NO_CHANGE = 0.0;
const POINTER_REST_TIME = 1000; // milliseconds
// Settings // Settings
const APPLICATIONS_SCHEMA = 'org.gnome.desktop.a11y.applications'; const APPLICATIONS_SCHEMA = 'org.gnome.desktop.a11y.applications';
const SHOW_KEY = 'screen-magnifier-enabled'; const SHOW_KEY = 'screen-magnifier-enabled';
@@ -712,9 +709,6 @@ const ZoomRegion = new Lang.Class({
this._xCaret = 0; this._xCaret = 0;
this._yCaret = 0; this._yCaret = 0;
this._pointerIdleMonitor = Meta.IdleMonitor.get_for_device(Meta.VIRTUAL_CORE_POINTER_ID);
this._scrollContentsTimerId = 0;
Main.layoutManager.connect('monitors-changed', Main.layoutManager.connect('monitors-changed',
Lang.bind(this, this._monitorsChanged)); Lang.bind(this, this._monitorsChanged));
this._focusCaretTracker.connect('caret-moved', this._focusCaretTracker.connect('caret-moved',
@@ -1074,26 +1068,6 @@ const ZoomRegion = new Lang.Class({
return this._isMouseOverRegion(); return this._isMouseOverRegion();
}, },
_clearScrollContentsTimer: function() {
if (this._scrollContentsTimerId != 0) {
Mainloop.source_remove(this._scrollContentsTimerId);
this._scrollContentsTimerId = 0;
}
},
_scrollContentsToDelayed: function(x, y) {
if (this._pointerIdleMonitor.get_idletime() >= POINTER_REST_TIME) {
this.scrollContentsTo(x, y);
return;
}
this._clearScrollContentsTimer();
this._scrollContentsTimerId = Mainloop.timeout_add(POINTER_REST_TIME, Lang.bind(this, function() {
this._scrollContentsToDelayed(x, y);
return GLib.SOURCE_REMOVE;
}));
},
/** /**
* scrollContentsTo: * scrollContentsTo:
* Shift the contents of the magnified view such it is centered on the given * Shift the contents of the magnified view such it is centered on the given
@@ -1102,8 +1076,6 @@ const ZoomRegion = new Lang.Class({
* @y: The y-coord of the point to center on. * @y: The y-coord of the point to center on.
*/ */
scrollContentsTo: function(x, y) { scrollContentsTo: function(x, y) {
this._clearScrollContentsTimer();
this._followingCursor = false; this._followingCursor = false;
this._changeROI({ xCenter: x, this._changeROI({ xCenter: x,
yCenter: y }); yCenter: y });
@@ -1409,7 +1381,7 @@ const ZoomRegion = new Lang.Class({
else if (this._caretTrackingMode == GDesktopEnums.MagnifierCaretTrackingMode.CENTERED) else if (this._caretTrackingMode == GDesktopEnums.MagnifierCaretTrackingMode.CENTERED)
[xCaret, yCaret] = this._centerFromPointCentered(xCaret, yCaret); [xCaret, yCaret] = this._centerFromPointCentered(xCaret, yCaret);
this._scrollContentsToDelayed(xCaret, yCaret); this.scrollContentsTo(xCaret, yCaret);
}, },
_centerFromFocusPosition: function() { _centerFromFocusPosition: function() {
@@ -1423,7 +1395,7 @@ const ZoomRegion = new Lang.Class({
else if (this._focusTrackingMode == GDesktopEnums.MagnifierFocusTrackingMode.CENTERED) else if (this._focusTrackingMode == GDesktopEnums.MagnifierFocusTrackingMode.CENTERED)
[xFocus, yFocus] = this._centerFromPointCentered(xFocus, yFocus); [xFocus, yFocus] = this._centerFromPointCentered(xFocus, yFocus);
this._scrollContentsToDelayed(xFocus, yFocus); this.scrollContentsTo(xFocus, yFocus);
}, },
_centerFromPointPush: function(xPoint, yPoint) { _centerFromPointPush: function(xPoint, yPoint) {

View File

@@ -14,6 +14,7 @@ const Atk = imports.gi.Atk;
const Params = imports.misc.params; const Params = imports.misc.params;
const Animation = imports.ui.animation;
const Layout = imports.ui.layout; const Layout = imports.ui.layout;
const Lightbox = imports.ui.lightbox; const Lightbox = imports.ui.lightbox;
const Main = imports.ui.main; const Main = imports.ui.main;
@@ -22,6 +23,10 @@ const Tweener = imports.ui.tweener;
const OPEN_AND_CLOSE_TIME = 0.1; const OPEN_AND_CLOSE_TIME = 0.1;
const FADE_OUT_DIALOG_TIME = 1.0; const FADE_OUT_DIALOG_TIME = 1.0;
const WORK_SPINNER_ICON_SIZE = 24;
const WORK_SPINNER_ANIMATION_DELAY = 1.0;
const WORK_SPINNER_ANIMATION_TIME = 0.3;
const State = { const State = {
OPENED: 0, OPENED: 0,
CLOSED: 1, CLOSED: 1,
@@ -74,9 +79,7 @@ const ModalDialog = new Lang.Class({
this._group.add_actor(this._backgroundBin); this._group.add_actor(this._backgroundBin);
this.dialogLayout = new St.BoxLayout({ style_class: 'modal-dialog', this.dialogLayout = new St.BoxLayout({ style_class: 'modal-dialog',
x_align: Clutter.ActorAlign.CENTER, vertical: true });
y_align: Clutter.ActorAlign.CENTER,
vertical: true });
// modal dialogs are fixed width and grow vertically; set the request // modal dialogs are fixed width and grow vertically; set the request
// mode accordingly so wrapped labels are handled correctly during // mode accordingly so wrapped labels are handled correctly during
// size requests. // size requests.
@@ -97,8 +100,7 @@ const ModalDialog = new Lang.Class({
this.backgroundStack.add_actor(this.dialogLayout); this.backgroundStack.add_actor(this.dialogLayout);
this.contentLayout = new St.BoxLayout({ vertical: true, this.contentLayout = new St.BoxLayout({ vertical: true });
style_class: "modal-dialog-content-box" });
this.dialogLayout.add(this.contentLayout, this.dialogLayout.add(this.contentLayout,
{ expand: true, { expand: true,
x_fill: true, x_fill: true,
@@ -106,7 +108,8 @@ const ModalDialog = new Lang.Class({
x_align: St.Align.MIDDLE, x_align: St.Align.MIDDLE,
y_align: St.Align.START }); y_align: St.Align.START });
this.buttonLayout = new St.Widget ({ layout_manager: new Clutter.BoxLayout ({ homogeneous:true }) }); this.buttonLayout = new St.BoxLayout({ style_class: 'modal-dialog-button-box',
vertical: false });
this.dialogLayout.add(this.buttonLayout, this.dialogLayout.add(this.buttonLayout,
{ x_align: St.Align.MIDDLE, { x_align: St.Align.MIDDLE,
y_align: St.Align.END }); y_align: St.Align.END });
@@ -115,6 +118,8 @@ const ModalDialog = new Lang.Class({
this._initialKeyFocus = this.dialogLayout; this._initialKeyFocus = this.dialogLayout;
this._initialKeyFocusDestroyId = 0; this._initialKeyFocusDestroyId = 0;
this._savedKeyFocus = null; this._savedKeyFocus = null;
this._workSpinner = null;
}, },
destroy: function() { destroy: function() {
@@ -142,12 +147,16 @@ const ModalDialog = new Lang.Class({
else else
x_alignment = St.Align.MIDDLE; x_alignment = St.Align.MIDDLE;
this.addButton(buttonInfo); this.addButton(buttonInfo, { expand: true,
x_fill: false,
y_fill: false,
x_align: x_alignment,
y_align: St.Align.MIDDLE });
} }
}, },
addButton: function(buttonInfo) { addButton: function(buttonInfo, layoutInfo) {
let label = buttonInfo['label'] let label = buttonInfo['label'];
let action = buttonInfo['action']; let action = buttonInfo['action'];
let key = buttonInfo['key']; let key = buttonInfo['key'];
let isDefault = buttonInfo['default']; let isDefault = buttonInfo['default'];
@@ -161,12 +170,10 @@ const ModalDialog = new Lang.Class({
else else
keys = []; keys = [];
let button = new St.Button({ style_class: 'modal-dialog-linked-button', let button = new St.Button({ style_class: 'modal-dialog-button button',
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE, button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
reactive: true, reactive: true,
can_focus: true, can_focus: true,
x_expand: true,
y_expand: true,
label: label }); label: label });
button.connect('clicked', action); button.connect('clicked', action);
@@ -181,11 +188,47 @@ const ModalDialog = new Lang.Class({
for (let i in keys) for (let i in keys)
this._buttonKeys[keys[i]] = buttonInfo; this._buttonKeys[keys[i]] = buttonInfo;
this.buttonLayout.add_actor(button); this.buttonLayout.add(button, layoutInfo);
return button; return button;
}, },
placeSpinner: function(layoutInfo) {
let spinnerIcon = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg');
this._workSpinner = new Animation.AnimatedIcon(spinnerIcon, WORK_SPINNER_ICON_SIZE);
this._workSpinner.actor.opacity = 0;
this._workSpinner.actor.show();
this.buttonLayout.add(this._workSpinner.actor, layoutInfo);
},
setWorking: function(working) {
if (!this._workSpinner)
return;
Tweener.removeTweens(this._workSpinner.actor);
if (working) {
this._workSpinner.play();
Tweener.addTween(this._workSpinner.actor,
{ opacity: 255,
delay: WORK_SPINNER_ANIMATION_DELAY,
time: WORK_SPINNER_ANIMATION_TIME,
transition: 'linear'
});
} else {
Tweener.addTween(this._workSpinner.actor,
{ opacity: 0,
time: WORK_SPINNER_ANIMATION_TIME,
transition: 'linear',
onCompleteScope: this,
onComplete: function() {
if (this._workSpinner)
this._workSpinner.stop();
}
});
}
},
_onKeyPressEvent: function(object, event) { _onKeyPressEvent: function(object, event) {
this._pressedKey = event.get_key_symbol(); this._pressedKey = event.get_key_symbol();
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;

View File

@@ -107,6 +107,13 @@ const Overview = new Lang.Class({
this._overviewCreated = true; this._overviewCreated = true;
// The main Background actors are inside global.window_group which are
// hidden when displaying the overview, so we create a new
// one. Instances of this class share a single CoglTexture behind the
// scenes which allows us to show the background with different
// rendering options without duplicating the texture data.
let monitor = Main.layoutManager.primaryMonitor;
let layout = new Clutter.BinLayout(); let layout = new Clutter.BinLayout();
this._stack = new Clutter.Actor({ layout_manager: layout }); this._stack = new Clutter.Actor({ layout_manager: layout });
this._stack.add_constraint(new LayoutManager.MonitorConstraint({ primary: true })); this._stack.add_constraint(new LayoutManager.MonitorConstraint({ primary: true }));
@@ -121,11 +128,6 @@ const Overview = new Lang.Class({
y_expand: true }); y_expand: true });
this._overview._delegate = this; this._overview._delegate = this;
// The main Background actors are inside global.window_group which are
// hidden when displaying the overview, so we create a new
// one. Instances of this class share a single CoglTexture behind the
// scenes which allows us to show the background with different
// rendering options without duplicating the texture data.
this._backgroundGroup = new Meta.BackgroundGroup(); this._backgroundGroup = new Meta.BackgroundGroup();
Main.layoutManager.overviewGroup.add_child(this._backgroundGroup); Main.layoutManager.overviewGroup.add_child(this._backgroundGroup);
this._bgManagers = []; this._bgManagers = [];

View File

@@ -30,7 +30,7 @@ const APP_MENU_ICON_MARGIN = 0;
const BUTTON_DND_ACTIVATION_TIMEOUT = 250; const BUTTON_DND_ACTIVATION_TIMEOUT = 250;
const SPINNER_ANIMATION_TIME = 1.0; const SPINNER_ANIMATION_TIME = 0.2;
// To make sure the panel corners blend nicely with the panel, // To make sure the panel corners blend nicely with the panel,
// we draw background and borders the same way, e.g. drawing // we draw background and borders the same way, e.g. drawing
@@ -95,7 +95,6 @@ const AppMenuButton = new Lang.Class({
this._startingApps = []; this._startingApps = [];
this._menuManager = panel.menuManager; this._menuManager = panel.menuManager;
this._gtkSettings = Gtk.Settings.get_default();
this._targetApp = null; this._targetApp = null;
this._appMenuNotifyId = 0; this._appMenuNotifyId = 0;
this._actionGroupNotifyId = 0; this._actionGroupNotifyId = 0;
@@ -124,14 +123,11 @@ const AppMenuButton = new Lang.Class({
this._arrow = PopupMenu.arrowIcon(St.Side.BOTTOM); this._arrow = PopupMenu.arrowIcon(St.Side.BOTTOM);
this._container.add_actor(this._arrow); this._container.add_actor(this._arrow);
this._visible = this._gtkSettings.gtk_shell_shows_app_menu && this._visible = !Main.overview.visible;
!Main.overview.visible;
if (!this._visible) if (!this._visible)
this.actor.hide(); this.actor.hide();
this._overviewHidingId = Main.overview.connect('hiding', Lang.bind(this, this._sync)); this._overviewHidingId = Main.overview.connect('hiding', Lang.bind(this, this._sync));
this._overviewShowingId = Main.overview.connect('showing', Lang.bind(this, this._sync)); this._overviewShowingId = Main.overview.connect('showing', Lang.bind(this, this._sync));
this._showsAppMenuId = this._gtkSettings.connect('notify::gtk-shell-shows-app-menu',
Lang.bind(this, this._sync));
this._stop = true; this._stop = true;
@@ -309,9 +305,7 @@ const AppMenuButton = new Lang.Class({
} }
} }
let visible = (this._targetApp != null && let visible = (this._targetApp != null && !Main.overview.visibleTarget);
this._gtkSettings.gtk_shell_shows_app_menu &&
!Main.overview.visibleTarget);
if (visible) if (visible)
this.show(); this.show();
else else
@@ -384,10 +378,6 @@ const AppMenuButton = new Lang.Class({
Main.overview.disconnect(this._overviewShowingId); Main.overview.disconnect(this._overviewShowingId);
this._overviewShowingId = 0; this._overviewShowingId = 0;
} }
if (this._showsAppMenuId > 0) {
this._gtkSettings.disconnect(this._showsAppMenuId);
this._showsAppMenuId = 0;
}
if (this._switchWorkspaceNotifyId > 0) { if (this._switchWorkspaceNotifyId > 0) {
global.window_manager.disconnect(this._switchWorkspaceNotifyId); global.window_manager.disconnect(this._switchWorkspaceNotifyId);
this._switchWorkspaceNotifyId = 0; this._switchWorkspaceNotifyId = 0;
@@ -652,50 +642,14 @@ 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({ const AggregateMenu = new Lang.Class({
Name: 'AggregateMenu', Name: 'AggregateMenu',
Extends: PanelMenu.Button, Extends: PanelMenu.Button,
_init: function() { _init: function() {
this.parent(0.0, C_("System menu in the top bar", "System"), false); this.parent(0.0, _("Settings"), false);
this.menu.actor.add_style_class_name('aggregate-menu'); 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._indicators = new St.BoxLayout({ style_class: 'panel-status-indicators-box' });
this.actor.add_child(this._indicators); this.actor.add_child(this._indicators);
@@ -743,12 +697,8 @@ const AggregateMenu = new Lang.Class({
this.menu.addMenuItem(this._location.menu); this.menu.addMenuItem(this._location.menu);
this.menu.addMenuItem(this._rfkill.menu); this.menu.addMenuItem(this._rfkill.menu);
this.menu.addMenuItem(this._power.menu); this.menu.addMenuItem(this._power.menu);
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.menu.addMenuItem(this._system.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);
}, },
}); });

View File

@@ -396,7 +396,6 @@ const PopupImageMenuItem = new Lang.Class({
this.actor.add_child(this.label); this.actor.add_child(this.label);
this._icon = new St.Icon({ style_class: 'popup-menu-icon' }); this._icon = new St.Icon({ style_class: 'popup-menu-icon' });
this.actor.add_child(this._icon, { align: St.Align.END }); this.actor.add_child(this._icon, { align: St.Align.END });
this.actor.label_actor = this.label;
this.setIcon(iconName); this.setIcon(iconName);
}, },
@@ -1060,6 +1059,11 @@ const PopupSubMenuMenuItem = new Lang.Class({
let expander = new St.Bin({ style_class: 'popup-menu-item-expander' }); let expander = new St.Bin({ style_class: 'popup-menu-item-expander' });
this.actor.add(expander, { expand: true }); this.actor.add(expander, { expand: true });
this.status = new St.Label({ style_class: 'popup-status-menu-item',
y_expand: true,
y_align: Clutter.ActorAlign.CENTER });
this.actor.add_child(this.status);
this._triangle = arrowIcon(St.Side.RIGHT); this._triangle = arrowIcon(St.Side.RIGHT);
this._triangle.pivot_point = new Clutter.Point({ x: 0.5, y: 0.6 }); this._triangle.pivot_point = new Clutter.Point({ x: 0.5, y: 0.6 });

View File

@@ -46,7 +46,7 @@ const Indicator = new Lang.Class({
// The Bluetooth menu only appears when Bluetooth is in use, // The Bluetooth menu only appears when Bluetooth is in use,
// so just statically build it with a "Turn Off" menu item. // 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.icon.icon_name = 'bluetooth-active-symbolic';
this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() { this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() {
this._proxy.BluetoothAirplaneMode = true; this._proxy.BluetoothAirplaneMode = true;
@@ -101,9 +101,8 @@ const Indicator = new Lang.Class({
this._item.actor.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode; this._item.actor.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode;
if (nDevices > 0) if (nDevices > 0)
/* Translators: this is the number of connected bluetooth devices */ this._item.status.text = ngettext("%d Connected Device", "%d Connected Devices", nDevices).format(nDevices);
this._item.label.text = ngettext("%d Connected", "%d Connected", nDevices).format(nDevices);
else else
this._item.label.text = _("Not In Use"); this._item.status.text = _("Not Connected");
}, },
}); });

View File

@@ -62,13 +62,13 @@ const Indicator = new Lang.Class({
this._indicator = this._addIndicator(); this._indicator = this._addIndicator();
this._indicator.icon_name = 'find-location-symbolic'; this._indicator.icon_name = 'find-location-symbolic';
this._item = new PopupMenu.PopupSubMenuMenuItem('', true); this._item = new PopupMenu.PopupSubMenuMenuItem(_("Location"), true);
this._item.icon.icon_name = 'find-location-symbolic'; this._item.icon.icon_name = 'find-location-symbolic';
this._agent = Gio.DBusExportedObject.wrapJSObject(AgentIface, this); this._agent = Gio.DBusExportedObject.wrapJSObject(AgentIface, this);
this._agent.export(Gio.DBus.system, '/org/freedesktop/GeoClue2/Agent'); this._agent.export(Gio.DBus.system, '/org/freedesktop/GeoClue2/Agent');
this._item.label.text = _("Location Enabled"); this._item.status.text = _("Enabled");
this._onOffAction = this._item.menu.addAction(_("Disable"), Lang.bind(this, this._onOnOffAction)); this._onOffAction = this._item.menu.addAction(_("Disable"), Lang.bind(this, this._onOnOffAction));
this._item.menu.addSettingsAction(_("Privacy Settings"), 'gnome-privacy-panel.desktop'); this._item.menu.addSettingsAction(_("Privacy Settings"), 'gnome-privacy-panel.desktop');
@@ -173,11 +173,10 @@ const Indicator = new Lang.Class({
_updateMenuLabels: function() { _updateMenuLabels: function() {
if (this._settings.get_boolean(ENABLED)) { if (this._settings.get_boolean(ENABLED)) {
this._item.label.text = this._indicator.visible ? _("Location In Use") this._item.status.text = this._indicator.visible ? _("In Use") : _("Enabled");
: _("Location Enabled");
this._onOffAction.label.text = _("Disable"); this._onOffAction.label.text = _("Disable");
} else { } else {
this._item.label.text = _("Location Disabled"); this._item.status.text = _("Disabled");
this._onOffAction.label.text = _("Enable"); this._onOffAction.label.text = _("Enable");
} }
}, },

View File

@@ -257,8 +257,16 @@ const NMConnectionSection = new Lang.Class({
this._radioSection.actor.visible = (nItems > 1); this._radioSection.actor.visible = (nItems > 1);
this._labelSection.actor.visible = (nItems == 1); this._labelSection.actor.visible = (nItems == 1);
this.item.label.text = this._getStatus(); this.item.status.text = this._getStatus();
this.item.icon.icon_name = this._getMenuIcon(); this.item.icon.icon_name = this._getMenuIcon();
// desc can be undefined at cold-plug, before we called
// NMGtk.disambiguate_device_names() at least once
let desc = this._getDescription();
if (desc)
this.item.label.text = desc;
else
this.item.label.text = '';
}, },
_getMenuIcon: function() { _getMenuIcon: function() {
@@ -347,7 +355,6 @@ const NMConnectionDevice = new Lang.Class({
this.parent(client); this.parent(client);
this._device = device; this._device = device;
this._settings = settings; this._settings = settings;
this._description = '';
this._autoConnectItem = this.item.menu.addAction(_("Connect"), Lang.bind(this, this._autoConnect)); this._autoConnectItem = this.item.menu.addAction(_("Connect"), Lang.bind(this, this._autoConnect));
this._deactivateItem = this._radioSection.addAction(_("Turn Off"), Lang.bind(this, this.deactivateConnection)); this._deactivateItem = this._radioSection.addAction(_("Turn Off"), Lang.bind(this, this.deactivateConnection));
@@ -447,44 +454,38 @@ const NMConnectionDevice = new Lang.Class({
switch(this._device.state) { switch(this._device.state) {
case NetworkManager.DeviceState.DISCONNECTED: case NetworkManager.DeviceState.DISCONNECTED:
/* Translators: %s is a network identifier */ return _("Off");
return _("%s Off").format(this._getDescription());
case NetworkManager.DeviceState.ACTIVATED: case NetworkManager.DeviceState.ACTIVATED:
/* Translators: %s is a network identifier */ return _("Connected");
return _("%s Connected").format(this._getDescription());
case NetworkManager.DeviceState.UNMANAGED: case NetworkManager.DeviceState.UNMANAGED:
/* Translators: this is for network devices that are physically present but are not /* 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); under NetworkManager's control (and thus cannot be used in the menu) */
%s is a network identifier */ return _("Unmanaged");
return _("%s Unmanaged").format(this._getDescription());
case NetworkManager.DeviceState.DEACTIVATING: case NetworkManager.DeviceState.DEACTIVATING:
/* Translators: %s is a network identifier */ return _("Disconnecting");
return _("%s Disconnecting").format(this._getDescription());
case NetworkManager.DeviceState.PREPARE: case NetworkManager.DeviceState.PREPARE:
case NetworkManager.DeviceState.CONFIG: case NetworkManager.DeviceState.CONFIG:
case NetworkManager.DeviceState.IP_CONFIG: case NetworkManager.DeviceState.IP_CONFIG:
case NetworkManager.DeviceState.IP_CHECK: case NetworkManager.DeviceState.IP_CHECK:
case NetworkManager.DeviceState.SECONDARIES: case NetworkManager.DeviceState.SECONDARIES:
/* Translators: %s is a network identifier */ return _("Connecting");
return _("%s Connecting").format(this._getDescription());
case NetworkManager.DeviceState.NEED_AUTH: case NetworkManager.DeviceState.NEED_AUTH:
/* Translators: this is for network connections that require some kind of key or password; %s is a network identifier */ /* Translators: this is for network connections that require some kind of key or password */
return _("%s Requires Authentication").format(this._getDescription()); return _("Authentication required");
case NetworkManager.DeviceState.UNAVAILABLE: case NetworkManager.DeviceState.UNAVAILABLE:
// This state is actually a compound of various states (generically unavailable, // This state is actually a compound of various states (generically unavailable,
// firmware missing), that are exposed by different properties (whose state may // firmware missing), that are exposed by different properties (whose state may
// or may not updated when we receive state-changed). // or may not updated when we receive state-changed).
if (this._device.firmware_missing) { if (this._device.firmware_missing) {
/* Translators: this is for devices that require some kind of firmware or kernel /* Translators: this is for devices that require some kind of firmware or kernel
module, which is missing; %s is a network identifier */ module, which is missing */
return _("Firmware Missing For %s").format(this._getDescription()); return _("Firmware missing");
} }
/* Translators: this is for a network device that cannot be activated (for example it /* Translators: this is for a network device that cannot be activated (for example it
is disabled by rfkill, or it has no coverage; %s is a network identifier */ is disabled by rfkill, or it has no coverage */
return _("%s Unavailable").format(this._getDescription()); return _("Unavailable");
case NetworkManager.DeviceState.FAILED: case NetworkManager.DeviceState.FAILED:
/* Translators: %s is a network identifier */ return _("Connection failed");
return _("%s Connection Failed").format(this._getDescription());
default: default:
log('Device state invalid, is %d'.format(this._device.state)); log('Device state invalid, is %d'.format(this._device.state));
return 'invalid'; return 'invalid';
@@ -584,12 +585,11 @@ const NMDeviceModem = new Lang.Class({
_getStatus: function() { _getStatus: function() {
if (!this._client.wwan_hardware_enabled) if (!this._client.wwan_hardware_enabled)
/* Translators: %s is a network identifier */ return _("Hardware Disabled");
return _("%s Hardware Disabled").format(this._getDescription());
else if (!this._client.wwan_enabled) else if (!this._client.wwan_enabled)
/* Translators: this is for a network device that cannot be activated /* Translators: this is for a network device that cannot be activated
because it's disabled by rfkill (airplane mode); %s is a network identifier */ because it's disabled by rfkill (airplane mode) */
return _("%s Disabled").format(this._getDescription()); return _("Disabled");
else if (this._device.state == NetworkManager.DeviceState.ACTIVATED && else if (this._device.state == NetworkManager.DeviceState.ACTIVATED &&
this._mobileDevice && this._mobileDevice.operator_name) this._mobileDevice && this._mobileDevice.operator_name)
return this._mobileDevice.operator_name; return this._mobileDevice.operator_name;
@@ -877,7 +877,7 @@ const NMWirelessDialog = new Lang.Class({
y_align: Clutter.ActorAlign.CENTER }); y_align: Clutter.ActorAlign.CENTER });
let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg'); let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg');
this._noNetworksSpinner = new Animation.AnimatedIcon(file, 16, 16); this._noNetworksSpinner = new Animation.AnimatedIcon(file, 24, 24);
this._noNetworksBox.add_actor(this._noNetworksSpinner.actor); this._noNetworksBox.add_actor(this._noNetworksSpinner.actor);
this._noNetworksBox.add_actor(new St.Label({ style_class: 'no-networks-label', this._noNetworksBox.add_actor(new St.Label({ style_class: 'no-networks-label',
text: _("No Networks") })); text: _("No Networks") }));
@@ -917,7 +917,10 @@ const NMWirelessDialog = new Lang.Class({
key: Clutter.Escape }); key: Clutter.Escape });
this._connectButton = this.addButton({ action: Lang.bind(this, this._connect), this._connectButton = this.addButton({ action: Lang.bind(this, this._connect),
label: _("Connect"), label: _("Connect"),
key: Clutter.Return }); key: Clutter.Return },
{ expand: true,
x_fill: false,
x_align: St.Align.END });
}, },
_connect: function() { _connect: function() {
@@ -1279,8 +1282,9 @@ const NMDeviceWireless = new Lang.Class({
this._toggleItem.label.text = this._client.wireless_enabled ? _("Turn Off") : _("Turn On"); this._toggleItem.label.text = this._client.wireless_enabled ? _("Turn Off") : _("Turn On");
this._toggleItem.actor.visible = this._client.wireless_hardware_enabled; this._toggleItem.actor.visible = this._client.wireless_hardware_enabled;
this.item.status.text = this._getStatus();
this.item.icon.icon_name = this._getMenuIcon(); this.item.icon.icon_name = this._getMenuIcon();
this.item.label.text = this._getStatus(); this.item.label.text = this._description;
}, },
setDeviceDescription: function(desc) { setDeviceDescription: function(desc) {
@@ -1292,23 +1296,18 @@ const NMDeviceWireless = new Lang.Class({
let ap = this._device.active_access_point; let ap = this._device.active_access_point;
if (this._isHotSpotMaster()) if (this._isHotSpotMaster())
/* Translators: %s is a network identifier */ return _("Hotspot Active");
return _("%s Hotspot Active").format(this._description);
else if (this._device.state >= NetworkManager.DeviceState.PREPARE && else if (this._device.state >= NetworkManager.DeviceState.PREPARE &&
this._device.state < NetworkManager.DeviceState.ACTIVATED) this._device.state < NetworkManager.DeviceState.ACTIVATED)
/* Translators: %s is a network identifier */ return _("Connecting");
return _("%s Connecting").format(this._description);
else if (ap) else if (ap)
return ssidToLabel(ap.get_ssid()); return ssidToLabel(ap.get_ssid());
else if (!this._client.wireless_hardware_enabled) else if (!this._client.wireless_hardware_enabled)
/* Translators: %s is a network identifier */ return _("Hardware Disabled");
return _("%s Hardware Disabled").format(this._description);
else if (!this._client.wireless_enabled) else if (!this._client.wireless_enabled)
/* Translators: %s is a network identifier */ return _("Off");
return _("%s Off").format(this._description);
else if (this._device.state == NetworkManager.DeviceState.DISCONNECTED) else if (this._device.state == NetworkManager.DeviceState.DISCONNECTED)
/* Translators: %s is a network identifier */ return _("Not Connected");
return _("%s Not Connected").format(this._description);
else else
return ''; return '';
}, },
@@ -1510,7 +1509,7 @@ const NMVPNSection = new Lang.Class({
return item.getName(); return item.getName();
} }
return _("VPN Off"); return _("Off");
}, },
_getMenuIcon: function() { _getMenuIcon: function() {

View File

@@ -112,6 +112,12 @@ const Indicator = new Lang.Class({
this._item.icon.icon_name = icon; this._item.icon.icon_name = icon;
// The status label // The status label
this._item.label.text = this._getStatus(); this._item.status.text = this._getStatus();
// The sub-menu heading
if (this._proxy.Type == UPower.DeviceKind.UPS)
this._item.label.text = _("UPS");
else
this._item.label.text = _("Battery");
}, },
}); });

View File

@@ -85,8 +85,9 @@ const Indicator = new Lang.Class({
// The menu only appears when airplane mode is on, so just // The menu only appears when airplane mode is on, so just
// statically build it as if it was on, rather than dynamically // statically build it as if it was on, rather than dynamically
// changing the menu contents. // changing the menu contents.
this._item = new PopupMenu.PopupSubMenuMenuItem(_("Airplane Mode On"), true); this._item = new PopupMenu.PopupSubMenuMenuItem(_("Airplane Mode"), true);
this._item.icon.icon_name = 'airplane-mode-symbolic'; this._item.icon.icon_name = 'airplane-mode-symbolic';
this._item.status.text = _("On");
this._offItem = this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() { this._offItem = this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() {
this._manager.airplaneMode = false; this._manager.airplaneMode = false;
})); }));

View File

@@ -251,14 +251,8 @@ const Indicator = new Lang.Class({
let file = Gio.File.new_for_path(iconFile); let file = Gio.File.new_for_path(iconFile);
let gicon = new Gio.FileIcon({ file: file }); let gicon = new Gio.FileIcon({ file: file });
this._switchUserSubMenu.icon.gicon = gicon; this._switchUserSubMenu.icon.gicon = gicon;
this._switchUserSubMenu.icon.add_style_class_name('user-icon');
this._switchUserSubMenu.icon.remove_style_class_name('default-icon');
} else { } else {
this._switchUserSubMenu.icon.icon_name = 'avatar-default-symbolic'; this._switchUserSubMenu.icon.icon_name = 'avatar-default-symbolic';
this._switchUserSubMenu.icon.add_style_class_name('default-icon');
this._switchUserSubMenu.icon.remove_style_class_name('user-icon');
} }
}, },
@@ -350,9 +344,6 @@ const Indicator = new Lang.Class({
this._switchUserSubMenu.menu.addMenuItem(item); this._switchUserSubMenu.menu.addMenuItem(item);
this._logoutItem = item; this._logoutItem = item;
this._switchUserSubMenu.menu.addSettingsAction(_("Account Settings"),
'gnome-user-accounts-panel.desktop');
this._user.connect('notify::is-loaded', Lang.bind(this, this._updateSwitchUserSubMenu)); this._user.connect('notify::is-loaded', Lang.bind(this, this._updateSwitchUserSubMenu));
this._user.connect('changed', Lang.bind(this, this._updateSwitchUserSubMenu)); this._user.connect('changed', Lang.bind(this, this._updateSwitchUserSubMenu));

View File

@@ -465,12 +465,6 @@ const ViewSelector = new Lang.Class({
}, },
_shouldTriggerSearch: function(symbol) { _shouldTriggerSearch: function(symbol) {
if (symbol == Clutter.Multi_key)
return true;
if (symbol == Clutter.BackSpace && this._searchActive)
return true;
let unicode = Clutter.keysym_to_unicode(symbol); let unicode = Clutter.keysym_to_unicode(symbol);
if (unicode == 0) if (unicode == 0)
return false; return false;
@@ -478,7 +472,7 @@ const ViewSelector = new Lang.Class({
if (getTermsForSearchString(String.fromCharCode(unicode)).length > 0) if (getTermsForSearchString(String.fromCharCode(unicode)).length > 0)
return true; return true;
return false; return symbol == Clutter.BackSpace && this._searchActive;
}, },
startSearch: function(event) { startSearch: function(event) {

View File

@@ -81,10 +81,12 @@ const DisplayChangeDialog = new Lang.Class({
*/ */
this._cancelButton = this.addButton({ label: _("Revert Settings"), this._cancelButton = this.addButton({ label: _("Revert Settings"),
action: Lang.bind(this, this._onFailure), action: Lang.bind(this, this._onFailure),
key: Clutter.Escape }); key: Clutter.Escape },
{ expand: true, x_fill: false, x_align: St.Align.START });
this._okButton = this.addButton({ label: _("Keep Changes"), this._okButton = this.addButton({ label: _("Keep Changes"),
action: Lang.bind(this, this._onSuccess), action: Lang.bind(this, this._onSuccess),
default: true }); default: true },
{ expand: false, x_fill: false, x_align: St.Align.END });
this._timeoutId = Mainloop.timeout_add(ONE_SECOND, Lang.bind(this, this._tick)); this._timeoutId = Mainloop.timeout_add(ONE_SECOND, Lang.bind(this, this._tick));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._tick'); GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._tick');
@@ -478,12 +480,6 @@ const TilePreview = new Lang.Class({
const TouchpadWorkspaceSwitchAction = new Lang.Class({ const TouchpadWorkspaceSwitchAction = new Lang.Class({
Name: 'TouchpadWorkspaceSwitchAction', Name: 'TouchpadWorkspaceSwitchAction',
_init: function(actor) {
this._dx = 0;
this._dy = 0;
actor.connect('captured-event', Lang.bind(this, this._handleEvent));
},
_checkActivated: function() { _checkActivated: function() {
const MOTION_THRESHOLD = 50; const MOTION_THRESHOLD = 50;
let allowedModes = Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW; let allowedModes = Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW;
@@ -492,11 +488,11 @@ const TouchpadWorkspaceSwitchAction = new Lang.Class({
if ((allowedModes & Main.actionMode) == 0) if ((allowedModes & Main.actionMode) == 0)
return; return;
if (this._dy < -MOTION_THRESHOLD) if (this._dy < MOTION_THRESHOLD)
dir = Meta.MotionDirection.DOWN; dir = Meta.MotionDirection.DOWN;
else if (this._dy > MOTION_THRESHOLD) else if (this._dy > MOTION_THRESHOLD)
dir = Meta.MotionDirection.UP; dir = Meta.MotionDirection.UP;
else if (this._dx < -MOTION_THRESHOLD) else if (this._dx < MOTION_THRESHOLD)
dir = Meta.MotionDirection.RIGHT; dir = Meta.MotionDirection.RIGHT;
else if (this._dx > MOTION_THRESHOLD) else if (this._dx > MOTION_THRESHOLD)
dir = Meta.MotionDirection.LEFT; dir = Meta.MotionDirection.LEFT;
@@ -507,19 +503,21 @@ const TouchpadWorkspaceSwitchAction = new Lang.Class({
}, },
_handleEvent: function(actor, event) { _handleEvent: function(actor, event) {
if (event.type() != Clutter.EventType.TOUCHPAD_SWIPE) if (event.type() != Clutter.EventType.TOUCHPAD_SWIPE_BEGIN &&
event.type() != Clutter.EventType.TOUCHPAD_SWIPE_UPDATE &&
event.type() != Clutter.EventType.TOUCHPAD_SWIPE_END)
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
if (event.get_gesture_swipe_finger_count() != 4) if (event.get_gesture_swipe_finger_count() != 4)
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
if (event.get_gesture_phase() == Clutter.TouchpadGesturePhase.UPDATE) { if (event.type() == Clutter.EventType.TOUCHPAD_SWIPE_UPDATE) {
let [dx, dy] = event.get_gesture_motion_delta(event); let [dx, dy] = event.get_gesture_motion_delta(event);
this._dx += dx; this._dx += dx;
this._dy += dy; this._dy += dy;
} else { } else {
if (event.get_gesture_phase() == Clutter.TouchpadGesturePhase.END) if (event.type() == Clutter.EventType.TOUCHPAD_SWIPE_END)
this._checkActivated(); this._checkActivated();
this._dx = 0; this._dx = 0;
@@ -527,7 +525,13 @@ const TouchpadWorkspaceSwitchAction = new Lang.Class({
} }
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;
} },
_init: function(actor) {
this._dx = 0;
this._dy = 0;
actor.connect('captured-event', Lang.bind(this, this._handleEvent));
},
}); });
Signals.addSignalMethods(TouchpadWorkspaceSwitchAction.prototype); Signals.addSignalMethods(TouchpadWorkspaceSwitchAction.prototype);
@@ -677,7 +681,6 @@ const WindowManager = new Lang.Class({
this._minimizing = []; this._minimizing = [];
this._unminimizing = []; this._unminimizing = [];
this._mapping = []; this._mapping = [];
this._resizing = [];
this._destroying = []; this._destroying = [];
this._movingWindow = null; this._movingWindow = null;
@@ -693,7 +696,6 @@ const WindowManager = new Lang.Class({
this._minimizeWindowDone(shellwm, actor); this._minimizeWindowDone(shellwm, actor);
this._mapWindowDone(shellwm, actor); this._mapWindowDone(shellwm, actor);
this._destroyWindowDone(shellwm, actor); this._destroyWindowDone(shellwm, actor);
this._sizeChangeWindowDone(shellwm, actor);
})); }));
this._shellwm.connect('switch-workspace', Lang.bind(this, this._switchWorkspace)); this._shellwm.connect('switch-workspace', Lang.bind(this, this._switchWorkspace));
@@ -1220,105 +1222,9 @@ const WindowManager = new Lang.Class({
}, },
_sizeChangeWindow : function(shellwm, actor, whichChange, oldFrameRect, oldBufferRect) { _sizeChangeWindow : function(shellwm, actor, whichChange, oldFrameRect, oldBufferRect) {
let types = [Meta.WindowType.NORMAL];
if (!this._shouldAnimateActor(actor, types)) {
shellwm.completed_size_change(actor);
return;
}
if (whichChange == Meta.SizeChange.FULLSCREEN)
this._fullscreenWindow(shellwm, actor, oldFrameRect, oldBufferRect);
else if (whichChange == Meta.SizeChange.UNFULLSCREEN)
this._unfullscreenWindow(shellwm, actor, oldFrameRect, oldBufferRect);
else
shellwm.completed_size_change(actor);
},
_fullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) {
actor.translation_x = oldFrameRect.x;
actor.translation_y = oldFrameRect.y;
this._fullscreenAnimation(shellwm, actor, oldFrameRect);
},
_unfullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) {
let targetRect = actor.meta_window.get_frame_rect();
actor.translation_x = -targetRect.x;
actor.translation_y = -targetRect.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 });
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.__fullscreenClone = actorClone;
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,
scale_x: scaleX,
scale_y: scaleY,
opacity: 0,
time: WINDOW_ANIMATION_TIME,
transition: 'easeOutQuad'
});
// 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;
// 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]
});
// 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); shellwm.completed_size_change(actor);
}, },
_sizeChangeWindowDone: function(shellwm, 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;
}
}
},
_hasAttachedDialogs: function(window, ignoreWindow) { _hasAttachedDialogs: function(window, ignoreWindow) {
var count = 0; var count = 0;
window.foreach_transient(function(win) { window.foreach_transient(function(win) {

View File

@@ -74,7 +74,7 @@ const WindowMenu = new Lang.Class({
window.make_above(); window.make_above();
})); }));
if (window.is_above()) if (window.is_above())
item.setOrnament(PopupMenu.Ornament.CHECK); item.setOrnament(PopupMenu.Ornament.DOT);
if (window.get_maximized() == Meta.MaximizeFlags.BOTH || if (window.get_maximized() == Meta.MaximizeFlags.BOTH ||
type == Meta.WindowType.DOCK || type == Meta.WindowType.DOCK ||
type == Meta.WindowType.DESKTOP || type == Meta.WindowType.DESKTOP ||
@@ -93,7 +93,7 @@ const WindowMenu = new Lang.Class({
window.stick(); window.stick();
})); }));
if (isSticky) if (isSticky)
item.setOrnament(PopupMenu.Ornament.CHECK); item.setOrnament(PopupMenu.Ornament.DOT);
if (window.is_always_on_all_workspaces()) if (window.is_always_on_all_workspaces())
item.setSensitive(false); item.setSensitive(false);

297
po/an.po
View File

@@ -9,23 +9,24 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-07-23 08:08+0000\n" "POT-Creation-Date: 2015-03-17 12:39+0000\n"
"PO-Revision-Date: 2015-04-28 08:40+0200\n" "PO-Revision-Date: 2015-03-17 19:50+0100\n"
"Last-Translator: Daniel <entaltoaragon@gmail.com>\n" "Last-Translator: Daniel Martinez <entaltoaragon@gmail.com>\n"
"Language-Team: Aragonés <softaragones@googlegroups.com>\n" "Language-Team: Aragonés <softaragones@googlegroups.com>\n"
"Language: an\n" "Language: an\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.1.1\n" "X-Generator: Gtranslator 2.91.6\n"
"X-POOTLE-MTIME: 1430206804.000000\n"
#: ../data/50-gnome-shell-system.xml.in.h:1 #: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System" msgid "System"
msgstr "Sistema" msgstr "Sistema"
#: ../data/50-gnome-shell-system.xml.in.h:2 #: ../data/50-gnome-shell-system.xml.in.h:2
#| msgid "%d new notification"
#| msgid_plural "%d new notifications"
msgid "Show the notification list" msgid "Show the notification list"
msgstr "Amostrar a lista de notificacions" msgstr "Amostrar a lista de notificacions"
@@ -135,18 +136,17 @@ msgstr "Indiz de l'anvista seleccionada actual en o selector d'aplicacion."
msgid "History for command (Alt-F2) dialog" msgid "History for command (Alt-F2) dialog"
msgstr "Historico d'o dialogo de comandos (Alt+F2)" msgstr "Historico d'o dialogo de comandos (Alt+F2)"
#. Translators: looking glass is a debugger and inspector tool, see https://live.gnome.org/GnomeShell/LookingGlass #: ../data/org.gnome.shell.gschema.xml.in.in.h:12
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "History for the looking glass dialog" msgid "History for the looking glass dialog"
msgstr "Historico d'o dialogo de \"looking glass\"" msgstr "Historico d'o dialogo de \"looking glass\""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14 #: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menu item in the user menu." msgid "Always show the 'Log out' menu item in the user menu."
msgstr "" msgstr ""
"Amostrar siempre l'elemento de menú \"Trancar sesión\" en o menú de " "Amostrar siempre l'elemento de menú \"Trancar sesión\" en o menú de "
"l'usuario." "l'usuario."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15 #: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "" msgid ""
"This key overrides the automatic hiding of the 'Log out' menu item in single-" "This key overrides the automatic hiding of the 'Log out' menu item in single-"
"user, single-session situations." "user, single-session situations."
@@ -154,14 +154,14 @@ msgstr ""
"Ista clau sobrescribe a ocultación automatica de l'elemento de menú " "Ista clau sobrescribe a ocultación automatica de l'elemento de menú "
"\"Trancar sesión\" en situacions d'un solo usuario u d'una sola sesión." "\"Trancar sesión\" en situacions d'un solo usuario u d'una sola sesión."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16 #: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "" msgid ""
"Whether to remember password for mounting encrypted or remote filesystems" "Whether to remember password for mounting encrypted or remote filesystems"
msgstr "" msgstr ""
"Indica si se debe recordar a clau ta amontar sistemas de fichers remotos u " "Indica si se debe recordar a clau ta amontar sistemas de fichers remotos u "
"zifraus" "zifraus"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17 #: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "" msgid ""
"The shell will request a password when an encrypted device or a remote " "The shell will request a password when an encrypted device or a remote "
"filesystem is mounted. If the password can be saved for future use a " "filesystem is mounted. If the password can be saved for future use a "
@@ -173,79 +173,81 @@ msgstr ""
"s'amostrará a caixeta \"Remerar clau\". Ista clau estableix a valor " "s'amostrará a caixeta \"Remerar clau\". Ista clau estableix a valor "
"predeterminada d'a caixeta." "predeterminada d'a caixeta."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18 #: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Show the week date in the calendar" msgid "Show the week date in the calendar"
msgstr "Amostrar a calendata d'a semana en o calendario" msgstr "Amostrar a calendata d'a semana en o calendario"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19 #: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "If true, display the ISO week date in the calendar." msgid "If true, display the ISO week date in the calendar."
msgstr "Si ye cierta, amuestra a calendata de semana ISO en o calandario." msgstr "Si ye cierta, amuestra a calendata de semana ISO en o calandario."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20 #: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to open the application menu" msgid "Keybinding to open the application menu"
msgstr "Asociación de teclas ta ubrir o menú de l'aplicación" msgstr "Asociación de teclas ta ubrir o menú de l'aplicación"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21 #: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to open the application menu." msgid "Keybinding to open the application menu."
msgstr "Asociación de teclas ta ubrir o menú de l'aplicación." msgstr "Asociación de teclas ta ubrir o menú de l'aplicación."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22 #: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Keybinding to open the \"Show Applications\" view" msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Asociación de teclas ta la vista \"Amostrar aplicacions\"" msgstr "Asociación de teclas ta la vista \"Amostrar aplicacions\""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23 #: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "" msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview." "Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "" msgstr ""
"Asociación de teclas ta ubrir la vista \"Amostrar aplicacions\" de la vista " "Asociación de teclas ta ubrir la vista \"Amostrar aplicacions\" de la vista "
"d'actividatz." "d'actividatz."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24 #: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Keybinding to open the overview" msgid "Keybinding to open the overview"
msgstr "Asociación de teclas ta l'anvista cheneral" msgstr "Asociación de teclas ta l'anvista cheneral"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25 #: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to open the Activities Overview." msgid "Keybinding to open the Activities Overview."
msgstr "Asociación de teclas ta ubrir l'anvista d'actividatz" msgstr "Asociación de teclas ta ubrir l'anvista d'actividatz"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26 #: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#| msgid "Keybinding to toggle the visibility of the message tray"
msgid "Keybinding to toggle the visibility of the notification list" msgid "Keybinding to toggle the visibility of the notification list"
msgstr "" msgstr ""
"Asociación de teclas ta cambiar a visibilidat d'a lista de notificacions" "Asociación de teclas ta cambiar a visibilidat d'a lista de notificacions"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27 #: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#| msgid "Keybinding to toggle the visibility of the message tray."
msgid "Keybinding to toggle the visibility of the notification list." msgid "Keybinding to toggle the visibility of the notification list."
msgstr "" msgstr ""
"Asociación de teclas ta cambiar a visibilidat d'a lista de notificacions." "Asociación de teclas ta cambiar a visibilidat d'a lista de notificacions."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28 #: ../data/org.gnome.shell.gschema.xml.in.in.h:27
msgid "Keybinding to focus the active notification" msgid "Keybinding to focus the active notification"
msgstr "Asociación de teclas ta dar o foco a la notificación activa" msgstr "Asociación de teclas ta dar o foco a la notificación activa"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29 #: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "Keybinding to focus the active notification." msgid "Keybinding to focus the active notification."
msgstr "Asociación de teclas ta dar o foco a la notificación activa." msgstr "Asociación de teclas ta dar o foco a la notificación activa."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30 #: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid "" msgid ""
"Keybinding that pauses and resumes all running tweens, for debugging purposes" "Keybinding that pauses and resumes all running tweens, for debugging purposes"
msgstr "" msgstr ""
"Asociación de teclas que pausan y continan todas as execucions de «tweens», " "Asociación de teclas que pausan y continan todas as execucions de «tweens», "
"ta propositos de depuraci'on" "ta propositos de depuraci'on"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31 #: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid "Which keyboard to use" msgid "Which keyboard to use"
msgstr "Que teclau usar" msgstr "Que teclau usar"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32 #: ../data/org.gnome.shell.gschema.xml.in.in.h:31
msgid "The type of keyboard to use." msgid "The type of keyboard to use."
msgstr "O tipo de teclau que usar." msgstr "O tipo de teclau que usar."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33 #: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid "Limit switcher to current workspace." msgid "Limit switcher to current workspace."
msgstr "Selector de limite ta l'aria de treballo actual." msgstr "Selector de limite ta l'aria de treballo actual."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34 #: ../data/org.gnome.shell.gschema.xml.in.in.h:33
msgid "" msgid ""
"If true, only applications that have windows on the current workspace are " "If true, only applications that have windows on the current workspace are "
"shown in the switcher. Otherwise, all applications are included." "shown in the switcher. Otherwise, all applications are included."
@@ -254,21 +256,21 @@ msgstr ""
"finestras en l'aria de treballo actual. D'atra man, s'incluirán todas as " "finestras en l'aria de treballo actual. D'atra man, s'incluirán todas as "
"aplicacions." "aplicacions."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35 #: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "The application icon mode." msgid "The application icon mode."
msgstr "O modo d'icono de l'aplicación." msgstr "O modo d'icono de l'aplicación."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36 #: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid "" msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities " "Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' " "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"(shows only the application icon) or 'both'." "only' (shows only the application icon) or 'both'."
msgstr "" msgstr ""
"Configura cómo s'amuestran as finestras en o selector. Os valore posibles " "Configura cómo s'amuestran as finestras en o selector. Os valore posibles "
"son \"thumbnail-only\" (amuestra una miniatura d'a finestra), \"app-icon-" "son \"thumbnail-only\" (amuestra una miniatura d'a finestra), \"app-icon-only"
"only\" (solament amuestra l'icono de l'aplicación) u \"both\"." "\" (solament amuestra l'icono de l'aplicación) u \"both\"."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37 #: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid "" msgid ""
"If true, only windows from the current workspace are shown in the switcher. " "If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included." "Otherwise, all windows are included."
@@ -276,31 +278,31 @@ msgstr ""
"Si en ye verdadero, nomás s'amostrarán en o selector finestras de l'aria de " "Si en ye verdadero, nomás s'amostrarán en o selector finestras de l'aria de "
"treballo actual. D'atra man, s'incluirán todas as finestras." "treballo actual. D'atra man, s'incluirán todas as finestras."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38 #: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid "Attach modal dialog to the parent window" msgid "Attach modal dialog to the parent window"
msgstr "Acoplar un dialogo modal a la finestra pai" msgstr "Acoplar un dialogo modal a la finestra pai"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39 #: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "" msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell." "This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr "" msgstr ""
"Ista clau sobrescribe a clau en org.gnome.mutter en executar GNOME Shell." "Ista clau sobrescribe a clau en org.gnome.mutter en executar GNOME Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40 #: ../data/org.gnome.shell.gschema.xml.in.in.h:39
msgid "Enable edge tiling when dropping windows on screen edges" msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "" msgstr ""
"Activar o mosaico en os bordes en arrocegar finestras a os bordes d'a " "Activar o mosaico en os bordes en arrocegar finestras a os bordes d'a "
"finestra" "finestra"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41 #: ../data/org.gnome.shell.gschema.xml.in.in.h:40
msgid "Workspaces are managed dynamically" msgid "Workspaces are managed dynamically"
msgstr "As arias de treballo se chestionan dinámicamente" msgstr "As arias de treballo se chestionan dinámicamente"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42 #: ../data/org.gnome.shell.gschema.xml.in.in.h:41
msgid "Workspaces only on primary monitor" msgid "Workspaces only on primary monitor"
msgstr "Arias de treballo solament en a pantalla prencipal" msgstr "Arias de treballo solament en a pantalla prencipal"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43 #: ../data/org.gnome.shell.gschema.xml.in.in.h:42
msgid "Delay focus changes in mouse mode until the pointer stops moving" msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "" msgstr ""
"Retardo en cambiar o foco d'o churi dica que o puntero deixa de mover-se" "Retardo en cambiar o foco d'o churi dica que o puntero deixa de mover-se"
@@ -309,12 +311,12 @@ msgstr ""
msgid "Network Login" msgid "Network Login"
msgstr "Encetar sesión en o rete" msgstr "Encetar sesión en o rete"
#: ../js/extensionPrefs/main.js:122 #: ../js/extensionPrefs/main.js:123
#, javascript-format #, javascript-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
msgstr "I habió una error en lanzar o diálogo de preferencias ta %s:" msgstr "I habió una error en lanzar o diálogo de preferencias ta %s:"
#: ../js/extensionPrefs/main.js:154 #: ../js/extensionPrefs/main.js:155
msgid "GNOME Shell Extensions" msgid "GNOME Shell Extensions"
msgstr "Extensions de GNOME Shell" msgstr "Extensions de GNOME Shell"
@@ -325,39 +327,39 @@ msgstr "Extensions de GNOME Shell"
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215 #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217
msgid "Next" msgid "Next"
msgstr "Siguient" msgstr "Siguient"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403 #: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59 #: ../js/ui/unlockDialog.js:59
msgid "Unlock" msgid "Unlock"
msgstr "Desbloquiar" msgstr "Desbloquiar"
#: ../js/gdm/authPrompt.js:213 #: ../js/gdm/authPrompt.js:215
msgctxt "button" msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "Encetar sesión" msgstr "Encetar sesión"
#: ../js/gdm/loginDialog.js:281 #: ../js/gdm/loginDialog.js:280
msgid "Choose Session" msgid "Choose Session"
msgstr "Esleyir a sesión" msgstr "Esleyir a sesión"
#: ../js/gdm/loginDialog.js:431 #: ../js/gdm/loginDialog.js:420
msgid "Not listed?" msgid "Not listed?"
msgstr "No ye en a lista?" msgstr "No ye en a lista?"
#: ../js/gdm/loginDialog.js:847 #: ../js/gdm/loginDialog.js:829
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(eix., usuario u %s)" msgstr "(eix., usuario u %s)"
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271 #: ../js/gdm/loginDialog.js:834 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289 #: ../js/ui/components/networkAgent.js:289
msgid "Username: " msgid "Username: "
msgstr "Nombre d'usuario: " msgstr "Nombre d'usuario:"
#: ../js/gdm/loginDialog.js:1180 #: ../js/gdm/loginDialog.js:1169
msgid "Login Window" msgid "Login Window"
msgstr "Finestra d'inicio de sesión" msgstr "Finestra d'inicio de sesión"
@@ -450,31 +452,31 @@ msgstr "%d de %B de %Y, %l%M %"
msgid "Web Authentication Redirect" msgid "Web Authentication Redirect"
msgstr "Rendrecera ta autentiación web" msgstr "Rendrecera ta autentiación web"
#: ../js/ui/appDisplay.js:789 #: ../js/ui/appDisplay.js:792
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "As aplicaciones usadas freqüentment amaneixerán aquí" msgstr "As aplicaciones usadas freqüentment amaneixerán aquí"
#: ../js/ui/appDisplay.js:909 #: ../js/ui/appDisplay.js:912
msgid "Frequent" msgid "Frequent"
msgstr "Freqüent" msgstr "Freqüent"
#: ../js/ui/appDisplay.js:916 #: ../js/ui/appDisplay.js:919
msgid "All" msgid "All"
msgstr "Todas" msgstr "Todas"
#: ../js/ui/appDisplay.js:1845 #: ../js/ui/appDisplay.js:1850
msgid "New Window" msgid "New Window"
msgstr "Finestra nueva" msgstr "Finestra nueva"
#: ../js/ui/appDisplay.js:1873 ../js/ui/dash.js:289 #: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Sacar d'os favoritos" msgstr "Sacar d'os favoritos"
#: ../js/ui/appDisplay.js:1879 #: ../js/ui/appDisplay.js:1884
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Anyadir a os favoritos" msgstr "Anyadir a os favoritos"
#: ../js/ui/appDisplay.js:1889 #: ../js/ui/appDisplay.js:1894
msgid "Show Details" msgid "Show Details"
msgstr "Amostrar detalles" msgstr "Amostrar detalles"
@@ -488,19 +490,15 @@ msgstr "S'ha anyadiu %s a os suyos favoritos."
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "S'ha sacau %s d'os suyos favoritos" msgstr "S'ha sacau %s d'os suyos favoritos"
#: ../js/ui/backgroundMenu.js:19 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
msgid "Change Background…" #: ../js/ui/status/system.js:337
msgstr "Cambiar o fondo…"
#: ../js/ui/backgroundMenu.js:21
msgid "Display Settings"
msgstr "Preferencias de pantalla"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:357
msgid "Settings" msgid "Settings"
msgstr "Configuración" msgstr "Configuración"
#: ../js/ui/backgroundMenu.js:21
msgid "Change Background…"
msgstr "Cambiar o fondo…"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */ #. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#: ../js/ui/calendar.js:53 #: ../js/ui/calendar.js:53
msgctxt "calendar-no-work" msgctxt "calendar-no-work"
@@ -553,53 +551,54 @@ msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "S" msgstr "S"
#: ../js/ui/calendar.js:564 #: ../js/ui/calendar.js:563
msgid "Previous month" msgid "Previous month"
msgstr "Mes anterior" msgstr "Mes anterior"
#: ../js/ui/calendar.js:574 #: ../js/ui/calendar.js:573
msgid "Next month" msgid "Next month"
msgstr "Mes siguient" msgstr "Mes siguient"
#: ../js/ui/calendar.js:781 #: ../js/ui/calendar.js:780
msgid "Week %V" msgid "Week %V"
msgstr "Semana %V" msgstr "Semana %V"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * Keep it short, best if you can use less then 10 characters
#. */ #. */
#: ../js/ui/calendar.js:1187 #: ../js/ui/calendar.js:1182
msgctxt "event list time" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Tot o diya" msgstr "Tot o diya"
#: ../js/ui/calendar.js:1289 #: ../js/ui/calendar.js:1288
msgid "Clear section" msgid "Clear section"
msgstr "Limpiar a sección" msgstr "Limpiar a sección"
#: ../js/ui/calendar.js:1516 #: ../js/ui/calendar.js:1515
msgid "Events" msgid "Events"
msgstr "Eventos" msgstr "Eventos"
#: ../js/ui/calendar.js:1525 #: ../js/ui/calendar.js:1524
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d de %B" msgstr "%A, %d de %B"
#: ../js/ui/calendar.js:1529 #: ../js/ui/calendar.js:1528
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %d de %B de %Y" msgstr "%A, %d de %B de %Y"
#: ../js/ui/calendar.js:1614 #: ../js/ui/calendar.js:1613
msgid "Notifications" msgid "Notifications"
msgstr "Notificacions" msgstr "Notificacions"
#: ../js/ui/calendar.js:1765 #: ../js/ui/calendar.js:1764
#| msgid "Notifications"
msgid "No Notifications" msgid "No Notifications"
msgstr "No i hai notificacions" msgstr "No i hai notificacions"
#: ../js/ui/calendar.js:1768 #: ../js/ui/calendar.js:1767
msgid "No Events" msgid "No Events"
msgstr "No i hai eventos" msgstr "No i hai eventos"
@@ -635,23 +634,23 @@ msgstr "Connectar"
#: ../js/ui/components/networkAgent.js:293 #: ../js/ui/components/networkAgent.js:293
#: ../js/ui/components/networkAgent.js:303 #: ../js/ui/components/networkAgent.js:303
msgid "Password: " msgid "Password: "
msgstr "Clau de paso: " msgstr "Clau de paso:"
#: ../js/ui/components/networkAgent.js:238 #: ../js/ui/components/networkAgent.js:238
msgid "Key: " msgid "Key: "
msgstr "Clau: " msgstr "Clau:"
#: ../js/ui/components/networkAgent.js:277 #: ../js/ui/components/networkAgent.js:277
msgid "Identity: " msgid "Identity: "
msgstr "Identidat: " msgstr "Identidat:"
#: ../js/ui/components/networkAgent.js:279 #: ../js/ui/components/networkAgent.js:279
msgid "Private key password: " msgid "Private key password: "
msgstr "Clau d'a clau privada: " msgstr "Clau d'a clau privada:"
#: ../js/ui/components/networkAgent.js:291 #: ../js/ui/components/networkAgent.js:291
msgid "Service: " msgid "Service: "
msgstr "Servicio: " msgstr "Servicio:"
#: ../js/ui/components/networkAgent.js:320 #: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:658 #: ../js/ui/components/networkAgent.js:658
@@ -662,8 +661,8 @@ msgstr "O ret sin cordón requiere autenticación"
#: ../js/ui/components/networkAgent.js:659 #: ../js/ui/components/networkAgent.js:659
#, javascript-format #, javascript-format
msgid "" msgid ""
"Passwords or encryption keys are required to access the wireless network " "Passwords or encryption keys are required to access the wireless network "
"%s”." "%s”."
msgstr "" msgstr ""
"S'amenesten claus u claus de zifrau ta accedir a o ret inalambrico\"%s\"." "S'amenesten claus u claus de zifrau ta accedir a o ret inalambrico\"%s\"."
@@ -674,7 +673,7 @@ msgstr "Autenticación 802.1X cableada"
#: ../js/ui/components/networkAgent.js:327 #: ../js/ui/components/networkAgent.js:327
msgid "Network name: " msgid "Network name: "
msgstr "Nombre d'o ret: " msgstr "Nombre d'o ret:"
#: ../js/ui/components/networkAgent.js:332 #: ../js/ui/components/networkAgent.js:332
#: ../js/ui/components/networkAgent.js:666 #: ../js/ui/components/networkAgent.js:666
@@ -734,7 +733,7 @@ msgstr "Prebe atra vegada."
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. */ #. IM name. */
#: ../js/ui/components/telepathyClient.js:757 #: ../js/ui/components/telepathyClient.js:768
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "Agora %s se dice %s" msgstr "Agora %s se dice %s"
@@ -743,11 +742,11 @@ msgstr "Agora %s se dice %s"
msgid "Windows" msgid "Windows"
msgstr "Finestras" msgstr "Finestras"
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291 #: ../js/ui/dash.js:252 ../js/ui/dash.js:293
msgid "Show Applications" msgid "Show Applications"
msgstr "Amostrar aplicacions" msgstr "Amostrar aplicacions"
#: ../js/ui/dash.js:449 #: ../js/ui/dash.js:453
msgid "Dash" msgid "Dash"
msgstr "Tablero" msgstr "Tablero"
@@ -755,6 +754,7 @@ msgstr "Tablero"
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */ #. */
#: ../js/ui/dateMenu.js:73 #: ../js/ui/dateMenu.js:73
#| msgid "%A %B %e, %Y"
msgid "%B %e %Y" msgid "%B %e %Y"
msgstr "%B %e %Y" msgstr "%B %e %Y"
@@ -763,6 +763,7 @@ msgstr "%B %e %Y"
#. * date, e.g. "Tuesday February 17 2015". #. * date, e.g. "Tuesday February 17 2015".
#. */ #. */
#: ../js/ui/dateMenu.js:80 #: ../js/ui/dateMenu.js:80
#| msgid "%A %B %e, %Y"
msgid "%A %B %e %Y" msgid "%A %B %e %Y"
msgstr "%A %e de %B de %Y" msgstr "%A %e de %B de %Y"
@@ -771,6 +772,7 @@ msgid "Add world clocks…"
msgstr "Adhibir reloches d'o mundo…" msgstr "Adhibir reloches d'o mundo…"
#: ../js/ui/dateMenu.js:161 #: ../js/ui/dateMenu.js:161
#| msgid "Open Clocks"
msgid "World Clocks" msgid "World Clocks"
msgstr "Reloches d'o mundo" msgstr "Reloches d'o mundo"
@@ -914,16 +916,17 @@ msgstr "Instalar"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Descargar y instalar \"%s\" dende extensions.gnome.org?" msgstr "Descargar y instalar \"%s\" dende extensions.gnome.org?"
#: ../js/ui/keyboard.js:747 ../js/ui/status/keyboard.js:713 #: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:580
msgid "Keyboard" msgid "Keyboard"
msgstr "Teclau" msgstr "Teclau"
#. translators: 'Hide' is a verb */ #. translators: 'Hide' is a verb */
#: ../js/ui/legacyTray.js:66 #: ../js/ui/legacyTray.js:64
#| msgid "Hide Text"
msgid "Hide tray" msgid "Hide tray"
msgstr "Amagar servilla" msgstr "Amagar servilla"
#: ../js/ui/legacyTray.js:107 #: ../js/ui/legacyTray.js:104
msgid "Status Icons" msgid "Status Icons"
msgstr "Iconos d'estau" msgstr "Iconos d'estau"
@@ -979,7 +982,7 @@ msgstr "Veyer fuent"
msgid "Web Page" msgid "Web Page"
msgstr "Pachina web" msgstr "Pachina web"
#: ../js/ui/messageTray.js:1486 #: ../js/ui/messageTray.js:2133
msgid "System Information" msgid "System Information"
msgstr "Informacion d'o sistema" msgstr "Informacion d'o sistema"
@@ -1021,7 +1024,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command" msgid "Enter a Command"
msgstr "Introducir un comando" msgstr "Introducir un comando"
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162 #: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:120
msgid "Close" msgid "Close"
msgstr "Trancar" msgstr "Trancar"
@@ -1049,27 +1052,27 @@ msgid_plural "%d new notifications"
msgstr[0] "%d notificación nueva" msgstr[0] "%d notificación nueva"
msgstr[1] "%d notificacions nuevas" msgstr[1] "%d notificacions nuevas"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:365 #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345
msgid "Lock" msgid "Lock"
msgstr "Blocar" msgstr "Blocar"
#: ../js/ui/screenShield.js:684 #: ../js/ui/screenShield.js:668
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "GNOME ameneste blocar a pantalla" msgstr "GNOME ameneste blocar a pantalla"
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271 #: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271
msgid "Unable to lock" msgid "Unable to lock"
msgstr "No se podió blocar" msgstr "No se podió blocar"
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272 #: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Una aplicación impidió o bloqueyo" msgstr "Una aplicación impidió o bloqueyo"
#: ../js/ui/search.js:617 #: ../js/ui/search.js:616
msgid "Searching…" msgid "Searching…"
msgstr "Mirando…" msgstr "Mirando…"
#: ../js/ui/search.js:619 #: ../js/ui/search.js:618
msgid "No results." msgid "No results."
msgstr "No se troboron resultaus." msgstr "No se troboron resultaus."
@@ -1133,11 +1136,11 @@ msgstr "Refuso de teclas"
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Teclas d'o ratet" msgstr "Teclas d'o ratet"
#: ../js/ui/status/accessibility.js:167 #: ../js/ui/status/accessibility.js:144
msgid "High Contrast" msgid "High Contrast"
msgstr "Contraste alto" msgstr "Contraste alto"
#: ../js/ui/status/accessibility.js:202 #: ../js/ui/status/accessibility.js:193
msgid "Large Text" msgid "Large Text"
msgstr "Texto gran" msgstr "Texto gran"
@@ -1171,7 +1174,7 @@ msgstr "No connectau"
msgid "Brightness" msgid "Brightness"
msgstr "Brilo" msgstr "Brilo"
#: ../js/ui/status/keyboard.js:736 #: ../js/ui/status/keyboard.js:603
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Amostrar a distribución d'o teclau" msgstr "Amostrar a distribución d'o teclau"
@@ -1265,7 +1268,7 @@ msgstr "O modo avión ye enchegau"
#: ../js/ui/status/network.js:814 #: ../js/ui/status/network.js:814
msgid "Wi-Fi is disabled when airplane mode is on." msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "O Wi-Fi ye desactivau quan o modo avión ye enchegau." msgstr "O Wi-Fi ye desactivau quan o modo avión ye enchegau."
#: ../js/ui/status/network.js:815 #: ../js/ui/status/network.js:815
msgid "Turn Off Airplane Mode" msgid "Turn Off Airplane Mode"
@@ -1382,23 +1385,23 @@ msgstr "Modo avión"
msgid "On" msgid "On"
msgstr "Enchegau" msgstr "Enchegau"
#: ../js/ui/status/system.js:337 #: ../js/ui/status/system.js:317
msgid "Switch User" msgid "Switch User"
msgstr "Cambear d'usuario" msgstr "Cambear d'usuario"
#: ../js/ui/status/system.js:342 #: ../js/ui/status/system.js:322
msgid "Log Out" msgid "Log Out"
msgstr "Trancar sesion" msgstr "Trancar sesion"
#: ../js/ui/status/system.js:361 #: ../js/ui/status/system.js:341
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Bloqueyo d'Orientación" msgstr "Bloqueyo d'Orientación"
#: ../js/ui/status/system.js:369 #: ../js/ui/status/system.js:349
msgid "Suspend" msgid "Suspend"
msgstr "Suspender" msgstr "Suspender"
#: ../js/ui/status/system.js:372 #: ../js/ui/status/system.js:352
msgid "Power Off" msgid "Power Off"
msgstr "Amortar" msgstr "Amortar"
@@ -1430,27 +1433,27 @@ msgstr "Aplicacions"
msgid "Search" msgid "Search"
msgstr "Mirar" msgstr "Mirar"
#: ../js/ui/windowAttentionHandler.js:20 #: ../js/ui/windowAttentionHandler.js:19
#, javascript-format #, javascript-format
msgid "“%s” is ready" msgid "“%s” is ready"
msgstr "\"%s\" ye parau" msgstr "\"%s\" ye parau"
#: ../js/ui/windowManager.js:63 #: ../js/ui/windowManager.js:65
msgid "Do you want to keep these display settings?" msgid "Do you want to keep these display settings?"
msgstr "Quiers mantener istas opcions de pantalla?" msgstr "Quiers mantener istas opcions de pantalla?"
#. Translators: this and the following message should be limited in lenght, #. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels. #. to avoid ellipsizing the labels.
#. */ #. */
#: ../js/ui/windowManager.js:82 #: ../js/ui/windowManager.js:84
msgid "Revert Settings" msgid "Revert Settings"
msgstr "Revertir as opcions" msgstr "Revertir as opcions"
#: ../js/ui/windowManager.js:86 #: ../js/ui/windowManager.js:88
msgid "Keep Changes" msgid "Keep Changes"
msgstr "Mantener os cambeos" msgstr "Mantener os cambeos"
#: ../js/ui/windowManager.js:105 #: ../js/ui/windowManager.js:107
#, javascript-format #, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
@@ -1459,7 +1462,7 @@ msgstr[1] "Os cambeos d'as opcions serán revertius en %d segundos"
#. Translators: This represents the size of a window. The first number is #. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */ #. * the width of the window and the second is the height. */
#: ../js/ui/windowManager.js:660 #: ../js/ui/windowManager.js:599
#, javascript-format #, javascript-format
msgid "%d x %d" msgid "%d x %d"
msgstr "%d x %d" msgstr "%d x %d"
@@ -1496,48 +1499,14 @@ msgstr "Siempre veyible"
msgid "Always on Visible Workspace" msgid "Always on Visible Workspace"
msgstr "Siempre en l'aria de treballo veyible" msgstr "Siempre en l'aria de treballo veyible"
#: ../js/ui/windowMenu.js:105 #: ../js/ui/windowMenu.js:106
#, fuzzy
#| msgid "Move to Workspace Up"
msgid "Move to Workspace Left"
msgstr "Mover a l'aria de treballo d'a cucha"
#: ../js/ui/windowMenu.js:110
#, fuzzy
#| msgid "Move to Workspace Up"
msgid "Move to Workspace Right"
msgstr "Mover a l'aria de treballo d'a dreita"
#: ../js/ui/windowMenu.js:115
msgid "Move to Workspace Up" msgid "Move to Workspace Up"
msgstr "Mover ta l'aria de treballo d'alto" msgstr "Mover ta l'aria de treballo d'alto"
#: ../js/ui/windowMenu.js:120 #: ../js/ui/windowMenu.js:111
msgid "Move to Workspace Down" msgid "Move to Workspace Down"
msgstr "Mover ta l'aria de treballo d'abaixo" msgstr "Mover ta l'aria de treballo d'abaixo"
#: ../js/ui/windowMenu.js:136
#, fuzzy
#| msgid "Move to Workspace Up"
msgid "Move to Monitor Up"
msgstr "Mover a la pantalla d'alto"
#: ../js/ui/windowMenu.js:142
#, fuzzy
#| msgid "Move to Workspace Down"
msgid "Move to Monitor Down"
msgstr "Mover a la pantalla d'abaixo"
#: ../js/ui/windowMenu.js:148
#, fuzzy
msgid "Move to Monitor Left"
msgstr "Mover a la pantalla d'a cucha"
#: ../js/ui/windowMenu.js:154
#, fuzzy
msgid "Move to Monitor Right"
msgstr "Mover a la pantalla d'a dreita"
#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1 #: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1
msgid "Evolution Calendar" msgid "Evolution Calendar"
msgstr "Calandario d'Evolution" msgstr "Calandario d'Evolution"
@@ -1592,11 +1561,11 @@ msgstr "Desconoxiu"
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Ha fallau en aventar \"%s\"" msgstr "Ha fallau en aventar \"%s\""
#: ../src/shell-keyring-prompt.c:742 #: ../src/shell-keyring-prompt.c:714
msgid "Passwords do not match." msgid "Passwords do not match."
msgstr "As claus de paso no coinciden." msgstr "As claus de paso no coinciden."
#: ../src/shell-keyring-prompt.c:750 #: ../src/shell-keyring-prompt.c:722
msgid "Password cannot be blank" msgid "Password cannot be blank"
msgstr "A clau de paso no puede estar vueda" msgstr "A clau de paso no puede estar vueda"
@@ -1834,6 +1803,14 @@ msgstr "L'usuario refusó o dialogo d'autenticación"
#~ msgid "The maximum accuracy level of location." #~ msgid "The maximum accuracy level of location."
#~ msgstr "O maximo libel de precisión d'ubicación." #~ msgstr "O maximo libel de precisión d'ubicación."
#~| msgid ""
#~| "Configures the maximum level of location accuracy applications are "
#~| "allowed to see. Valid options are 'off' (disable location tracking), "
#~| "'country', 'city', 'neighborhood', 'street', and 'exact' (typically "
#~| "requires GPS receiver). Please keep in mind that this only controls what "
#~| "Geoclue will allow applications to see and they can find user's location "
#~| "on their own using network resources (albeit with street-level accuracy "
#~| "at best)."
#~ msgid "" #~ msgid ""
#~ "Configures the maximum level of location accuracy applications are " #~ "Configures the maximum level of location accuracy applications are "
#~ "allowed to see. Valid options are 'off' (disable location tracking), " #~ "allowed to see. Valid options are 'off' (disable location tracking), "
@@ -1845,8 +1822,8 @@ msgstr "L'usuario refusó o dialogo d'autenticación"
#~ msgstr "" #~ msgstr ""
#~ "Configura o ran maximo de precisión d'ubicación que as aplicacions " #~ "Configura o ran maximo de precisión d'ubicación que as aplicacions "
#~ "pueden veyer. As opcions validas son 'off' (seguimiento d'ubicación " #~ "pueden veyer. As opcions validas son 'off' (seguimiento d'ubicación "
#~ "desenchegau), 'country', 'city', 'neighborhood', 'street', and 'exact' " #~ "desenchegau), 'country', 'city', 'neighborhood', 'street', and "
#~ "(typicament requier GPS " #~ "'exact' (typicament requier GPS "
#~ msgid "Arrangement of buttons on the titlebar" #~ msgid "Arrangement of buttons on the titlebar"
#~ msgstr "Orden d'os botons en a barra de titol" #~ msgstr "Orden d'os botons en a barra de titol"
@@ -1991,6 +1968,7 @@ msgstr "L'usuario refusó o dialogo d'autenticación"
#~ msgid "Session…" #~ msgid "Session…"
#~ msgstr "Sesión…" #~ msgstr "Sesión…"
#~| msgid "Power Off"
#~ msgid "Power" #~ msgid "Power"
#~ msgstr "Enerchía" #~ msgstr "Enerchía"
@@ -2154,9 +2132,11 @@ msgstr "L'usuario refusó o dialogo d'autenticación"
#~ msgid "%d%%" #~ msgid "%d%%"
#~ msgstr "%d%%" #~ msgstr "%d%%"
#~| msgid "AC adapter"
#~ msgid "AC Adapter" #~ msgid "AC Adapter"
#~ msgstr "Adaptador de corrient" #~ msgstr "Adaptador de corrient"
#~| msgid "Laptop battery"
#~ msgid "Laptop Battery" #~ msgid "Laptop Battery"
#~ msgstr "Bateria d'o portatil" #~ msgstr "Bateria d'o portatil"
@@ -2169,9 +2149,11 @@ msgstr "L'usuario refusó o dialogo d'autenticación"
#~ msgid "PDA" #~ msgid "PDA"
#~ msgstr "PDA" #~ msgstr "PDA"
#~| msgid "Cell phone"
#~ msgid "Cell Phone" #~ msgid "Cell Phone"
#~ msgstr "Telefono movil" #~ msgstr "Telefono movil"
#~| msgid "Media player"
#~ msgid "Media Player" #~ msgid "Media Player"
#~ msgstr "Reproductor multimeya" #~ msgstr "Reproductor multimeya"
@@ -2181,6 +2163,7 @@ msgstr "L'usuario refusó o dialogo d'autenticación"
#~ msgid "Computer" #~ msgid "Computer"
#~ msgstr "Equipo" #~ msgstr "Equipo"
#~| msgid "Unknown"
#~ msgctxt "device" #~ msgctxt "device"
#~ msgid "Unknown" #~ msgid "Unknown"
#~ msgstr "Desconoxiu" #~ msgstr "Desconoxiu"

555
po/ar.po

File diff suppressed because it is too large Load Diff

524
po/ca.po

File diff suppressed because it is too large Load Diff

575
po/cs.po

File diff suppressed because it is too large Load Diff

541
po/da.po

File diff suppressed because it is too large Load Diff

582
po/de.po

File diff suppressed because it is too large Load Diff

592
po/el.po

File diff suppressed because it is too large Load Diff

602
po/es.po

File diff suppressed because it is too large Load Diff

666
po/eu.po

File diff suppressed because it is too large Load Diff

1644
po/fa.po

File diff suppressed because it is too large Load Diff

737
po/fi.po

File diff suppressed because it is too large Load Diff

1239
po/fr.po

File diff suppressed because it is too large Load Diff

1727
po/ga.po

File diff suppressed because it is too large Load Diff

538
po/gl.po

File diff suppressed because it is too large Load Diff

509
po/he.po

File diff suppressed because it is too large Load Diff

445
po/hu.po
View File

@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-08-31 08:10+0000\n" "POT-Creation-Date: 2015-06-23 08:06+0000\n"
"PO-Revision-Date: 2015-08-31 19:41+0200\n" "PO-Revision-Date: 2015-06-23 13:12+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n" "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <openscope at googlegroups dot com>\n" "Language-Team: Hungarian <openscope at googlegroups dot com>\n"
"Language: hu\n" "Language: hu\n"
@@ -136,16 +136,15 @@ msgstr "Az aktuálisan kiválasztott nézet indexe az alkalmazás-választóban.
msgid "History for command (Alt-F2) dialog" msgid "History for command (Alt-F2) dialog"
msgstr "A parancsablak (Alt-F2) előzményei" msgstr "A parancsablak (Alt-F2) előzményei"
#. Translators: looking glass is a debugger and inspector tool, see https://live.gnome.org/GnomeShell/LookingGlass #: ../data/org.gnome.shell.gschema.xml.in.in.h:12
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "History for the looking glass dialog" msgid "History for the looking glass dialog"
msgstr "A távcső ablak előzményei" msgstr "A távcső ablak előzményei"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14 #: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menu item in the user menu." msgid "Always show the 'Log out' menu item in the user menu."
msgstr "Mindig jelenjen meg a „Kijelentkezés” menüelem a felhasználói menüben." msgstr "Mindig jelenjen meg a „Kijelentkezés” menüelem a felhasználói menüben."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15 #: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "" msgid ""
"This key overrides the automatic hiding of the 'Log out' menu item in single-" "This key overrides the automatic hiding of the 'Log out' menu item in single-"
"user, single-session situations." "user, single-session situations."
@@ -153,13 +152,13 @@ msgstr ""
"Ez a kulcs felülbírálja a „Kijelentkezés” menüelem automatikus elrejtését " "Ez a kulcs felülbírálja a „Kijelentkezés” menüelem automatikus elrejtését "
"egyfelhasználós, egyedüli munkamenet esetén." "egyfelhasználós, egyedüli munkamenet esetén."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16 #: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "" msgid ""
"Whether to remember password for mounting encrypted or remote filesystems" "Whether to remember password for mounting encrypted or remote filesystems"
msgstr "" msgstr ""
"Megjegyezze-e a jelszót a titkosított vagy távoli fájlrendszerek csatolásához" "Megjegyezze-e a jelszót a titkosított vagy távoli fájlrendszerek csatolásához"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17 #: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "" msgid ""
"The shell will request a password when an encrypted device or a remote " "The shell will request a password when an encrypted device or a remote "
"filesystem is mounted. If the password can be saved for future use a " "filesystem is mounted. If the password can be saved for future use a "
@@ -171,77 +170,77 @@ msgstr ""
"egy „Jelszó megjegyzése” négyzet. Ez a kulcs beállítja a jelölőnégyzet " "egy „Jelszó megjegyzése” négyzet. Ez a kulcs beállítja a jelölőnégyzet "
"alapértelmezett állapotát." "alapértelmezett állapotát."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18 #: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Show the week date in the calendar" msgid "Show the week date in the calendar"
msgstr "Hetek számának megjelenítése a naptárban" msgstr "Hetek számának megjelenítése a naptárban"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19 #: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "If true, display the ISO week date in the calendar." msgid "If true, display the ISO week date in the calendar."
msgstr "Ha igazra van állítva, a naptárban megjelenik az ISO hétszám." msgstr "Ha igazra van állítva, a naptárban megjelenik az ISO hétszám."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20 #: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to open the application menu" msgid "Keybinding to open the application menu"
msgstr "Billentyűtársítás az alkalmazásmenü megnyitásához" msgstr "Billentyűtársítás az alkalmazásmenü megnyitásához"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21 #: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to open the application menu." msgid "Keybinding to open the application menu."
msgstr "Billentyűtársítás az alkalmazásmenü megnyitásához." msgstr "Billentyűtársítás az alkalmazásmenü megnyitásához."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22 #: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Keybinding to open the \"Show Applications\" view" msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Billentyűtársítás az „Alkalmazások megjelenítése” nézet megnyitásához" msgstr "Billentyűtársítás az „Alkalmazások megjelenítése” nézet megnyitásához"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23 #: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "" msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview." "Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "" msgstr ""
"Billentyűtársítás a Tevékenységek áttekintés „Alkalmazások megjelenítése” " "Billentyűtársítás a Tevékenységek áttekintés „Alkalmazások megjelenítése” "
"nézetének megnyitásához." "nézetének megnyitásához."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24 #: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Keybinding to open the overview" msgid "Keybinding to open the overview"
msgstr "Billentyűtársítás az áttekintés megnyitásához" msgstr "Billentyűtársítás az áttekintés megnyitásához"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25 #: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to open the Activities Overview." msgid "Keybinding to open the Activities Overview."
msgstr "Billentyűtársítás a Tevékenységek áttekintés megnyitásához." msgstr "Billentyűtársítás a Tevékenységek áttekintés megnyitásához."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26 #: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "Keybinding to toggle the visibility of the notification list" msgid "Keybinding to toggle the visibility of the notification list"
msgstr "Billentyűtársítás az értesítési lista láthatóságának módosításához" msgstr "Billentyűtársítás az értesítési lista láthatóságának módosításához"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27 #: ../data/org.gnome.shell.gschema.xml.in.in.h:26
msgid "Keybinding to toggle the visibility of the notification list." msgid "Keybinding to toggle the visibility of the notification list."
msgstr "Billentyűtársítás az értesítési lista láthatóságának módosításához." msgstr "Billentyűtársítás az értesítési lista láthatóságának módosításához."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28 #: ../data/org.gnome.shell.gschema.xml.in.in.h:27
msgid "Keybinding to focus the active notification" msgid "Keybinding to focus the active notification"
msgstr "Billentyűtársítás az aktív értesítés fókuszálásához" msgstr "Billentyűtársítás az aktív értesítés fókuszálásához"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29 #: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "Keybinding to focus the active notification." msgid "Keybinding to focus the active notification."
msgstr "Billentyűtársítás az aktív értesítés fókuszálásához." msgstr "Billentyűtársítás az aktív értesítés fókuszálásához."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30 #: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid "" msgid ""
"Keybinding that pauses and resumes all running tweens, for debugging purposes" "Keybinding that pauses and resumes all running tweens, for debugging purposes"
msgstr "" msgstr ""
"Billentyűtársítás, amely minden futó átkötést szüneteltet és folytat " "Billentyűtársítás, amely minden futó átkötést szüneteltet és folytat "
"hibakeresési célból" "hibakeresési célból"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31 #: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid "Which keyboard to use" msgid "Which keyboard to use"
msgstr "A használandó billentyűzet" msgstr "A használandó billentyűzet"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32 #: ../data/org.gnome.shell.gschema.xml.in.in.h:31
msgid "The type of keyboard to use." msgid "The type of keyboard to use."
msgstr "Használandó billentyűzet típusa." msgstr "Használandó billentyűzet típusa."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33 #: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid "Limit switcher to current workspace." msgid "Limit switcher to current workspace."
msgstr "Váltó korlátozása a jelenlegi munkaterületre." msgstr "Váltó korlátozása a jelenlegi munkaterületre."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34 #: ../data/org.gnome.shell.gschema.xml.in.in.h:33
msgid "" msgid ""
"If true, only applications that have windows on the current workspace are " "If true, only applications that have windows on the current workspace are "
"shown in the switcher. Otherwise, all applications are included." "shown in the switcher. Otherwise, all applications are included."
@@ -250,11 +249,11 @@ msgstr ""
"amelyek ablakokkal rendelkeznek az aktuális munkaterületen. Egyébként minden " "amelyek ablakokkal rendelkeznek az aktuális munkaterületen. Egyébként minden "
"alkalmazás fel van véve." "alkalmazás fel van véve."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35 #: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "The application icon mode." msgid "The application icon mode."
msgstr "Az alkalmazás ikon mód." msgstr "Az alkalmazás ikon mód."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36 #: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid "" msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities " "Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
@@ -264,7 +263,7 @@ msgstr ""
"„thumbnail-only” (az ablak bélyegképének megjelenítése), „app-icon-only” (az " "„thumbnail-only” (az ablak bélyegképének megjelenítése), „app-icon-only” (az "
"alkalmazás ikonjának megjelenítése) vagy „both” (mindkettő)." "alkalmazás ikonjának megjelenítése) vagy „both” (mindkettő)."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37 #: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid "" msgid ""
"If true, only windows from the current workspace are shown in the switcher. " "If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included." "Otherwise, all windows are included."
@@ -272,30 +271,30 @@ msgstr ""
"Ha igaz, akkor csak az aktuális munkaterületről származó ablakok lesznek " "Ha igaz, akkor csak az aktuális munkaterületről származó ablakok lesznek "
"megjelenítve a váltón. Egyébként minden ablak fel lesz véve." "megjelenítve a váltón. Egyébként minden ablak fel lesz véve."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38 #: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid "Attach modal dialog to the parent window" msgid "Attach modal dialog to the parent window"
msgstr "Kizárólagos párbeszédablak csatolása a szülő ablakhoz" msgstr "Kizárólagos párbeszédablak csatolása a szülő ablakhoz"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39 #: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "" msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell." "This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr "" msgstr ""
"Ez a kulcs felülbírálja az org.gnome.mutter helyen lévő kulcsot, amikor a " "Ez a kulcs felülbírálja az org.gnome.mutter helyen lévő kulcsot, amikor a "
"GNOME Shell fut." "GNOME Shell fut."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40 #: ../data/org.gnome.shell.gschema.xml.in.in.h:39
msgid "Enable edge tiling when dropping windows on screen edges" msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "Szélek csempézésének engedélyezése ablakok képernyőszélekre ejtésekor" msgstr "Szélek csempézésének engedélyezése ablakok képernyőszélekre ejtésekor"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41 #: ../data/org.gnome.shell.gschema.xml.in.in.h:40
msgid "Workspaces are managed dynamically" msgid "Workspaces are managed dynamically"
msgstr "Munkaterületek dinamikus kezelése" msgstr "Munkaterületek dinamikus kezelése"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42 #: ../data/org.gnome.shell.gschema.xml.in.in.h:41
msgid "Workspaces only on primary monitor" msgid "Workspaces only on primary monitor"
msgstr "Munkaterületek csak az elsődleges monitoron" msgstr "Munkaterületek csak az elsődleges monitoron"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43 #: ../data/org.gnome.shell.gschema.xml.in.in.h:42
msgid "Delay focus changes in mouse mode until the pointer stops moving" msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "" msgstr ""
"Fókuszváltozások késleltetése a mutató mozgásának megállásáig egér módban" "Fókuszváltozások késleltetése a mutató mozgásának megállásáig egér módban"
@@ -314,14 +313,13 @@ msgid "GNOME Shell Extensions"
msgstr "GNOME Shell kiterjesztések" msgstr "GNOME Shell kiterjesztések"
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145 #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452 #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:916 #: ../js/ui/status/network.js:916
msgid "Cancel" msgid "Cancel"
msgstr "Mégse" msgstr "Mégse"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215 #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:435
msgid "Next" msgid "Next"
msgstr "Következő" msgstr "Következő"
@@ -343,17 +341,17 @@ msgstr "Válasszon munkamenetet"
msgid "Not listed?" msgid "Not listed?"
msgstr "Nincs a listán?" msgstr "Nincs a listán?"
#: ../js/gdm/loginDialog.js:847 #: ../js/gdm/loginDialog.js:840
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(például: felhasználó vagy %s)" msgstr "(például: felhasználó vagy %s)"
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271 #: ../js/gdm/loginDialog.js:845 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289 #: ../js/ui/components/networkAgent.js:289
msgid "Username: " msgid "Username: "
msgstr "Felhasználónév: " msgstr "Felhasználónév: "
#: ../js/gdm/loginDialog.js:1181 #: ../js/gdm/loginDialog.js:1173
msgid "Login Window" msgid "Login Window"
msgstr "Bejelentkezési ablak" msgstr "Bejelentkezési ablak"
@@ -446,31 +444,31 @@ msgstr "%Y. %B %d., %l.%M %p"
msgid "Web Authentication Redirect" msgid "Web Authentication Redirect"
msgstr "Web hitelesítés átirányítás" msgstr "Web hitelesítés átirányítás"
#: ../js/ui/appDisplay.js:794 #: ../js/ui/appDisplay.js:788
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Itt jelennek meg a gyakran használt alkalmazások" msgstr "Itt jelennek meg a gyakran használt alkalmazások"
#: ../js/ui/appDisplay.js:914 #: ../js/ui/appDisplay.js:908
msgid "Frequent" msgid "Frequent"
msgstr "Gyakori" msgstr "Gyakori"
#: ../js/ui/appDisplay.js:921 #: ../js/ui/appDisplay.js:915
msgid "All" msgid "All"
msgstr "Összes" msgstr "Összes"
#: ../js/ui/appDisplay.js:1853 #: ../js/ui/appDisplay.js:1844
msgid "New Window" msgid "New Window"
msgstr "Új ablak" msgstr "Új ablak"
#: ../js/ui/appDisplay.js:1881 ../js/ui/dash.js:289 #: ../js/ui/appDisplay.js:1872 ../js/ui/dash.js:289
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Eltávolítás a Kedvencek közül" msgstr "Eltávolítás a Kedvencek közül"
#: ../js/ui/appDisplay.js:1887 #: ../js/ui/appDisplay.js:1878
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Hozzáadás a Kedvencekhez" msgstr "Hozzáadás a Kedvencekhez"
#: ../js/ui/appDisplay.js:1897 #: ../js/ui/appDisplay.js:1888
msgid "Show Details" msgid "Show Details"
msgstr "Részletek megjelenítése" msgstr "Részletek megjelenítése"
@@ -493,12 +491,12 @@ msgid "Display Settings"
msgstr "Kijelző beállításai" msgstr "Kijelző beállításai"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650 #: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366 #: ../js/ui/status/system.js:357
msgid "Settings" msgid "Settings"
msgstr "Beállítások" msgstr "Beállítások"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */ #. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#: ../js/ui/calendar.js:55 #: ../js/ui/calendar.js:53
msgctxt "calendar-no-work" msgctxt "calendar-no-work"
msgid "06" msgid "06"
msgstr "06" msgstr "06"
@@ -508,94 +506,94 @@ msgstr "06"
#. * NOTE: These grid abbreviations are always shown together #. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S". #. * and in order, e.g. "S M T W T F S".
#. */ #. */
#: ../js/ui/calendar.js:84 #: ../js/ui/calendar.js:82
msgctxt "grid sunday" msgctxt "grid sunday"
msgid "S" msgid "S"
msgstr "V" msgstr "V"
#. Translators: Calendar grid abbreviation for Monday */ #. Translators: Calendar grid abbreviation for Monday */
#: ../js/ui/calendar.js:86 #: ../js/ui/calendar.js:84
msgctxt "grid monday" msgctxt "grid monday"
msgid "M" msgid "M"
msgstr "H" msgstr "H"
#. Translators: Calendar grid abbreviation for Tuesday */ #. Translators: Calendar grid abbreviation for Tuesday */
#: ../js/ui/calendar.js:88 #: ../js/ui/calendar.js:86
msgctxt "grid tuesday" msgctxt "grid tuesday"
msgid "T" msgid "T"
msgstr "K" msgstr "K"
#. Translators: Calendar grid abbreviation for Wednesday */ #. Translators: Calendar grid abbreviation for Wednesday */
#: ../js/ui/calendar.js:90 #: ../js/ui/calendar.js:88
msgctxt "grid wednesday" msgctxt "grid wednesday"
msgid "W" msgid "W"
msgstr "Sz" msgstr "Sz"
#. Translators: Calendar grid abbreviation for Thursday */ #. Translators: Calendar grid abbreviation for Thursday */
#: ../js/ui/calendar.js:92 #: ../js/ui/calendar.js:90
msgctxt "grid thursday" msgctxt "grid thursday"
msgid "T" msgid "T"
msgstr "Cs" msgstr "Cs"
#. Translators: Calendar grid abbreviation for Friday */ #. Translators: Calendar grid abbreviation for Friday */
#: ../js/ui/calendar.js:94 #: ../js/ui/calendar.js:92
msgctxt "grid friday" msgctxt "grid friday"
msgid "F" msgid "F"
msgstr "P" msgstr "P"
#. Translators: Calendar grid abbreviation for Saturday */ #. Translators: Calendar grid abbreviation for Saturday */
#: ../js/ui/calendar.js:96 #: ../js/ui/calendar.js:94
msgctxt "grid saturday" msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "Sz" msgstr "Sz"
#: ../js/ui/calendar.js:566 #: ../js/ui/calendar.js:564
msgid "Previous month" msgid "Previous month"
msgstr "Előző hónap" msgstr "Előző hónap"
#: ../js/ui/calendar.js:576 #: ../js/ui/calendar.js:574
msgid "Next month" msgid "Next month"
msgstr "Következő hónap" msgstr "Következő hónap"
#: ../js/ui/calendar.js:783 #: ../js/ui/calendar.js:781
msgid "Week %V" msgid "Week %V"
msgstr "%V. hét" msgstr "%V. hét"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * Keep it short, best if you can use less then 10 characters
#. */ #. */
#: ../js/ui/calendar.js:1188 #: ../js/ui/calendar.js:1187
msgctxt "event list time" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Egész nap" msgstr "Egész nap"
#: ../js/ui/calendar.js:1291 #: ../js/ui/calendar.js:1289
msgid "Clear section" msgid "Clear section"
msgstr "Szakasz törlése" msgstr "Szakasz törlése"
#: ../js/ui/calendar.js:1518 #: ../js/ui/calendar.js:1516
msgid "Events" msgid "Events"
msgstr "Események" msgstr "Események"
#: ../js/ui/calendar.js:1527 #: ../js/ui/calendar.js:1525
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %B %d." msgstr "%A, %B %d."
#: ../js/ui/calendar.js:1531 #: ../js/ui/calendar.js:1529
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %Y. %B %d." msgstr "%A, %Y. %B %d."
#: ../js/ui/calendar.js:1616 #: ../js/ui/calendar.js:1614
msgid "Notifications" msgid "Notifications"
msgstr "Értesítések" msgstr "Értesítések"
#: ../js/ui/calendar.js:1767 #: ../js/ui/calendar.js:1765
msgid "No Notifications" msgid "No Notifications"
msgstr "Nincsenek értesítések" msgstr "Nincsenek értesítések"
#: ../js/ui/calendar.js:1770 #: ../js/ui/calendar.js:1768
msgid "No Events" msgid "No Events"
msgstr "Nincsenek események" msgstr "Nincsenek események"
@@ -612,16 +610,16 @@ msgstr "Külső meghajtó leválasztva"
msgid "Open with %s" msgid "Open with %s"
msgstr "Megnyitás ezzel: %s" msgstr "Megnyitás ezzel: %s"
#: ../js/ui/components/keyring.js:120 ../js/ui/components/polkitAgent.js:315 #: ../js/ui/components/keyring.js:94 ../js/ui/components/polkitAgent.js:285
msgid "Password:" msgid "Password:"
msgstr "Jelszó:" msgstr "Jelszó:"
#: ../js/ui/components/keyring.js:153 #: ../js/ui/components/keyring.js:120
msgid "Type again:" msgid "Type again:"
msgstr "Írja be újra:" msgstr "Írja be újra:"
#: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:269 #: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277
#: ../js/ui/status/network.js:352 ../js/ui/status/network.js:919 #: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
msgid "Connect" msgid "Connect"
msgstr "Kapcsolódás" msgstr "Kapcsolódás"
@@ -705,19 +703,19 @@ msgstr "Mobil széles sávú hálózat jelszava"
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "Jelszó szükséges a kapcsolódáshoz a következőhöz: „%s”." msgstr "Jelszó szükséges a kapcsolódáshoz a következőhöz: „%s”."
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1658 #: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1657
msgid "Network Manager" msgid "Network Manager"
msgstr "Hálózatkezelő" msgstr "Hálózatkezelő"
#: ../js/ui/components/polkitAgent.js:60 #: ../js/ui/components/polkitAgent.js:54
msgid "Authentication Required" msgid "Authentication Required"
msgstr "Hitelesítés szükséges" msgstr "Hitelesítés szükséges"
#: ../js/ui/components/polkitAgent.js:102 #: ../js/ui/components/polkitAgent.js:96
msgid "Administrator" msgid "Administrator"
msgstr "Rendszergazda" msgstr "Rendszergazda"
#: ../js/ui/components/polkitAgent.js:182 #: ../js/ui/components/polkitAgent.js:175
msgid "Authenticate" msgid "Authenticate"
msgstr "Hitelesítés" msgstr "Hitelesítés"
@@ -725,13 +723,13 @@ msgstr "Hitelesítés"
#. * requested authentication was not gained; this can happen #. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password), #. * because of an authentication error (like invalid password),
#. * for instance. */ #. * for instance. */
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383 #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again." msgid "Sorry, that didn't work. Please try again."
msgstr "A hitelesítés sikertelen. Próbálja újra." msgstr "A hitelesítés sikertelen. Próbálja újra."
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. */ #. IM name. */
#: ../js/ui/components/telepathyClient.js:759 #: ../js/ui/components/telepathyClient.js:757
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s mostantól %s néven ismert" msgstr "%s mostantól %s néven ismert"
@@ -914,7 +912,7 @@ msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "" msgstr ""
"Letölti és telepíti a következőt az extensions.gnome.org webhelyről: „%s”?" "Letölti és telepíti a következőt az extensions.gnome.org webhelyről: „%s”?"
#: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:713 #: ../js/ui/keyboard.js:747 ../js/ui/status/keyboard.js:713
msgid "Keyboard" msgid "Keyboard"
msgstr "Billentyűzet" msgstr "Billentyűzet"
@@ -945,13 +943,17 @@ msgstr "Hibák elrejtése"
msgid "Show Errors" msgid "Show Errors"
msgstr "Hibák megjelenítése" msgstr "Hibák megjelenítése"
#: ../js/ui/lookingGlass.js:716 #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71
#: ../js/ui/status/location.js:176
msgid "Enabled" msgid "Enabled"
msgstr "Engedélyezve" msgstr "Engedélyezve"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179
#: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Tiltva" msgstr "Tiltva"
@@ -983,7 +985,7 @@ msgstr "Rendszerinformációk"
msgid "Undo" msgid "Undo"
msgstr "Visszavonás" msgstr "Visszavonás"
#: ../js/ui/overview.js:117 #: ../js/ui/overview.js:124
msgid "Overview" msgid "Overview"
msgstr "Áttekintés" msgstr "Áttekintés"
@@ -991,7 +993,7 @@ msgstr "Áttekintés"
#. in the search entry when no search is #. in the search entry when no search is
#. active; it should not exceed ~30 #. active; it should not exceed ~30
#. characters. */ #. characters. */
#: ../js/ui/overview.js:244 #: ../js/ui/overview.js:246
msgid "Type to search…" msgid "Type to search…"
msgstr "Gépeljen a kereséshez…" msgstr "Gépeljen a kereséshez…"
@@ -1005,7 +1007,7 @@ msgstr "Kilépés"
msgid "Activities" msgid "Activities"
msgstr "Tevékenységek" msgstr "Tevékenységek"
#: ../js/ui/panel.js:754 #: ../js/ui/panel.js:755
msgid "Top Bar" msgid "Top Bar"
msgstr "Felső sáv" msgstr "Felső sáv"
@@ -1045,7 +1047,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d új értesítés" msgstr[0] "%d új értesítés"
msgstr[1] "%d új értesítés" msgstr[1] "%d új értesítés"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374 #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:365
msgid "Lock" msgid "Lock"
msgstr "Zárolás" msgstr "Zárolás"
@@ -1137,10 +1139,14 @@ msgstr "Nagy kontraszt"
msgid "Large Text" msgid "Large Text"
msgstr "Nagy szöveg" msgstr "Nagy szöveg"
#: ../js/ui/status/bluetooth.js:49
msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178 #: ../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:360 ../js/ui/status/network.js:1282
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90 #: ../js/ui/status/network.js:1393 ../js/ui/status/rfkill.js:91
#: ../js/ui/status/rfkill.js:117 #: ../js/ui/status/rfkill.js:118
msgid "Turn Off" msgid "Turn Off"
msgstr "Kikapcsolás" msgstr "Kikapcsolás"
@@ -1148,19 +1154,16 @@ msgstr "Kikapcsolás"
msgid "Bluetooth Settings" msgid "Bluetooth Settings"
msgstr "Bluetooth-beállítások" msgstr "Bluetooth-beállítások"
#. Translators: this is the number of connected bluetooth devices */ #: ../js/ui/status/bluetooth.js:104
#: ../js/ui/status/bluetooth.js:105
#, javascript-format #, javascript-format
#| msgid "Connected" msgid "%d Connected Device"
msgid "%d Connected" msgid_plural "%d Connected Devices"
msgid_plural "%d Connected" msgstr[0] "%d eszköz kapcsolódott"
msgstr[0] "%d kapcsolódva" msgstr[1] "%d eszköz kapcsolódott"
msgstr[1] "%d kapcsolódva"
#: ../js/ui/status/bluetooth.js:107 #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1310
#| msgid "In Use" msgid "Not Connected"
msgid "Not In Use" msgstr "Nincs kapcsolat"
msgstr "Nincs használatban"
#: ../js/ui/status/brightness.js:44 #: ../js/ui/status/brightness.js:44
msgid "Brightness" msgid "Brightness"
@@ -1170,12 +1173,11 @@ msgstr "Fényerő"
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Billentyűzetkiosztás megjelenítése" msgstr "Billentyűzetkiosztás megjelenítése"
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177 #: ../js/ui/status/location.js:65
#| msgid "Location" msgid "Location"
msgid "Location Enabled" msgstr "Hely"
msgstr "Hely engedélyezve"
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178 #: ../js/ui/status/location.js:72 ../js/ui/status/location.js:177
msgid "Disable" msgid "Disable"
msgstr "Letiltás" msgstr "Letiltás"
@@ -1184,16 +1186,10 @@ msgid "Privacy Settings"
msgstr "Adatvédelmi beállítások" msgstr "Adatvédelmi beállítások"
#: ../js/ui/status/location.js:176 #: ../js/ui/status/location.js:176
#| msgid "Location" msgid "In Use"
msgid "Location In Use" msgstr "Használatban"
msgstr "Hely használatban"
#: ../js/ui/status/location.js:180 #: ../js/ui/status/location.js:180
#| msgid "Connection failed"
msgid "Location Disabled"
msgstr "Hely letiltva"
#: ../js/ui/status/location.js:181
msgid "Enable" msgid "Enable"
msgstr "Engedélyezés" msgstr "Engedélyezés"
@@ -1201,94 +1197,61 @@ msgstr "Engedélyezés"
msgid "<unknown>" msgid "<unknown>"
msgstr "<ismeretlen>" msgstr "<ismeretlen>"
#. Translators: %s is a network identifier */ #: ../js/ui/status/network.js:457 ../js/ui/status/network.js:1308
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308 #: ../js/ui/status/network.js:1512
#, javascript-format msgid "Off"
msgid "%s Off" msgstr "Ki"
msgstr "%s ki"
#. Translators: %s is a network identifier */ #: ../js/ui/status/network.js:459
#: ../js/ui/status/network.js:454 msgid "Connected"
#, javascript-format msgstr "Kapcsolódva"
#| msgid "Connected"
msgid "%s Connected"
msgstr "%s kapcsolódva"
#. Translators: this is for network devices that are physically present but are not #. 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); #. under NetworkManager's control (and thus cannot be used in the menu) */
#. %s is a network identifier */ #: ../js/ui/status/network.js:463
#: ../js/ui/status/network.js:459 msgid "Unmanaged"
#, javascript-format msgstr "Felügyeletlen"
#| msgid "Unmanaged"
msgid "%s Unmanaged"
msgstr "%s felügyeletlen"
#. Translators: %s is a network identifier */ #: ../js/ui/status/network.js:465
#: ../js/ui/status/network.js:462 msgid "Disconnecting"
#, javascript-format msgstr "Bontás…"
#| msgid "Disconnecting"
msgid "%s Disconnecting"
msgstr "%s leválasztása"
#. Translators: %s is a network identifier */ #: ../js/ui/status/network.js:471 ../js/ui/status/network.js:1302
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300 msgid "Connecting"
#, javascript-format msgstr "Kapcsolódás"
#| msgid "Connecting"
msgid "%s Connecting"
msgstr "%s kapcsolódás"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier */ #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:472 #: ../js/ui/status/network.js:474
#, javascript-format msgid "Authentication required"
#| msgid "Wired 802.1X authentication" msgstr "Hitelesítés szükséges"
msgid "%s Requires Authentication"
msgstr "%s hitelesítést igényel"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier */ #. module, which is missing */
#: ../js/ui/status/network.js:480 #: ../js/ui/status/network.js:482
#, javascript-format msgid "Firmware missing"
#| msgid "Firmware missing" msgstr "Hiányzó firmware"
msgid "Firmware Missing For %s"
msgstr "Hiányzó firmware ennél: %s"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier */ #. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:484 #: ../js/ui/status/network.js:486
#, javascript-format msgid "Unavailable"
#| msgid "Unavailable" msgstr "Nem érhető el"
msgid "%s Unavailable"
msgstr "%s nem érhető el"
#. Translators: %s is a network identifier */ #: ../js/ui/status/network.js:488 ../js/ui/status/network.js:1696
#: ../js/ui/status/network.js:487 msgid "Connection failed"
#, javascript-format msgstr "Kapcsolódás meghiúsult"
#| msgid "Connection failed"
msgid "%s Connection Failed"
msgstr "%s kapcsolódás meghiúsult"
#: ../js/ui/status/network.js:503 #: ../js/ui/status/network.js:504
msgid "Wired Settings" msgid "Wired Settings"
msgstr "Vezetékes beállítások" msgstr "Vezetékes beállítások"
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624 #: ../js/ui/status/network.js:546 ../js/ui/status/network.js:624
msgid "Mobile Broadband Settings" msgid "Mobile Broadband Settings"
msgstr "Mobil széles sáv beállításai" msgstr "Mobil széles sáv beállításai"
#. Translators: %s is a network identifier */ #: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1306
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305 msgid "Hardware Disabled"
#, javascript-format msgstr "Hardver kikapcsolva"
#| msgid "Hardware Disabled"
msgid "%s Hardware Disabled"
msgstr "%s hardver letiltva"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier */
#: ../js/ui/status/network.js:592
#, javascript-format
#| msgid "Disabled"
msgid "%s Disabled"
msgstr "%s letiltva"
#: ../js/ui/status/network.js:632 #: ../js/ui/status/network.js:632
msgid "Use as Internet connection" msgid "Use as Internet connection"
@@ -1330,71 +1293,52 @@ msgstr "Válasszon egy hálózatot"
msgid "No Networks" msgid "No Networks"
msgstr "Nincs hálózat" msgstr "Nincs hálózat"
#: ../js/ui/status/network.js:904 ../js/ui/status/rfkill.js:115 #: ../js/ui/status/network.js:904 ../js/ui/status/rfkill.js:116
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "A hardveres kapcsolóval kapcsolja ki" msgstr "A hardveres kapcsolóval kapcsolja ki"
#: ../js/ui/status/network.js:1171 #: ../js/ui/status/network.js:1174
msgid "Select Network" msgid "Select Network"
msgstr "Válasszon hálózatot" msgstr "Válasszon hálózatot"
#: ../js/ui/status/network.js:1177 #: ../js/ui/status/network.js:1180
msgid "Wi-Fi Settings" msgid "Wi-Fi Settings"
msgstr "Wi-Fi beállítások" msgstr "Wi-Fi beállítások"
#: ../js/ui/status/network.js:1279 #: ../js/ui/status/network.js:1282
msgid "Turn On" msgid "Turn On"
msgstr "Bekapcsolás" msgstr "Bekapcsolás"
#. Translators: %s is a network identifier */ #: ../js/ui/status/network.js:1299
#: ../js/ui/status/network.js:1296 msgid "Hotspot Active"
#, javascript-format msgstr "A hotspot aktív"
#| msgid "Hotspot Active"
msgid "%s Hotspot Active"
msgstr "%s hotspot aktív"
#. Translators: %s is a network identifier */ #: ../js/ui/status/network.js:1410
#: ../js/ui/status/network.js:1311
#, javascript-format
#| msgid "Not Connected"
msgid "%s Not Connected"
msgstr "%s nincs kapcsolódva"
#: ../js/ui/status/network.js:1411
msgid "connecting..." msgid "connecting..."
msgstr "kapcsolódás…" msgstr "kapcsolódás…"
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:1414 #: ../js/ui/status/network.js:1413
msgid "authentication required" msgid "authentication required"
msgstr "hitelesítés szükséges" msgstr "hitelesítés szükséges"
#: ../js/ui/status/network.js:1416 #: ../js/ui/status/network.js:1415
msgid "connection failed" msgid "connection failed"
msgstr "a kapcsolódás meghiúsult" msgstr "a kapcsolódás meghiúsult"
#: ../js/ui/status/network.js:1482 ../js/ui/status/rfkill.js:93 #: ../js/ui/status/network.js:1481 ../js/ui/status/rfkill.js:94
msgid "Network Settings" msgid "Network Settings"
msgstr "Hálózati beállítások" msgstr "Hálózati beállítások"
#: ../js/ui/status/network.js:1484 #: ../js/ui/status/network.js:1483
msgid "VPN Settings" msgid "VPN Settings"
msgstr "VPN beállítások" msgstr "VPN beállítások"
#: ../js/ui/status/network.js:1503 #: ../js/ui/status/network.js:1502
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1513
#| msgid "Power Off"
msgid "VPN Off"
msgstr "VPN ki"
#: ../js/ui/status/network.js:1697 #: ../js/ui/status/network.js:1697
msgid "Connection failed"
msgstr "Kapcsolódás meghiúsult"
#: ../js/ui/status/network.js:1698
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "A hálózati kapcsolat aktiválása meghiúsult" msgstr "A hálózati kapcsolat aktiválása meghiúsult"
@@ -1420,33 +1364,39 @@ msgstr "%d.%02d van hátra (%d%%)"
msgid "%d%02d Until Full (%d%%)" msgid "%d%02d Until Full (%d%%)"
msgstr "%d.%02d a feltöltésig (%d%%)" msgstr "%d.%02d a feltöltésig (%d%%)"
#: ../js/ui/status/rfkill.js:88 #: ../js/ui/status/power.js:119
#| msgid "Airplane Mode is On" msgid "UPS"
msgid "Airplane Mode On" msgstr "Szünetmentes táp"
msgstr "Repülőgép üzemmód be"
#: ../js/ui/status/system.js:343 #: ../js/ui/status/power.js:121
msgid "Battery"
msgstr "Akkumulátor"
#: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode"
msgstr "Repülőgép üzemmód"
#: ../js/ui/status/rfkill.js:90
msgid "On"
msgstr "Be"
#: ../js/ui/status/system.js:337
msgid "Switch User" msgid "Switch User"
msgstr "Felhasználóváltás" msgstr "Felhasználóváltás"
#: ../js/ui/status/system.js:348 #: ../js/ui/status/system.js:342
msgid "Log Out" msgid "Log Out"
msgstr "Kijelentkezés" msgstr "Kijelentkezés"
#: ../js/ui/status/system.js:353 #: ../js/ui/status/system.js:361
#| msgid "Sound Settings"
msgid "Account Settings"
msgstr "Fiókbeállítások"
#: ../js/ui/status/system.js:370
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Tájolás zárolása" msgstr "Tájolás zárolása"
#: ../js/ui/status/system.js:378 #: ../js/ui/status/system.js:369
msgid "Suspend" msgid "Suspend"
msgstr "Felfüggesztés" msgstr "Felfüggesztés"
#: ../js/ui/status/system.js:381 #: ../js/ui/status/system.js:372
msgid "Power Off" msgid "Power Off"
msgstr "Kikapcsolás" msgstr "Kikapcsolás"
@@ -1478,27 +1428,27 @@ msgstr "Alkalmazások"
msgid "Search" msgid "Search"
msgstr "Oldalsáv" msgstr "Oldalsáv"
#: ../js/ui/windowAttentionHandler.js:20 #: ../js/ui/windowAttentionHandler.js:19
#, javascript-format #, javascript-format
msgid "“%s” is ready" msgid "“%s” is ready"
msgstr "„%s” kész" msgstr "„%s” kész"
#: ../js/ui/windowManager.js:63 #: ../js/ui/windowManager.js:65
msgid "Do you want to keep these display settings?" msgid "Do you want to keep these display settings?"
msgstr "Meg szeretné tartani ezeket a kijelzőbeállításokat?" msgstr "Meg szeretné tartani ezeket a kijelzőbeállításokat?"
#. Translators: this and the following message should be limited in lenght, #. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels. #. to avoid ellipsizing the labels.
#. */ #. */
#: ../js/ui/windowManager.js:82 #: ../js/ui/windowManager.js:84
msgid "Revert Settings" msgid "Revert Settings"
msgstr "Beállítások visszavonása" msgstr "Beállítások visszavonása"
#: ../js/ui/windowManager.js:85 #: ../js/ui/windowManager.js:88
msgid "Keep Changes" msgid "Keep Changes"
msgstr "Módosítások megtartása" msgstr "Módosítások megtartása"
#: ../js/ui/windowManager.js:103 #: ../js/ui/windowManager.js:107
#, javascript-format #, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
@@ -1507,7 +1457,7 @@ msgstr[1] "A beállítások módosításai %d másodperc múlva visszavonásra k
#. Translators: This represents the size of a window. The first number is #. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */ #. * the width of the window and the second is the height. */
#: ../js/ui/windowManager.js:658 #: ../js/ui/windowManager.js:605
#, javascript-format #, javascript-format
msgid "%d x %d" msgid "%d x %d"
msgstr "%d x %d" msgstr "%d x %d"
@@ -1545,10 +1495,12 @@ msgid "Always on Visible Workspace"
msgstr "Mindig a látható munkaterületen" msgstr "Mindig a látható munkaterületen"
#: ../js/ui/windowMenu.js:105 #: ../js/ui/windowMenu.js:105
#| msgid "Move to Workspace Up"
msgid "Move to Workspace Left" msgid "Move to Workspace Left"
msgstr "Áthelyezés a bal oldali munkaterületre" msgstr "Áthelyezés a bal oldali munkaterületre"
#: ../js/ui/windowMenu.js:110 #: ../js/ui/windowMenu.js:110
#| msgid "Move to Workspace Up"
msgid "Move to Workspace Right" msgid "Move to Workspace Right"
msgstr "Áthelyezés a jobb oldali munkaterületre" msgstr "Áthelyezés a jobb oldali munkaterületre"
@@ -1641,32 +1593,6 @@ msgstr "A jelszó nem lehet üres"
msgid "Authentication dialog was dismissed by the user" msgid "Authentication dialog was dismissed by the user"
msgstr "A hitelesítési ablakot a felhasználó bezárta" msgstr "A hitelesítési ablakot a felhasználó bezárta"
#~ msgid "Bluetooth"
#~ msgstr "Bluetooth"
#~ msgid "%d Connected Device"
#~ msgid_plural "%d Connected Devices"
#~ msgstr[0] "%d eszköz kapcsolódott"
#~ msgstr[1] "%d eszköz kapcsolódott"
#~ msgid "Off"
#~ msgstr "Ki"
#~ msgid "Authentication required"
#~ msgstr "Hitelesítés szükséges"
#~ msgid "UPS"
#~ msgstr "Szünetmentes táp"
#~ msgid "Battery"
#~ msgstr "Akkumulátor"
#~ msgid "Airplane Mode"
#~ msgstr "Repülőgép üzemmód"
#~ msgid "On"
#~ msgstr "Be"
#~ msgctxt "event list time" #~ msgctxt "event list time"
#~ msgid "%H%M" #~ msgid "%H%M"
#~ msgstr "%k.%M" #~ msgstr "%k.%M"
@@ -2181,6 +2107,9 @@ msgstr "A hitelesítési ablakot a felhasználó bezárta"
#~ msgid "Mouse Settings" #~ msgid "Mouse Settings"
#~ msgstr "Egérbeállítások" #~ msgstr "Egérbeállítások"
#~ msgid "Sound Settings"
#~ msgstr "Hangbeállítások"
#~ msgid "Region & Language Settings" #~ msgid "Region & Language Settings"
#~ msgstr "Területi és nyelvi beállítások" #~ msgstr "Területi és nyelvi beállítások"

706
po/id.po

File diff suppressed because it is too large Load Diff

650
po/it.po

File diff suppressed because it is too large Load Diff

505
po/ja.po

File diff suppressed because it is too large Load Diff

651
po/kk.po

File diff suppressed because it is too large Load Diff

641
po/ko.po

File diff suppressed because it is too large Load Diff

655
po/lt.po

File diff suppressed because it is too large Load Diff

612
po/lv.po

File diff suppressed because it is too large Load Diff

424
po/nb.po
View File

@@ -9,9 +9,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell 3.17.x\n" "Project-Id-Version: gnome-shell 3.17.x\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-07 19:22+0200\n" "POT-Creation-Date: 2015-05-14 15:38+0200\n"
"PO-Revision-Date: 2015-09-07 19:31+0200\n" "PO-Revision-Date: 2015-05-14 15:39+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n" "Last-Translator: Åka Sikrom <a4NOSPAMPLEASETHANKYOU@hush.com>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n" "Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: Norwegian bokmål\n" "Language: Norwegian bokmål\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -131,16 +131,15 @@ msgstr "Indeks for valgt visning i programvelgeren."
msgid "History for command (Alt-F2) dialog" msgid "History for command (Alt-F2) dialog"
msgstr "Historikk for kommandodialog (Alt-F2)" msgstr "Historikk for kommandodialog (Alt-F2)"
#. Translators: looking glass is a debugger and inspector tool, see https://live.gnome.org/GnomeShell/LookingGlass #: ../data/org.gnome.shell.gschema.xml.in.in.h:12
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "History for the looking glass dialog" msgid "History for the looking glass dialog"
msgstr "Historikk for forstørrelsesglass-dialogen" msgstr "Historikk for forstørrelsesglass-dialogen"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14 #: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menu item in the user menu." msgid "Always show the 'Log out' menu item in the user menu."
msgstr "Alltid vis menyoppføringen «Logg ut» i brukermenyen." msgstr "Alltid vis menyoppføringen «Logg ut» i brukermenyen."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15 #: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "" msgid ""
"This key overrides the automatic hiding of the 'Log out' menu item in single-" "This key overrides the automatic hiding of the 'Log out' menu item in single-"
"user, single-session situations." "user, single-session situations."
@@ -148,12 +147,12 @@ msgstr ""
"Denne nøkkelen overstyrer skjuling av menyoppføringen «Logg ut» i " "Denne nøkkelen overstyrer skjuling av menyoppføringen «Logg ut» i "
"situasjonen én bruker, én sesjon." "situasjonen én bruker, én sesjon."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16 #: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "" msgid ""
"Whether to remember password for mounting encrypted or remote filesystems" "Whether to remember password for mounting encrypted or remote filesystems"
msgstr "Om passord til eksterne eller krypterte filsystemer skal huskes." msgstr "Om passord til eksterne eller krypterte filsystemer skal huskes."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17 #: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "" msgid ""
"The shell will request a password when an encrypted device or a remote " "The shell will request a password when an encrypted device or a remote "
"filesystem is mounted. If the password can be saved for future use a " "filesystem is mounted. If the password can be saved for future use a "
@@ -165,76 +164,76 @@ msgstr ""
"avkryssingsboks med teksten «Husk passord». Denne nøkkelen bestemmer " "avkryssingsboks med teksten «Husk passord». Denne nøkkelen bestemmer "
"standardverdien for avkryssingsboksen." "standardverdien for avkryssingsboksen."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18 #: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Show the week date in the calendar" msgid "Show the week date in the calendar"
msgstr "Vis ukedato/ukenummer i kalender" 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:18
msgid "If true, display the ISO week date in the calendar." msgid "If true, display the ISO week date in the calendar."
msgstr "Viser ISO-ukedato i kalenderen hvis «true»." 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:19
msgid "Keybinding to open the application menu" msgid "Keybinding to open the application menu"
msgstr "Tastaturbinding som åpner programmenyen" msgstr "Tastaturbinding som åpner programmenyen"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21 #: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to open the application menu." msgid "Keybinding to open the application menu."
msgstr "Tastaturbinding som åpner programmenyen." msgstr "Tastaturbinding som åpner programmenyen."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22 #: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Keybinding to open the \"Show Applications\" view" msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Tastaturbinding som åpner visningen «Vis programmer»" 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:22
msgid "" msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview." "Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "" msgstr ""
"Tastaturbinding som åpner visningen «Vis programmer» i aktivitetsoversikten." "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:23
msgid "Keybinding to open the overview" msgid "Keybinding to open the overview"
msgstr "Tastaturbinding som åpner oversikten" msgstr "Tastaturbinding som åpner oversikten"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25 #: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to open the Activities Overview." msgid "Keybinding to open the Activities Overview."
msgstr "Tastaturbinding som åpner aktivitetsoversikten." msgstr "Tastaturbinding som åpner aktivitetsoversikten."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26 #: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "Keybinding to toggle the visibility of the notification list" msgid "Keybinding to toggle the visibility of the notification list"
msgstr "Tastaturbinding som slår av/på visning av varslingsliste" 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:26
msgid "Keybinding to toggle the visibility of the notification list." msgid "Keybinding to toggle the visibility of the notification list."
msgstr "Tastaturbinding som slår av/på visning av varslingsliste." 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:27
msgid "Keybinding to focus the active notification" msgid "Keybinding to focus the active notification"
msgstr "Tastaturbinding som fokuserer aktiv varsling" 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:28
msgid "Keybinding to focus the active notification." msgid "Keybinding to focus the active notification."
msgstr "Tastaturbinding som fokuserer aktiv varsling." 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:29
msgid "" msgid ""
"Keybinding that pauses and resumes all running tweens, for debugging purposes" "Keybinding that pauses and resumes all running tweens, for debugging purposes"
msgstr "" msgstr ""
"Hurtigtast som stanser og fortsetter pågående bevegelser til " "Hurtigtast som stanser og fortsetter pågående bevegelser til "
"feilsøkingsformål" "feilsøkingsformål"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31 #: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid "Which keyboard to use" msgid "Which keyboard to use"
msgstr "Tastatur som skal brukes" msgstr "Tastatur som skal brukes"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32 #: ../data/org.gnome.shell.gschema.xml.in.in.h:31
msgid "The type of keyboard to use." msgid "The type of keyboard to use."
msgstr "Type tastatur som skal brukes." 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:32
msgid "Limit switcher to current workspace." msgid "Limit switcher to current workspace."
msgstr "Begrens programveksling til gjeldende arbeidsområde." 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:33
msgid "" msgid ""
"If true, only applications that have windows on the current workspace are " "If true, only applications that have windows on the current workspace are "
"shown in the switcher. Otherwise, all applications are included." "shown in the switcher. Otherwise, all applications are included."
@@ -243,11 +242,11 @@ msgstr ""
"gjeldende arbeidsområder som vises i programveksleren. I motsatt fall kan du " "gjeldende arbeidsområder som vises i programveksleren. I motsatt fall kan du "
"veksle mellom programmer på tvers av arbeidsområder." "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:34
msgid "The application icon mode." msgid "The application icon mode."
msgstr "Ikonmodus for programmet." msgstr "Ikonmodus for programmet."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36 #: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid "" msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities " "Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
@@ -257,7 +256,7 @@ msgstr ""
"valgalternativer er «thumbnail-only» (viser miniatyrbilde av vinduet), «app-" "valgalternativer er «thumbnail-only» (viser miniatyrbilde av vinduet), «app-"
"icon-only» (viser bare programikonet) og «both» (viser begge forannevnte)." "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:36
msgid "" msgid ""
"If true, only windows from the current workspace are shown in the switcher. " "If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included." "Otherwise, all windows are included."
@@ -266,30 +265,30 @@ msgstr ""
"arbeidsområder som vises i programveksleren. I motsatt fall vises vinduer " "arbeidsområder som vises i programveksleren. I motsatt fall vises vinduer "
"fra alle arbeidsområder." "fra alle arbeidsområder."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38 #: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid "Attach modal dialog to the parent window" msgid "Attach modal dialog to the parent window"
msgstr "Fest modal dialog til opphavsvinduet" 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:38
msgid "" msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell." "This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr "" msgstr ""
"Denne nøkkelen overstyrer nøkkelen i org.gnome.mutter når GNOME Shell kjøres." "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:39
msgid "Enable edge tiling when dropping windows on screen edges" msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "" msgstr ""
"Del opp skjermkantene i fliser når brukeren drar og slipper vinduer på dem" "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:40
msgid "Workspaces are managed dynamically" msgid "Workspaces are managed dynamically"
msgstr "Arbeidsområder håndteres dynamisk" 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:41
msgid "Workspaces only on primary monitor" msgid "Workspaces only on primary monitor"
msgstr "Arbeidsområder vises kun på hovedskjerm" 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:42
msgid "Delay focus changes in mouse mode until the pointer stops moving" msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Utsett fokusendringer i musmodus til peker slutter å bevege seg" msgstr "Utsett fokusendringer i musmodus til peker slutter å bevege seg"
@@ -307,14 +306,13 @@ msgid "GNOME Shell Extensions"
msgstr "Utvidelser for GNOME Shell" msgstr "Utvidelser for GNOME Shell"
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145 #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452 #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:916 #: ../js/ui/status/network.js:916
msgid "Cancel" msgid "Cancel"
msgstr "Avbryt" msgstr "Avbryt"
#: ../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" msgid "Next"
msgstr "Neste" msgstr "Neste"
@@ -341,7 +339,7 @@ msgstr "Ikke listet?"
#. Translators: this message is shown below the username entry field #. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm #. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850 #: ../js/gdm/loginDialog.js:840
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(f.eks. bruker eller %s)" msgstr "(f.eks. bruker eller %s)"
@@ -349,12 +347,12 @@ msgstr "(f.eks. bruker eller %s)"
#. TTLS and PEAP are actually much more complicated, but this complication #. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication #. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one) #. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271 #: ../js/gdm/loginDialog.js:845 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289 #: ../js/ui/components/networkAgent.js:289
msgid "Username: " msgid "Username: "
msgstr "Brukernavn: " msgstr "Brukernavn: "
#: ../js/gdm/loginDialog.js:1184 #: ../js/gdm/loginDialog.js:1173
msgid "Login Window" msgid "Login Window"
msgstr "Innloggingsvindu" msgstr "Innloggingsvindu"
@@ -462,31 +460,31 @@ msgstr "%d %B %Y, %H.%M"
msgid "Web Authentication Redirect" msgid "Web Authentication Redirect"
msgstr "Omdirigering av autentisering på nett" msgstr "Omdirigering av autentisering på nett"
#: ../js/ui/appDisplay.js:794 #: ../js/ui/appDisplay.js:788
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Ofte brukte programmer vises her" msgstr "Ofte brukte programmer vises her"
#: ../js/ui/appDisplay.js:914 #: ../js/ui/appDisplay.js:908
msgid "Frequent" msgid "Frequent"
msgstr "Ofte" msgstr "Ofte"
#: ../js/ui/appDisplay.js:921 #: ../js/ui/appDisplay.js:915
msgid "All" msgid "All"
msgstr "Alle" msgstr "Alle"
#: ../js/ui/appDisplay.js:1853 #: ../js/ui/appDisplay.js:1844
msgid "New Window" msgid "New Window"
msgstr "Nytt vindu" msgstr "Nytt vindu"
#: ../js/ui/appDisplay.js:1881 ../js/ui/dash.js:289 #: ../js/ui/appDisplay.js:1872 ../js/ui/dash.js:289
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Fjern fra favoritter" msgstr "Fjern fra favoritter"
#: ../js/ui/appDisplay.js:1887 #: ../js/ui/appDisplay.js:1878
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Legg til i favoritter" msgstr "Legg til i favoritter"
#: ../js/ui/appDisplay.js:1897 #: ../js/ui/appDisplay.js:1888
msgid "Show Details" msgid "Show Details"
msgstr "Vis detaljer" msgstr "Vis detaljer"
@@ -509,12 +507,12 @@ msgid "Display Settings"
msgstr "Innstillinger for skjerm" msgstr "Innstillinger for skjerm"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650 #: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366 #: ../js/ui/status/system.js:334
msgid "Settings" msgid "Settings"
msgstr "Innstillinger" msgstr "Innstillinger"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). #. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55 #: ../js/ui/calendar.js:53
msgctxt "calendar-no-work" msgctxt "calendar-no-work"
msgid "06" msgid "06"
msgstr "06" msgstr "06"
@@ -524,94 +522,94 @@ msgstr "06"
#. * NOTE: These grid abbreviations are always shown together #. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S". #. * and in order, e.g. "S M T W T F S".
#. #.
#: ../js/ui/calendar.js:84 #: ../js/ui/calendar.js:82
msgctxt "grid sunday" msgctxt "grid sunday"
msgid "S" msgid "S"
msgstr "S" msgstr "S"
#. Translators: Calendar grid abbreviation for Monday #. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86 #: ../js/ui/calendar.js:84
msgctxt "grid monday" msgctxt "grid monday"
msgid "M" msgid "M"
msgstr "M" msgstr "M"
#. Translators: Calendar grid abbreviation for Tuesday #. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88 #: ../js/ui/calendar.js:86
msgctxt "grid tuesday" msgctxt "grid tuesday"
msgid "T" msgid "T"
msgstr "T" msgstr "T"
#. Translators: Calendar grid abbreviation for Wednesday #. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90 #: ../js/ui/calendar.js:88
msgctxt "grid wednesday" msgctxt "grid wednesday"
msgid "W" msgid "W"
msgstr "O" msgstr "O"
#. Translators: Calendar grid abbreviation for Thursday #. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92 #: ../js/ui/calendar.js:90
msgctxt "grid thursday" msgctxt "grid thursday"
msgid "T" msgid "T"
msgstr "T" msgstr "T"
#. Translators: Calendar grid abbreviation for Friday #. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94 #: ../js/ui/calendar.js:92
msgctxt "grid friday" msgctxt "grid friday"
msgid "F" msgid "F"
msgstr "F" msgstr "F"
#. Translators: Calendar grid abbreviation for Saturday #. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96 #: ../js/ui/calendar.js:94
msgctxt "grid saturday" msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "L" msgstr "L"
#: ../js/ui/calendar.js:566 #: ../js/ui/calendar.js:564
msgid "Previous month" msgid "Previous month"
msgstr "Forrige måned" msgstr "Forrige måned"
#: ../js/ui/calendar.js:576 #: ../js/ui/calendar.js:574
msgid "Next month" msgid "Next month"
msgstr "Neste måned" msgstr "Neste måned"
#: ../js/ui/calendar.js:783 #: ../js/ui/calendar.js:781
msgid "Week %V" msgid "Week %V"
msgstr "Uke %V" msgstr "Uke %V"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * Keep it short, best if you can use less then 10 characters
#. #.
#: ../js/ui/calendar.js:1188 #: ../js/ui/calendar.js:1187
msgctxt "event list time" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Hele dagen" msgstr "Hele dagen"
#: ../js/ui/calendar.js:1291 #: ../js/ui/calendar.js:1289
msgid "Clear section" msgid "Clear section"
msgstr "Tøm seksjon" msgstr "Tøm seksjon"
#: ../js/ui/calendar.js:1518 #: ../js/ui/calendar.js:1516
msgid "Events" msgid "Events"
msgstr "Hendelser" msgstr "Hendelser"
#: ../js/ui/calendar.js:1527 #: ../js/ui/calendar.js:1525
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A %B %d" msgstr "%A %B %d"
#: ../js/ui/calendar.js:1531 #: ../js/ui/calendar.js:1529
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A %B %d, %Y" msgstr "%A %B %d, %Y"
#: ../js/ui/calendar.js:1616 #: ../js/ui/calendar.js:1614
msgid "Notifications" msgid "Notifications"
msgstr "Varslinger" msgstr "Varslinger"
#: ../js/ui/calendar.js:1767 #: ../js/ui/calendar.js:1765
msgid "No Notifications" msgid "No Notifications"
msgstr "Ingen varslinger" msgstr "Ingen varslinger"
#: ../js/ui/calendar.js:1770 #: ../js/ui/calendar.js:1768
msgid "No Events" msgid "No Events"
msgstr "Ingen hendelser" msgstr "Ingen hendelser"
@@ -628,16 +626,16 @@ msgstr "Ekstern stasjon koblet fra"
msgid "Open with %s" msgid "Open with %s"
msgstr "Åpne med %s" msgstr "Åpne med %s"
#: ../js/ui/components/keyring.js:120 ../js/ui/components/polkitAgent.js:315 #: ../js/ui/components/keyring.js:94 ../js/ui/components/polkitAgent.js:285
msgid "Password:" msgid "Password:"
msgstr "Passord:" msgstr "Passord:"
#: ../js/ui/components/keyring.js:153 #: ../js/ui/components/keyring.js:120
msgid "Type again:" msgid "Type again:"
msgstr "Skriv på nytt:" msgstr "Skriv på nytt:"
#: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:269 #: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277
#: ../js/ui/status/network.js:352 ../js/ui/status/network.js:919 #: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
msgid "Connect" msgid "Connect"
msgstr "Koble til" msgstr "Koble til"
@@ -723,19 +721,19 @@ msgstr "Nettverkspassord for mobilt bredbånd"
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "Du må oppgi et passord for å koble til «%s»." msgstr "Du må oppgi et passord for å koble til «%s»."
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1658 #: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1657
msgid "Network Manager" msgid "Network Manager"
msgstr "Nettverkshåndtering" msgstr "Nettverkshåndtering"
#: ../js/ui/components/polkitAgent.js:60 #: ../js/ui/components/polkitAgent.js:54
msgid "Authentication Required" msgid "Authentication Required"
msgstr "Autentisering kreves" msgstr "Autentisering kreves"
#: ../js/ui/components/polkitAgent.js:102 #: ../js/ui/components/polkitAgent.js:96
msgid "Administrator" msgid "Administrator"
msgstr "Administrator" msgstr "Administrator"
#: ../js/ui/components/polkitAgent.js:182 #: ../js/ui/components/polkitAgent.js:175
msgid "Authenticate" msgid "Authenticate"
msgstr "Autentiser" msgstr "Autentiser"
@@ -743,13 +741,13 @@ msgstr "Autentiser"
#. * requested authentication was not gained; this can happen #. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password), #. * because of an authentication error (like invalid password),
#. * for instance. #. * for instance.
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383 #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again." msgid "Sorry, that didn't work. Please try again."
msgstr "Beklager, det virket ikke. Prøv igjen." msgstr "Beklager, det virket ikke. Prøv igjen."
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. #. IM name.
#: ../js/ui/components/telepathyClient.js:759 #: ../js/ui/components/telepathyClient.js:757
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s er nå kjent som %s" msgstr "%s er nå kjent som %s"
@@ -931,7 +929,7 @@ msgstr "Installer"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Vil du laste ned og installere «%s» fra extensions.gnome.org?" msgstr "Vil du laste ned og installere «%s» fra extensions.gnome.org?"
#: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:713 #: ../js/ui/keyboard.js:718 ../js/ui/status/keyboard.js:713
msgid "Keyboard" msgid "Keyboard"
msgstr "Tastatur" msgstr "Tastatur"
@@ -962,13 +960,17 @@ msgstr "Skjul feil"
msgid "Show Errors" msgid "Show Errors"
msgstr "Vis feil" msgstr "Vis feil"
#: ../js/ui/lookingGlass.js:716 #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71
#: ../js/ui/status/location.js:176
msgid "Enabled" msgid "Enabled"
msgstr "Slått på" msgstr "Slått på"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode)
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179
#: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Slått av" msgstr "Slått av"
@@ -992,7 +994,7 @@ msgstr "Vis kildekode"
msgid "Web Page" msgid "Web Page"
msgstr "Nettside" msgstr "Nettside"
#: ../js/ui/messageTray.js:1486 #: ../js/ui/messageTray.js:1506
msgid "System Information" msgid "System Information"
msgstr "Systeminformasjon" msgstr "Systeminformasjon"
@@ -1000,7 +1002,7 @@ msgstr "Systeminformasjon"
msgid "Undo" msgid "Undo"
msgstr "Angre" msgstr "Angre"
#: ../js/ui/overview.js:117 #: ../js/ui/overview.js:124
msgid "Overview" msgid "Overview"
msgstr "Oversikt" msgstr "Oversikt"
@@ -1008,7 +1010,7 @@ msgstr "Oversikt"
#. in the search entry when no search is #. in the search entry when no search is
#. active; it should not exceed ~30 #. active; it should not exceed ~30
#. characters. #. characters.
#: ../js/ui/overview.js:244 #: ../js/ui/overview.js:246
msgid "Type to search…" msgid "Type to search…"
msgstr "Skriv for å søke …" msgstr "Skriv for å søke …"
@@ -1022,7 +1024,7 @@ msgstr "Avslutt"
msgid "Activities" msgid "Activities"
msgstr "Aktiviteter" msgstr "Aktiviteter"
#: ../js/ui/panel.js:754 #: ../js/ui/panel.js:755
msgid "Top Bar" msgid "Top Bar"
msgstr "Topp-panel" msgstr "Topp-panel"
@@ -1039,7 +1041,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command" msgid "Enter a Command"
msgstr "Skriv inn en kommando" msgstr "Skriv inn en kommando"
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162 #: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:153
msgid "Close" msgid "Close"
msgstr "Lukk" msgstr "Lukk"
@@ -1067,7 +1069,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d ny varsling" msgstr[0] "%d ny varsling"
msgstr[1] "%d nye varslinger" msgstr[1] "%d nye varslinger"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374 #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:342
msgid "Lock" msgid "Lock"
msgstr "Lås" msgstr "Lås"
@@ -1166,10 +1168,16 @@ msgstr "Høy kontrast"
msgid "Large Text" msgid "Large Text"
msgstr "Stor tekst" msgstr "Stor tekst"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:49
msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178 #: ../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:360 ../js/ui/status/network.js:1282
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90 #: ../js/ui/status/network.js:1393 ../js/ui/status/rfkill.js:91
#: ../js/ui/status/rfkill.js:117 #: ../js/ui/status/rfkill.js:118
msgid "Turn Off" msgid "Turn Off"
msgstr "Slå av" msgstr "Slå av"
@@ -1177,17 +1185,16 @@ msgstr "Slå av"
msgid "Bluetooth Settings" msgid "Bluetooth Settings"
msgstr "Bluetooth-innstillinger" msgstr "Bluetooth-innstillinger"
#. Translators: this is the number of connected bluetooth devices #: ../js/ui/status/bluetooth.js:104
#: ../js/ui/status/bluetooth.js:105
#, javascript-format #, javascript-format
msgid "%d Connected" msgid "%d Connected Device"
msgid_plural "%d Connected" msgid_plural "%d Connected Devices"
msgstr[0] "%d koblet til" msgstr[0] "%d tilkoblet enhet"
msgstr[1] "%d koblet til" msgstr[1] "%d tilkoblede enheter"
#: ../js/ui/status/bluetooth.js:107 #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1310
msgid "Not In Use" msgid "Not Connected"
msgstr "Ikke i bruk" msgstr "Ikke koblet til"
#: ../js/ui/status/brightness.js:44 #: ../js/ui/status/brightness.js:44
msgid "Brightness" msgid "Brightness"
@@ -1197,11 +1204,11 @@ msgstr "Lysstyrke"
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Vis tastaturutforming" msgstr "Vis tastaturutforming"
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177 #: ../js/ui/status/location.js:65
msgid "Location Enabled" msgid "Location"
msgstr "Plassering slått på" msgstr "Plassering"
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178 #: ../js/ui/status/location.js:72 ../js/ui/status/location.js:177
msgid "Disable" msgid "Disable"
msgstr "Slå av" msgstr "Slå av"
@@ -1210,14 +1217,10 @@ msgid "Privacy Settings"
msgstr "Innstillinger for personvern" msgstr "Innstillinger for personvern"
#: ../js/ui/status/location.js:176 #: ../js/ui/status/location.js:176
msgid "Location In Use" msgid "In Use"
msgstr "Plassering i bruk" msgstr "I bruk"
#: ../js/ui/status/location.js:180 #: ../js/ui/status/location.js:180
msgid "Location Disabled"
msgstr "Plassering slått av"
#: ../js/ui/status/location.js:181
msgid "Enable" msgid "Enable"
msgstr "Slå på" msgstr "Slå på"
@@ -1225,84 +1228,61 @@ msgstr "Slå på"
msgid "<unknown>" msgid "<unknown>"
msgstr "<ukjent>" msgstr "<ukjent>"
#. Translators: %s is a network identifier #: ../js/ui/status/network.js:457 ../js/ui/status/network.js:1308
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308 #: ../js/ui/status/network.js:1512
#, javascript-format msgid "Off"
msgid "%s Off" msgstr "Av"
msgstr "%s av"
#. Translators: %s is a network identifier #: ../js/ui/status/network.js:459
#: ../js/ui/status/network.js:454 msgid "Connected"
#, javascript-format msgstr "Koblet til"
msgid "%s Connected"
msgstr "%s koblet til"
#. Translators: this is for network devices that are physically present but are not #. 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); #. under NetworkManager's control (and thus cannot be used in the menu)
#. %s is a network identifier #: ../js/ui/status/network.js:463
#: ../js/ui/status/network.js:459 msgid "Unmanaged"
#, javascript-format msgstr "Håndteres ikke"
msgid "%s Unmanaged"
msgstr "%s håndteres ikke"
#. Translators: %s is a network identifier #: ../js/ui/status/network.js:465
#: ../js/ui/status/network.js:462 msgid "Disconnecting"
#, javascript-format msgstr "Kobler fra"
msgid "%s Disconnecting"
msgstr "%s kobler fra"
#. Translators: %s is a network identifier #: ../js/ui/status/network.js:471 ../js/ui/status/network.js:1302
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300 msgid "Connecting"
#, javascript-format msgstr "Kobler til"
msgid "%s Connecting"
msgstr "%s kobler til"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:472 #: ../js/ui/status/network.js:474
#, javascript-format msgid "Authentication required"
msgid "%s Requires Authentication" msgstr "Denne tilkoblingen krever autentisering"
msgstr "%s krever autentisering"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier #. module, which is missing
#: ../js/ui/status/network.js:480 #: ../js/ui/status/network.js:482
#, javascript-format msgid "Firmware missing"
msgid "Firmware Missing For %s" msgstr "Fastvare mangler"
msgstr "Fastvare mangler for %s"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:484 #: ../js/ui/status/network.js:486
#, javascript-format msgid "Unavailable"
msgid "%s Unavailable" msgstr "Ikke tilgjengelig"
msgstr "%s er ikke tilgjengelig"
#. Translators: %s is a network identifier #: ../js/ui/status/network.js:488 ../js/ui/status/network.js:1696
#: ../js/ui/status/network.js:487 msgid "Connection failed"
#, javascript-format msgstr "Tilkobling mislyktes"
msgid "%s Connection Failed"
msgstr "%s tilkobling mislyktes"
#: ../js/ui/status/network.js:503 #: ../js/ui/status/network.js:504
msgid "Wired Settings" msgid "Wired Settings"
msgstr "Innstillinger for trådbundet nettverk" msgstr "Innstillinger for trådbundet nettverk"
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624 #: ../js/ui/status/network.js:546 ../js/ui/status/network.js:624
msgid "Mobile Broadband Settings" msgid "Mobile Broadband Settings"
msgstr "Innstillinger for mobilt bredbånd" msgstr "Innstillinger for mobilt bredbånd"
#. Translators: %s is a network identifier #: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1306
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305 msgid "Hardware Disabled"
#, javascript-format msgstr "Maskinvare slått av"
msgid "%s Hardware Disabled"
msgstr "%s maskinvare slått av"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: ../js/ui/status/network.js:592
#, javascript-format
msgid "%s Disabled"
msgstr "%s slått av"
#: ../js/ui/status/network.js:632 #: ../js/ui/status/network.js:632
msgid "Use as Internet connection" msgid "Use as Internet connection"
@@ -1344,68 +1324,52 @@ msgstr "Velg et nettverk"
msgid "No Networks" msgid "No Networks"
msgstr "Ingen nettverk" msgstr "Ingen nettverk"
#: ../js/ui/status/network.js:904 ../js/ui/status/rfkill.js:115 #: ../js/ui/status/network.js:904 ../js/ui/status/rfkill.js:116
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "Bruk maskinvarebryter til å slå av" msgstr "Bruk maskinvarebryter til å slå av"
#: ../js/ui/status/network.js:1171 #: ../js/ui/status/network.js:1174
msgid "Select Network" msgid "Select Network"
msgstr "Velg nettverk" msgstr "Velg nettverk"
#: ../js/ui/status/network.js:1177 #: ../js/ui/status/network.js:1180
msgid "Wi-Fi Settings" msgid "Wi-Fi Settings"
msgstr "Innstillinger" msgstr "Innstillinger"
#: ../js/ui/status/network.js:1279 #: ../js/ui/status/network.js:1282
msgid "Turn On" msgid "Turn On"
msgstr "Slå på" msgstr "Slå på"
#. Translators: %s is a network identifier #: ../js/ui/status/network.js:1299
#: ../js/ui/status/network.js:1296 msgid "Hotspot Active"
#, javascript-format msgstr "Trådløst aksesspunkt aktivt"
msgid "%s Hotspot Active"
msgstr "%s aksesspunkt aktivt"
#. Translators: %s is a network identifier #: ../js/ui/status/network.js:1410
#: ../js/ui/status/network.js:1311
#, javascript-format
msgid "%s Not Connected"
msgstr "%s ikke koblet til"
#: ../js/ui/status/network.js:1411
msgid "connecting..." msgid "connecting..."
msgstr "kobler til …" msgstr "kobler til …"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:1414 #: ../js/ui/status/network.js:1413
msgid "authentication required" msgid "authentication required"
msgstr "autentisering kreves" msgstr "autentisering kreves"
#: ../js/ui/status/network.js:1416 #: ../js/ui/status/network.js:1415
msgid "connection failed" msgid "connection failed"
msgstr "tilkobling mislyktes" msgstr "tilkobling mislyktes"
#: ../js/ui/status/network.js:1482 ../js/ui/status/rfkill.js:93 #: ../js/ui/status/network.js:1481 ../js/ui/status/rfkill.js:94
msgid "Network Settings" msgid "Network Settings"
msgstr "Innstillinger for nettverk" msgstr "Innstillinger for nettverk"
#: ../js/ui/status/network.js:1484 #: ../js/ui/status/network.js:1483
msgid "VPN Settings" msgid "VPN Settings"
msgstr "Innstillinger for VPN" msgstr "Innstillinger for VPN"
#: ../js/ui/status/network.js:1503 #: ../js/ui/status/network.js:1502
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1513
msgid "VPN Off"
msgstr "VPN av"
#: ../js/ui/status/network.js:1697 #: ../js/ui/status/network.js:1697
msgid "Connection failed"
msgstr "Tilkobling mislyktes"
#: ../js/ui/status/network.js:1698
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Aktivering av nettverkstilkobling mislyktes" msgstr "Aktivering av nettverkstilkobling mislyktes"
@@ -1435,34 +1399,42 @@ msgstr "%d:%02d gjenstår (%d%%)"
msgid "%d%02d Until Full (%d%%)" msgid "%d%02d Until Full (%d%%)"
msgstr "%d:%02d til batteriet er fullt (%d%%)" msgstr "%d:%02d til batteriet er fullt (%d%%)"
#: ../js/ui/status/power.js:119
msgid "UPS"
msgstr "UPS"
#: ../js/ui/status/power.js:121
msgid "Battery"
msgstr "Batteri"
#. The menu only appears when airplane mode is on, so just #. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically #. statically build it as if it was on, rather than dynamically
#. changing the menu contents. #. changing the menu contents.
#: ../js/ui/status/rfkill.js:88 #: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode On" msgid "Airplane Mode"
msgstr "Flymodus er slått på" msgstr "Flymodus"
#: ../js/ui/status/system.js:343 #: ../js/ui/status/rfkill.js:90
msgid "On"
msgstr "På"
#: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "Bytt bruker" msgstr "Bytt bruker"
#: ../js/ui/status/system.js:348 #: ../js/ui/status/system.js:319
msgid "Log Out" msgid "Log Out"
msgstr "Logg ut" msgstr "Logg ut"
#: ../js/ui/status/system.js:353 #: ../js/ui/status/system.js:338
msgid "Account Settings"
msgstr "Innstillinger for konto"
#: ../js/ui/status/system.js:370
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Lås for orientering" msgstr "Lås for orientering"
#: ../js/ui/status/system.js:378 #: ../js/ui/status/system.js:346
msgid "Suspend" msgid "Suspend"
msgstr "Hvilemodus" msgstr "Hvilemodus"
#: ../js/ui/status/system.js:381 #: ../js/ui/status/system.js:349
msgid "Power Off" msgid "Power Off"
msgstr "Slå av" msgstr "Slå av"
@@ -1494,27 +1466,27 @@ msgstr "Programmer"
msgid "Search" msgid "Search"
msgstr "Søk" msgstr "Søk"
#: ../js/ui/windowAttentionHandler.js:20 #: ../js/ui/windowAttentionHandler.js:19
#, javascript-format #, javascript-format
msgid "“%s” is ready" msgid "“%s” is ready"
msgstr "«%s» er klar" msgstr "«%s» er klar"
#: ../js/ui/windowManager.js:63 #: ../js/ui/windowManager.js:65
msgid "Do you want to keep these display settings?" msgid "Do you want to keep these display settings?"
msgstr "Vil du beholde disse skjerminnstillingene?" msgstr "Vil du beholde disse skjerminnstillingene?"
#. Translators: this and the following message should be limited in lenght, #. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels. #. to avoid ellipsizing the labels.
#. #.
#: ../js/ui/windowManager.js:82 #: ../js/ui/windowManager.js:84
msgid "Revert Settings" msgid "Revert Settings"
msgstr "Forkast innstillinger" msgstr "Forkast innstillinger"
#: ../js/ui/windowManager.js:85 #: ../js/ui/windowManager.js:88
msgid "Keep Changes" msgid "Keep Changes"
msgstr "Behold endringer" msgstr "Behold endringer"
#: ../js/ui/windowManager.js:103 #: ../js/ui/windowManager.js:107
#, javascript-format #, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
@@ -1523,7 +1495,7 @@ msgstr[1] "Endringer i innstillingene forkastes om %d sekunder"
#. Translators: This represents the size of a window. The first number is #. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. #. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:658 #: ../js/ui/windowManager.js:613
#, javascript-format #, javascript-format
msgid "%d x %d" msgid "%d x %d"
msgstr "%d x %d" msgstr "%d x %d"
@@ -1560,35 +1532,27 @@ msgstr "Alltid øverst"
msgid "Always on Visible Workspace" msgid "Always on Visible Workspace"
msgstr "Alltid på synlig arbeidsområde" msgstr "Alltid på synlig arbeidsområde"
#: ../js/ui/windowMenu.js:105 #: ../js/ui/windowMenu.js:106
msgid "Move to Workspace Left"
msgstr "Gå til arbeidsområdet til venstre"
#: ../js/ui/windowMenu.js:110
msgid "Move to Workspace Right"
msgstr "Gå til arbeidsområdet til høyre"
#: ../js/ui/windowMenu.js:115
msgid "Move to Workspace Up" msgid "Move to Workspace Up"
msgstr "Gå til arbeidsområdet over" msgstr "Gå til arbeidsområdet over"
#: ../js/ui/windowMenu.js:120 #: ../js/ui/windowMenu.js:111
msgid "Move to Workspace Down" msgid "Move to Workspace Down"
msgstr "Gå til arbeidsområdet under" msgstr "Gå til arbeidsområdet under"
#: ../js/ui/windowMenu.js:136 #: ../js/ui/windowMenu.js:127
msgid "Move to Monitor Up" msgid "Move to Monitor Up"
msgstr "Flytt til skjermen over" msgstr "Flytt til skjermen over"
#: ../js/ui/windowMenu.js:142 #: ../js/ui/windowMenu.js:133
msgid "Move to Monitor Down" msgid "Move to Monitor Down"
msgstr "Flytt til skjermen under" msgstr "Flytt til skjermen under"
#: ../js/ui/windowMenu.js:148 #: ../js/ui/windowMenu.js:139
msgid "Move to Monitor Left" msgid "Move to Monitor Left"
msgstr "Flytt til skjermen til venstre" msgstr "Flytt til skjermen til venstre"
#: ../js/ui/windowMenu.js:154 #: ../js/ui/windowMenu.js:145
msgid "Move to Monitor Right" msgid "Move to Monitor Right"
msgstr "Flytt til skjermen til høyre" msgstr "Flytt til skjermen til høyre"
@@ -1644,11 +1608,11 @@ msgstr "Ukjent"
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Klarte ikke å starte «%s»" msgstr "Klarte ikke å starte «%s»"
#: ../src/shell-keyring-prompt.c:742 #: ../src/shell-keyring-prompt.c:714
msgid "Passwords do not match." msgid "Passwords do not match."
msgstr "Passordene er ikke like." msgstr "Passordene er ikke like."
#: ../src/shell-keyring-prompt.c:750 #: ../src/shell-keyring-prompt.c:722
msgid "Password cannot be blank" msgid "Password cannot be blank"
msgstr "Passordet kan ikke være tomt" msgstr "Passordet kan ikke være tomt"

511
po/nl.po

File diff suppressed because it is too large Load Diff

558
po/pa.po

File diff suppressed because it is too large Load Diff

546
po/pl.po

File diff suppressed because it is too large Load Diff

571
po/pt.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

562
po/ru.po

File diff suppressed because it is too large Load Diff

793
po/sk.po

File diff suppressed because it is too large Load Diff

749
po/sr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

596
po/sv.po

File diff suppressed because it is too large Load Diff

468
po/tr.po

File diff suppressed because it is too large Load Diff

689
po/vi.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -201,7 +201,7 @@ calendar_sources_init (CalendarSources *sources)
"/", "org.freedesktop.DBus", "/", "org.freedesktop.DBus",
"StartServiceByName", "StartServiceByName",
g_variant_new ("(su)", g_variant_new ("(su)",
"org.gnome.evolution.dataserver.Sources5", "org.gnome.evolution.dataserver.Sources4",
0), 0),
NULL, NULL,
G_DBUS_CALL_FLAGS_NONE, G_DBUS_CALL_FLAGS_NONE,

View File

@@ -45,8 +45,8 @@ static void gnome_shell_plugin_unminimize (MetaPlugin *plugin,
static void gnome_shell_plugin_size_change (MetaPlugin *plugin, static void gnome_shell_plugin_size_change (MetaPlugin *plugin,
MetaWindowActor *actor, MetaWindowActor *actor,
MetaSizeChange which_change, MetaSizeChange which_change,
MetaRectangle *old_frame_rect, MetaRectangle *old_rect,
MetaRectangle *old_buffer_rect); MetaRectangle *new_rect);
static void gnome_shell_plugin_map (MetaPlugin *plugin, static void gnome_shell_plugin_map (MetaPlugin *plugin,
MetaWindowActor *actor); MetaWindowActor *actor);
static void gnome_shell_plugin_destroy (MetaPlugin *plugin, static void gnome_shell_plugin_destroy (MetaPlugin *plugin,

View File

@@ -176,15 +176,15 @@ gtk_menu_tracker_section_sync_separators (GtkMenuTrackerSection *section,
if (subsection) if (subsection)
{ {
gboolean section_could_have_separator; gboolean could_have_separator;
section_could_have_separator = (section->with_separators && n_items > 0) || subsection->separator_label; could_have_separator = (section->with_separators && n_items > 0) || subsection->separator_label;
/* Only pass the parent_model and parent_index in case they may be used to create the separator. */ /* Only pass the parent_model and parent_index in case they may be used to create the separator. */
n_items += gtk_menu_tracker_section_sync_separators (subsection, tracker, offset + n_items, n_items += gtk_menu_tracker_section_sync_separators (subsection, tracker, offset + n_items,
section_could_have_separator, could_have_separator,
section_could_have_separator ? section->model : NULL, could_have_separator ? section->model : NULL,
section_could_have_separator ? i : 0); could_have_separator ? i : 0);
} }
else else
n_items++; n_items++;
@@ -197,11 +197,11 @@ gtk_menu_tracker_section_sync_separators (GtkMenuTrackerSection *section,
if (should_have_separator > section->has_separator) if (should_have_separator > section->has_separator)
{ {
/* Add a separator */ /* Add a separator */
GtkMenuTrackerItem *menuitem; GtkMenuTrackerItem *item;
menuitem = _gtk_menu_tracker_item_new (tracker->observable, parent_model, parent_index, NULL, TRUE); item = _gtk_menu_tracker_item_new (tracker->observable, parent_model, parent_index, NULL, TRUE);
(* tracker->insert_func) (menuitem, offset, tracker->user_data); (* tracker->insert_func) (item, offset, tracker->user_data);
g_object_unref (menuitem); g_object_unref (item);
section->has_separator = TRUE; section->has_separator = TRUE;
} }

Submodule src/gvc updated: 0a79019088...e14dbe8aa6

View File

@@ -51,11 +51,11 @@ enum {
static int _shell_debug; static int _shell_debug;
static void static void
shell_dbus_acquire_name (GDBusProxy *bus, shell_dbus_acquire_name (GDBusProxy *bus,
guint32 request_name_flags, guint32 request_name_flags,
guint32 *request_name_result, guint32 *request_name_result,
const gchar *name, gchar *name,
gboolean fatal) gboolean fatal)
{ {
GError *error = NULL; GError *error = NULL;
GVariant *request_name_variant; GVariant *request_name_variant;
@@ -69,26 +69,24 @@ shell_dbus_acquire_name (GDBusProxy *bus,
&error))) &error)))
{ {
g_printerr ("failed to acquire %s: %s\n", name, error->message); g_printerr ("failed to acquire %s: %s\n", name, error->message);
g_clear_error (&error);
if (!fatal) if (!fatal)
return; return;
exit (1); exit (1);
} }
g_variant_get (request_name_variant, "(u)", request_name_result); g_variant_get (request_name_variant, "(u)", request_name_result);
g_variant_unref (request_name_variant);
} }
static void static void
shell_dbus_acquire_names (GDBusProxy *bus, shell_dbus_acquire_names (GDBusProxy *bus,
guint32 request_name_flags, guint32 request_name_flags,
const gchar *name, gchar *name,
gboolean fatal, ...) G_GNUC_NULL_TERMINATED; gboolean fatal, ...) G_GNUC_NULL_TERMINATED;
static void static void
shell_dbus_acquire_names (GDBusProxy *bus, shell_dbus_acquire_names (GDBusProxy *bus,
guint32 request_name_flags, guint32 request_name_flags,
const gchar *name, gchar *name,
gboolean fatal, ...) gboolean fatal, ...)
{ {
va_list al; va_list al;
guint32 request_name_result; guint32 request_name_result;
@@ -132,12 +130,6 @@ shell_dbus_init (gboolean replace)
NULL, /* cancellable */ NULL, /* cancellable */
&error); &error);
if (!bus)
{
g_printerr ("Failed to get a session bus proxy: %s", error->message);
exit (1);
}
request_name_flags = G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT; request_name_flags = G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT;
if (replace) if (replace)
request_name_flags |= DBUS_NAME_FLAG_REPLACE_EXISTING; request_name_flags |= DBUS_NAME_FLAG_REPLACE_EXISTING;
@@ -462,7 +454,7 @@ main (int argc, char **argv)
/* Initialize the global object */ /* Initialize the global object */
if (session_mode == NULL) if (session_mode == NULL)
session_mode = is_gdm_mode ? (char *)"gdm" : (char *)"user"; session_mode = is_gdm_mode ? "gdm" : "user";
_shell_global_init ("session-mode", session_mode, NULL); _shell_global_init ("session-mode", session_mode, NULL);

View File

@@ -182,7 +182,7 @@ shell_app_system_finalize (GObject *object)
* Return Value: (transfer none): The global #ShellAppSystem singleton * Return Value: (transfer none): The global #ShellAppSystem singleton
*/ */
ShellAppSystem * ShellAppSystem *
shell_app_system_get_default (void) shell_app_system_get_default ()
{ {
static ShellAppSystem *instance = NULL; static ShellAppSystem *instance = NULL;
@@ -348,9 +348,6 @@ _shell_app_system_notify_app_state_changed (ShellAppSystem *self,
case SHELL_APP_STATE_STOPPED: case SHELL_APP_STATE_STOPPED:
g_hash_table_remove (self->priv->running_apps, app); g_hash_table_remove (self->priv->running_apps, app);
break; break;
default:
g_warn_if_reached();
break;
} }
g_signal_emit (self, signals[APP_STATE_CHANGED], 0, app); g_signal_emit (self, signals[APP_STATE_CHANGED], 0, app);
} }
@@ -386,28 +383,3 @@ shell_app_system_get_running (ShellAppSystem *self)
return ret; return ret;
} }
/**
* shell_app_system_search:
* @search_string: the search string to use
*
* Wrapper around g_desktop_app_info_search() that replaces results that
* don't validate as UTF-8 with the empty string.
*
* Returns: (array zero-terminated=1) (element-type GStrv) (transfer full): a
* list of strvs. Free each item with g_strfreev() and free the outer
* list with g_free().
*/
char ***
shell_app_system_search (const char *search_string)
{
char ***results = g_desktop_app_info_search (search_string);
char ***groups, **ids;
for (groups = results; *groups; groups++)
for (ids = *groups; *ids; ids++)
if (!g_utf8_validate (*ids, -1, NULL))
**ids = '\0';
return results;
}

View File

@@ -48,6 +48,5 @@ ShellApp *shell_app_system_lookup_desktop_wmclass (ShellAppSystem *s
const char *wmclass); const char *wmclass);
GSList *shell_app_system_get_running (ShellAppSystem *self); GSList *shell_app_system_get_running (ShellAppSystem *self);
char ***shell_app_system_search (const char *search_string);
#endif /* __SHELL_APP_SYSTEM_H__ */ #endif /* __SHELL_APP_SYSTEM_H__ */

View File

@@ -996,7 +996,7 @@ on_enable_monitoring_key_changed (GSettings *settings,
* Return Value: (transfer none): The global #ShellAppUsage instance * Return Value: (transfer none): The global #ShellAppUsage instance
*/ */
ShellAppUsage * ShellAppUsage *
shell_app_usage_get_default (void) shell_app_usage_get_default ()
{ {
static ShellAppUsage *instance; static ShellAppUsage *instance;

View File

@@ -156,20 +156,16 @@ static MetaWindow *
window_backed_app_get_window (ShellApp *app) window_backed_app_get_window (ShellApp *app)
{ {
g_assert (app->info == NULL); g_assert (app->info == NULL);
if (app->running_state) g_assert (app->running_state);
{ g_assert (app->running_state->windows);
g_assert (app->running_state->windows); return app->running_state->windows->data;
return app->running_state->windows->data;
}
else
return NULL;
} }
static ClutterActor * static ClutterActor *
window_backed_app_get_icon (ShellApp *app, window_backed_app_get_icon (ShellApp *app,
int size) int size)
{ {
MetaWindow *window = NULL; MetaWindow *window;
ClutterActor *actor; ClutterActor *actor;
gint scale; gint scale;
ShellGlobal *global; ShellGlobal *global;
@@ -185,16 +181,14 @@ window_backed_app_get_icon (ShellApp *app,
* window-backend apps, it's possible we get a request for the icon. * window-backend apps, it's possible we get a request for the icon.
* Avoid asserting here and just return an empty image. * Avoid asserting here and just return an empty image.
*/ */
if (app->running_state != NULL) if (app->running_state == NULL)
window = window_backed_app_get_window (app);
if (window == NULL)
{ {
actor = clutter_texture_new (); actor = clutter_texture_new ();
g_object_set (actor, "opacity", 0, "width", (float) size, "height", (float) size, NULL); g_object_set (actor, "opacity", 0, "width", (float) size, "height", (float) size, NULL);
return actor; return actor;
} }
window = window_backed_app_get_window (app);
actor = st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (), actor = st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (),
G_OBJECT (window), G_OBJECT (window),
"icon"); "icon");
@@ -238,10 +232,9 @@ shell_app_get_name (ShellApp *app)
else else
{ {
MetaWindow *window = window_backed_app_get_window (app); MetaWindow *window = window_backed_app_get_window (app);
const char *name = NULL; const char *name;
if (window) name = meta_window_get_wm_class (window);
name = meta_window_get_wm_class (window);
if (!name) if (!name)
name = C_("program", "Unknown"); name = C_("program", "Unknown");
return name; return name;
@@ -498,9 +491,6 @@ shell_app_activate_full (ShellApp *app,
case SHELL_APP_STATE_RUNNING: case SHELL_APP_STATE_RUNNING:
shell_app_activate_window (app, NULL, timestamp); shell_app_activate_window (app, NULL, timestamp);
break; break;
default:
g_assert_not_reached();
break;
} }
} }
@@ -709,7 +699,7 @@ static int
shell_app_get_last_user_time (ShellApp *app) shell_app_get_last_user_time (ShellApp *app)
{ {
GSList *iter; GSList *iter;
guint32 last_user_time; int last_user_time;
last_user_time = 0; last_user_time = 0;
@@ -719,7 +709,7 @@ shell_app_get_last_user_time (ShellApp *app)
last_user_time = MAX (last_user_time, meta_window_get_user_time (iter->data)); last_user_time = MAX (last_user_time, meta_window_get_user_time (iter->data));
} }
return (int)last_user_time; return last_user_time;
} }
/** /**
@@ -838,13 +828,10 @@ shell_app_sync_running_state (ShellApp *app)
{ {
g_return_if_fail (app->running_state != NULL); g_return_if_fail (app->running_state != NULL);
if (app->state != SHELL_APP_STATE_STARTING) if (app->running_state->interesting_windows == 0)
{ shell_app_state_transition (app, SHELL_APP_STATE_STOPPED);
if (app->running_state->interesting_windows == 0) else if (app->state != SHELL_APP_STATE_STARTING)
shell_app_state_transition (app, SHELL_APP_STATE_STOPPED); shell_app_state_transition (app, SHELL_APP_STATE_RUNNING);
else
shell_app_state_transition (app, SHELL_APP_STATE_RUNNING);
}
} }
@@ -1013,16 +1000,10 @@ _shell_app_remove_window (ShellApp *app,
if (!meta_window_is_skip_taskbar (window)) if (!meta_window_is_skip_taskbar (window))
app->running_state->interesting_windows--; app->running_state->interesting_windows--;
shell_app_sync_running_state (app);
if (app->running_state->windows == NULL) if (app->running_state && app->running_state->windows == NULL)
{ g_clear_pointer (&app->running_state, unref_running_state);
g_clear_pointer (&app->running_state, unref_running_state);
shell_app_state_transition (app, SHELL_APP_STATE_STOPPED);
}
else
{
shell_app_sync_running_state (app);
}
g_signal_emit (app, shell_app_signals[WINDOWS_CHANGED], 0); g_signal_emit (app, shell_app_signals[WINDOWS_CHANGED], 0);
} }
@@ -1161,13 +1142,7 @@ shell_app_launch (ShellApp *app,
if (app->info == NULL) if (app->info == NULL)
{ {
MetaWindow *window = window_backed_app_get_window (app); MetaWindow *window = window_backed_app_get_window (app);
/* We don't use an error return if there no longer any windows, because the meta_window_activate (window, timestamp);
* user attempting to activate a stale window backed app isn't something
* we would expect the caller to meaningfully handle or display an error
* message to the user.
*/
if (window)
meta_window_activate (window, timestamp);
return TRUE; return TRUE;
} }

View File

@@ -59,7 +59,7 @@ shell_embedded_window_show (GtkWidget *widget)
/* Size is 0x0 if the GtkWindow is not shown */ /* Size is 0x0 if the GtkWindow is not shown */
clutter_actor_queue_relayout (CLUTTER_ACTOR (window->priv->actor)); clutter_actor_queue_relayout (CLUTTER_ACTOR (window->priv->actor));
if (clutter_actor_is_realized (CLUTTER_ACTOR (window->priv->actor))) if (CLUTTER_ACTOR_IS_REALIZED (window->priv->actor))
gtk_widget_map (widget); gtk_widget_map (widget);
} }
} }
@@ -166,7 +166,7 @@ _shell_embedded_window_set_actor (ShellEmbeddedWindow *window,
window->priv->actor = actor; window->priv->actor = actor;
if (actor && if (actor &&
clutter_actor_is_mapped (CLUTTER_ACTOR (actor)) && CLUTTER_ACTOR_IS_MAPPED (actor) &&
gtk_widget_get_visible (GTK_WIDGET (window))) gtk_widget_get_visible (GTK_WIDGET (window)))
gtk_widget_map (GTK_WIDGET (window)); gtk_widget_map (GTK_WIDGET (window));
} }

View File

@@ -172,7 +172,7 @@ shell_generic_container_get_focus_chain (StWidget *widget)
child != NULL; child != NULL;
child = clutter_actor_get_next_sibling (child)) child = clutter_actor_get_next_sibling (child))
{ {
if (clutter_actor_is_visible (child) && if (CLUTTER_ACTOR_IS_VISIBLE (child) &&
!shell_generic_container_get_skip_paint (self, child)) !shell_generic_container_get_skip_paint (self, child))
focus_chain = g_list_prepend (focus_chain, child); focus_chain = g_list_prepend (focus_chain, child);
} }
@@ -273,7 +273,7 @@ shell_generic_container_get_paint_volume (ClutterActor *self,
{ {
const ClutterPaintVolume *child_volume; const ClutterPaintVolume *child_volume;
if (!clutter_actor_is_visible (child)) if (!CLUTTER_ACTOR_IS_VISIBLE (child))
continue; continue;
if (shell_generic_container_get_skip_paint (SHELL_GENERIC_CONTAINER (self), child)) if (shell_generic_container_get_skip_paint (SHELL_GENERIC_CONTAINER (self), child))

View File

@@ -139,7 +139,6 @@ shell_glsl_quad_constructed (GObject *object)
if (G_UNLIKELY (klass->base_pipeline == NULL)) if (G_UNLIKELY (klass->base_pipeline == NULL))
{ {
klass->base_pipeline = cogl_pipeline_new (ctx); klass->base_pipeline = cogl_pipeline_new (ctx);
cogl_pipeline_set_blend (klass->base_pipeline, "RGBA = ADD (SRC_COLOR * (SRC_COLOR[A]), DST_COLOR * (1-SRC_COLOR[A]))", NULL);
if (klass->build_pipeline != NULL) if (klass->build_pipeline != NULL)
klass->build_pipeline (self); klass->build_pipeline (self);

View File

@@ -68,6 +68,7 @@ shell_gtk_embed_window_created_cb (MetaDisplay *display,
{ {
ClutterActor *window_actor = ClutterActor *window_actor =
CLUTTER_ACTOR (meta_window_get_compositor_private (window)); CLUTTER_ACTOR (meta_window_get_compositor_private (window));
MetaDisplay *display = shell_global_get_display (shell_global_get ());
GCallback remove_cb = G_CALLBACK (shell_gtk_embed_remove_window_actor); GCallback remove_cb = G_CALLBACK (shell_gtk_embed_remove_window_actor);
cairo_region_t *empty_region; cairo_region_t *empty_region;

View File

@@ -125,9 +125,8 @@ on_window_draw (GtkWidget *window,
WindowInfo *info) WindowInfo *info)
{ {
cairo_rectangle_int_t allocation; cairo_rectangle_int_t allocation;
double x_offset, y_offset;
gtk_widget_get_allocation (window, &allocation); gtk_widget_get_allocation (window, &allocation);
double x_offset, y_offset;
/* We draw an arbitrary pattern of red lines near the border of the /* We draw an arbitrary pattern of red lines near the border of the
* window to make it more clear than empty windows if something * window to make it more clear than empty windows if something

View File

@@ -626,7 +626,7 @@ shell_perf_log_collect_statistics (ShellPerfLog *perf_log)
{ {
gint64 event_time = get_time (); gint64 event_time = get_time ();
gint64 collection_time; gint64 collection_time;
guint i; int i;
if (!perf_log->enabled) if (!perf_log->enabled)
return; return;
@@ -672,9 +672,6 @@ shell_perf_log_collect_statistics (ShellPerfLog *perf_log)
statistic->recorded = TRUE; statistic->recorded = TRUE;
} }
break; break;
default:
g_warning ("Unsupported signature in event");
break;
} }
} }
@@ -822,7 +819,7 @@ shell_perf_log_dump_events (ShellPerfLog *perf_log,
GError **error) GError **error)
{ {
GString *output; GString *output;
guint i; int i;
output = g_string_new (NULL); output = g_string_new (NULL);
g_string_append (output, "[ "); g_string_append (output, "[ ");

View File

@@ -156,17 +156,17 @@ shell_recorder_src_send_event (GstElement * element, GstEvent * event)
ShellRecorderSrc *src = SHELL_RECORDER_SRC (element); ShellRecorderSrc *src = SHELL_RECORDER_SRC (element);
gboolean res; gboolean res;
if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) switch (GST_EVENT_TYPE (event)) {
{ case GST_EVENT_EOS:
shell_recorder_src_close (src); shell_recorder_src_close (src);
gst_event_unref (event); gst_event_unref (event);
res = TRUE; res = TRUE;
} break;
else default:
{
res = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, send_event, (element, res = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, send_event, (element,
event), FALSE); event), FALSE);
} break;
}
return res; return res;
} }

View File

@@ -1182,20 +1182,23 @@ recorder_pipeline_bus_watch (GstBus *bus,
{ {
RecorderPipeline *pipeline = data; RecorderPipeline *pipeline = data;
if (message->type == GST_MESSAGE_EOS) switch (message->type)
{ {
case GST_MESSAGE_EOS:
recorder_pipeline_closed (pipeline); recorder_pipeline_closed (pipeline);
return FALSE; /* remove watch */ return FALSE; /* remove watch */
} case GST_MESSAGE_ERROR:
else if (message->type == GST_MESSAGE_ERROR) {
{ GError *error;
GError *error;
gst_message_parse_error (message, &error, NULL); gst_message_parse_error (message, &error, NULL);
g_warning ("Error in recording pipeline: %s\n", error->message); g_warning ("Error in recording pipeline: %s\n", error->message);
g_error_free (error); g_error_free (error);
recorder_pipeline_closed (pipeline); recorder_pipeline_closed (pipeline);
return FALSE; /* remove watch */ return FALSE; /* remove watch */
}
default:
break;
} }
/* Leave the watch in place */ /* Leave the watch in place */

View File

@@ -155,7 +155,7 @@ shell_stack_navigate_focus (StWidget *widget,
if (from && clutter_actor_contains (CLUTTER_ACTOR (widget), from)) if (from && clutter_actor_contains (CLUTTER_ACTOR (widget), from))
return FALSE; return FALSE;
if (clutter_actor_is_mapped (CLUTTER_ACTOR (widget))) if (CLUTTER_ACTOR_IS_MAPPED (CLUTTER_ACTOR (widget)))
{ {
clutter_actor_grab_key_focus (CLUTTER_ACTOR (widget)); clutter_actor_grab_key_focus (CLUTTER_ACTOR (widget));
return TRUE; return TRUE;

View File

@@ -13,7 +13,6 @@
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixbuf.h> #include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk/gdkx.h> #include <gdk/gdkx.h>
#include <meta/meta-shaped-texture.h>
#include <locale.h> #include <locale.h>
#ifdef HAVE__NL_TIME_FIRST_WEEKDAY #ifdef HAVE__NL_TIME_FIRST_WEEKDAY
@@ -85,7 +84,7 @@ shell_util_get_transformed_allocation (ClutterActor *actor,
*/ */
ClutterVertex v[4]; ClutterVertex v[4];
gfloat x_min, x_max, y_min, y_max; gfloat x_min, x_max, y_min, y_max;
guint i; gint i;
g_return_if_fail (CLUTTER_IS_ACTOR (actor)); g_return_if_fail (CLUTTER_IS_ACTOR (actor));
@@ -166,7 +165,7 @@ shell_util_format_date (const char *format,
*/ */
/* Copied from gtkcalendar.c */ /* Copied from gtkcalendar.c */
int int
shell_util_get_week_start (void) shell_util_get_week_start ()
{ {
int week_start; int week_start;
#ifdef HAVE__NL_TIME_FIRST_WEEKDAY #ifdef HAVE__NL_TIME_FIRST_WEEKDAY
@@ -404,57 +403,3 @@ shell_util_text_insert_keyval (ClutterActor *actor,
clutter_actor_event (actor, &event, FALSE); clutter_actor_event (actor, &event, FALSE);
} }
static gboolean
canvas_draw_cb (ClutterContent *content,
cairo_t *cr,
gint width,
gint height,
gpointer user_data)
{
cairo_surface_t *surface = user_data;
cairo_set_source_surface (cr, surface, 0, 0);
cairo_paint (cr);
return FALSE;
}
/**
* shell_util_get_content_for_window_actor:
* @window_actor: a #MetaWindowActor
* @window_rect: a #MetaRectangle
*
* Returns: (transfer full): a new #ClutterContent
*/
ClutterContent *
shell_util_get_content_for_window_actor (MetaWindowActor *window_actor,
MetaRectangle *window_rect)
{
ClutterActor *texture;
ClutterContent *content;
cairo_surface_t *surface;
cairo_rectangle_int_t clip;
gfloat actor_x, actor_y;
texture = meta_window_actor_get_texture (window_actor);
clutter_actor_get_position (CLUTTER_ACTOR (window_actor), &actor_x, &actor_y);
clip.x = window_rect->x - (gint) actor_x;
clip.y = window_rect->y - (gint) actor_y;
clip.width = window_rect->width;
clip.height = window_rect->height;
surface = meta_shaped_texture_get_image (META_SHAPED_TEXTURE (texture),
&clip);
content = clutter_canvas_new ();
clutter_canvas_set_size (CLUTTER_CANVAS (content),
clip.width, clip.height);
g_signal_connect (content, "draw",
G_CALLBACK (canvas_draw_cb), surface);
clutter_content_invalidate (content);
cairo_surface_destroy (surface);
return content;
}

View File

@@ -8,7 +8,6 @@
#include <libsoup/soup.h> #include <libsoup/soup.h>
#include <gdk-pixbuf/gdk-pixbuf.h> #include <gdk-pixbuf/gdk-pixbuf.h>
#include <meta/meta-cursor-tracker.h> #include <meta/meta-cursor-tracker.h>
#include <meta/meta-window-actor.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@@ -51,9 +50,6 @@ gboolean shell_util_need_background_refresh (void);
void shell_util_text_insert_keyval (ClutterActor *actor, void shell_util_text_insert_keyval (ClutterActor *actor,
guint keyval); guint keyval);
ClutterContent * shell_util_get_content_for_window_actor (MetaWindowActor *window_actor,
MetaRectangle *window_rect);
G_END_DECLS G_END_DECLS
#endif /* __SHELL_UTIL_H__ */ #endif /* __SHELL_UTIL_H__ */

View File

@@ -865,7 +865,7 @@ shell_startup_sequence_create_icon (ShellStartupSequence *sequence, guint size)
* Return Value: (transfer none): The global #ShellWindowTracker instance * Return Value: (transfer none): The global #ShellWindowTracker instance
*/ */
ShellWindowTracker * ShellWindowTracker *
shell_window_tracker_get_default (void) shell_window_tracker_get_default ()
{ {
static ShellWindowTracker *instance; static ShellWindowTracker *instance;

View File

@@ -15,8 +15,8 @@ void _shell_wm_unminimize (ShellWM *wm,
void _shell_wm_size_change(ShellWM *wm, void _shell_wm_size_change(ShellWM *wm,
MetaWindowActor *actor, MetaWindowActor *actor,
MetaSizeChange which_change, MetaSizeChange which_change,
MetaRectangle *old_frame_rect, MetaRectangle *old_rect,
MetaRectangle *old_buffer_rect); MetaRectangle *new_rect);
void _shell_wm_map (ShellWM *wm, void _shell_wm_map (ShellWM *wm,
MetaWindowActor *actor); MetaWindowActor *actor);
void _shell_wm_destroy (ShellWM *wm, void _shell_wm_destroy (ShellWM *wm,

View File

@@ -101,7 +101,7 @@ st_bin_allocate (ClutterActor *self,
clutter_actor_set_allocation (self, box, flags); clutter_actor_set_allocation (self, box, flags);
if (priv->child && clutter_actor_is_visible (priv->child)) if (priv->child && CLUTTER_ACTOR_IS_VISIBLE (priv->child))
{ {
StThemeNode *theme_node = st_widget_get_theme_node (ST_WIDGET (self)); StThemeNode *theme_node = st_widget_get_theme_node (ST_WIDGET (self));
ClutterActorBox childbox; ClutterActorBox childbox;
@@ -128,7 +128,7 @@ st_bin_get_preferred_width (ClutterActor *self,
st_theme_node_adjust_for_height (theme_node, &for_height); st_theme_node_adjust_for_height (theme_node, &for_height);
if (priv->child == NULL || !clutter_actor_is_visible (priv->child)) if (priv->child == NULL || !CLUTTER_ACTOR_IS_VISIBLE (priv->child))
{ {
if (min_width_p) if (min_width_p)
*min_width_p = 0; *min_width_p = 0;
@@ -157,7 +157,7 @@ st_bin_get_preferred_height (ClutterActor *self,
st_theme_node_adjust_for_width (theme_node, &for_width); st_theme_node_adjust_for_width (theme_node, &for_width);
if (priv->child == NULL || !clutter_actor_is_visible (priv->child)) if (priv->child == NULL || !CLUTTER_ACTOR_IS_VISIBLE (priv->child))
{ {
if (min_height_p) if (min_height_p)
*min_height_p = 0; *min_height_p = 0;
@@ -209,7 +209,7 @@ st_bin_navigate_focus (StWidget *widget,
if (from && clutter_actor_contains (bin_actor, from)) if (from && clutter_actor_contains (bin_actor, from))
return FALSE; return FALSE;
if (clutter_actor_is_mapped (bin_actor)) if (CLUTTER_ACTOR_IS_MAPPED (bin_actor))
{ {
clutter_actor_grab_key_focus (bin_actor); clutter_actor_grab_key_focus (bin_actor);
return TRUE; return TRUE;

View File

@@ -562,24 +562,6 @@ layout_notify (GObject *object,
g_object_notify (self, prop_name); g_object_notify (self, prop_name);
} }
static void
on_layout_manager_notify (GObject *object,
GParamSpec *pspec,
gpointer user_data)
{
ClutterActor *actor = CLUTTER_ACTOR (object);
ClutterLayoutManager *layout = clutter_actor_get_layout_manager (actor);
g_warn_if_fail (CLUTTER_IS_BOX_LAYOUT (layout));
if (layout == NULL)
return;
g_signal_connect_swapped (layout, "layout-changed",
G_CALLBACK (clutter_actor_queue_relayout), actor);
g_signal_connect (layout, "notify", G_CALLBACK (layout_notify), object);
}
static void static void
st_box_layout_class_init (StBoxLayoutClass *klass) st_box_layout_class_init (StBoxLayoutClass *klass)
{ {
@@ -632,11 +614,14 @@ st_box_layout_class_init (StBoxLayoutClass *klass)
static void static void
st_box_layout_init (StBoxLayout *self) st_box_layout_init (StBoxLayout *self)
{ {
self->priv = BOX_LAYOUT_PRIVATE (self); ClutterLayoutManager *layout;
g_signal_connect (self, "notify::layout-manager", self->priv = BOX_LAYOUT_PRIVATE (self);
G_CALLBACK (on_layout_manager_notify), NULL); layout = clutter_box_layout_new ();
clutter_actor_set_layout_manager (CLUTTER_ACTOR (self), clutter_box_layout_new ()); g_signal_connect_swapped (layout, "layout-changed",
G_CALLBACK (clutter_actor_queue_relayout), self);
g_signal_connect (layout, "notify", G_CALLBACK (layout_notify), self);
clutter_actor_set_layout_manager (CLUTTER_ACTOR (self), layout);
} }
/** /**

View File

@@ -211,7 +211,7 @@ st_button_button_release (ClutterActor *actor,
{ {
gboolean is_click; gboolean is_click;
is_click = button->priv->grabbed && clutter_actor_contains (actor, event->source); is_click = button->priv->grabbed && st_widget_get_hover (ST_WIDGET (button));
st_button_release (button, device, mask, is_click ? event->button : 0, NULL); st_button_release (button, device, mask, is_click ? event->button : 0, NULL);
button->priv->grabbed &= ~mask; button->priv->grabbed &= ~mask;
@@ -801,6 +801,9 @@ struct _StButtonAccessibleClass
StWidgetAccessibleClass parent_class; StWidgetAccessibleClass parent_class;
}; };
static void st_button_accessible_class_init (StButtonAccessibleClass *klass);
static void st_button_accessible_init (StButtonAccessible *button);
/* AtkObject */ /* AtkObject */
static void st_button_accessible_initialize (AtkObject *obj, static void st_button_accessible_initialize (AtkObject *obj,
gpointer data); gpointer data);

View File

@@ -94,8 +94,8 @@ st_drawing_area_paint (ClutterActor *self)
} }
if (priv->texture != NULL && if (priv->texture != NULL &&
(width != (int)cogl_texture_get_width (priv->texture) || (width != cogl_texture_get_width (priv->texture) ||
height != (int)cogl_texture_get_height (priv->texture))) height != cogl_texture_get_height (priv->texture)))
{ {
cogl_object_unref (priv->texture); cogl_object_unref (priv->texture);
priv->texture = NULL; priv->texture = NULL;

View File

@@ -304,7 +304,7 @@ st_entry_navigate_focus (StWidget *widget,
if (from == priv->entry) if (from == priv->entry)
return FALSE; return FALSE;
else if (st_widget_get_can_focus (widget) && else if (st_widget_get_can_focus (widget) &&
clutter_actor_is_mapped (priv->entry)) CLUTTER_ACTOR_IS_MAPPED (priv->entry))
{ {
clutter_actor_grab_key_focus (priv->entry); clutter_actor_grab_key_focus (priv->entry);
return TRUE; return TRUE;
@@ -618,7 +618,7 @@ st_entry_key_press_event (ClutterActor *actor,
/* copy */ /* copy */
if ((event->modifier_state & CLUTTER_CONTROL_MASK) if ((event->modifier_state & CLUTTER_CONTROL_MASK)
&& event->keyval == CLUTTER_KEY_c && && event->keyval == CLUTTER_c &&
clutter_text_get_password_char ((ClutterText*) priv->entry) == 0) clutter_text_get_password_char ((ClutterText*) priv->entry) == 0)
{ {
StClipboard *clipboard; StClipboard *clipboard;
@@ -639,7 +639,7 @@ st_entry_key_press_event (ClutterActor *actor,
/* cut */ /* cut */
if ((event->modifier_state & CLUTTER_CONTROL_MASK) if ((event->modifier_state & CLUTTER_CONTROL_MASK)
&& event->keyval == CLUTTER_KEY_x && && event->keyval == CLUTTER_x &&
clutter_text_get_password_char ((ClutterText*) priv->entry) == 0) clutter_text_get_password_char ((ClutterText*) priv->entry) == 0)
{ {
StClipboard *clipboard; StClipboard *clipboard;
@@ -665,7 +665,7 @@ st_entry_key_press_event (ClutterActor *actor,
/* delete to beginning of line */ /* delete to beginning of line */
if ((event->modifier_state & CLUTTER_CONTROL_MASK) if ((event->modifier_state & CLUTTER_CONTROL_MASK)
&& event->keyval == CLUTTER_KEY_u) && event->keyval == CLUTTER_u)
{ {
int pos = clutter_text_get_cursor_position ((ClutterText *)priv->entry); int pos = clutter_text_get_cursor_position ((ClutterText *)priv->entry);
clutter_text_delete_text ((ClutterText *)priv->entry, 0, pos); clutter_text_delete_text ((ClutterText *)priv->entry, 0, pos);
@@ -676,7 +676,7 @@ st_entry_key_press_event (ClutterActor *actor,
/* delete to end of line */ /* delete to end of line */
if ((event->modifier_state & CLUTTER_CONTROL_MASK) if ((event->modifier_state & CLUTTER_CONTROL_MASK)
&& event->keyval == CLUTTER_KEY_k) && event->keyval == CLUTTER_k)
{ {
ClutterTextBuffer *buffer = clutter_text_get_buffer ((ClutterText *)priv->entry); ClutterTextBuffer *buffer = clutter_text_get_buffer ((ClutterText *)priv->entry);
int pos = clutter_text_get_cursor_position ((ClutterText *)priv->entry); int pos = clutter_text_get_cursor_position ((ClutterText *)priv->entry);

Some files were not shown because too many files have changed in this diff Show More