Compare commits
	
		
			240 Commits
		
	
	
		
			gnome-3-16
			...
			wip/fullsc
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 672ca8850a | ||
|   | 674ae262c8 | ||
|   | db297e7fdb | ||
|   | d57c146514 | ||
|   | ec5a4328e3 | ||
|   | e4ee72c481 | ||
|   | 31f1e9ff0a | ||
|   | d6c049a8c9 | ||
|   | 44047ac881 | ||
|   | 464d5d8a13 | ||
|   | 29811a85dc | ||
|   | 36ee4e6c3b | ||
|   | 2036e4c85c | ||
|   | f24034de84 | ||
|   | 522ff86081 | ||
|   | 669e3c8ed9 | ||
|   | ce850f464c | ||
|   | 03eaa61cef | ||
|   | e10e953d24 | ||
|   | 2b47bb3d82 | ||
|   | 73d819116c | ||
|   | c8dd984663 | ||
|   | 6087eb6d0e | ||
|   | 97b43d1d36 | ||
|   | 57ebadbaf8 | ||
|   | cad7bb1151 | ||
|   | 9a376d47c5 | ||
|   | b79adc05f4 | ||
|   | f765c5e319 | ||
|   | edc445c0c9 | ||
|   | ab6b0f3f7f | ||
|   | 5e7902e733 | ||
|   | f9f821aa55 | ||
|   | 9ed4b2a5ae | ||
|   | 0130ced790 | ||
|   | 8dab07af82 | ||
|   | f6cd3fa5ed | ||
|   | faae1a028e | ||
|   | f5e32184fe | ||
|   | 18c7138237 | ||
|   | 3f0fbae7e2 | ||
|   | 7f1a258ff9 | ||
|   | 35b38d5cb2 | ||
|   | 09e8a437d4 | ||
|   | d2bedcc182 | ||
|   | 84eda6e459 | ||
|   | f5e7530fc7 | ||
|   | f983b34784 | ||
|   | 36bbe64898 | ||
|   | 627a393ed6 | ||
|   | a025b151ef | ||
|   | 18b6f13395 | ||
|   | 051413550f | ||
|   | 3e10574736 | ||
|   | 9a3041004b | ||
|   | 87f71b8ce1 | ||
|   | 825146f1e3 | ||
|   | 52995416fd | ||
|   | 6c43d0247a | ||
|   | 9aa98d9f0c | ||
|   | c3a29d6df1 | ||
|   | 82f84416a9 | ||
|   | 9dd3162dbe | ||
|   | 7ef519756a | ||
|   | 3bbe74d1c1 | ||
|   | 409f6718b8 | ||
|   | 9c0e179080 | ||
|   | b3b278d41f | ||
|   | 0f466dbafb | ||
|   | fbb4a9a3a6 | ||
|   | 8ddae5cd71 | ||
|   | b0915c7b60 | ||
|   | 831bb4e334 | ||
|   | 4e025506fa | ||
|   | abccf451bf | ||
|   | 14954117c0 | ||
|   | 629f408fe5 | ||
|   | 86c6ab3c01 | ||
|   | 4a6ff94701 | ||
|   | e480b08d58 | ||
|   | caf53861d1 | ||
|   | d0480648ba | ||
|   | eb8cfe799f | ||
|   | b9f2541880 | ||
|   | bde9b08bfe | ||
|   | 8a4c862633 | ||
|   | 785c90f4b8 | ||
|   | dd6a11e4c7 | ||
|   | 64e9503adb | ||
|   | 36c885bf34 | ||
|   | ad7cde805d | ||
|   | 2c2c67f4dc | ||
|   | cc4f8dfab0 | ||
|   | 0fb13608c5 | ||
|   | 09dbe17da0 | ||
|   | fdd347c9aa | ||
|   | 572095515b | ||
|   | f2d4aa0822 | ||
|   | 030a22d795 | ||
|   | c70afcdb44 | ||
|   | 526d6c03b8 | ||
|   | 261b55300d | ||
|   | e13bfd9a17 | ||
|   | e096d18bac | ||
|   | 9460f0e4f3 | ||
|   | e6591f52ac | ||
|   | 07e3d1fd5c | ||
|   | 1fbc6b24c8 | ||
|   | 982777be94 | ||
|   | 6610a34ad0 | ||
|   | bfa8a0441a | ||
|   | 7723622ec7 | ||
|   | 6bcc8c70ef | ||
|   | d114d5f95a | ||
|   | b5c734da42 | ||
|   | 2077bb94c1 | ||
|   | 65a4ee7fb4 | ||
|   | debf293298 | ||
|   | a0df3e7d1e | ||
|   | 0d67c2d164 | ||
|   | 682bd7b622 | ||
|   | fa0e54edbb | ||
|   | 5a0b209663 | ||
|   | 7e8859fd0e | ||
|   | 444fa2e0ab | ||
|   | a31455b921 | ||
|   | ac0213a516 | ||
|   | 45a6e2c305 | ||
|   | 11cbd396c0 | ||
|   | a343445cd2 | ||
|   | be3d62487c | ||
|   | 58905bd01a | ||
|   | 08506eac2d | ||
|   | 02c6b0374d | ||
|   | 0722c06275 | ||
|   | 17a4044d97 | ||
|   | 27a7194634 | ||
|   | d73f560bcc | ||
|   | e92f43b83e | ||
|   | fed79ce4e6 | ||
|   | fc45cf03bf | ||
|   | efde11a0f3 | ||
|   | fb951ff9b5 | ||
|   | f5865e895e | ||
|   | b8c2d4c6c7 | ||
|   | 778ad49ab4 | ||
|   | fe7dd1305f | ||
|   | 378a3df5ea | ||
|   | e63b81d69c | ||
|   | c2fa2cdd8a | ||
|   | 6f215427f8 | ||
|   | 67ed4e0570 | ||
|   | 8a15178557 | ||
|   | f3ecfab378 | ||
|   | 804563d5b2 | ||
|   | c3e5d983b9 | ||
|   | d21edcfed5 | ||
|   | 9b69a45eee | ||
|   | 7424ee755a | ||
|   | ff664fd1d8 | ||
|   | fd3f03580d | ||
|   | a09150846a | ||
|   | f2a9c55637 | ||
|   | eaa3f83e46 | ||
|   | e786cc1454 | ||
|   | cd0c632fcb | ||
|   | d5f248cb82 | ||
|   | 6a800abe06 | ||
|   | fe265554a7 | ||
|   | 7305466765 | ||
|   | 9ac55a98f1 | ||
|   | a1149fb6ad | ||
|   | dfc4cc4aaf | ||
|   | ef7541291b | ||
|   | 248a3e6b7e | ||
|   | 6b1e381750 | ||
|   | feaf6108f9 | ||
|   | 9ad104585d | ||
|   | 7c44af3616 | ||
|   | 0599bf41b0 | ||
|   | eac303f84c | ||
|   | 7bdd1c625c | ||
|   | 0003760fd9 | ||
|   | eafb8c8e38 | ||
|   | 60c8105559 | ||
|   | 54626c6f7e | ||
|   | cca528a630 | ||
|   | 530193a3a2 | ||
|   | 52e3149040 | ||
|   | ad297ea9dc | ||
|   | 2015fc97dc | ||
|   | 35889a0f7d | ||
|   | dcd84a4b53 | ||
|   | 01374989b1 | ||
|   | f300462003 | ||
|   | 1e4da1b99c | ||
|   | e1de6cb98d | ||
|   | 59a18c4ead | ||
|   | b881e4b62a | ||
|   | 7060ae077b | ||
|   | a7b0910566 | ||
|   | 60706f72d4 | ||
|   | 2e77f6b34b | ||
|   | 50d5030949 | ||
|   | 03dbb0f931 | ||
|   | 249619fabd | ||
|   | 60d1f7797c | ||
|   | dc4b8c876e | ||
|   | 1724723e63 | ||
|   | 02455b1e28 | ||
|   | 47a9b97f8b | ||
|   | 0aa29daa72 | ||
|   | 182b1c1941 | ||
|   | bbc8010de3 | ||
|   | 15baa56584 | ||
|   | a72683707f | ||
|   | f4baa4ddf8 | ||
|   | f9eb36434f | ||
|   | bc5e16bcea | ||
|   | 86e04048ff | ||
|   | d7c0ff5e89 | ||
|   | 51e1efa277 | ||
|   | 67f636cc68 | ||
|   | fcdfebd0e7 | ||
|   | 069ec3b910 | ||
|   | 1092f55b54 | ||
|   | 8a8abf12f9 | ||
|   | f044e29526 | ||
|   | 4f703019ca | ||
|   | 0e6baec350 | ||
|   | 08690d658f | ||
|   | 674325e96c | ||
|   | f8aa486ad1 | ||
|   | be78f0f36a | ||
|   | 9917f05be8 | ||
|   | d23228522c | ||
|   | 8c9896561e | ||
|   | 23cdb2125e | ||
|   | 43fc598bd5 | ||
|   | 2105d2f952 | 
							
								
								
									
										128
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						| @@ -1,39 +1,125 @@ | ||||
| 3.16.4 | ||||
| 3.18.0 | ||||
| ====== | ||||
| * Fix screen freezes when a notification is pushed [Carlos; #755425] | ||||
| * Fix icons getting cut off in dash [Florian; #745649] | ||||
| * Misc. bug fixes [Bastien, Ray, Florian; #752779, #752438, #752739, #651503, | ||||
|   #753181] | ||||
|  | ||||
| Contributors: | ||||
|   Emmanuele Bassi, Carlos Garnacho, Florian Müllner, Bastien Nocera, Ray Strode | ||||
|  | ||||
| Translations: | ||||
|   Pedro Albuquerque [pt], Jiri Grönroos [fi] | ||||
|   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.16.3 | ||||
| ====== | ||||
| * Handle touch events in OSK on wayland [Rui; #750287] | ||||
| * Misc. bug fixes [Florian, Rui, Ray; #749383, #749529, #750714, #751517, | ||||
|   #751541] | ||||
| 3.17.92 | ||||
| ======= | ||||
| * Fix race when loading multiple background animations [Josselin; #741453] | ||||
|  | ||||
| Contributors: | ||||
|   Rui Matos, Florian Müllner, Ray Strode | ||||
|   Michael Biebl, Josselin Mouette, Florian Müllner | ||||
|  | ||||
| 3.16.2 | ||||
| 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 | ||||
| ====== | ||||
| * Handle touch events in OSK on wayland [Rui; #750287] | ||||
| * Reinstate left/right movement to window menu [Ron; #751344] | ||||
| * Allow extensions to disable "Window is ready" notification [Adel; #748846] | ||||
| * Misc. bug fixes [Watson, Michael, Ray, Rui, Florian, Cosimo; #750465, | ||||
|   #751016, #751517, #750714, #751541, #751599] | ||||
|  | ||||
| Contributors: | ||||
|   Michael Biebl, Cosimo Cecchi, Adel Gadllah, Rui Matos, Florian Müllner, | ||||
|   Ray Strode, Wim Taymans, Ron Yorston, Watson Yuuma Sato | ||||
|  | ||||
| Translations: | ||||
|   Sebastian Rasmussen [sv], Dimitris Spingos [el], Muhammet Kara [tr], | ||||
|   Stas Solovey [ru], Benjamin Steinwender [de], Balázs Úr [hu], | ||||
|   Victor Ibragimov [tg], Dušan Kazik [sk], Pedro Albuquerque [pt] | ||||
|  | ||||
| 3.17.2 | ||||
| ====== | ||||
| * Remove StTable widget [Florian; #703833] | ||||
| * Increase visibility of expanders in alt-tab popup [Jakub; #745058] | ||||
| * Ensure suspend inhibitors are released when VT switched away [Rui; #749228] | ||||
| * Use iio-sensor-proxy directly for orientation lock [Bastien; #749671] | ||||
| * Misc. bug fixes [Florian, Lan, Carlos; #749279, #749383, #749529, #749490, | ||||
|   #749742] | ||||
|  | ||||
| Contributors: | ||||
|   Carlos Garnacho, Ting-Wei Lan, Rui Matos, Florian Müllner, Bastien Nocera, | ||||
|   Jakub Steiner | ||||
|  | ||||
| Translations: | ||||
|   Yosef Or Boczko [he], sun [zh_CN], Felipe Braga [pt_BR], | ||||
|   Victor Ibragimov [tg], Gábor Kelemen [hu], Cédric Valmary [oc], | ||||
|   Dušan Kazik [sk], Kjartan Maraas [nb], Bruno Ramalhete [pt], | ||||
|   Matej Urbančič [sl], Daniel Mustieles [es] | ||||
|  | ||||
| 3.17.1 | ||||
| ====== | ||||
| * Add Display Settings entry to background menu [Meet; #697346] | ||||
| * Add window menu option to move to different monitor [Isaac; #633994] | ||||
| * Improve switch style in default/highContrast themes [Jakub; #746294, #747912] | ||||
| * Make event highlight in calendar more prominent [Jakub; #747715] | ||||
| * Fix keyboard focus when focusing a notification banner [Florian; #747205] | ||||
| * Move notification banners below the dateMenu [Meet, Florian; #745910] | ||||
| * Increase visibility of expanders in alt-tab popup [Jakub; #745058] | ||||
| * Ensure suspend inhibitors are released when VT switched away [Rui; #749228] | ||||
| * Misc. bug fixes [Rui, Florian; #748541, #749279] | ||||
| * Misc. bug fixes [Mario, Rui; #748338, #748541] | ||||
|  | ||||
| Contributors: | ||||
|   Rui Matos, Florian Müllner, Meet Parikh, Jakub Steiner | ||||
|   Isaac Ge, Rui Matos, Florian Müllner, Meet Parikh, Mario Sanchez Prada, | ||||
|   Jakub Steiner, Jasper St. Pierre | ||||
|  | ||||
| Translations: | ||||
|   Sveinn í Felli [is], sun [zh_CN], Cédric Valmary [oc] | ||||
|   Sveinn í Felli [is], Marek Černocký [cs], laurent Soleil [oc] | ||||
|  | ||||
| 3.16.1 | ||||
| ====== | ||||
|   | ||||
| @@ -282,6 +282,14 @@ on_shell_signal (GDBusProxy *proxy, | ||||
| { | ||||
|   PluginObject *obj = user_data; | ||||
|  | ||||
|   /* FIXME: We have half a dozen bug reports in which this function crashes in | ||||
|    * WebKit due to a null NPObject. This should never happen, but since it is | ||||
|    * happening, let's turn the crash into a critical. | ||||
|    * | ||||
|    * https://bugzilla.gnome.org/show_bug.cgi?id=737932 | ||||
|    */ | ||||
|   g_return_if_fail (obj->instance); | ||||
|  | ||||
|   if (strcmp (signal_name, "ExtensionStatusChanged") == 0) | ||||
|     { | ||||
|       gchar *uuid; | ||||
| @@ -312,6 +320,12 @@ on_shell_appeared (GDBusConnection *connection, | ||||
| { | ||||
|   PluginObject *obj = (PluginObject*) user_data; | ||||
|  | ||||
|   /* FIXME: Not sure if this is ever hit or not, but let's play it safe. | ||||
|    * | ||||
|    * https://bugzilla.gnome.org/show_bug.cgi?id=737932 | ||||
|    */ | ||||
|   g_return_if_fail (obj->instance); | ||||
|  | ||||
|   if (obj->restart_listener) | ||||
|     { | ||||
|       NPVariant result = { NPVariantType_Void }; | ||||
|   | ||||
							
								
								
									
										21
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						| @@ -1,5 +1,6 @@ | ||||
| AC_PREREQ(2.63) | ||||
| AC_INIT([gnome-shell],[3.16.4],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) | ||||
| AC_INIT([gnome-shell],[3.18.0],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) | ||||
| AX_IS_RELEASE([git-directory]) | ||||
|  | ||||
| AC_CONFIG_HEADERS([config.h]) | ||||
| AC_CONFIG_SRCDIR([src/shell-global.c]) | ||||
| @@ -63,8 +64,8 @@ AC_ARG_ENABLE([systemd], | ||||
|               [enable_systemd=$enableval], | ||||
|               [enable_systemd=auto]) | ||||
| AS_IF([test x$enable_systemd != xno], [ | ||||
|   AC_MSG_CHECKING([for libsystemd-journal]) | ||||
|   PKG_CHECK_EXISTS([libsystemd-journal], | ||||
|   AC_MSG_CHECKING([for libsystemd]) | ||||
|   PKG_CHECK_EXISTS([libsystemd], | ||||
|                    [have_systemd=yes | ||||
|                     AC_DEFINE([HAVE_SYSTEMD], [1], [Define if we have systemd])], | ||||
|                    [have_systemd=no]) | ||||
| @@ -74,13 +75,13 @@ AS_IF([test x$enable_systemd != xno], [ | ||||
| AC_MSG_RESULT($enable_systemd) | ||||
|  | ||||
| CLUTTER_MIN_VERSION=1.21.5 | ||||
| GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1 | ||||
| GOBJECT_INTROSPECTION_MIN_VERSION=1.45.4 | ||||
| GJS_MIN_VERSION=1.39.0 | ||||
| MUTTER_MIN_VERSION=3.16.1 | ||||
| MUTTER_MIN_VERSION=3.18.0 | ||||
| GTK_MIN_VERSION=3.15.0 | ||||
| GIO_MIN_VERSION=2.37.0 | ||||
| GIO_MIN_VERSION=2.45.3 | ||||
| LIBECAL_MIN_VERSION=3.5.3 | ||||
| LIBEDATASERVER_MIN_VERSION=3.13.90 | ||||
| LIBEDATASERVER_MIN_VERSION=3.17.2 | ||||
| TELEPATHY_GLIB_MIN_VERSION=0.17.5 | ||||
| POLKIT_MIN_VERSION=0.100 | ||||
| STARTUP_NOTIFICATION_MIN_VERSION=0.11 | ||||
| @@ -106,7 +107,7 @@ SHARED_PCS="gio-unix-2.0 >= $GIO_MIN_VERSION | ||||
|             polkit-agent-1 >= $POLKIT_MIN_VERSION | ||||
|             gcr-base-3 >= $GCR_MIN_VERSION" | ||||
| if test x$have_systemd = xyes; then | ||||
|   SHARED_PCS="${SHARED_PCS} libsystemd-journal" | ||||
|   SHARED_PCS="${SHARED_PCS} libsystemd" | ||||
| fi | ||||
|  | ||||
| PKG_CHECK_MODULES(GNOME_SHELL, $SHARED_PCS) | ||||
| @@ -220,7 +221,7 @@ if test "$enable_man" != no; then | ||||
| fi | ||||
| AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no) | ||||
|  | ||||
| GNOME_COMPILE_WARNINGS([error]) | ||||
| AX_COMPILER_FLAGS() | ||||
| case "$WARN_CFLAGS" in | ||||
|     *-Werror*) | ||||
|         WARN_CFLAGS="$WARN_CFLAGS -Wno-error=deprecated-declarations" | ||||
| @@ -269,7 +270,7 @@ Build configuration: | ||||
|        Prefix:                                 ${prefix} | ||||
|        Source code location:                   ${srcdir} | ||||
|        Compiler:                               ${CC} | ||||
|        Compiler Warnings:                      $enable_compile_warnings | ||||
|        Compiler Warnings:                      $ax_enable_compile_warnings | ||||
|  | ||||
|        Support for NetworkManager:             $have_networkmanager | ||||
|        Support for GStreamer recording:        $build_recorder | ||||
|   | ||||
| @@ -32,8 +32,10 @@ | ||||
|     <file>summary-counter.svg</file> | ||||
|     <file>toggle-off-us.svg</file> | ||||
|     <file>toggle-off-intl.svg</file> | ||||
|     <file>toggle-off-hc.svg</file> | ||||
|     <file>toggle-on-us.svg</file> | ||||
|     <file>toggle-on-intl.svg</file> | ||||
|     <file>toggle-on-hc.svg</file> | ||||
|     <file>ws-switch-arrow-up.png</file> | ||||
|     <file>ws-switch-arrow-down.png</file> | ||||
|   </gresource> | ||||
|   | ||||
| @@ -51,6 +51,7 @@ | ||||
|     </key> | ||||
|     <key name="looking-glass-history" type="as"> | ||||
|       <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> | ||||
|     </key> | ||||
|     <key name="always-show-log-out" type="b"> | ||||
|   | ||||
| @@ -37,10 +37,9 @@ stage { | ||||
|   icon-shadow: 0 1px black; } | ||||
|   .button:focus { | ||||
|     color: #eeeeec; | ||||
|     border-color: #215d9c; | ||||
|     box-shadow: inset 0 1px #454f52; | ||||
|     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 { | ||||
|     color: #7f7f7f; | ||||
|     border-color: rgba(0, 0, 0, 0.7); | ||||
| @@ -52,9 +51,46 @@ stage { | ||||
|     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 { | ||||
|   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; | ||||
|     text-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 */ | ||||
| StEntry { | ||||
| @@ -95,10 +131,10 @@ StScrollBar { | ||||
|     background-color: transparent; } | ||||
|   StScrollBar StButton#vhandle, StScrollBar StButton#hhandle { | ||||
|     border-radius: 8px; | ||||
|     background-color: #000; | ||||
|     background-color: #999999; | ||||
|     margin: 3px; } | ||||
|     StScrollBar StButton#vhandle:hover, StScrollBar StButton#hhandle:hover { | ||||
|       background-color: #1a1a1a; } | ||||
|       background-color: #cccccc; } | ||||
|     StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active { | ||||
|       background-color: #215d9c; } | ||||
|  | ||||
| @@ -160,11 +196,12 @@ StScrollBar { | ||||
|   background-color: white; } | ||||
|  | ||||
| .modal-dialog { | ||||
|   border-radius: 5px; | ||||
|   border-radius: 9px; | ||||
|   color: #eeeeec; | ||||
|   background-color: rgba(23, 25, 26, 0.95); | ||||
|   border: 3px solid rgba(238, 238, 236, 0.5); | ||||
|   padding: 24px; } | ||||
|   border: 3px solid rgba(238, 238, 236, 0.5); } | ||||
|   .modal-dialog .modal-dialog-content-box { | ||||
|     padding: 24px; } | ||||
|   .modal-dialog .run-dialog-entry { | ||||
|     width: 20em; | ||||
|     margin-bottom: 6px; } | ||||
| @@ -179,10 +216,6 @@ StScrollBar { | ||||
|     color: #d6d6d1; | ||||
|     padding-bottom: .4em; } | ||||
|  | ||||
| .button-dialog-button-box { | ||||
|   spacing: 18px; | ||||
|   padding-top: 48px; } | ||||
|  | ||||
| .show-processes-dialog-subject, | ||||
| .mount-question-dialog-subject, | ||||
| .end-session-dialog-subject { | ||||
| @@ -411,7 +444,7 @@ StScrollBar { | ||||
|  | ||||
| .popup-menu-ornament { | ||||
|   text-align: right; | ||||
|   width: 1em; } | ||||
|   width: 1.2em; } | ||||
|  | ||||
| .popup-menu-boxpointer, | ||||
| .candidate-popup-boxpointer { | ||||
| @@ -754,7 +787,12 @@ StScrollBar { | ||||
|     padding: 8px 8px 8px 0px; } | ||||
|  | ||||
| .message-icon-bin > StIcon { | ||||
|   icon-size: 48px; } | ||||
|   icon-size: 32px; } | ||||
|  | ||||
| .message-secondary-bin:ltr { | ||||
|   padding-left: 8px; } | ||||
| .message-secondary-bin:rtl { | ||||
|   padding-right: 8px; } | ||||
|  | ||||
| .message-secondary-bin { | ||||
|   color: #999999; } | ||||
| @@ -763,14 +801,20 @@ StScrollBar { | ||||
|   icon-size: 16px; } | ||||
|  | ||||
| .message-title { | ||||
|   font-weight: bold; } | ||||
|   font-weight: bold; | ||||
|   font-size: 1.1em; } | ||||
|  | ||||
| .message-content { | ||||
|   padding: 8px; } | ||||
|   padding: 8px; | ||||
|   font-size: .9em; } | ||||
|  | ||||
| .system-switch-user-submenu-icon { | ||||
|   icon-size: 24px; | ||||
|   border: 1px solid rgba(255, 255, 255, 0.4); } | ||||
| .system-switch-user-submenu-icon.user-icon { | ||||
|   icon-size: 20px; | ||||
|   padding: 0 2px; } | ||||
|  | ||||
| .system-switch-user-submenu-icon.default-icon { | ||||
|   icon-size: 16px; | ||||
|   padding: 0 4px; } | ||||
|  | ||||
| #appMenu { | ||||
|   spinner-image: url("resource:///org/gnome/shell/theme/process-working.svg"); | ||||
| @@ -779,7 +823,8 @@ StScrollBar { | ||||
|     color: transparent; } | ||||
|  | ||||
| .aggregate-menu { | ||||
|   width: 360px; } | ||||
|   min-width: 280px; | ||||
|   max-width: 400px; } | ||||
|   .aggregate-menu .popup-menu-icon { | ||||
|     padding: 0 4px; } | ||||
|  | ||||
| @@ -834,7 +879,8 @@ StScrollBar { | ||||
|   min-width: 470px; } | ||||
|  | ||||
| .nm-dialog-content { | ||||
|   spacing: 20px; } | ||||
|   spacing: 20px; | ||||
|   padding: 24px; } | ||||
|  | ||||
| .nm-dialog-header-hbox { | ||||
|   spacing: 10px; } | ||||
| @@ -1016,7 +1062,7 @@ StScrollBar { | ||||
|     color: white; | ||||
|     border-color: rgba(0, 0, 0, 0.7); | ||||
|     background-color: #222728; | ||||
|     box-shadow: none; | ||||
|     box-shadow: inset 0 0 black; | ||||
|     text-shadow: none; | ||||
|     icon-shadow: none; } | ||||
|   .app-view-control:first-child { | ||||
| @@ -1335,10 +1381,9 @@ StScrollBar { | ||||
|   color: white; } | ||||
|   .keyboard-key:focus { | ||||
|     color: #eeeeec; | ||||
|     border-color: #215d9c; | ||||
|     box-shadow: inset 0 1px #454f52; | ||||
|     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 { | ||||
|     color: white; | ||||
|     border-color: rgba(0, 0, 0, 0.7); | ||||
| @@ -1350,7 +1395,7 @@ StScrollBar { | ||||
|     color: white; | ||||
|     border-color: rgba(0, 0, 0, 0.7); | ||||
|     background-color: #222728; | ||||
|     box-shadow: none; | ||||
|     box-shadow: inset 0 0 black; | ||||
|     text-shadow: none; | ||||
|     icon-shadow: none; } | ||||
|   .keyboard-key:grayed { | ||||
| @@ -1443,7 +1488,7 @@ StScrollBar { | ||||
|         color: white; | ||||
|         border-color: rgba(0, 0, 0, 0.7); | ||||
|         background-color: #1c5187; | ||||
|         box-shadow: none; | ||||
|         box-shadow: inset 0 0 black; | ||||
|         text-shadow: none; | ||||
|         icon-shadow: none; } | ||||
|       .login-dialog .modal-dialog-button:default:insensitive { | ||||
| @@ -1696,3 +1741,11 @@ StScrollBar { | ||||
|  | ||||
| stage { | ||||
|   -st-icon-style: symbolic; } | ||||
|  | ||||
| .toggle-switch { | ||||
|   width: 48px; } | ||||
|  | ||||
| .toggle-switch-us, .toggle-switch-intl { | ||||
|   background-image: url("resource:///org/gnome/shell/theme/toggle-off-hc.svg"); } | ||||
|   .toggle-switch-us:checked, .toggle-switch-intl:checked { | ||||
|     background-image: url("resource:///org/gnome/shell/theme/toggle-on-hc.svg"); } | ||||
|   | ||||
| @@ -6,3 +6,9 @@ | ||||
| stage { | ||||
|   -st-icon-style: symbolic; | ||||
| } | ||||
|  | ||||
| .toggle-switch { width: 48px; } | ||||
| .toggle-switch-us, .toggle-switch-intl { | ||||
|   background-image: url("resource:///org/gnome/shell/theme/toggle-off-hc.svg"); | ||||
|   &:checked { background-image: url("resource:///org/gnome/shell/theme/toggle-on-hc.svg"); } | ||||
| } | ||||
|   | ||||
| @@ -37,10 +37,9 @@ stage { | ||||
|   icon-shadow: 0 1px black; } | ||||
|   .button:focus { | ||||
|     color: #eeeeec; | ||||
|     border-color: #215d9c; | ||||
|     box-shadow: inset 0 1px #454f52; | ||||
|     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 { | ||||
|     color: #939695; | ||||
|     border-color: rgba(0, 0, 0, 0.7); | ||||
| @@ -52,9 +51,46 @@ stage { | ||||
|     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 { | ||||
|   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; | ||||
|     text-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 */ | ||||
| StEntry { | ||||
| @@ -95,10 +131,10 @@ StScrollBar { | ||||
|     background-color: transparent; } | ||||
|   StScrollBar StButton#vhandle, StScrollBar StButton#hhandle { | ||||
|     border-radius: 8px; | ||||
|     background-color: #393f3f; | ||||
|     background-color: #a5a8a6; | ||||
|     margin: 3px; } | ||||
|     StScrollBar StButton#vhandle:hover, StScrollBar StButton#hhandle:hover { | ||||
|       background-color: #515a5a; } | ||||
|       background-color: #c9cbc9; } | ||||
|     StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active { | ||||
|       background-color: #215d9c; } | ||||
|  | ||||
| @@ -160,11 +196,12 @@ StScrollBar { | ||||
|   background-color: white; } | ||||
|  | ||||
| .modal-dialog { | ||||
|   border-radius: 5px; | ||||
|   border-radius: 9px; | ||||
|   color: #eeeeec; | ||||
|   background-color: rgba(23, 25, 26, 0.95); | ||||
|   border: 3px solid rgba(238, 238, 236, 0.5); | ||||
|   padding: 24px; } | ||||
|   border: 3px solid rgba(238, 238, 236, 0.5); } | ||||
|   .modal-dialog .modal-dialog-content-box { | ||||
|     padding: 24px; } | ||||
|   .modal-dialog .run-dialog-entry { | ||||
|     width: 20em; | ||||
|     margin-bottom: 6px; } | ||||
| @@ -179,10 +216,6 @@ StScrollBar { | ||||
|     color: #d6d6d1; | ||||
|     padding-bottom: .4em; } | ||||
|  | ||||
| .button-dialog-button-box { | ||||
|   spacing: 18px; | ||||
|   padding-top: 48px; } | ||||
|  | ||||
| .show-processes-dialog-subject, | ||||
| .mount-question-dialog-subject, | ||||
| .end-session-dialog-subject { | ||||
| @@ -411,7 +444,7 @@ StScrollBar { | ||||
|  | ||||
| .popup-menu-ornament { | ||||
|   text-align: right; | ||||
|   width: 1em; } | ||||
|   width: 1.2em; } | ||||
|  | ||||
| .popup-menu-boxpointer, | ||||
| .candidate-popup-boxpointer { | ||||
| @@ -754,7 +787,12 @@ StScrollBar { | ||||
|     padding: 8px 8px 8px 0px; } | ||||
|  | ||||
| .message-icon-bin > StIcon { | ||||
|   icon-size: 48px; } | ||||
|   icon-size: 32px; } | ||||
|  | ||||
| .message-secondary-bin:ltr { | ||||
|   padding-left: 8px; } | ||||
| .message-secondary-bin:rtl { | ||||
|   padding-right: 8px; } | ||||
|  | ||||
| .message-secondary-bin { | ||||
|   color: #8e8e80; } | ||||
| @@ -763,14 +801,20 @@ StScrollBar { | ||||
|   icon-size: 16px; } | ||||
|  | ||||
| .message-title { | ||||
|   font-weight: bold; } | ||||
|   font-weight: bold; | ||||
|   font-size: 1.1em; } | ||||
|  | ||||
| .message-content { | ||||
|   padding: 8px; } | ||||
|   padding: 8px; | ||||
|   font-size: .9em; } | ||||
|  | ||||
| .system-switch-user-submenu-icon { | ||||
|   icon-size: 24px; | ||||
|   border: 1px solid rgba(238, 238, 236, 0.4); } | ||||
| .system-switch-user-submenu-icon.user-icon { | ||||
|   icon-size: 20px; | ||||
|   padding: 0 2px; } | ||||
|  | ||||
| .system-switch-user-submenu-icon.default-icon { | ||||
|   icon-size: 16px; | ||||
|   padding: 0 4px; } | ||||
|  | ||||
| #appMenu { | ||||
|   spinner-image: url("resource:///org/gnome/shell/theme/process-working.svg"); | ||||
| @@ -779,7 +823,8 @@ StScrollBar { | ||||
|     color: transparent; } | ||||
|  | ||||
| .aggregate-menu { | ||||
|   width: 360px; } | ||||
|   min-width: 280px; | ||||
|   max-width: 400px; } | ||||
|   .aggregate-menu .popup-menu-icon { | ||||
|     padding: 0 4px; } | ||||
|  | ||||
| @@ -834,7 +879,8 @@ StScrollBar { | ||||
|   min-width: 470px; } | ||||
|  | ||||
| .nm-dialog-content { | ||||
|   spacing: 20px; } | ||||
|   spacing: 20px; | ||||
|   padding: 24px; } | ||||
|  | ||||
| .nm-dialog-header-hbox { | ||||
|   spacing: 10px; } | ||||
| @@ -1016,7 +1062,7 @@ StScrollBar { | ||||
|     color: white; | ||||
|     border-color: rgba(0, 0, 0, 0.7); | ||||
|     background-color: #222728; | ||||
|     box-shadow: none; | ||||
|     box-shadow: inset 0 0 black; | ||||
|     text-shadow: none; | ||||
|     icon-shadow: none; } | ||||
|   .app-view-control:first-child { | ||||
| @@ -1335,10 +1381,9 @@ StScrollBar { | ||||
|   color: white; } | ||||
|   .keyboard-key:focus { | ||||
|     color: #eeeeec; | ||||
|     border-color: #215d9c; | ||||
|     box-shadow: inset 0 1px #454f52; | ||||
|     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 { | ||||
|     color: white; | ||||
|     border-color: rgba(0, 0, 0, 0.7); | ||||
| @@ -1350,7 +1395,7 @@ StScrollBar { | ||||
|     color: white; | ||||
|     border-color: rgba(0, 0, 0, 0.7); | ||||
|     background-color: #222728; | ||||
|     box-shadow: none; | ||||
|     box-shadow: inset 0 0 black; | ||||
|     text-shadow: none; | ||||
|     icon-shadow: none; } | ||||
|   .keyboard-key:grayed { | ||||
| @@ -1443,7 +1488,7 @@ StScrollBar { | ||||
|         color: white; | ||||
|         border-color: rgba(0, 0, 0, 0.7); | ||||
|         background-color: #1c5187; | ||||
|         box-shadow: none; | ||||
|         box-shadow: inset 0 0 black; | ||||
|         text-shadow: none; | ||||
|         icon-shadow: none; } | ||||
|       .login-dialog .modal-dialog-button:default:insensitive { | ||||
|   | ||||
| Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 98 KiB | 
							
								
								
									
										133
									
								
								data/theme/toggle-off-hc.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,133 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <!-- Created with Inkscape (http://www.inkscape.org/) --> | ||||
|  | ||||
| <svg | ||||
|    xmlns:dc="http://purl.org/dc/elements/1.1/" | ||||
|    xmlns:cc="http://creativecommons.org/ns#" | ||||
|    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||||
|    xmlns:svg="http://www.w3.org/2000/svg" | ||||
|    xmlns="http://www.w3.org/2000/svg" | ||||
|    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||||
|    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||||
|    width="48" | ||||
|    height="22" | ||||
|    id="svg2857" | ||||
|    version="1.1" | ||||
|    inkscape:version="0.91 r13725" | ||||
|    sodipodi:docname="toggle-off-hc.svg"> | ||||
|   <defs | ||||
|      id="defs2859"> | ||||
|     <inkscape:perspective | ||||
|        sodipodi:type="inkscape:persp3d" | ||||
|        inkscape:vp_x="0 : 526.18109 : 1" | ||||
|        inkscape:vp_y="0 : 1000 : 0" | ||||
|        inkscape:vp_z="744.09448 : 526.18109 : 1" | ||||
|        inkscape:persp3d-origin="372.04724 : 350.78739 : 1" | ||||
|        id="perspective2865" /> | ||||
|     <inkscape:perspective | ||||
|        id="perspective2843" | ||||
|        inkscape:persp3d-origin="0.5 : 0.33333333 : 1" | ||||
|        inkscape:vp_z="1 : 0.5 : 1" | ||||
|        inkscape:vp_y="0 : 1000 : 0" | ||||
|        inkscape:vp_x="0 : 0.5 : 1" | ||||
|        sodipodi:type="inkscape:persp3d" /> | ||||
|     <inkscape:path-effect | ||||
|        effect="spiro" | ||||
|        id="path-effect77541-4" | ||||
|        is_visible="true" /> | ||||
|   </defs> | ||||
|   <sodipodi:namedview | ||||
|      id="base" | ||||
|      pagecolor="#000000" | ||||
|      bordercolor="#666666" | ||||
|      borderopacity="1.0" | ||||
|      inkscape:pageopacity="1" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:zoom="1" | ||||
|      inkscape:cx="-6.1820581" | ||||
|      inkscape:cy="-16.463788" | ||||
|      inkscape:document-units="px" | ||||
|      inkscape:current-layer="g37994" | ||||
|      showgrid="false" | ||||
|      inkscape:window-width="2560" | ||||
|      inkscape:window-height="1364" | ||||
|      inkscape:window-x="0" | ||||
|      inkscape:window-y="27" | ||||
|      inkscape:window-maximized="1" | ||||
|      borderlayer="true" | ||||
|      inkscape:showpageshadow="false" | ||||
|      inkscape:snap-nodes="false" | ||||
|      inkscape:snap-bbox="true" | ||||
|      showborder="true"> | ||||
|     <inkscape:grid | ||||
|        type="xygrid" | ||||
|        id="grid12954" | ||||
|        empspacing="5" | ||||
|        visible="true" | ||||
|        enabled="true" | ||||
|        snapvisiblegridlinesonly="true" /> | ||||
|   </sodipodi:namedview> | ||||
|   <metadata | ||||
|      id="metadata2862"> | ||||
|     <rdf:RDF> | ||||
|       <cc:Work | ||||
|          rdf:about=""> | ||||
|         <dc:format>image/svg+xml</dc:format> | ||||
|         <dc:type | ||||
|            rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||||
|         <dc:title></dc:title> | ||||
|       </cc:Work> | ||||
|     </rdf:RDF> | ||||
|   </metadata> | ||||
|   <g | ||||
|      inkscape:label="Layer 1" | ||||
|      inkscape:groupmode="layer" | ||||
|      id="layer1" | ||||
|      transform="translate(-444.64286,-781.36218)"> | ||||
|     <g | ||||
|        transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)" | ||||
|        id="g37994"> | ||||
|       <g | ||||
|          transform="matrix(1.5323214,0,0,1.2413968,-324.76058,489.69039)" | ||||
|          id="toggle-off" | ||||
|          inkscape:label="#g8477"> | ||||
|         <circle | ||||
|            cy="1033.993" | ||||
|            cx="571.95966" | ||||
|            id="path8444" | ||||
|            style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#555753;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" | ||||
|            r="7" /> | ||||
|         <rect | ||||
|            ry="2.0108337" | ||||
|            rx="1.9562569" | ||||
|            y="1031.9885" | ||||
|            x="565.0083" | ||||
|            height="4.0216675" | ||||
|            width="34.850178" | ||||
|            id="rect8461" | ||||
|            style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#555753;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> | ||||
|       </g> | ||||
|       <g | ||||
|          transform="matrix(1.5323214,0,0,1.2413968,-324.85635,491.16456)" | ||||
|          id="toggle-on" | ||||
|          inkscape:label="#g8481"> | ||||
|         <rect | ||||
|            style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#3465a4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" | ||||
|            id="rect8475" | ||||
|            width="34.850178" | ||||
|            height="4.0216675" | ||||
|            x="565.0083" | ||||
|            y="1070.9279" | ||||
|            rx="1.9562569" | ||||
|            ry="2.0108337" /> | ||||
|         <circle | ||||
|            transform="scale(-1,1)" | ||||
|            style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#3465a4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" | ||||
|            id="circle8463" | ||||
|            cx="-591.0213" | ||||
|            cy="1072.9402" | ||||
|            r="9" /> | ||||
|       </g> | ||||
|     </g> | ||||
|   </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 6.1 KiB | 
							
								
								
									
										113
									
								
								data/theme/toggle-on-hc.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,113 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <!-- Created with Inkscape (http://www.inkscape.org/) --> | ||||
|  | ||||
| <svg | ||||
|    xmlns:dc="http://purl.org/dc/elements/1.1/" | ||||
|    xmlns:cc="http://creativecommons.org/ns#" | ||||
|    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||||
|    xmlns:svg="http://www.w3.org/2000/svg" | ||||
|    xmlns="http://www.w3.org/2000/svg" | ||||
|    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||||
|    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||||
|    width="48" | ||||
|    height="22" | ||||
|    id="svg2857" | ||||
|    version="1.1" | ||||
|    inkscape:version="0.91 r13725" | ||||
|    sodipodi:docname="toggle-on-hc.svg"> | ||||
|   <defs | ||||
|      id="defs2859"> | ||||
|     <inkscape:perspective | ||||
|        sodipodi:type="inkscape:persp3d" | ||||
|        inkscape:vp_x="0 : 526.18109 : 1" | ||||
|        inkscape:vp_y="0 : 1000 : 0" | ||||
|        inkscape:vp_z="744.09448 : 526.18109 : 1" | ||||
|        inkscape:persp3d-origin="372.04724 : 350.78739 : 1" | ||||
|        id="perspective2865" /> | ||||
|     <inkscape:perspective | ||||
|        id="perspective2843" | ||||
|        inkscape:persp3d-origin="0.5 : 0.33333333 : 1" | ||||
|        inkscape:vp_z="1 : 0.5 : 1" | ||||
|        inkscape:vp_y="0 : 1000 : 0" | ||||
|        inkscape:vp_x="0 : 0.5 : 1" | ||||
|        sodipodi:type="inkscape:persp3d" /> | ||||
|     <inkscape:path-effect | ||||
|        effect="spiro" | ||||
|        id="path-effect77541-4" | ||||
|        is_visible="true" /> | ||||
|   </defs> | ||||
|   <sodipodi:namedview | ||||
|      id="base" | ||||
|      pagecolor="#000000" | ||||
|      bordercolor="#666666" | ||||
|      borderopacity="1.0" | ||||
|      inkscape:pageopacity="1" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:zoom="1" | ||||
|      inkscape:cx="-222.95215" | ||||
|      inkscape:cy="3.9378433" | ||||
|      inkscape:document-units="px" | ||||
|      inkscape:current-layer="g37994" | ||||
|      showgrid="false" | ||||
|      inkscape:window-width="2560" | ||||
|      inkscape:window-height="1364" | ||||
|      inkscape:window-x="0" | ||||
|      inkscape:window-y="27" | ||||
|      inkscape:window-maximized="1" | ||||
|      borderlayer="true" | ||||
|      inkscape:showpageshadow="false" | ||||
|      inkscape:snap-nodes="false" | ||||
|      inkscape:snap-bbox="true" | ||||
|      showborder="true"> | ||||
|     <inkscape:grid | ||||
|        type="xygrid" | ||||
|        id="grid12954" | ||||
|        empspacing="5" | ||||
|        visible="true" | ||||
|        enabled="true" | ||||
|        snapvisiblegridlinesonly="true" /> | ||||
|   </sodipodi:namedview> | ||||
|   <metadata | ||||
|      id="metadata2862"> | ||||
|     <rdf:RDF> | ||||
|       <cc:Work | ||||
|          rdf:about=""> | ||||
|         <dc:format>image/svg+xml</dc:format> | ||||
|         <dc:type | ||||
|            rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||||
|         <dc:title></dc:title> | ||||
|       </cc:Work> | ||||
|     </rdf:RDF> | ||||
|   </metadata> | ||||
|   <g | ||||
|      inkscape:label="Layer 1" | ||||
|      inkscape:groupmode="layer" | ||||
|      id="layer1" | ||||
|      transform="translate(-444.64286,-781.36218)"> | ||||
|     <g | ||||
|        transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)" | ||||
|        id="g37994"> | ||||
|       <g | ||||
|          transform="matrix(1.5323214,0,0,1.2413968,-324.85635,441.50868)" | ||||
|          id="toggle-on" | ||||
|          inkscape:label="#g8481"> | ||||
|         <rect | ||||
|            style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#3465a4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" | ||||
|            id="rect8475" | ||||
|            width="34.850178" | ||||
|            height="4.0216675" | ||||
|            x="565.0083" | ||||
|            y="1070.9279" | ||||
|            rx="1.9562569" | ||||
|            ry="2.0108337" /> | ||||
|         <circle | ||||
|            transform="scale(-1,1)" | ||||
|            style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#3465a4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" | ||||
|            id="circle8463" | ||||
|            cx="-591.0213" | ||||
|            cy="1072.9402" | ||||
|            r="9" /> | ||||
|       </g> | ||||
|     </g> | ||||
|   </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 4.4 KiB | 
| @@ -14,7 +14,7 @@ | ||||
|    height="22" | ||||
|    id="svg2857" | ||||
|    version="1.1" | ||||
|    inkscape:version="0.48.5 r10040" | ||||
|    inkscape:version="0.91 r13725" | ||||
|    sodipodi:docname="toggle-on-intl.svg"> | ||||
|   <defs | ||||
|      id="defs2859"> | ||||
| @@ -52,7 +52,7 @@ | ||||
|       <stop | ||||
|          id="stop77465" | ||||
|          offset="1" | ||||
|          style="stop-color:#204a87;stop-opacity:1" /> | ||||
|          style="stop-color:#205b9a;stop-opacity:1" /> | ||||
|     </linearGradient> | ||||
|     <linearGradient | ||||
|        inkscape:collect="always" | ||||
| @@ -88,14 +88,14 @@ | ||||
|      borderopacity="1.0" | ||||
|      inkscape:pageopacity="1" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:zoom="32" | ||||
|      inkscape:cx="17.255148" | ||||
|      inkscape:cy="8.9252639" | ||||
|      inkscape:zoom="1" | ||||
|      inkscape:cx="37.410841" | ||||
|      inkscape:cy="16.009314" | ||||
|      inkscape:document-units="px" | ||||
|      inkscape:current-layer="g37994" | ||||
|      showgrid="true" | ||||
|      showgrid="false" | ||||
|      inkscape:window-width="2560" | ||||
|      inkscape:window-height="1375" | ||||
|      inkscape:window-height="1376" | ||||
|      inkscape:window-x="0" | ||||
|      inkscape:window-y="27" | ||||
|      inkscape:window-maximized="1" | ||||
|   | ||||
| Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB | 
| @@ -14,7 +14,7 @@ | ||||
|    height="22" | ||||
|    id="svg2857" | ||||
|    version="1.1" | ||||
|    inkscape:version="0.48.5 r10040" | ||||
|    inkscape:version="0.91 r13725" | ||||
|    sodipodi:docname="toggle-on-us.svg"> | ||||
|   <defs | ||||
|      id="defs2859"> | ||||
| @@ -32,28 +32,6 @@ | ||||
|        inkscape:vp_y="0 : 1000 : 0" | ||||
|        inkscape:vp_x="0 : 0.5 : 1" | ||||
|        sodipodi:type="inkscape:persp3d" /> | ||||
|     <linearGradient | ||||
|        inkscape:collect="always" | ||||
|        xlink:href="#linearGradient77461" | ||||
|        id="linearGradient77551" | ||||
|        gradientUnits="userSpaceOnUse" | ||||
|        gradientTransform="matrix(1.3066667,0,0,1,-841.64667,-483)" | ||||
|        x1="1164.7644" | ||||
|        y1="962.93695" | ||||
|        x2="1164.7644" | ||||
|        y2="970.51404" /> | ||||
|     <linearGradient | ||||
|        id="linearGradient77461" | ||||
|        inkscape:collect="always"> | ||||
|       <stop | ||||
|          id="stop77463" | ||||
|          offset="0" | ||||
|          style="stop-color:#182f4c;stop-opacity:1" /> | ||||
|       <stop | ||||
|          id="stop77465" | ||||
|          offset="1" | ||||
|          style="stop-color:#204a87;stop-opacity:1" /> | ||||
|     </linearGradient> | ||||
|     <linearGradient | ||||
|        inkscape:collect="always" | ||||
|        xlink:href="#linearGradient76469-7-7-4" | ||||
| @@ -80,6 +58,38 @@ | ||||
|        effect="spiro" | ||||
|        id="path-effect77541-4" | ||||
|        is_visible="true" /> | ||||
|     <linearGradient | ||||
|        id="linearGradient77461-1" | ||||
|        inkscape:collect="always"> | ||||
|       <stop | ||||
|          id="stop77463-1" | ||||
|          offset="0" | ||||
|          style="stop-color:#182f4c;stop-opacity:1" /> | ||||
|       <stop | ||||
|          id="stop77465-4" | ||||
|          offset="1" | ||||
|          style="stop-color:#205b9a;stop-opacity:1" /> | ||||
|     </linearGradient> | ||||
|     <linearGradient | ||||
|        inkscape:collect="always" | ||||
|        xlink:href="#linearGradient77461-1" | ||||
|        id="linearGradient77551-6-5" | ||||
|        gradientUnits="userSpaceOnUse" | ||||
|        gradientTransform="matrix(0.8527367,0,0,0.80554422,-969.41608,-778.00299)" | ||||
|        x1="1164.7644" | ||||
|        y1="962.93695" | ||||
|        x2="1164.7644" | ||||
|        y2="970.51404" /> | ||||
|     <linearGradient | ||||
|        inkscape:collect="always" | ||||
|        xlink:href="#linearGradient77461-1" | ||||
|        id="linearGradient11198" | ||||
|        gradientUnits="userSpaceOnUse" | ||||
|        gradientTransform="matrix(1.3066667,0,0,1,-1066.3709,794.25325)" | ||||
|        x1="1322.5831" | ||||
|        y1="-312.51855" | ||||
|        x2="1322.5831" | ||||
|        y2="-306.53461" /> | ||||
|   </defs> | ||||
|   <sodipodi:namedview | ||||
|      id="base" | ||||
| @@ -89,13 +99,13 @@ | ||||
|      inkscape:pageopacity="1" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:zoom="1" | ||||
|      inkscape:cx="33.380898" | ||||
|      inkscape:cy="6.9658271" | ||||
|      inkscape:cx="-26.798898" | ||||
|      inkscape:cy="5.3753009" | ||||
|      inkscape:document-units="px" | ||||
|      inkscape:current-layer="g37994" | ||||
|      showgrid="false" | ||||
|      inkscape:window-width="2560" | ||||
|      inkscape:window-height="1375" | ||||
|      inkscape:window-height="1376" | ||||
|      inkscape:window-x="0" | ||||
|      inkscape:window-y="27" | ||||
|      inkscape:window-maximized="1" | ||||
| @@ -152,7 +162,7 @@ | ||||
|            height="25" | ||||
|            width="98" | ||||
|            id="rect38000" | ||||
|            style="color:#000000;fill:url(#linearGradient77551);fill-opacity:1;fill-rule:nonzero;stroke:#182f4c;stroke-width:1.37920964;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> | ||||
|            style="color:#000000;fill:url(#linearGradient11198);fill-opacity:1;fill-rule:nonzero;stroke:#182f4c;stroke-width:1.37920964;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;clip-rule:nonzero;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" /> | ||||
|       </g> | ||||
|       <g | ||||
|          transform="translate(2.0625,-2)" | ||||
|   | ||||
| Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.7 KiB | 
| @@ -35,7 +35,6 @@ | ||||
|       <xi:include href="xml/st-bin.xml"/> | ||||
|       <xi:include href="xml/st-box-layout.xml"/> | ||||
|       <xi:include href="xml/st-scroll-view.xml"/> | ||||
|       <xi:include href="xml/st-table.xml"/> | ||||
|     </chapter> | ||||
|  | ||||
|     <chapter id="styling"> | ||||
|   | ||||
| @@ -14,7 +14,7 @@ const ShellEntry = imports.ui.shellEntry; | ||||
| const Tweener = imports.ui.tweener; | ||||
| const UserWidget = imports.ui.userWidget; | ||||
|  | ||||
| const DEFAULT_BUTTON_WELL_ICON_SIZE = 24; | ||||
| const DEFAULT_BUTTON_WELL_ICON_SIZE = 16; | ||||
| const DEFAULT_BUTTON_WELL_ANIMATION_DELAY = 1.0; | ||||
| const DEFAULT_BUTTON_WELL_ANIMATION_TIME = 0.3; | ||||
|  | ||||
| @@ -258,6 +258,7 @@ const AuthPrompt = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _onVerificationComplete: function() { | ||||
|         this.setActorInDefaultButtonWell(null); | ||||
|         this.verificationStatus = AuthPromptStatus.VERIFICATION_SUCCEEDED; | ||||
| 	this.cancelButton.reactive = false; | ||||
|     }, | ||||
| @@ -281,6 +282,12 @@ const AuthPrompt = new Lang.Class({ | ||||
|         if (oldActor) | ||||
|             Tweener.removeTweens(oldActor); | ||||
|  | ||||
|         let wasSpinner; | ||||
|         if (oldActor == this._spinner.actor) | ||||
|             wasSpinner = true; | ||||
|         else | ||||
|             wasSpinner = false; | ||||
|  | ||||
|         let isSpinner; | ||||
|         if (actor == this._spinner.actor) | ||||
|             isSpinner = true; | ||||
| @@ -290,6 +297,11 @@ const AuthPrompt = new Lang.Class({ | ||||
|         if (this._defaultButtonWellActor != actor && oldActor) { | ||||
|             if (!animate) { | ||||
|                 oldActor.opacity = 0; | ||||
|  | ||||
|                 if (wasSpinner) { | ||||
|                     if (this._spinner) | ||||
|                         this._spinner.stop(); | ||||
|                 } | ||||
|             } else { | ||||
|                 Tweener.addTween(oldActor, | ||||
|                                  { opacity: 0, | ||||
| @@ -298,7 +310,7 @@ const AuthPrompt = new Lang.Class({ | ||||
|                                    transition: 'linear', | ||||
|                                    onCompleteScope: this, | ||||
|                                    onComplete: function() { | ||||
|                                       if (isSpinner) { | ||||
|                                       if (wasSpinner) { | ||||
|                                           if (this._spinner) | ||||
|                                               this._spinner.stop(); | ||||
|                                       } | ||||
|   | ||||
| @@ -535,6 +535,9 @@ const LoginDialog = new Lang.Class({ | ||||
|         let centerX = dialogBox.x1 + (dialogBox.x2 - dialogBox.x1) / 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.y1 = Math.floor(centerY - natHeight / 2); | ||||
|         actorBox.x2 = actorBox.x1 + natWidth; | ||||
|   | ||||
| @@ -134,7 +134,7 @@ const LoginManagerSystemd = new Lang.Class({ | ||||
|             if (error) | ||||
|                 asyncCallback(false); | ||||
|             else | ||||
|                 asyncCallback(result[0] != 'no'); | ||||
|                 asyncCallback(result[0] != 'no' && result[0] != 'na'); | ||||
|         }); | ||||
|     }, | ||||
|  | ||||
|   | ||||
| @@ -448,8 +448,6 @@ const AppSwitcher = new Lang.Class({ | ||||
|             }); | ||||
|             if (appIcon.cachedWindows.length > 0) | ||||
|                 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; | ||||
|   | ||||
| @@ -7,7 +7,7 @@ const St = imports.gi.St; | ||||
| const Signals = imports.signals; | ||||
| const Atk = imports.gi.Atk; | ||||
|  | ||||
| const ANIMATED_ICON_UPDATE_TIMEOUT = 100; | ||||
| const ANIMATED_ICON_UPDATE_TIMEOUT = 14; | ||||
|  | ||||
| const Animation = new Lang.Class({ | ||||
|     Name: 'Animation', | ||||
|   | ||||
| @@ -144,6 +144,7 @@ const BackgroundCache = new Lang.Class({ | ||||
|         this._pendingFileLoads = []; | ||||
|         this._fileMonitors = {}; | ||||
|         this._backgroundSources = {}; | ||||
|         this._animations = {}; | ||||
|     }, | ||||
|  | ||||
|     monitorFile: function(file) { | ||||
| @@ -162,12 +163,13 @@ const BackgroundCache = new Lang.Class({ | ||||
|  | ||||
|     getAnimation: function(params) { | ||||
|         params = Params.parse(params, { file: null, | ||||
|                                         settingsSchema: null, | ||||
|                                         onLoaded: null }); | ||||
|  | ||||
|         if (_fileEqual0(this._animationFile, params.file)) { | ||||
|         if (this._animations[params.settingsSchema] && _fileEqual0(this._animationFile, params.file)) { | ||||
|             if (params.onLoaded) { | ||||
|                 let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { | ||||
|                     params.onLoaded(this._animation); | ||||
|                     params.onLoaded(this._animations[params.settingsSchema]); | ||||
|                     return GLib.SOURCE_REMOVE; | ||||
|                 })); | ||||
|                 GLib.Source.set_name_by_id(id, '[gnome-shell] params.onLoaded'); | ||||
| @@ -178,12 +180,11 @@ const BackgroundCache = new Lang.Class({ | ||||
|         let animation = new Animation({ file: params.file }); | ||||
|  | ||||
|         animation.load(Lang.bind(this, function() { | ||||
|                            this._animationFile = params.file; | ||||
|                            this._animation = animation; | ||||
|                            this._animations[params.settingsSchema] = animation; | ||||
|  | ||||
|                            if (params.onLoaded) { | ||||
|                                let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { | ||||
|                                    params.onLoaded(this._animation); | ||||
|                                    params.onLoaded(this._animations[params.settingsSchema]); | ||||
|                                    return GLib.SOURCE_REMOVE; | ||||
|                                })); | ||||
|                                GLib.Source.set_name_by_id(id, '[gnome-shell] params.onLoaded'); | ||||
| @@ -403,17 +404,18 @@ const Background = new Lang.Class({ | ||||
|  | ||||
|     _loadAnimation: function(file) { | ||||
|         this._cache.getAnimation({ file: file, | ||||
|                                          onLoaded: Lang.bind(this, function(animation) { | ||||
|                                              this._animation = animation; | ||||
|                                    settingsSchema: this._settings.schema_id, | ||||
|                                    onLoaded: Lang.bind(this, function(animation) { | ||||
|                                        this._animation = animation; | ||||
|  | ||||
|                                              if (!this._animation || this._cancellable.is_cancelled()) { | ||||
|                                                  this._setLoaded(); | ||||
|                                                  return; | ||||
|                                              } | ||||
|                                        if (!this._animation || this._cancellable.is_cancelled()) { | ||||
|                                            this._setLoaded(); | ||||
|                                            return; | ||||
|                                        } | ||||
|  | ||||
|                                              this._updateAnimation(); | ||||
|                                              this._watchFile(file); | ||||
|                                          }) | ||||
|                                        this._updateAnimation(); | ||||
|                                        this._watchFile(file); | ||||
|                                    }) | ||||
|                                  }); | ||||
|     }, | ||||
|  | ||||
|   | ||||
| @@ -16,9 +16,10 @@ const BackgroundMenu = new Lang.Class({ | ||||
|     _init: function(layoutManager) { | ||||
|         this.parent(layoutManager.dummyCursor, 0, St.Side.TOP); | ||||
|  | ||||
|         this.addSettingsAction(_("Settings"), 'gnome-control-center.desktop'); | ||||
|         this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); | ||||
|         this.addSettingsAction(_("Change Background…"), 'gnome-background-panel.desktop'); | ||||
|         this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); | ||||
|         this.addSettingsAction(_("Display Settings"), 'gnome-display-panel.desktop'); | ||||
|         this.addSettingsAction(_("Settings"), 'gnome-control-center.desktop'); | ||||
|  | ||||
|         this.actor.add_style_class_name('background-menu'); | ||||
|  | ||||
|   | ||||
| @@ -24,6 +24,8 @@ const MSECS_IN_DAY = 24 * 60 * 60 * 1000; | ||||
| const SHOW_WEEKDATE_KEY = 'show-weekdate'; | ||||
| const ELLIPSIS_CHAR = '\u2026'; | ||||
|  | ||||
| const MESSAGE_ICON_SIZE = 32; | ||||
|  | ||||
| const MESSAGE_ANIMATION_TIME = 0.1; | ||||
|  | ||||
| const DEFAULT_EXPAND_LINES = 6; | ||||
| @@ -976,7 +978,6 @@ const Message = new Lang.Class({ | ||||
|         this._iconBin = new St.Bin({ style_class: 'message-icon-bin', | ||||
|                                      y_expand: true, | ||||
|                                      visible: false }); | ||||
|         this._iconBin.set_y_align(Clutter.ActorAlign.START); | ||||
|         hbox.add_actor(this._iconBin); | ||||
|  | ||||
|         let contentBox = new St.BoxLayout({ style_class: 'message-content', | ||||
| @@ -1240,9 +1241,10 @@ const NotificationMessage = new Lang.Class({ | ||||
|  | ||||
|     _getIcon: function() { | ||||
|         if (this.notification.gicon) | ||||
|             return new St.Icon({ gicon: this.notification.gicon, icon_size: 48 }); | ||||
|             return new St.Icon({ gicon: this.notification.gicon, | ||||
|                                  icon_size: MESSAGE_ICON_SIZE }); | ||||
|         else | ||||
|             return this.notification.source.createIcon(48); | ||||
|             return this.notification.source.createIcon(MESSAGE_ICON_SIZE); | ||||
|     }, | ||||
|  | ||||
|     _onUpdated: function(n, clear) { | ||||
|   | ||||
| @@ -325,9 +325,6 @@ const AutorunNotification = new Lang.Class({ | ||||
|  | ||||
|         this._manager = manager; | ||||
|         this._mount = source.mount; | ||||
|  | ||||
|         // set the notification to urgent, so that it expands out | ||||
|         this.setUrgency(MessageTray.Urgency.CRITICAL); | ||||
|     }, | ||||
|  | ||||
|     createBanner: function() { | ||||
|   | ||||
| @@ -9,9 +9,15 @@ const Gio = imports.gi.Gio; | ||||
| const GObject = imports.gi.GObject; | ||||
| const Gcr = imports.gi.Gcr; | ||||
|  | ||||
| const Animation = imports.ui.animation; | ||||
| const ModalDialog = imports.ui.modalDialog; | ||||
| const ShellEntry = imports.ui.shellEntry; | ||||
| 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({ | ||||
|     Name: 'KeyringDialog', | ||||
| @@ -58,27 +64,47 @@ const KeyringDialog = new Lang.Class({ | ||||
|                             { y_fill:  true, | ||||
|                               y_align: St.Align.START }); | ||||
|  | ||||
|         this._workSpinner = null; | ||||
|         this._controlTable = null; | ||||
|  | ||||
|  | ||||
|         this._cancelButton = this.addButton({ label: '', | ||||
|                                               action: Lang.bind(this, this._onCancelButton), | ||||
|                                               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 }); | ||||
|                                               key: Clutter.Escape }); | ||||
|         this._continueButton = this.addButton({ label: '', | ||||
|                                                 action: Lang.bind(this, this._onContinueButton), | ||||
|                                                 default: true }, | ||||
|                                               { expand: false, x_fill: false, x_align: St.Align.END }); | ||||
|                                                 default: true }); | ||||
|  | ||||
|         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); | ||||
|     }, | ||||
|  | ||||
|     _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() { | ||||
|         let layout = new Clutter.GridLayout({ orientation: Clutter.Orientation.VERTICAL }); | ||||
|         let table = new St.Widget({ style_class: 'keyring-dialog-control-table', | ||||
| @@ -101,15 +127,22 @@ const KeyringDialog = new Lang.Class({ | ||||
|             ShellEntry.addContextMenu(this._passwordEntry, { isPassword: true }); | ||||
|             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) { | ||||
|                 layout.attach(this._passwordEntry, 0, row, 1, 1); | ||||
|                 layout.attach(label, 1, row, 1, 1); | ||||
|                 layout.attach(this._workSpinner.actor, 0, row, 1, 1); | ||||
|                 layout.attach(this._passwordEntry, 1, row, 1, 1); | ||||
|                 layout.attach(label, 2, row, 1, 1); | ||||
|             } else { | ||||
|                 layout.attach(label, 0, row, 1, 1); | ||||
|                 layout.attach(this._passwordEntry, 1, row, 1, 1); | ||||
|                 layout.attach(this._workSpinner.actor, 2, row, 1, 1); | ||||
|             } | ||||
|             row++; | ||||
|         } else { | ||||
|             this._workSpinner = null; | ||||
|             this._passwordEntry = null; | ||||
|         } | ||||
|  | ||||
| @@ -178,7 +211,7 @@ const KeyringDialog = new Lang.Class({ | ||||
|  | ||||
|         this._continueButton.can_focus = sensitive; | ||||
|         this._continueButton.reactive = sensitive; | ||||
|         this.setWorking(!sensitive); | ||||
|         this._setWorking(!sensitive); | ||||
|     }, | ||||
|  | ||||
|     _ensureOpen: function() { | ||||
|   | ||||
| @@ -13,13 +13,19 @@ const Mainloop = imports.mainloop; | ||||
| const Polkit = imports.gi.Polkit; | ||||
| const PolkitAgent = imports.gi.PolkitAgent; | ||||
|  | ||||
| const Animation = imports.ui.animation; | ||||
| const Components = imports.ui.components; | ||||
| const ModalDialog = imports.ui.modalDialog; | ||||
| const ShellEntry = imports.ui.shellEntry; | ||||
| const UserWidget = imports.ui.userWidget; | ||||
| const Tweener = imports.ui.tweener; | ||||
|  | ||||
| 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({ | ||||
|     Name: 'AuthenticationDialog', | ||||
|     Extends: ModalDialog.ModalDialog, | ||||
| @@ -136,6 +142,13 @@ const AuthenticationDialog = new Lang.Class({ | ||||
|         this._passwordEntry.clutter_text.connect('activate', Lang.bind(this, this._onEntryActivate)); | ||||
|         this._passwordBox.add(this._passwordEntry, | ||||
|                               { 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._passwordBox.hide(); | ||||
|  | ||||
| @@ -165,17 +178,10 @@ const AuthenticationDialog = new Lang.Class({ | ||||
|  | ||||
|         this._cancelButton = this.addButton({ label: _("Cancel"), | ||||
|                                               action: Lang.bind(this, this.cancel), | ||||
|                                               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 }); | ||||
|                                               key: Clutter.Escape }); | ||||
|         this._okButton = this.addButton({ label:  _("Authenticate"), | ||||
|                                           action: Lang.bind(this, this._onAuthenticateButtonPressed), | ||||
|                                           default: true }, | ||||
|                                         { expand: false, x_fill: false, x_align: St.Align.END }); | ||||
|                                           default: true }); | ||||
|  | ||||
|         this._doneEmitted = false; | ||||
|  | ||||
| @@ -183,6 +189,30 @@ const AuthenticationDialog = new Lang.Class({ | ||||
|         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() { | ||||
|         this.destroySession(); | ||||
|         this._session = new PolkitAgent.Session({ identity: this._identityToAuth, | ||||
| @@ -229,7 +259,7 @@ const AuthenticationDialog = new Lang.Class({ | ||||
|  | ||||
|         this._okButton.can_focus = sensitive; | ||||
|         this._okButton.reactive = sensitive; | ||||
|         this.setWorking(!sensitive); | ||||
|         this._setWorking(!sensitive); | ||||
|     }, | ||||
|  | ||||
|     _onEntryActivate: function() { | ||||
|   | ||||
| @@ -303,6 +303,8 @@ const ChatSource = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _createPolicy: function() { | ||||
|         if (this._account.protocol_name == 'irc') | ||||
|             return new MessageTray.NotificationApplicationPolicy('org.gnome.Polari'); | ||||
|         return new MessageTray.NotificationApplicationPolicy('empathy'); | ||||
|     }, | ||||
|  | ||||
|   | ||||
| @@ -644,14 +644,15 @@ const Dash = new Lang.Class({ | ||||
|         let firstIcon = firstButton._delegate.icon; | ||||
|  | ||||
|         let minHeight, natHeight; | ||||
|         let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; | ||||
|  | ||||
|         // Enforce the current icon size during the size request | ||||
|         firstIcon.icon.ensure_style(); | ||||
|         let [currentWidth, currentHeight] = firstIcon.icon.get_size(); | ||||
|         firstIcon.icon.set_size(this.iconSize * scaleFactor, this.iconSize * scaleFactor); | ||||
|         firstIcon.setIconSize(this.iconSize); | ||||
|         [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 | ||||
|         availHeight -= iconChildren.length * (natHeight - this.iconSize * scaleFactor) + | ||||
| @@ -659,10 +660,6 @@ const Dash = new Lang.Class({ | ||||
|  | ||||
|         let availSize = availHeight / iconChildren.length; | ||||
|  | ||||
|         let iconSizes = baseIconSizes.map(function(s) { | ||||
|             return s * scaleFactor; | ||||
|         }); | ||||
|  | ||||
|         let newIconSize = baseIconSizes[0]; | ||||
|         for (let i = 0; i < iconSizes.length; i++) { | ||||
|             if (iconSizes[i] < availSize) | ||||
|   | ||||
| @@ -81,7 +81,6 @@ function init() { | ||||
|  | ||||
|     // Miscellaneous monkeypatching | ||||
|     _patchContainerClass(St.BoxLayout); | ||||
|     _patchContainerClass(St.Table); | ||||
|  | ||||
|     _patchLayoutClass(Clutter.TableLayout, { row_spacing: 'spacing-rows', | ||||
|                                              column_spacing: 'spacing-columns' }); | ||||
|   | ||||
| @@ -1315,8 +1315,11 @@ const PressureBarrier = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _onBarrierLeft: function(barrier, event) { | ||||
|         this._reset(); | ||||
|         this._isTriggered = false; | ||||
|         barrier._isHit = false; | ||||
|         if (this._barriers.every(function(b) { return !b._isHit; })) { | ||||
|             this._reset(); | ||||
|             this._isTriggered = false; | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _trigger: function() { | ||||
| @@ -1326,6 +1329,8 @@ const PressureBarrier = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _onBarrierHit: function(barrier, event) { | ||||
|         barrier._isHit = true; | ||||
|  | ||||
|         // If we've triggered the barrier, wait until the pointer has the | ||||
|         // left the barrier hitbox until we trigger it again. | ||||
|         if (this._isTriggered) | ||||
|   | ||||
| @@ -4,6 +4,7 @@ const Atspi = imports.gi.Atspi; | ||||
| const Clutter = imports.gi.Clutter; | ||||
| const GDesktopEnums = imports.gi.GDesktopEnums; | ||||
| const Gio = imports.gi.Gio; | ||||
| const GLib = imports.gi.GLib; | ||||
| const Shell = imports.gi.Shell; | ||||
| const St = imports.gi.St; | ||||
| const Lang = imports.lang; | ||||
| @@ -22,6 +23,8 @@ const MOUSE_POLL_FREQUENCY = 50; | ||||
| const CROSSHAIRS_CLIP_SIZE = [100, 100]; | ||||
| const NO_CHANGE = 0.0; | ||||
|  | ||||
| const POINTER_REST_TIME = 1000; // milliseconds | ||||
|  | ||||
| // Settings | ||||
| const APPLICATIONS_SCHEMA       = 'org.gnome.desktop.a11y.applications'; | ||||
| const SHOW_KEY                  = 'screen-magnifier-enabled'; | ||||
| @@ -709,6 +712,9 @@ const ZoomRegion = new Lang.Class({ | ||||
|         this._xCaret = 0; | ||||
|         this._yCaret = 0; | ||||
|  | ||||
|         this._pointerIdleMonitor = Meta.IdleMonitor.get_for_device(Meta.VIRTUAL_CORE_POINTER_ID); | ||||
|         this._scrollContentsTimerId = 0; | ||||
|  | ||||
|         Main.layoutManager.connect('monitors-changed', | ||||
|                                    Lang.bind(this, this._monitorsChanged)); | ||||
|         this._focusCaretTracker.connect('caret-moved', | ||||
| @@ -1068,6 +1074,26 @@ const ZoomRegion = new Lang.Class({ | ||||
|         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: | ||||
|      * Shift the contents of the magnified view such it is centered on the given | ||||
| @@ -1076,6 +1102,8 @@ const ZoomRegion = new Lang.Class({ | ||||
|      * @y:      The y-coord of the point to center on. | ||||
|      */ | ||||
|     scrollContentsTo: function(x, y) { | ||||
|         this._clearScrollContentsTimer(); | ||||
|  | ||||
|         this._followingCursor = false; | ||||
|         this._changeROI({ xCenter: x, | ||||
|                           yCenter: y }); | ||||
| @@ -1381,7 +1409,7 @@ const ZoomRegion = new Lang.Class({ | ||||
|         else if (this._caretTrackingMode == GDesktopEnums.MagnifierCaretTrackingMode.CENTERED) | ||||
|             [xCaret, yCaret] = this._centerFromPointCentered(xCaret, yCaret); | ||||
|  | ||||
|         this.scrollContentsTo(xCaret, yCaret); | ||||
|         this._scrollContentsToDelayed(xCaret, yCaret); | ||||
|     }, | ||||
|  | ||||
|     _centerFromFocusPosition: function() { | ||||
| @@ -1395,7 +1423,7 @@ const ZoomRegion = new Lang.Class({ | ||||
|         else if (this._focusTrackingMode == GDesktopEnums.MagnifierFocusTrackingMode.CENTERED) | ||||
|             [xFocus, yFocus] = this._centerFromPointCentered(xFocus, yFocus); | ||||
|  | ||||
|         this.scrollContentsTo(xFocus, yFocus); | ||||
|         this._scrollContentsToDelayed(xFocus, yFocus); | ||||
|     }, | ||||
|  | ||||
|     _centerFromPointPush: function(xPoint, yPoint) { | ||||
|   | ||||
| @@ -69,26 +69,6 @@ const Urgency = { | ||||
|     CRITICAL: 3 | ||||
| }; | ||||
|  | ||||
| function _fixMarkup(text, allowMarkup) { | ||||
|     if (allowMarkup) { | ||||
|         // Support &, ", ', < and >, escape all other | ||||
|         // occurrences of '&'. | ||||
|         let _text = text.replace(/&(?!amp;|quot;|apos;|lt;|gt;)/g, '&'); | ||||
|  | ||||
|         // Support <b>, <i>, and <u>, escape anything else | ||||
|         // so it displays as raw markup. | ||||
|         _text = _text.replace(/<(?!\/?[biu]>)/g, '<'); | ||||
|  | ||||
|         try { | ||||
|             Pango.parse_markup(_text, -1, ''); | ||||
|             return _text; | ||||
|         } catch (e) {} | ||||
|     } | ||||
|  | ||||
|     // !allowMarkup, or invalid markup | ||||
|     return GLib.markup_escape_text(text, -1); | ||||
| } | ||||
|  | ||||
| const FocusGrabber = new Lang.Class({ | ||||
|     Name: 'FocusGrabber', | ||||
|  | ||||
|   | ||||
| @@ -14,7 +14,6 @@ const Atk = imports.gi.Atk; | ||||
|  | ||||
| const Params = imports.misc.params; | ||||
|  | ||||
| const Animation = imports.ui.animation; | ||||
| const Layout = imports.ui.layout; | ||||
| const Lightbox = imports.ui.lightbox; | ||||
| const Main = imports.ui.main; | ||||
| @@ -23,10 +22,6 @@ const Tweener = imports.ui.tweener; | ||||
| const OPEN_AND_CLOSE_TIME = 0.1; | ||||
| 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 = { | ||||
|     OPENED: 0, | ||||
|     CLOSED: 1, | ||||
| @@ -79,7 +74,9 @@ const ModalDialog = new Lang.Class({ | ||||
|         this._group.add_actor(this._backgroundBin); | ||||
|  | ||||
|         this.dialogLayout = new St.BoxLayout({ style_class: 'modal-dialog', | ||||
|                                                vertical:    true }); | ||||
|                                                x_align:      Clutter.ActorAlign.CENTER, | ||||
|                                                y_align:      Clutter.ActorAlign.CENTER, | ||||
|                                                vertical:     true }); | ||||
|         // modal dialogs are fixed width and grow vertically; set the request | ||||
|         // mode accordingly so wrapped labels are handled correctly during | ||||
|         // size requests. | ||||
| @@ -100,7 +97,8 @@ const ModalDialog = new Lang.Class({ | ||||
|         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, | ||||
|                               { expand:  true, | ||||
|                                 x_fill:  true, | ||||
| @@ -108,8 +106,7 @@ const ModalDialog = new Lang.Class({ | ||||
|                                 x_align: St.Align.MIDDLE, | ||||
|                                 y_align: St.Align.START }); | ||||
|  | ||||
|         this.buttonLayout = new St.BoxLayout({ style_class: 'modal-dialog-button-box', | ||||
|                                                vertical: false }); | ||||
|         this.buttonLayout = new St.Widget ({ layout_manager: new Clutter.BoxLayout ({ homogeneous:true }) }); | ||||
|         this.dialogLayout.add(this.buttonLayout, | ||||
|                               { x_align: St.Align.MIDDLE, | ||||
|                                 y_align: St.Align.END }); | ||||
| @@ -118,8 +115,6 @@ const ModalDialog = new Lang.Class({ | ||||
|         this._initialKeyFocus = this.dialogLayout; | ||||
|         this._initialKeyFocusDestroyId = 0; | ||||
|         this._savedKeyFocus = null; | ||||
|  | ||||
|         this._workSpinner = null; | ||||
|     }, | ||||
|  | ||||
|     destroy: function() { | ||||
| @@ -147,16 +142,12 @@ const ModalDialog = new Lang.Class({ | ||||
|             else | ||||
|                 x_alignment = St.Align.MIDDLE; | ||||
|  | ||||
|             this.addButton(buttonInfo, { expand: true, | ||||
|                                          x_fill: false, | ||||
|                                          y_fill: false, | ||||
|                                          x_align: x_alignment, | ||||
|                                          y_align: St.Align.MIDDLE }); | ||||
|             this.addButton(buttonInfo); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     addButton: function(buttonInfo, layoutInfo) { | ||||
|         let label = buttonInfo['label']; | ||||
|     addButton: function(buttonInfo) { | ||||
|         let label = buttonInfo['label'] | ||||
|         let action = buttonInfo['action']; | ||||
|         let key = buttonInfo['key']; | ||||
|         let isDefault = buttonInfo['default']; | ||||
| @@ -170,10 +161,12 @@ const ModalDialog = new Lang.Class({ | ||||
|         else | ||||
|             keys = []; | ||||
|  | ||||
|         let button = new St.Button({ style_class: 'modal-dialog-button button', | ||||
|         let button = new St.Button({ style_class: 'modal-dialog-linked-button', | ||||
|                                      button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE, | ||||
|                                      reactive:    true, | ||||
|                                      can_focus:   true, | ||||
|                                      x_expand:    true, | ||||
|                                      y_expand:    true, | ||||
|                                      label:       label }); | ||||
|         button.connect('clicked', action); | ||||
|  | ||||
| @@ -188,47 +181,11 @@ const ModalDialog = new Lang.Class({ | ||||
|         for (let i in keys) | ||||
|             this._buttonKeys[keys[i]] = buttonInfo; | ||||
|  | ||||
|         this.buttonLayout.add(button, layoutInfo); | ||||
|         this.buttonLayout.add_actor(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) { | ||||
|         this._pressedKey = event.get_key_symbol(); | ||||
|         return Clutter.EVENT_PROPAGATE; | ||||
|   | ||||
| @@ -15,8 +15,7 @@ const OsdMonitorLabel = new Lang.Class({ | ||||
|     Name: 'OsdMonitorLabel', | ||||
|  | ||||
|     _init: function(monitor, label) { | ||||
|         this._actor = new St.Widget({ opacity: 0, | ||||
|                                       x_expand: true, | ||||
|         this._actor = new St.Widget({ x_expand: true, | ||||
|                                       y_expand: true }); | ||||
|  | ||||
|         this._monitor = monitor; | ||||
| @@ -34,10 +33,6 @@ const OsdMonitorLabel = new Lang.Class({ | ||||
|         this._position(); | ||||
|  | ||||
|         Meta.disable_unredirect_for_screen(global.screen); | ||||
|         Tweener.addTween(this._actor, | ||||
|                          { opacity: 255, | ||||
|                            time: FADE_TIME, | ||||
|                            transition: 'easeOutQuad' }); | ||||
|     }, | ||||
|  | ||||
|     _position: function() { | ||||
| @@ -52,15 +47,8 @@ const OsdMonitorLabel = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     destroy: function() { | ||||
|         Tweener.addTween(this._actor, | ||||
|                          { opacity: 0, | ||||
|                            time: FADE_TIME, | ||||
|                            transition: 'easeOutQuad', | ||||
|                            onComplete: Lang.bind(this, function() { | ||||
|                                this._actor.destroy(); | ||||
|                                Meta.enable_unredirect_for_screen(global.screen); | ||||
|                            }) | ||||
|                          }); | ||||
|         this._actor.destroy(); | ||||
|         Meta.enable_unredirect_for_screen(global.screen); | ||||
|     } | ||||
| }); | ||||
|  | ||||
|   | ||||
| @@ -107,13 +107,6 @@ const Overview = new Lang.Class({ | ||||
|  | ||||
|         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(); | ||||
|         this._stack = new Clutter.Actor({ layout_manager: layout }); | ||||
|         this._stack.add_constraint(new LayoutManager.MonitorConstraint({ primary: true })); | ||||
| @@ -128,6 +121,11 @@ const Overview = new Lang.Class({ | ||||
|                                             y_expand: true }); | ||||
|         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(); | ||||
|         Main.layoutManager.overviewGroup.add_child(this._backgroundGroup); | ||||
|         this._bgManagers = []; | ||||
|   | ||||
| @@ -25,12 +25,12 @@ const RemoteMenu = imports.ui.remoteMenu; | ||||
| const Main = imports.ui.main; | ||||
| const Tweener = imports.ui.tweener; | ||||
|  | ||||
| const PANEL_ICON_SIZE = 24; | ||||
| const APP_MENU_ICON_MARGIN = 2; | ||||
| const PANEL_ICON_SIZE = 16; | ||||
| const APP_MENU_ICON_MARGIN = 0; | ||||
|  | ||||
| const BUTTON_DND_ACTIVATION_TIMEOUT = 250; | ||||
|  | ||||
| const SPINNER_ANIMATION_TIME = 0.2; | ||||
| const SPINNER_ANIMATION_TIME = 1.0; | ||||
|  | ||||
| // To make sure the panel corners blend nicely with the panel, | ||||
| // we draw background and borders the same way, e.g. drawing | ||||
| @@ -95,6 +95,7 @@ const AppMenuButton = new Lang.Class({ | ||||
|         this._startingApps = []; | ||||
|  | ||||
|         this._menuManager = panel.menuManager; | ||||
|         this._gtkSettings = Gtk.Settings.get_default(); | ||||
|         this._targetApp = null; | ||||
|         this._appMenuNotifyId = 0; | ||||
|         this._actionGroupNotifyId = 0; | ||||
| @@ -123,11 +124,14 @@ const AppMenuButton = new Lang.Class({ | ||||
|         this._arrow = PopupMenu.arrowIcon(St.Side.BOTTOM); | ||||
|         this._container.add_actor(this._arrow); | ||||
|  | ||||
|         this._visible = !Main.overview.visible; | ||||
|         this._visible = this._gtkSettings.gtk_shell_shows_app_menu && | ||||
|                         !Main.overview.visible; | ||||
|         if (!this._visible) | ||||
|             this.actor.hide(); | ||||
|         this._overviewHidingId = Main.overview.connect('hiding', 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; | ||||
|  | ||||
| @@ -305,7 +309,9 @@ const AppMenuButton = new Lang.Class({ | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         let visible = (this._targetApp != null && !Main.overview.visibleTarget); | ||||
|         let visible = (this._targetApp != null && | ||||
|                        this._gtkSettings.gtk_shell_shows_app_menu && | ||||
|                        !Main.overview.visibleTarget); | ||||
|         if (visible) | ||||
|             this.show(); | ||||
|         else | ||||
| @@ -378,6 +384,10 @@ const AppMenuButton = new Lang.Class({ | ||||
|             Main.overview.disconnect(this._overviewShowingId); | ||||
|             this._overviewShowingId = 0; | ||||
|         } | ||||
|         if (this._showsAppMenuId > 0) { | ||||
|             this._gtkSettings.disconnect(this._showsAppMenuId); | ||||
|             this._showsAppMenuId = 0; | ||||
|         } | ||||
|         if (this._switchWorkspaceNotifyId > 0) { | ||||
|             global.window_manager.disconnect(this._switchWorkspaceNotifyId); | ||||
|             this._switchWorkspaceNotifyId = 0; | ||||
| @@ -647,7 +657,7 @@ const AggregateMenu = new Lang.Class({ | ||||
|     Extends: PanelMenu.Button, | ||||
|  | ||||
|     _init: function() { | ||||
|         this.parent(0.0, _("Settings"), false); | ||||
|         this.parent(0.0, C_("System menu in the top bar", "System"), false); | ||||
|         this.menu.actor.add_style_class_name('aggregate-menu'); | ||||
|  | ||||
|         this._indicators = new St.BoxLayout({ style_class: 'panel-status-indicators-box' }); | ||||
| @@ -697,7 +707,6 @@ const AggregateMenu = new Lang.Class({ | ||||
|         this.menu.addMenuItem(this._location.menu); | ||||
|         this.menu.addMenuItem(this._rfkill.menu); | ||||
|         this.menu.addMenuItem(this._power.menu); | ||||
|         this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); | ||||
|         this.menu.addMenuItem(this._system.menu); | ||||
|     }, | ||||
| }); | ||||
|   | ||||
| @@ -396,6 +396,7 @@ const PopupImageMenuItem = new Lang.Class({ | ||||
|         this.actor.add_child(this.label); | ||||
|         this._icon = new St.Icon({ style_class: 'popup-menu-icon' }); | ||||
|         this.actor.add_child(this._icon, { align: St.Align.END }); | ||||
|         this.actor.label_actor = this.label; | ||||
|  | ||||
|         this.setIcon(iconName); | ||||
|     }, | ||||
| @@ -1059,11 +1060,6 @@ const PopupSubMenuMenuItem = new Lang.Class({ | ||||
|         let expander = new St.Bin({ style_class: 'popup-menu-item-expander' }); | ||||
|         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.pivot_point = new Clutter.Point({ x: 0.5, y: 0.6 }); | ||||
|  | ||||
|   | ||||
| @@ -46,7 +46,7 @@ const Indicator = new Lang.Class({ | ||||
|  | ||||
|         // The Bluetooth menu only appears when Bluetooth is in use, | ||||
|         // so just statically build it with a "Turn Off" menu item. | ||||
|         this._item = new PopupMenu.PopupSubMenuMenuItem(_("Bluetooth"), true); | ||||
|         this._item = new PopupMenu.PopupSubMenuMenuItem('', true); | ||||
|         this._item.icon.icon_name = 'bluetooth-active-symbolic'; | ||||
|         this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() { | ||||
|             this._proxy.BluetoothAirplaneMode = true; | ||||
| @@ -101,8 +101,9 @@ const Indicator = new Lang.Class({ | ||||
|         this._item.actor.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode; | ||||
|  | ||||
|         if (nDevices > 0) | ||||
|             this._item.status.text = ngettext("%d Connected Device", "%d Connected Devices", nDevices).format(nDevices); | ||||
|             /* Translators: this is the number of connected bluetooth devices */ | ||||
|             this._item.label.text = ngettext("%d Connected", "%d Connected", nDevices).format(nDevices); | ||||
|         else | ||||
|             this._item.status.text = _("Not Connected"); | ||||
|             this._item.label.text = _("Not In Use"); | ||||
|     }, | ||||
| }); | ||||
|   | ||||
| @@ -62,13 +62,13 @@ const Indicator = new Lang.Class({ | ||||
|         this._indicator = this._addIndicator(); | ||||
|         this._indicator.icon_name = 'find-location-symbolic'; | ||||
|  | ||||
|         this._item = new PopupMenu.PopupSubMenuMenuItem(_("Location"), true); | ||||
|         this._item = new PopupMenu.PopupSubMenuMenuItem('', true); | ||||
|         this._item.icon.icon_name = 'find-location-symbolic'; | ||||
|  | ||||
|         this._agent = Gio.DBusExportedObject.wrapJSObject(AgentIface, this); | ||||
|         this._agent.export(Gio.DBus.system, '/org/freedesktop/GeoClue2/Agent'); | ||||
|  | ||||
|         this._item.status.text = _("Enabled"); | ||||
|         this._item.label.text = _("Location Enabled"); | ||||
|         this._onOffAction = this._item.menu.addAction(_("Disable"), Lang.bind(this, this._onOnOffAction)); | ||||
|         this._item.menu.addSettingsAction(_("Privacy Settings"), 'gnome-privacy-panel.desktop'); | ||||
|  | ||||
| @@ -173,10 +173,11 @@ const Indicator = new Lang.Class({ | ||||
|  | ||||
|     _updateMenuLabels: function() { | ||||
|         if (this._settings.get_boolean(ENABLED)) { | ||||
|             this._item.status.text = this._indicator.visible ? _("In Use") : _("Enabled"); | ||||
|             this._item.label.text = this._indicator.visible ? _("Location In Use") | ||||
|                                                             : _("Location Enabled"); | ||||
|             this._onOffAction.label.text = _("Disable"); | ||||
|         } else { | ||||
|             this._item.status.text = _("Disabled"); | ||||
|             this._item.label.text = _("Location Disabled"); | ||||
|             this._onOffAction.label.text = _("Enable"); | ||||
|         } | ||||
|     }, | ||||
|   | ||||
| @@ -257,16 +257,8 @@ const NMConnectionSection = new Lang.Class({ | ||||
|         this._radioSection.actor.visible = (nItems > 1); | ||||
|         this._labelSection.actor.visible = (nItems == 1); | ||||
|  | ||||
|         this.item.status.text = this._getStatus(); | ||||
|         this.item.label.text = this._getStatus(); | ||||
|         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() { | ||||
| @@ -355,6 +347,7 @@ const NMConnectionDevice = new Lang.Class({ | ||||
|         this.parent(client); | ||||
|         this._device = device; | ||||
|         this._settings = settings; | ||||
|         this._description = ''; | ||||
|  | ||||
|         this._autoConnectItem = this.item.menu.addAction(_("Connect"), Lang.bind(this, this._autoConnect)); | ||||
|         this._deactivateItem = this._radioSection.addAction(_("Turn Off"), Lang.bind(this, this.deactivateConnection)); | ||||
| @@ -454,38 +447,44 @@ const NMConnectionDevice = new Lang.Class({ | ||||
|  | ||||
|         switch(this._device.state) { | ||||
|         case NetworkManager.DeviceState.DISCONNECTED: | ||||
|             return _("Off"); | ||||
|             /* Translators: %s is a network identifier */ | ||||
|             return _("%s Off").format(this._getDescription()); | ||||
|         case NetworkManager.DeviceState.ACTIVATED: | ||||
|             return _("Connected"); | ||||
|             /* Translators: %s is a network identifier */ | ||||
|             return _("%s Connected").format(this._getDescription()); | ||||
|         case NetworkManager.DeviceState.UNMANAGED: | ||||
|             /* 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) */ | ||||
|             return _("Unmanaged"); | ||||
|                under NetworkManager's control (and thus cannot be used in the menu); | ||||
|                %s is a network identifier */ | ||||
|             return _("%s Unmanaged").format(this._getDescription()); | ||||
|         case NetworkManager.DeviceState.DEACTIVATING: | ||||
|             return _("Disconnecting"); | ||||
|             /* Translators: %s is a network identifier */ | ||||
|             return _("%s Disconnecting").format(this._getDescription()); | ||||
|         case NetworkManager.DeviceState.PREPARE: | ||||
|         case NetworkManager.DeviceState.CONFIG: | ||||
|         case NetworkManager.DeviceState.IP_CONFIG: | ||||
|         case NetworkManager.DeviceState.IP_CHECK: | ||||
|         case NetworkManager.DeviceState.SECONDARIES: | ||||
|             return _("Connecting"); | ||||
|             /* Translators: %s is a network identifier */ | ||||
|             return _("%s Connecting").format(this._getDescription()); | ||||
|         case NetworkManager.DeviceState.NEED_AUTH: | ||||
|             /* Translators: this is for network connections that require some kind of key or password */ | ||||
|             return _("Authentication required"); | ||||
|             /* Translators: this is for network connections that require some kind of key or password; %s is a network identifier */ | ||||
|             return _("%s Requires Authentication").format(this._getDescription()); | ||||
|         case NetworkManager.DeviceState.UNAVAILABLE: | ||||
|             // This state is actually a compound of various states (generically unavailable, | ||||
|             // firmware missing), that are exposed by different properties (whose state may | ||||
|             // or may not updated when we receive state-changed). | ||||
|             if (this._device.firmware_missing) { | ||||
|                 /* Translators: this is for devices that require some kind of firmware or kernel | ||||
|                    module, which is missing */ | ||||
|                 return _("Firmware missing"); | ||||
|                    module, which is missing; %s is a network identifier */ | ||||
|                 return _("Firmware Missing For %s").format(this._getDescription()); | ||||
|             } | ||||
|             /* Translators: this is for a network device that cannot be activated (for example it | ||||
|                is disabled by rfkill, or it has no coverage */ | ||||
|             return _("Unavailable"); | ||||
|                is disabled by rfkill, or it has no coverage; %s is a network identifier */ | ||||
|             return _("%s Unavailable").format(this._getDescription()); | ||||
|         case NetworkManager.DeviceState.FAILED: | ||||
|             return _("Connection failed"); | ||||
|             /* Translators: %s is a network identifier */ | ||||
|             return _("%s Connection Failed").format(this._getDescription()); | ||||
|         default: | ||||
|             log('Device state invalid, is %d'.format(this._device.state)); | ||||
|             return 'invalid'; | ||||
| @@ -585,11 +584,12 @@ const NMDeviceModem = new Lang.Class({ | ||||
|  | ||||
|     _getStatus: function() { | ||||
|         if (!this._client.wwan_hardware_enabled) | ||||
|             return _("Hardware Disabled"); | ||||
|             /* Translators: %s is a network identifier */ | ||||
|             return _("%s Hardware Disabled").format(this._getDescription()); | ||||
|         else if (!this._client.wwan_enabled) | ||||
|             /* Translators: this is for a network device that cannot be activated | ||||
|                because it's disabled by rfkill (airplane mode) */ | ||||
|             return _("Disabled"); | ||||
|                because it's disabled by rfkill (airplane mode); %s is a network identifier */ | ||||
|             return _("%s Disabled").format(this._getDescription()); | ||||
|         else if (this._device.state == NetworkManager.DeviceState.ACTIVATED && | ||||
|                  this._mobileDevice && this._mobileDevice.operator_name) | ||||
|             return this._mobileDevice.operator_name; | ||||
| @@ -877,7 +877,7 @@ const NMWirelessDialog = new Lang.Class({ | ||||
|                                                  y_align: Clutter.ActorAlign.CENTER }); | ||||
|  | ||||
|         let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg'); | ||||
|         this._noNetworksSpinner = new Animation.AnimatedIcon(file, 24, 24); | ||||
|         this._noNetworksSpinner = new Animation.AnimatedIcon(file, 16, 16); | ||||
|         this._noNetworksBox.add_actor(this._noNetworksSpinner.actor); | ||||
|         this._noNetworksBox.add_actor(new St.Label({ style_class: 'no-networks-label', | ||||
|                                                      text: _("No Networks") })); | ||||
| @@ -917,10 +917,7 @@ const NMWirelessDialog = new Lang.Class({ | ||||
|                                                   key: Clutter.Escape }); | ||||
|         this._connectButton = this.addButton({ action: Lang.bind(this, this._connect), | ||||
|                                                label: _("Connect"), | ||||
|                                                key: Clutter.Return }, | ||||
|                                              { expand: true, | ||||
|                                                x_fill: false, | ||||
|                                                x_align: St.Align.END }); | ||||
|                                                key: Clutter.Return }); | ||||
|     }, | ||||
|  | ||||
|     _connect: function() { | ||||
| @@ -1282,9 +1279,8 @@ const NMDeviceWireless = new Lang.Class({ | ||||
|         this._toggleItem.label.text = this._client.wireless_enabled ? _("Turn Off") : _("Turn On"); | ||||
|         this._toggleItem.actor.visible = this._client.wireless_hardware_enabled; | ||||
|  | ||||
|         this.item.status.text = this._getStatus(); | ||||
|         this.item.icon.icon_name = this._getMenuIcon(); | ||||
|         this.item.label.text = this._description; | ||||
|         this.item.label.text = this._getStatus(); | ||||
|     }, | ||||
|  | ||||
|     setDeviceDescription: function(desc) { | ||||
| @@ -1296,18 +1292,23 @@ const NMDeviceWireless = new Lang.Class({ | ||||
|         let ap = this._device.active_access_point; | ||||
|  | ||||
|         if (this._isHotSpotMaster()) | ||||
|             return _("Hotspot Active"); | ||||
|             /* Translators: %s is a network identifier */ | ||||
|             return _("%s Hotspot Active").format(this._description); | ||||
|         else if (this._device.state >= NetworkManager.DeviceState.PREPARE && | ||||
|                  this._device.state < NetworkManager.DeviceState.ACTIVATED) | ||||
|             return _("Connecting"); | ||||
|             /* Translators: %s is a network identifier */ | ||||
|             return _("%s Connecting").format(this._description); | ||||
|         else if (ap) | ||||
|             return ssidToLabel(ap.get_ssid()); | ||||
|         else if (!this._client.wireless_hardware_enabled) | ||||
|             return _("Hardware Disabled"); | ||||
|             /* Translators: %s is a network identifier */ | ||||
|             return _("%s Hardware Disabled").format(this._description); | ||||
|         else if (!this._client.wireless_enabled) | ||||
|             return _("Off"); | ||||
|             /* Translators: %s is a network identifier */ | ||||
|             return _("%s Off").format(this._description); | ||||
|         else if (this._device.state == NetworkManager.DeviceState.DISCONNECTED) | ||||
|             return _("Not Connected"); | ||||
|             /* Translators: %s is a network identifier */ | ||||
|             return _("%s Not Connected").format(this._description); | ||||
|         else | ||||
|             return ''; | ||||
|     }, | ||||
| @@ -1509,7 +1510,7 @@ const NMVPNSection = new Lang.Class({ | ||||
|                 return item.getName(); | ||||
|         } | ||||
|  | ||||
|         return _("Off"); | ||||
|         return _("VPN Off"); | ||||
|     }, | ||||
|  | ||||
|     _getMenuIcon: function() { | ||||
|   | ||||
| @@ -112,12 +112,6 @@ const Indicator = new Lang.Class({ | ||||
|         this._item.icon.icon_name = icon; | ||||
|  | ||||
|         // The status label | ||||
|         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"); | ||||
|         this._item.label.text = this._getStatus(); | ||||
|     }, | ||||
| }); | ||||
|   | ||||
| @@ -85,9 +85,8 @@ const Indicator = new Lang.Class({ | ||||
|         // The menu only appears when airplane mode is on, so just | ||||
|         // statically build it as if it was on, rather than dynamically | ||||
|         // changing the menu contents. | ||||
|         this._item = new PopupMenu.PopupSubMenuMenuItem(_("Airplane Mode"), true); | ||||
|         this._item = new PopupMenu.PopupSubMenuMenuItem(_("Airplane Mode On"), true); | ||||
|         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._manager.airplaneMode = false; | ||||
|         })); | ||||
|   | ||||
| @@ -24,6 +24,17 @@ const DISABLE_LOG_OUT_KEY = 'disable-log-out'; | ||||
| const DISABLE_RESTART_KEY = 'disable-restart-buttons'; | ||||
| const ALWAYS_SHOW_LOG_OUT_KEY = 'always-show-log-out'; | ||||
|  | ||||
| const SENSOR_BUS_NAME = 'net.hadess.SensorProxy'; | ||||
| const SENSOR_OBJECT_PATH = '/net/hadess/SensorProxy'; | ||||
|  | ||||
| const SensorProxyInterface = '<node> \ | ||||
| <interface name="net.hadess.SensorProxy"> \ | ||||
|   <property name="HasAccelerometer" type="b" access="read"/> \ | ||||
| </interface> \ | ||||
| </node>'; | ||||
|  | ||||
| const SensorProxy = Gio.DBusProxy.makeProxyWrapper(SensorProxyInterface); | ||||
|  | ||||
| const AltSwitcher = new Lang.Class({ | ||||
|     Name: 'AltSwitcher', | ||||
|  | ||||
| @@ -144,23 +155,32 @@ const Indicator = new Lang.Class({ | ||||
|  | ||||
|         this._orientationSettings.connect('changed::orientation-lock', | ||||
|                                           Lang.bind(this, this._updateOrientationLock)); | ||||
|         this._orientationExists = false; | ||||
|         Gio.DBus.session.watch_name('org.gnome.SettingsDaemon.Orientation', | ||||
|                                     Gio.BusNameWatcherFlags.NONE, | ||||
|                                     Lang.bind(this, function() { | ||||
|                                         this._orientationExists = true; | ||||
|                                         this._updateOrientationLock(); | ||||
|                                     }), | ||||
|                                     Lang.bind(this, function() { | ||||
|                                         this._orientationExists = false; | ||||
|                                         this._updateOrientationLock(); | ||||
|                                     })); | ||||
|         Gio.DBus.system.watch_name(SENSOR_BUS_NAME, | ||||
|                                    Gio.BusNameWatcherFlags.NONE, | ||||
|                                    Lang.bind(this, this._sensorProxyAppeared), | ||||
|                                    Lang.bind(this, function() { | ||||
|                                        this._sensorProxy = null; | ||||
|                                        this._updateOrientationLock(); | ||||
|                                    })); | ||||
|         this._updateOrientationLock(); | ||||
|  | ||||
|         Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated)); | ||||
|         this._sessionUpdated(); | ||||
|     }, | ||||
|  | ||||
|     _sensorProxyAppeared: function() { | ||||
|         this._sensorProxy = new SensorProxy(Gio.DBus.system, SENSOR_BUS_NAME, SENSOR_OBJECT_PATH, | ||||
|             Lang.bind(this, function(proxy, error) { | ||||
|                 if (error) { | ||||
|                     log(error.message); | ||||
|                     return; | ||||
|                 } | ||||
|                 this._sensorProxy.connect('g-properties-changed', | ||||
|                                           Lang.bind(this, this._updateOrientationLock)); | ||||
|                 this._updateOrientationLock(); | ||||
|             })); | ||||
|     }, | ||||
|  | ||||
|     _updateActionsVisibility: function() { | ||||
|         let visible = (this._settingsAction.visible || | ||||
|                        this._orientationLockAction.visible || | ||||
| @@ -231,13 +251,22 @@ const Indicator = new Lang.Class({ | ||||
|             let file = Gio.File.new_for_path(iconFile); | ||||
|             let gicon = new Gio.FileIcon({ file: file }); | ||||
|             this._switchUserSubMenu.icon.gicon = gicon; | ||||
|  | ||||
|             this._switchUserSubMenu.icon.add_style_class_name('user-icon'); | ||||
|             this._switchUserSubMenu.icon.remove_style_class_name('default-icon'); | ||||
|         } else { | ||||
|             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'); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _updateOrientationLock: function() { | ||||
|         this._orientationLockAction.visible = this._orientationExists; | ||||
|         if (this._sensorProxy) | ||||
|             this._orientationLockAction.visible = this._sensorProxy.HasAccelerometer; | ||||
|         else | ||||
|             this._orientationLockAction.visible = false; | ||||
|  | ||||
|         let locked = this._orientationSettings.get_boolean('orientation-lock'); | ||||
|         let icon = this._orientationLockAction.child; | ||||
| @@ -321,6 +350,9 @@ const Indicator = new Lang.Class({ | ||||
|         this._switchUserSubMenu.menu.addMenuItem(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('changed', Lang.bind(this, this._updateSwitchUserSubMenu)); | ||||
|  | ||||
|   | ||||
| @@ -465,6 +465,12 @@ const ViewSelector = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _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); | ||||
|         if (unicode == 0) | ||||
|             return false; | ||||
| @@ -472,7 +478,7 @@ const ViewSelector = new Lang.Class({ | ||||
|         if (getTermsForSearchString(String.fromCharCode(unicode)).length > 0) | ||||
|             return true; | ||||
|  | ||||
|         return symbol == Clutter.BackSpace && this._searchActive; | ||||
|         return false; | ||||
|     }, | ||||
|  | ||||
|     startSearch: function(event) { | ||||
|   | ||||
| @@ -11,7 +11,8 @@ const WindowAttentionHandler = new Lang.Class({ | ||||
|  | ||||
|     _init : function() { | ||||
|         this._tracker = Shell.WindowTracker.get_default(); | ||||
|         global.display.connect('window-demands-attention', Lang.bind(this, this._onWindowDemandsAttention)); | ||||
|         this._windowDemandsAttentionId = global.display.connect('window-demands-attention', | ||||
|                                                                 Lang.bind(this, this._onWindowDemandsAttention)); | ||||
|     }, | ||||
|  | ||||
|     _getTitleAndBanner: function(app, window) { | ||||
|   | ||||
| @@ -19,8 +19,6 @@ const Tweener = imports.ui.tweener; | ||||
| const WindowMenu = imports.ui.windowMenu; | ||||
|  | ||||
| const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings'; | ||||
| const MAXIMIZE_WINDOW_ANIMATION_TIME = 0.15; | ||||
| const UNMAXIMIZE_WINDOW_ANIMATION_TIME = 0.15; | ||||
| const MINIMIZE_WINDOW_ANIMATION_TIME = 0.2; | ||||
| const SHOW_WINDOW_ANIMATION_TIME = 0.15; | ||||
| const DIALOG_SHOW_WINDOW_ANIMATION_TIME = 0.1; | ||||
| @@ -83,12 +81,10 @@ const DisplayChangeDialog = new Lang.Class({ | ||||
|         */ | ||||
|         this._cancelButton = this.addButton({ label: _("Revert Settings"), | ||||
|                                               action: Lang.bind(this, this._onFailure), | ||||
|                                               key: Clutter.Escape }, | ||||
|                                             { expand: true, x_fill: false, x_align: St.Align.START }); | ||||
|                                               key: Clutter.Escape }); | ||||
|         this._okButton = this.addButton({ label:  _("Keep Changes"), | ||||
|                                           action: Lang.bind(this, this._onSuccess), | ||||
|                                           default: true }, | ||||
|                                         { expand: false, x_fill: false, x_align: St.Align.END }); | ||||
|                                           default: true }); | ||||
|  | ||||
|         this._timeoutId = Mainloop.timeout_add(ONE_SECOND, Lang.bind(this, this._tick)); | ||||
|         GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._tick'); | ||||
| @@ -217,7 +213,8 @@ const WorkspaceTracker = new Lang.Class({ | ||||
|  | ||||
|     _getWorkspaceSettings: function() { | ||||
|         let settings = global.get_overrides_settings(); | ||||
|         if (settings.list_keys().indexOf('dynamic-workspaces') > -1) | ||||
|         if (settings && | ||||
|             settings.settings_schema.list_keys().indexOf('dynamic-workspaces') > -1) | ||||
|             return settings; | ||||
|         return new Gio.Settings({ schema_id: 'org.gnome.mutter' }); | ||||
|     }, | ||||
| @@ -478,52 +475,100 @@ const TilePreview = new Lang.Class({ | ||||
|     } | ||||
| }); | ||||
|  | ||||
| const TouchpadWorkspaceSwitchAction = new Lang.Class({ | ||||
|     Name: 'TouchpadWorkspaceSwitchAction', | ||||
|  | ||||
|     _init: function(actor) { | ||||
|         this._dx = 0; | ||||
|         this._dy = 0; | ||||
|         actor.connect('captured-event', Lang.bind(this, this._handleEvent)); | ||||
|     }, | ||||
|  | ||||
|     _checkActivated: function() { | ||||
|         const MOTION_THRESHOLD = 50; | ||||
|         let allowedModes = Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW; | ||||
|         let dir; | ||||
|  | ||||
|         if ((allowedModes & Main.actionMode) == 0) | ||||
|             return; | ||||
|  | ||||
|         if (this._dy < -MOTION_THRESHOLD) | ||||
|             dir = Meta.MotionDirection.DOWN; | ||||
|         else if (this._dy > MOTION_THRESHOLD) | ||||
|             dir = Meta.MotionDirection.UP; | ||||
|         else if (this._dx < -MOTION_THRESHOLD) | ||||
|             dir = Meta.MotionDirection.RIGHT; | ||||
|         else if (this._dx > MOTION_THRESHOLD) | ||||
|             dir = Meta.MotionDirection.LEFT; | ||||
|         else | ||||
|             return; | ||||
|  | ||||
|         this.emit('activated', dir); | ||||
|     }, | ||||
|  | ||||
|     _handleEvent: function(actor, event) { | ||||
|         if (event.type() != Clutter.EventType.TOUCHPAD_SWIPE) | ||||
|             return Clutter.EVENT_PROPAGATE; | ||||
|  | ||||
|         if (event.get_gesture_swipe_finger_count() != 4) | ||||
|             return Clutter.EVENT_PROPAGATE; | ||||
|  | ||||
|         if (event.get_gesture_phase() == Clutter.TouchpadGesturePhase.UPDATE) { | ||||
|             let [dx, dy] = event.get_gesture_motion_delta(event); | ||||
|  | ||||
|             this._dx += dx; | ||||
|             this._dy += dy; | ||||
|         } else { | ||||
|             if (event.get_gesture_phase() == Clutter.TouchpadGesturePhase.END) | ||||
|                 this._checkActivated(); | ||||
|  | ||||
|             this._dx = 0; | ||||
|             this._dy = 0; | ||||
|         } | ||||
|  | ||||
|         return Clutter.EVENT_STOP; | ||||
|     } | ||||
| }); | ||||
| Signals.addSignalMethods(TouchpadWorkspaceSwitchAction.prototype); | ||||
|  | ||||
| const WorkspaceSwitchAction = new Lang.Class({ | ||||
|     Name: 'WorkspaceSwitchAction', | ||||
|     Extends: Clutter.GestureAction, | ||||
|     Extends: Clutter.SwipeAction, | ||||
|  | ||||
|     _init : function() { | ||||
|         const MOTION_THRESHOLD = 50; | ||||
|  | ||||
|         this.parent(); | ||||
|         this.set_n_touch_points(4); | ||||
|         this.set_threshold_trigger_distance(MOTION_THRESHOLD, MOTION_THRESHOLD); | ||||
|  | ||||
|         global.display.connect('grab-op-begin', Lang.bind(this, function() { | ||||
|             this.cancel(); | ||||
|         })); | ||||
|     }, | ||||
|  | ||||
|     vfunc_gesture_prepare : function(action, actor) { | ||||
|     vfunc_gesture_prepare : function(actor) { | ||||
|         let allowedModes = Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW; | ||||
|         return this.get_n_current_points() == this.get_n_touch_points() && | ||||
|                (allowedModes & Main.actionMode); | ||||
|  | ||||
|         if (!this.parent(actor)) | ||||
|             return false; | ||||
|  | ||||
|         return (allowedModes & Main.actionMode); | ||||
|     }, | ||||
|  | ||||
|     vfunc_gesture_end : function(action, actor) { | ||||
|         const MOTION_THRESHOLD = 50; | ||||
|     vfunc_swept : function(actor, direction) { | ||||
|         let dir; | ||||
|  | ||||
|         // Just check one touchpoint here | ||||
|         let [startX, startY] = this.get_press_coords(0); | ||||
|         let [x, y] = this.get_motion_coords(0); | ||||
|         let offsetX = x - startX; | ||||
|         let offsetY = y - startY; | ||||
|         let direction; | ||||
|         if (direction & Clutter.SwipeDirection.UP) | ||||
|             dir = Meta.MotionDirection.DOWN; | ||||
|         else if (direction & Clutter.SwipeDirection.DOWN) | ||||
|             dir = Meta.MotionDirection.UP; | ||||
|         else if (direction & Clutter.SwipeDirection.LEFT) | ||||
|             dir = Meta.MotionDirection.RIGHT; | ||||
|         else if (direction & Clutter.SwipeDirection.RIGHT) | ||||
|             dir = Meta.MotionDirection.LEFT; | ||||
|  | ||||
|         if (Math.abs(offsetX) < MOTION_THRESHOLD && | ||||
|             Math.abs(offsetY) < MOTION_THRESHOLD) | ||||
|             return; | ||||
|  | ||||
|         if (Math.abs(offsetY) > Math.abs(offsetX)) { | ||||
|             if (offsetY > 0) | ||||
|                 direction = Meta.MotionDirection.UP; | ||||
|             else | ||||
|                 direction = Meta.MotionDirection.DOWN; | ||||
|         } else { | ||||
|             if (offsetX > 0) | ||||
|                 direction = Meta.MotionDirection.LEFT; | ||||
|             else | ||||
|                 direction = Meta.MotionDirection.RIGHT; | ||||
|         } | ||||
|  | ||||
|         this.emit('activated', direction); | ||||
|         this.emit('activated', dir); | ||||
|     } | ||||
| }); | ||||
| Signals.addSignalMethods(WorkspaceSwitchAction.prototype); | ||||
| @@ -631,8 +676,6 @@ const WindowManager = new Lang.Class({ | ||||
|  | ||||
|         this._minimizing = []; | ||||
|         this._unminimizing = []; | ||||
|         this._maximizing = []; | ||||
|         this._unmaximizing = []; | ||||
|         this._mapping = []; | ||||
|         this._destroying = []; | ||||
|         this._movingWindow = null; | ||||
| @@ -647,10 +690,9 @@ const WindowManager = new Lang.Class({ | ||||
|         this._shellwm.connect('kill-switch-workspace', Lang.bind(this, this._switchWorkspaceDone)); | ||||
|         this._shellwm.connect('kill-window-effects', Lang.bind(this, function (shellwm, actor) { | ||||
|             this._minimizeWindowDone(shellwm, actor); | ||||
|             this._maximizeWindowDone(shellwm, actor); | ||||
|             this._unmaximizeWindowDone(shellwm, actor); | ||||
|             this._mapWindowDone(shellwm, actor); | ||||
|             this._destroyWindowDone(shellwm, actor); | ||||
|             this._sizeChangeWindowDone(shellwm, actor); | ||||
|         })); | ||||
|  | ||||
|         this._shellwm.connect('switch-workspace', Lang.bind(this, this._switchWorkspace)); | ||||
| @@ -659,8 +701,7 @@ const WindowManager = new Lang.Class({ | ||||
|         this._shellwm.connect('show-window-menu', Lang.bind(this, this._showWindowMenu)); | ||||
|         this._shellwm.connect('minimize', Lang.bind(this, this._minimizeWindow)); | ||||
|         this._shellwm.connect('unminimize', Lang.bind(this, this._unminimizeWindow)); | ||||
|         this._shellwm.connect('maximize', Lang.bind(this, this._maximizeWindow)); | ||||
|         this._shellwm.connect('unmaximize', Lang.bind(this, this._unmaximizeWindow)); | ||||
|         this._shellwm.connect('size-change', Lang.bind(this, this._sizeChangeWindow)); | ||||
|         this._shellwm.connect('map', Lang.bind(this, this._mapWindow)); | ||||
|         this._shellwm.connect('destroy', Lang.bind(this, this._destroyWindow)); | ||||
|         this._shellwm.connect('filter-keybinding', Lang.bind(this, this._filterKeybinding)); | ||||
| @@ -880,15 +921,22 @@ const WindowManager = new Lang.Class({ | ||||
|                                                 false, -1, 1); | ||||
|  | ||||
|         let gesture = new WorkspaceSwitchAction(); | ||||
|         gesture.connect('activated', Lang.bind(this, function(action, direction) { | ||||
|             let newWs = global.screen.get_active_workspace().get_neighbor(direction); | ||||
|             this.actionMoveWorkspace(newWs); | ||||
|         })); | ||||
|         gesture.connect('activated', Lang.bind(this, this._actionSwitchWorkspace)); | ||||
|         global.stage.add_action(gesture); | ||||
|  | ||||
|         // This is not a normal Clutter.GestureAction, doesn't need add_action() | ||||
|         gesture = new TouchpadWorkspaceSwitchAction(global.stage); | ||||
|         gesture.connect('activated', Lang.bind(this, this._actionSwitchWorkspace)); | ||||
|  | ||||
|         gesture = new AppSwitchAction(); | ||||
|         gesture.connect('activated', Lang.bind(this, this._switchApp)); | ||||
|         global.stage.add_action(gesture); | ||||
|  | ||||
|     }, | ||||
|  | ||||
|     _actionSwitchWorkspace: function(action, direction) { | ||||
|             let newWs = global.screen.get_active_workspace().get_neighbor(direction); | ||||
|             this.actionMoveWorkspace(newWs); | ||||
|     }, | ||||
|  | ||||
|     _lookupIndex: function (windows, metaWindow) { | ||||
| @@ -1170,22 +1218,123 @@ const WindowManager = new Lang.Class({ | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _sizeChangeWindow : function(shellwm, actor, whichChange, oldFrameRect, oldBufferRect) { | ||||
|         let types = [Meta.WindowType.NORMAL]; | ||||
|         if (!this._shouldAnimateActor(actor, types)) { | ||||
|             shellwm.completed_size_change(actor); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|     _maximizeWindow : function(shellwm, actor, targetX, targetY, targetWidth, targetHeight) { | ||||
|         shellwm.completed_maximize(actor); | ||||
|         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); | ||||
|     }, | ||||
|  | ||||
|     _maximizeWindowDone : function(shellwm, actor) { | ||||
|     _fullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) { | ||||
|         let targetRect = actor.meta_window.get_frame_rect(); | ||||
|         let actorContent = Shell.util_get_content_for_window_actor(actor, oldFrameRect); | ||||
|         let actorClone = new St.Widget({ content: actorContent }); | ||||
|         actorClone.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS); | ||||
|         actorClone.set_position(oldFrameRect.x, oldFrameRect.y); | ||||
|         actorClone.set_size(oldFrameRect.width, oldFrameRect.height); | ||||
|         Main.uiGroup.add_actor(actorClone); | ||||
|  | ||||
|         actor.__fullscreenClone = actorClone; | ||||
|  | ||||
|         let scaleX = targetRect.width / oldFrameRect.width; | ||||
|         let scaleY = targetRect.height / oldFrameRect.height; | ||||
|  | ||||
|         Tweener.addTween(actorClone, | ||||
|                          { x: targetRect.x, | ||||
|                            y: targetRect.y, | ||||
|                            scaleX: scaleX, | ||||
|                            scaleY: scaleY, | ||||
|                            opacity: 0, | ||||
|                            time: WINDOW_ANIMATION_TIME, | ||||
|                            transition: 'easeOutQuad', | ||||
|                            onComplete: this._sizeChangeWindowDone, | ||||
|                            onCompleteScope: this, | ||||
|                            onCompleteParams: [shellwm, actor] | ||||
|                          }); | ||||
|  | ||||
|         actor.translation_x = actor.x; | ||||
|         actor.translation_y = actor.y; | ||||
|         actor.scaleX = 1 / scaleX; | ||||
|         actor.scaleY = 1 / scaleY; | ||||
|  | ||||
|         Tweener.addTween(actor, | ||||
|                          { scaleX: 1.0, | ||||
|                            scaleY: 1.0, | ||||
|                            translation_x: 0, | ||||
|                            translation_y: 0, | ||||
|                            time: WINDOW_ANIMATION_TIME, | ||||
|                            transition: 'easeOutQuad' | ||||
|                          }); | ||||
|  | ||||
|         shellwm.completed_size_change(actor); | ||||
|     }, | ||||
|  | ||||
|     _maximizeWindowOverwrite : function(shellwm, actor) { | ||||
|     _unfullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) { | ||||
|         let targetRect = actor.meta_window.get_frame_rect(); | ||||
|         let actorContent = Shell.util_get_content_for_window_actor(actor, oldFrameRect); | ||||
|         let actorClone = new St.Widget({ content: actorContent }); | ||||
|         actorClone.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS); | ||||
|         actorClone.set_position(oldFrameRect.x, oldFrameRect.y); | ||||
|         actorClone.set_size(oldFrameRect.width, oldFrameRect.height); | ||||
|         Main.uiGroup.add_actor(actorClone); | ||||
|  | ||||
|         actor.__unfullscreenClone = actorClone; | ||||
|  | ||||
|         let scaleX = targetRect.width / oldFrameRect.width; | ||||
|         let scaleY = targetRect.height / oldFrameRect.height; | ||||
|  | ||||
|         Tweener.addTween(actorClone, | ||||
|                          { x: targetRect.x, | ||||
|                            y: targetRect.y, | ||||
|                            scaleX: scaleX, | ||||
|                            scaleY: scaleY, | ||||
|                            opacity: 0, | ||||
|                            time: WINDOW_ANIMATION_TIME, | ||||
|                            transition: 'easeOutQuad', | ||||
|                            onComplete: this._sizeChangeWindowDone, | ||||
|                            onCompleteScope: this, | ||||
|                            onCompleteParams: [shellwm, actor] | ||||
|                          }); | ||||
|  | ||||
|         actor.translation_x = -actor.x; | ||||
|         actor.translation_y = -actor.y; | ||||
|         actor.scaleX = 1 / scaleX; | ||||
|         actor.scaleY = 1 / scaleY; | ||||
|  | ||||
|         Tweener.addTween(actor, | ||||
|                          { scaleX: 1.0, | ||||
|                            scaleY: 1.0, | ||||
|                            translation_x: 0, | ||||
|                            translation_y: 0, | ||||
|                            time: WINDOW_ANIMATION_TIME, | ||||
|                            transition: 'easeOutQuad' | ||||
|                          }); | ||||
|  | ||||
|         shellwm.completed_size_change(actor); | ||||
|     }, | ||||
|  | ||||
|     _unmaximizeWindow : function(shellwm, actor, targetX, targetY, targetWidth, targetHeight) { | ||||
|         shellwm.completed_unmaximize(actor); | ||||
|     }, | ||||
|     _sizeChangeWindowDone: function(shellwm, actor) { | ||||
|         Tweener.removeTweens(actor); | ||||
|  | ||||
|     _unmaximizeWindowDone : function(shellwm, actor) { | ||||
|         let actorClone = actor.__fullscreenClone; | ||||
|         if (actorClone) { | ||||
|             actorClone.destroy(); | ||||
|             delete actor.__fullscreenClone; | ||||
|         } | ||||
|  | ||||
|         actorClone = actor.__unfullscreenClone; | ||||
|         if (actorClone) { | ||||
|             actorClone.destroy(); | ||||
|             delete actor.__unfullscreenClone; | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _hasAttachedDialogs: function(window, ignoreWindow) { | ||||
|   | ||||
| @@ -74,7 +74,7 @@ const WindowMenu = new Lang.Class({ | ||||
|                 window.make_above(); | ||||
|         })); | ||||
|         if (window.is_above()) | ||||
|             item.setOrnament(PopupMenu.Ornament.DOT); | ||||
|             item.setOrnament(PopupMenu.Ornament.CHECK); | ||||
|         if (window.get_maximized() == Meta.MaximizeFlags.BOTH || | ||||
|             type == Meta.WindowType.DOCK || | ||||
|             type == Meta.WindowType.DESKTOP || | ||||
| @@ -93,7 +93,7 @@ const WindowMenu = new Lang.Class({ | ||||
|                     window.stick(); | ||||
|             })); | ||||
|             if (isSticky) | ||||
|                 item.setOrnament(PopupMenu.Ornament.DOT); | ||||
|                 item.setOrnament(PopupMenu.Ornament.CHECK); | ||||
|             if (window.is_always_on_all_workspaces()) | ||||
|                 item.setSensitive(false); | ||||
|  | ||||
| @@ -101,13 +101,22 @@ const WindowMenu = new Lang.Class({ | ||||
|  | ||||
|             if (!isSticky) { | ||||
|                 let workspace = window.get_workspace(); | ||||
|                 let idx = workspace.index(); | ||||
|                 if (idx > 0) { | ||||
|                 if (workspace != workspace.get_neighbor(Meta.MotionDirection.LEFT)) { | ||||
|                      this.addAction(_("Move to Workspace Left"), Lang.bind(this, function(event) { | ||||
|                         window.change_workspace(workspace.get_neighbor(Meta.MotionDirection.LEFT)); | ||||
|                     })); | ||||
|                 } | ||||
|                 if (workspace != workspace.get_neighbor(Meta.MotionDirection.RIGHT)) { | ||||
|                      this.addAction(_("Move to Workspace Right"), Lang.bind(this, function(event) { | ||||
|                         window.change_workspace(workspace.get_neighbor(Meta.MotionDirection.RIGHT)); | ||||
|                     })); | ||||
|                 } | ||||
|                 if (workspace != workspace.get_neighbor(Meta.MotionDirection.UP)) { | ||||
|                     this.addAction(_("Move to Workspace Up"), Lang.bind(this, function(event) { | ||||
|                         window.change_workspace(workspace.get_neighbor(Meta.MotionDirection.UP)); | ||||
|                     })); | ||||
|                 } | ||||
|                 if (idx < nWorkspaces) { | ||||
|                 if (workspace != workspace.get_neighbor(Meta.MotionDirection.DOWN)) { | ||||
|                      this.addAction(_("Move to Workspace Down"), Lang.bind(this, function(event) { | ||||
|                         window.change_workspace(workspace.get_neighbor(Meta.MotionDirection.DOWN)); | ||||
|                     })); | ||||
| @@ -115,6 +124,39 @@ const WindowMenu = new Lang.Class({ | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         let screen = global.screen; | ||||
|         let nMonitors = screen.get_n_monitors(); | ||||
|         if (nMonitors > 1) { | ||||
|           this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); | ||||
|  | ||||
|           let monitorIndex = window.get_monitor(); | ||||
|  | ||||
|           let upMonitorIndex = screen.get_monitor_neighbor_index(monitorIndex, Meta.ScreenDirection.UP); | ||||
|           if (upMonitorIndex != -1) { | ||||
|             this.addAction(_("Move to Monitor Up"), Lang.bind(this, function(event) { | ||||
|               window.move_to_monitor(upMonitorIndex); | ||||
|             })); | ||||
|           } | ||||
|           let downMonitorIndex = screen.get_monitor_neighbor_index(monitorIndex, Meta.ScreenDirection.DOWN); | ||||
|           if (downMonitorIndex != -1) { | ||||
|             this.addAction(_("Move to Monitor Down"), Lang.bind(this, function(event) { | ||||
|               window.move_to_monitor(downMonitorIndex); | ||||
|             })); | ||||
|           } | ||||
|           let leftMonitorIndex = screen.get_monitor_neighbor_index(monitorIndex, Meta.ScreenDirection.LEFT); | ||||
|           if (leftMonitorIndex != -1) { | ||||
|             this.addAction(_("Move to Monitor Left"), Lang.bind(this, function(event) { | ||||
|               window.move_to_monitor(leftMonitorIndex); | ||||
|             })); | ||||
|           } | ||||
|           let rightMonitorIndex = screen.get_monitor_neighbor_index(monitorIndex, Meta.ScreenDirection.RIGHT); | ||||
|           if (rightMonitorIndex != -1) { | ||||
|             this.addAction(_("Move to Monitor Right"), Lang.bind(this, function(event) { | ||||
|               window.move_to_monitor(rightMonitorIndex); | ||||
|             })); | ||||
|           } | ||||
|         } | ||||
|  | ||||
|         this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); | ||||
|  | ||||
|         item = this.addAction(_("Close"), Lang.bind(this, function(event) { | ||||
|   | ||||
							
								
								
									
										297
									
								
								po/an.po
									
									
									
									
									
								
							
							
						
						| @@ -9,24 +9,23 @@ msgstr "" | ||||
| "Project-Id-Version: gnome-shell master\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" | ||||
| "shell&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2015-03-17 12:39+0000\n" | ||||
| "PO-Revision-Date: 2015-03-17 19:50+0100\n" | ||||
| "Last-Translator: Daniel Martinez <entaltoaragon@gmail.com>\n" | ||||
| "POT-Creation-Date: 2015-07-23 08:08+0000\n" | ||||
| "PO-Revision-Date: 2015-04-28 08:40+0200\n" | ||||
| "Last-Translator: Daniel <entaltoaragon@gmail.com>\n" | ||||
| "Language-Team: Aragonés <softaragones@googlegroups.com>\n" | ||||
| "Language: an\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| "X-Generator: Gtranslator 2.91.6\n" | ||||
| "X-Generator: Pootle 2.5.1.1\n" | ||||
| "X-POOTLE-MTIME: 1430206804.000000\n" | ||||
|  | ||||
| #: ../data/50-gnome-shell-system.xml.in.h:1 | ||||
| msgid "System" | ||||
| msgstr "Sistema" | ||||
|  | ||||
| #: ../data/50-gnome-shell-system.xml.in.h:2 | ||||
| #| msgid "%d new notification" | ||||
| #| msgid_plural "%d new notifications" | ||||
| msgid "Show the notification list" | ||||
| msgstr "Amostrar a lista de notificacions" | ||||
|  | ||||
| @@ -136,17 +135,18 @@ msgstr "Indiz de l'anvista seleccionada actual en o selector d'aplicacion." | ||||
| msgid "History for command (Alt-F2) dialog" | ||||
| msgstr "Historico d'o dialogo de comandos (Alt+F2)" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:12 | ||||
| #. 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:13 | ||||
| msgid "History for the looking glass dialog" | ||||
| msgstr "Historico d'o dialogo de \"looking glass\"" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:13 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:14 | ||||
| msgid "Always show the 'Log out' menu item in the user menu." | ||||
| msgstr "" | ||||
| "Amostrar siempre l'elemento de menú \"Trancar sesión\" en o menú de " | ||||
| "l'usuario." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:14 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:15 | ||||
| msgid "" | ||||
| "This key overrides the automatic hiding of the 'Log out' menu item in single-" | ||||
| "user, single-session situations." | ||||
| @@ -154,14 +154,14 @@ msgstr "" | ||||
| "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." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:15 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:16 | ||||
| msgid "" | ||||
| "Whether to remember password for mounting encrypted or remote filesystems" | ||||
| msgstr "" | ||||
| "Indica si se debe recordar a clau ta amontar sistemas de fichers remotos u " | ||||
| "zifraus" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:16 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:17 | ||||
| msgid "" | ||||
| "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 " | ||||
| @@ -173,81 +173,79 @@ msgstr "" | ||||
| "s'amostrará a caixeta \"Remerar clau\". Ista clau estableix a valor " | ||||
| "predeterminada d'a caixeta." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:17 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:18 | ||||
| msgid "Show the week date in the calendar" | ||||
| msgstr "Amostrar a calendata d'a semana en o calendario" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:18 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:19 | ||||
| msgid "If true, display the ISO week date in the calendar." | ||||
| msgstr "Si ye cierta, amuestra a calendata de semana ISO en o calandario." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:19 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:20 | ||||
| msgid "Keybinding to open the application menu" | ||||
| msgstr "Asociación de teclas ta ubrir o menú de l'aplicación" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:20 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:21 | ||||
| msgid "Keybinding to open the application menu." | ||||
| 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:22 | ||||
| msgid "Keybinding to open the \"Show Applications\" view" | ||||
| msgstr "Asociación de teclas ta la vista \"Amostrar aplicacions\"" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:23 | ||||
| msgid "" | ||||
| "Keybinding to open the \"Show Applications\" view of the Activities Overview." | ||||
| msgstr "" | ||||
| "Asociación de teclas ta ubrir la vista \"Amostrar aplicacions\" de la vista " | ||||
| "d'actividatz." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:23 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:24 | ||||
| msgid "Keybinding to open the overview" | ||||
| msgstr "Asociación de teclas ta l'anvista cheneral" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:24 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:25 | ||||
| msgid "Keybinding to open the Activities Overview." | ||||
| msgstr "Asociación de teclas ta ubrir l'anvista d'actividatz" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:25 | ||||
| #| msgid "Keybinding to toggle the visibility of the message tray" | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:26 | ||||
| msgid "Keybinding to toggle the visibility of the notification list" | ||||
| msgstr "" | ||||
| "Asociación de teclas ta cambiar a visibilidat d'a lista de notificacions" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:26 | ||||
| #| msgid "Keybinding to toggle the visibility of the message tray." | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:27 | ||||
| msgid "Keybinding to toggle the visibility of the notification list." | ||||
| msgstr "" | ||||
| "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:28 | ||||
| msgid "Keybinding to focus the active notification" | ||||
| msgstr "Asociación de teclas ta dar o foco a la notificación activa" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:28 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 | ||||
| msgid "Keybinding to focus the active notification." | ||||
| 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:30 | ||||
| msgid "" | ||||
| "Keybinding that pauses and resumes all running tweens, for debugging purposes" | ||||
| msgstr "" | ||||
| "Asociación de teclas que pausan y continan todas as execucions de «tweens», " | ||||
| "ta propositos de depuraci'on" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:30 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:31 | ||||
| msgid "Which keyboard to use" | ||||
| msgstr "Que teclau usar" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:31 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:32 | ||||
| msgid "The type of keyboard to use." | ||||
| msgstr "O tipo de teclau que usar." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:32 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:33 | ||||
| msgid "Limit switcher to current workspace." | ||||
| msgstr "Selector de limite ta l'aria de treballo actual." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:33 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:34 | ||||
| msgid "" | ||||
| "If true, only applications that have windows on the current workspace are " | ||||
| "shown in the switcher. Otherwise, all applications are included." | ||||
| @@ -256,21 +254,21 @@ msgstr "" | ||||
| "finestras en l'aria de treballo actual. D'atra man, s'incluirán todas as " | ||||
| "aplicacions." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:34 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 | ||||
| msgid "The application icon mode." | ||||
| msgstr "O modo d'icono de l'aplicación." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:36 | ||||
| msgid "" | ||||
| "Configures how the windows are shown in the switcher. Valid possibilities " | ||||
| "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" | ||||
| "only' (shows only the application icon) or 'both'." | ||||
| "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' " | ||||
| "(shows only the application icon) or 'both'." | ||||
| msgstr "" | ||||
| "Configura cómo s'amuestran as finestras en o selector. Os valore posibles " | ||||
| "son \"thumbnail-only\" (amuestra una miniatura d'a finestra), \"app-icon-only" | ||||
| "\" (solament amuestra l'icono de l'aplicación) u \"both\"." | ||||
| "son \"thumbnail-only\" (amuestra una miniatura d'a finestra), \"app-icon-" | ||||
| "only\" (solament amuestra l'icono de l'aplicación) u \"both\"." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:36 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:37 | ||||
| msgid "" | ||||
| "If true, only windows from the current workspace are shown in the switcher. " | ||||
| "Otherwise, all windows are included." | ||||
| @@ -278,31 +276,31 @@ msgstr "" | ||||
| "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." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:37 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:38 | ||||
| msgid "Attach modal dialog to the parent window" | ||||
| msgstr "Acoplar un dialogo modal a la finestra pai" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:38 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:39 | ||||
| msgid "" | ||||
| "This key overrides the key in org.gnome.mutter when running GNOME Shell." | ||||
| msgstr "" | ||||
| "Ista clau sobrescribe a clau en org.gnome.mutter en executar GNOME Shell." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:39 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:40 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "" | ||||
| "Activar o mosaico en os bordes en arrocegar finestras a os bordes d'a " | ||||
| "finestra" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:40 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:41 | ||||
| msgid "Workspaces are managed dynamically" | ||||
| msgstr "As arias de treballo se chestionan dinámicamente" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:41 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:42 | ||||
| msgid "Workspaces only on primary monitor" | ||||
| msgstr "Arias de treballo solament en a pantalla prencipal" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:42 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:43 | ||||
| msgid "Delay focus changes in mouse mode until the pointer stops moving" | ||||
| msgstr "" | ||||
| "Retardo en cambiar o foco d'o churi dica que o puntero deixa de mover-se" | ||||
| @@ -311,12 +309,12 @@ msgstr "" | ||||
| msgid "Network Login" | ||||
| msgstr "Encetar sesión en o rete" | ||||
|  | ||||
| #: ../js/extensionPrefs/main.js:123 | ||||
| #: ../js/extensionPrefs/main.js:122 | ||||
| #, javascript-format | ||||
| 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:" | ||||
|  | ||||
| #: ../js/extensionPrefs/main.js:155 | ||||
| #: ../js/extensionPrefs/main.js:154 | ||||
| msgid "GNOME Shell Extensions" | ||||
| msgstr "Extensions de GNOME Shell" | ||||
|  | ||||
| @@ -327,39 +325,39 @@ msgstr "Extensions de GNOME Shell" | ||||
| msgid "Cancel" | ||||
| msgstr "Cancelar" | ||||
|  | ||||
| #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 | ||||
| #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215 | ||||
| msgid "Next" | ||||
| msgstr "Siguient" | ||||
|  | ||||
| #: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 | ||||
| #: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403 | ||||
| #: ../js/ui/unlockDialog.js:59 | ||||
| msgid "Unlock" | ||||
| msgstr "Desbloquiar" | ||||
|  | ||||
| #: ../js/gdm/authPrompt.js:215 | ||||
| #: ../js/gdm/authPrompt.js:213 | ||||
| msgctxt "button" | ||||
| msgid "Sign In" | ||||
| msgstr "Encetar sesión" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:280 | ||||
| #: ../js/gdm/loginDialog.js:281 | ||||
| msgid "Choose Session" | ||||
| msgstr "Esleyir a sesión" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:420 | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| msgid "Not listed?" | ||||
| msgstr "No ye en a lista?" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:829 | ||||
| #: ../js/gdm/loginDialog.js:847 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(eix., usuario u %s)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:834 ../js/ui/components/networkAgent.js:271 | ||||
| #: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271 | ||||
| #: ../js/ui/components/networkAgent.js:289 | ||||
| msgid "Username: " | ||||
| msgstr "Nombre d'usuario:" | ||||
| msgstr "Nombre d'usuario: " | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:1169 | ||||
| #: ../js/gdm/loginDialog.js:1180 | ||||
| msgid "Login Window" | ||||
| msgstr "Finestra d'inicio de sesión" | ||||
|  | ||||
| @@ -452,31 +450,31 @@ msgstr "%d de %B de %Y, %l∶%M %" | ||||
| msgid "Web Authentication Redirect" | ||||
| msgstr "Rendrecera ta autentiación web" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:792 | ||||
| #: ../js/ui/appDisplay.js:789 | ||||
| msgid "Frequently used applications will appear here" | ||||
| msgstr "As aplicaciones usadas freqüentment amaneixerán aquí" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:912 | ||||
| #: ../js/ui/appDisplay.js:909 | ||||
| msgid "Frequent" | ||||
| msgstr "Freqüent" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:919 | ||||
| #: ../js/ui/appDisplay.js:916 | ||||
| msgid "All" | ||||
| msgstr "Todas" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1850 | ||||
| #: ../js/ui/appDisplay.js:1845 | ||||
| msgid "New Window" | ||||
| msgstr "Finestra nueva" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291 | ||||
| #: ../js/ui/appDisplay.js:1873 ../js/ui/dash.js:289 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "Sacar d'os favoritos" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1884 | ||||
| #: ../js/ui/appDisplay.js:1879 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "Anyadir a os favoritos" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1894 | ||||
| #: ../js/ui/appDisplay.js:1889 | ||||
| msgid "Show Details" | ||||
| msgstr "Amostrar detalles" | ||||
|  | ||||
| @@ -490,15 +488,19 @@ msgstr "S'ha anyadiu %s a os suyos favoritos." | ||||
| msgid "%s has been removed from your favorites." | ||||
| msgstr "S'ha sacau %s d'os suyos favoritos" | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650 | ||||
| #: ../js/ui/status/system.js:337 | ||||
| msgid "Settings" | ||||
| msgstr "Configuración" | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:21 | ||||
| #: ../js/ui/backgroundMenu.js:19 | ||||
| msgid "Change Background…" | ||||
| 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" | ||||
| msgstr "Configuración" | ||||
|  | ||||
| #. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */ | ||||
| #: ../js/ui/calendar.js:53 | ||||
| msgctxt "calendar-no-work" | ||||
| @@ -551,54 +553,53 @@ msgctxt "grid saturday" | ||||
| msgid "S" | ||||
| msgstr "S" | ||||
|  | ||||
| #: ../js/ui/calendar.js:563 | ||||
| #: ../js/ui/calendar.js:564 | ||||
| msgid "Previous month" | ||||
| msgstr "Mes anterior" | ||||
|  | ||||
| #: ../js/ui/calendar.js:573 | ||||
| #: ../js/ui/calendar.js:574 | ||||
| msgid "Next month" | ||||
| msgstr "Mes siguient" | ||||
|  | ||||
| #: ../js/ui/calendar.js:780 | ||||
| #: ../js/ui/calendar.js:781 | ||||
| msgid "Week %V" | ||||
| msgstr "Semana %V" | ||||
|  | ||||
| #. Translators: Shown in calendar event list for all day events | ||||
| #. * Keep it short, best if you can use less then 10 characters | ||||
| #. */ | ||||
| #: ../js/ui/calendar.js:1182 | ||||
| #: ../js/ui/calendar.js:1187 | ||||
| msgctxt "event list time" | ||||
| msgid "All Day" | ||||
| msgstr "Tot o diya" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1288 | ||||
| #: ../js/ui/calendar.js:1289 | ||||
| msgid "Clear section" | ||||
| msgstr "Limpiar a sección" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1515 | ||||
| #: ../js/ui/calendar.js:1516 | ||||
| msgid "Events" | ||||
| msgstr "Eventos" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1524 | ||||
| #: ../js/ui/calendar.js:1525 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, %d de %B" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1528 | ||||
| #: ../js/ui/calendar.js:1529 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A, %d de %B de %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1613 | ||||
| #: ../js/ui/calendar.js:1614 | ||||
| msgid "Notifications" | ||||
| msgstr "Notificacions" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1764 | ||||
| #| msgid "Notifications" | ||||
| #: ../js/ui/calendar.js:1765 | ||||
| msgid "No Notifications" | ||||
| msgstr "No i hai notificacions" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1767 | ||||
| #: ../js/ui/calendar.js:1768 | ||||
| msgid "No Events" | ||||
| msgstr "No i hai eventos" | ||||
|  | ||||
| @@ -634,23 +635,23 @@ msgstr "Connectar" | ||||
| #: ../js/ui/components/networkAgent.js:293 | ||||
| #: ../js/ui/components/networkAgent.js:303 | ||||
| msgid "Password: " | ||||
| msgstr "Clau de paso:" | ||||
| msgstr "Clau de paso: " | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:238 | ||||
| msgid "Key: " | ||||
| msgstr "Clau:" | ||||
| msgstr "Clau: " | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:277 | ||||
| msgid "Identity: " | ||||
| msgstr "Identidat:" | ||||
| msgstr "Identidat: " | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:279 | ||||
| msgid "Private key password: " | ||||
| msgstr "Clau d'a clau privada:" | ||||
| msgstr "Clau d'a clau privada: " | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:291 | ||||
| msgid "Service: " | ||||
| msgstr "Servicio:" | ||||
| msgstr "Servicio: " | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:320 | ||||
| #: ../js/ui/components/networkAgent.js:658 | ||||
| @@ -661,8 +662,8 @@ msgstr "O ret sin cordón requiere autenticación" | ||||
| #: ../js/ui/components/networkAgent.js:659 | ||||
| #, javascript-format | ||||
| msgid "" | ||||
| "Passwords or encryption keys are required to access the wireless network " | ||||
| "“%s”." | ||||
| "Passwords or encryption keys are required to access the wireless network “" | ||||
| "%s”." | ||||
| msgstr "" | ||||
| "S'amenesten claus u claus de zifrau ta accedir a o ret inalambrico\"%s\"." | ||||
|  | ||||
| @@ -673,7 +674,7 @@ msgstr "Autenticación 802.1X cableada" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:327 | ||||
| msgid "Network name: " | ||||
| msgstr "Nombre d'o ret:" | ||||
| msgstr "Nombre d'o ret: " | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:332 | ||||
| #: ../js/ui/components/networkAgent.js:666 | ||||
| @@ -733,7 +734,7 @@ msgstr "Prebe atra vegada." | ||||
|  | ||||
| #. Translators: this is the other person changing their old IM name to their new | ||||
| #. IM name. */ | ||||
| #: ../js/ui/components/telepathyClient.js:768 | ||||
| #: ../js/ui/components/telepathyClient.js:757 | ||||
| #, javascript-format | ||||
| msgid "%s is now known as %s" | ||||
| msgstr "Agora %s se dice %s" | ||||
| @@ -742,11 +743,11 @@ msgstr "Agora %s se dice %s" | ||||
| msgid "Windows" | ||||
| msgstr "Finestras" | ||||
|  | ||||
| #: ../js/ui/dash.js:252 ../js/ui/dash.js:293 | ||||
| #: ../js/ui/dash.js:250 ../js/ui/dash.js:291 | ||||
| msgid "Show Applications" | ||||
| msgstr "Amostrar aplicacions" | ||||
|  | ||||
| #: ../js/ui/dash.js:453 | ||||
| #: ../js/ui/dash.js:449 | ||||
| msgid "Dash" | ||||
| msgstr "Tablero" | ||||
|  | ||||
| @@ -754,7 +755,6 @@ msgstr "Tablero" | ||||
| #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:73 | ||||
| #| msgid "%A %B %e, %Y" | ||||
| msgid "%B %e %Y" | ||||
| msgstr "%B %e %Y" | ||||
|  | ||||
| @@ -763,7 +763,6 @@ msgstr "%B %e %Y" | ||||
| #. * date, e.g. "Tuesday February 17 2015". | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:80 | ||||
| #| msgid "%A %B %e, %Y" | ||||
| msgid "%A %B %e %Y" | ||||
| msgstr "%A %e de %B de %Y" | ||||
|  | ||||
| @@ -772,7 +771,6 @@ msgid "Add world clocks…" | ||||
| msgstr "Adhibir reloches d'o mundo…" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:161 | ||||
| #| msgid "Open Clocks" | ||||
| msgid "World Clocks" | ||||
| msgstr "Reloches d'o mundo" | ||||
|  | ||||
| @@ -916,17 +914,16 @@ msgstr "Instalar" | ||||
| msgid "Download and install “%s” from extensions.gnome.org?" | ||||
| msgstr "Descargar y instalar \"%s\" dende extensions.gnome.org?" | ||||
|  | ||||
| #: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:580 | ||||
| #: ../js/ui/keyboard.js:747 ../js/ui/status/keyboard.js:713 | ||||
| msgid "Keyboard" | ||||
| msgstr "Teclau" | ||||
|  | ||||
| #. translators: 'Hide' is a verb */ | ||||
| #: ../js/ui/legacyTray.js:64 | ||||
| #| msgid "Hide Text" | ||||
| #: ../js/ui/legacyTray.js:66 | ||||
| msgid "Hide tray" | ||||
| msgstr "Amagar servilla" | ||||
|  | ||||
| #: ../js/ui/legacyTray.js:104 | ||||
| #: ../js/ui/legacyTray.js:107 | ||||
| msgid "Status Icons" | ||||
| msgstr "Iconos d'estau" | ||||
|  | ||||
| @@ -982,7 +979,7 @@ msgstr "Veyer fuent" | ||||
| msgid "Web Page" | ||||
| msgstr "Pachina web" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2133 | ||||
| #: ../js/ui/messageTray.js:1486 | ||||
| msgid "System Information" | ||||
| msgstr "Informacion d'o sistema" | ||||
|  | ||||
| @@ -1024,7 +1021,7 @@ msgstr "toggle-switch-intl" | ||||
| msgid "Enter a Command" | ||||
| msgstr "Introducir un comando" | ||||
|  | ||||
| #: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:120 | ||||
| #: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162 | ||||
| msgid "Close" | ||||
| msgstr "Trancar" | ||||
|  | ||||
| @@ -1052,27 +1049,27 @@ msgid_plural "%d new notifications" | ||||
| msgstr[0] "%d notificación nueva" | ||||
| msgstr[1] "%d notificacions nuevas" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345 | ||||
| #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:365 | ||||
| msgid "Lock" | ||||
| msgstr "Blocar" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:668 | ||||
| #: ../js/ui/screenShield.js:684 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "GNOME ameneste blocar a pantalla" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271 | ||||
| #: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271 | ||||
| msgid "Unable to lock" | ||||
| msgstr "No se podió blocar" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272 | ||||
| #: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "Una aplicación impidió o bloqueyo" | ||||
|  | ||||
| #: ../js/ui/search.js:616 | ||||
| #: ../js/ui/search.js:617 | ||||
| msgid "Searching…" | ||||
| msgstr "Mirando…" | ||||
|  | ||||
| #: ../js/ui/search.js:618 | ||||
| #: ../js/ui/search.js:619 | ||||
| msgid "No results." | ||||
| msgstr "No se troboron resultaus." | ||||
|  | ||||
| @@ -1136,11 +1133,11 @@ msgstr "Refuso de teclas" | ||||
| msgid "Mouse Keys" | ||||
| msgstr "Teclas d'o ratet" | ||||
|  | ||||
| #: ../js/ui/status/accessibility.js:144 | ||||
| #: ../js/ui/status/accessibility.js:167 | ||||
| msgid "High Contrast" | ||||
| msgstr "Contraste alto" | ||||
|  | ||||
| #: ../js/ui/status/accessibility.js:193 | ||||
| #: ../js/ui/status/accessibility.js:202 | ||||
| msgid "Large Text" | ||||
| msgstr "Texto gran" | ||||
|  | ||||
| @@ -1174,7 +1171,7 @@ msgstr "No connectau" | ||||
| msgid "Brightness" | ||||
| msgstr "Brilo" | ||||
|  | ||||
| #: ../js/ui/status/keyboard.js:603 | ||||
| #: ../js/ui/status/keyboard.js:736 | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "Amostrar a distribución d'o teclau" | ||||
|  | ||||
| @@ -1268,7 +1265,7 @@ msgstr "O modo avión ye enchegau" | ||||
|  | ||||
| #: ../js/ui/status/network.js:814 | ||||
| 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 | ||||
| msgid "Turn Off Airplane Mode" | ||||
| @@ -1385,23 +1382,23 @@ msgstr "Modo avión" | ||||
| msgid "On" | ||||
| msgstr "Enchegau" | ||||
|  | ||||
| #: ../js/ui/status/system.js:317 | ||||
| #: ../js/ui/status/system.js:337 | ||||
| msgid "Switch User" | ||||
| msgstr "Cambear d'usuario" | ||||
|  | ||||
| #: ../js/ui/status/system.js:322 | ||||
| #: ../js/ui/status/system.js:342 | ||||
| msgid "Log Out" | ||||
| msgstr "Trancar sesion" | ||||
|  | ||||
| #: ../js/ui/status/system.js:341 | ||||
| #: ../js/ui/status/system.js:361 | ||||
| msgid "Orientation Lock" | ||||
| msgstr "Bloqueyo d'Orientación" | ||||
|  | ||||
| #: ../js/ui/status/system.js:349 | ||||
| #: ../js/ui/status/system.js:369 | ||||
| msgid "Suspend" | ||||
| msgstr "Suspender" | ||||
|  | ||||
| #: ../js/ui/status/system.js:352 | ||||
| #: ../js/ui/status/system.js:372 | ||||
| msgid "Power Off" | ||||
| msgstr "Amortar" | ||||
|  | ||||
| @@ -1433,27 +1430,27 @@ msgstr "Aplicacions" | ||||
| msgid "Search" | ||||
| msgstr "Mirar" | ||||
|  | ||||
| #: ../js/ui/windowAttentionHandler.js:19 | ||||
| #: ../js/ui/windowAttentionHandler.js:20 | ||||
| #, javascript-format | ||||
| msgid "“%s” is ready" | ||||
| msgstr "\"%s\" ye parau" | ||||
|  | ||||
| #: ../js/ui/windowManager.js:65 | ||||
| #: ../js/ui/windowManager.js:63 | ||||
| msgid "Do you want to keep these display settings?" | ||||
| msgstr "Quiers mantener istas opcions de pantalla?" | ||||
|  | ||||
| #. Translators: this and the following message should be limited in lenght, | ||||
| #. to avoid ellipsizing the labels. | ||||
| #. */ | ||||
| #: ../js/ui/windowManager.js:84 | ||||
| #: ../js/ui/windowManager.js:82 | ||||
| msgid "Revert Settings" | ||||
| msgstr "Revertir as opcions" | ||||
|  | ||||
| #: ../js/ui/windowManager.js:88 | ||||
| #: ../js/ui/windowManager.js:86 | ||||
| msgid "Keep Changes" | ||||
| msgstr "Mantener os cambeos" | ||||
|  | ||||
| #: ../js/ui/windowManager.js:107 | ||||
| #: ../js/ui/windowManager.js:105 | ||||
| #, javascript-format | ||||
| msgid "Settings changes will revert in %d second" | ||||
| msgid_plural "Settings changes will revert in %d seconds" | ||||
| @@ -1462,7 +1459,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 | ||||
| #. * the width of the window and the second is the height. */ | ||||
| #: ../js/ui/windowManager.js:599 | ||||
| #: ../js/ui/windowManager.js:660 | ||||
| #, javascript-format | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
| @@ -1499,14 +1496,48 @@ msgstr "Siempre veyible" | ||||
| msgid "Always on Visible Workspace" | ||||
| msgstr "Siempre en l'aria de treballo veyible" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:106 | ||||
| #: ../js/ui/windowMenu.js:105 | ||||
| #, 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" | ||||
| msgstr "Mover ta l'aria de treballo d'alto" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:111 | ||||
| #: ../js/ui/windowMenu.js:120 | ||||
| msgid "Move to Workspace Down" | ||||
| 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 | ||||
| msgid "Evolution Calendar" | ||||
| msgstr "Calandario d'Evolution" | ||||
| @@ -1561,11 +1592,11 @@ msgstr "Desconoxiu" | ||||
| msgid "Failed to launch “%s”" | ||||
| msgstr "Ha fallau en aventar \"%s\"" | ||||
|  | ||||
| #: ../src/shell-keyring-prompt.c:714 | ||||
| #: ../src/shell-keyring-prompt.c:742 | ||||
| msgid "Passwords do not match." | ||||
| msgstr "As claus de paso no coinciden." | ||||
|  | ||||
| #: ../src/shell-keyring-prompt.c:722 | ||||
| #: ../src/shell-keyring-prompt.c:750 | ||||
| msgid "Password cannot be blank" | ||||
| msgstr "A clau de paso no puede estar vueda" | ||||
|  | ||||
| @@ -1803,14 +1834,6 @@ msgstr "L'usuario refusó o dialogo d'autenticación" | ||||
| #~ msgid "The maximum accuracy level of location." | ||||
| #~ 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 "" | ||||
| #~ "Configures the maximum level of location accuracy applications are " | ||||
| #~ "allowed to see. Valid options are 'off' (disable location tracking), " | ||||
| @@ -1822,8 +1845,8 @@ msgstr "L'usuario refusó o dialogo d'autenticación" | ||||
| #~ msgstr "" | ||||
| #~ "Configura o ran maximo de precisión d'ubicación que as aplicacions  " | ||||
| #~ "pueden veyer. As opcions validas son 'off' (seguimiento d'ubicación " | ||||
| #~ "desenchegau), 'country', 'city', 'neighborhood', 'street', and " | ||||
| #~ "'exact' (typicament requier GPS " | ||||
| #~ "desenchegau), 'country', 'city', 'neighborhood', 'street', and 'exact' " | ||||
| #~ "(typicament requier GPS " | ||||
|  | ||||
| #~ msgid "Arrangement of buttons on the titlebar" | ||||
| #~ msgstr "Orden d'os botons en a barra de titol" | ||||
| @@ -1968,7 +1991,6 @@ msgstr "L'usuario refusó o dialogo d'autenticación" | ||||
| #~ msgid "Session…" | ||||
| #~ msgstr "Sesión…" | ||||
|  | ||||
| #~| msgid "Power Off" | ||||
| #~ msgid "Power" | ||||
| #~ msgstr "Enerchía" | ||||
|  | ||||
| @@ -2132,11 +2154,9 @@ msgstr "L'usuario refusó o dialogo d'autenticación" | ||||
| #~ msgid "%d%%" | ||||
| #~ msgstr "%d%%" | ||||
|  | ||||
| #~| msgid "AC adapter" | ||||
| #~ msgid "AC Adapter" | ||||
| #~ msgstr "Adaptador de corrient" | ||||
|  | ||||
| #~| msgid "Laptop battery" | ||||
| #~ msgid "Laptop Battery" | ||||
| #~ msgstr "Bateria d'o portatil" | ||||
|  | ||||
| @@ -2149,11 +2169,9 @@ msgstr "L'usuario refusó o dialogo d'autenticación" | ||||
| #~ msgid "PDA" | ||||
| #~ msgstr "PDA" | ||||
|  | ||||
| #~| msgid "Cell phone" | ||||
| #~ msgid "Cell Phone" | ||||
| #~ msgstr "Telefono movil" | ||||
|  | ||||
| #~| msgid "Media player" | ||||
| #~ msgid "Media Player" | ||||
| #~ msgstr "Reproductor multimeya" | ||||
|  | ||||
| @@ -2163,7 +2181,6 @@ msgstr "L'usuario refusó o dialogo d'autenticación" | ||||
| #~ msgid "Computer" | ||||
| #~ msgstr "Equipo" | ||||
|  | ||||
| #~| msgid "Unknown" | ||||
| #~ msgctxt "device" | ||||
| #~ msgid "Unknown" | ||||
| #~ msgstr "Desconoxiu" | ||||
|   | ||||
							
								
								
									
										272
									
								
								po/is.po
									
									
									
									
									
								
							
							
						
						| @@ -7,10 +7,10 @@ msgstr "" | ||||
| "Project-Id-Version: \n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" | ||||
| "shell&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2015-12-04 22:14+0000\n" | ||||
| "PO-Revision-Date: 2015-12-05 13:05+0000\n" | ||||
| "POT-Creation-Date: 2015-04-24 08:08+0000\n" | ||||
| "PO-Revision-Date: 2015-04-24 13:39+0000\n" | ||||
| "Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n" | ||||
| "Language-Team: Icelandic <translation-team-is@lists.sourceforge.org>\n" | ||||
| "Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n" | ||||
| "Language: is\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| @@ -23,6 +23,8 @@ msgid "System" | ||||
| msgstr "Kerfið" | ||||
|  | ||||
| #: ../data/50-gnome-shell-system.xml.in.h:2 | ||||
| #| msgid "%d new notification" | ||||
| #| msgid_plural "%d new notifications" | ||||
| msgid "Show the notification list" | ||||
| msgstr "Birta tilkynningalistann" | ||||
|  | ||||
| @@ -108,7 +110,7 @@ msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:9 | ||||
| msgid "App Picker View" | ||||
| msgstr "Forritavalssýn" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:10 | ||||
| msgid "Index of the currently selected view in the application picker." | ||||
| @@ -124,7 +126,7 @@ msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:13 | ||||
| msgid "Always show the 'Log out' menu item in the user menu." | ||||
| msgstr "Alltaf sýna \"Skrá út\" atriðið í notandavalmyndinni." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:14 | ||||
| msgid "" | ||||
| @@ -156,44 +158,44 @@ msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:19 | ||||
| msgid "Keybinding to open the application menu" | ||||
| msgstr "Lyklasamsetning til að opna forritavalmyndina" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:20 | ||||
| msgid "Keybinding to open the application menu." | ||||
| msgstr "Lyklasamsetning til að opna forritavalmyndina." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:21 | ||||
| msgid "Keybinding to open the \"Show Applications\" view" | ||||
| msgstr "Lyklasamsetning til að opna \"Birta forrit\" sýnina" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 | ||||
| msgid "" | ||||
| "Keybinding to open the \"Show Applications\" view of the Activities Overview." | ||||
| msgstr "Lyklasamsetning til að opna \"Birta forrit\" sýn virkniyfirlitsins." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:23 | ||||
| msgid "Keybinding to open the overview" | ||||
| msgstr "Lyklasamsetning til að opna virkniyfirlitið" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:24 | ||||
| msgid "Keybinding to open the Activities Overview." | ||||
| msgstr "Lyklasamsetning til að opna virkniyfirlitið." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:25 | ||||
| msgid "Keybinding to toggle the visibility of the notification list" | ||||
| msgstr "Lyklasamsetning til að víxla sýnileika tilkynningalistans" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:26 | ||||
| msgid "Keybinding to toggle the visibility of the notification list." | ||||
| msgstr "Keybinding to toggle the visibility of the notification list." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:27 | ||||
| msgid "Keybinding to focus the active notification" | ||||
| msgstr "Lyklasamsetning til að setja áherslu á virka tilkynningu" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:28 | ||||
| msgid "Keybinding to focus the active notification." | ||||
| msgstr "Lyklasamsetning til að setja áherslu á virka tilkynningu." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 | ||||
| msgid "" | ||||
| @@ -210,19 +212,17 @@ msgstr "Tegund lyklaborðs sem á að nota." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:32 | ||||
| msgid "Limit switcher to current workspace." | ||||
| msgstr "Takmarka forritaskiptinn við núverandi vinnusvæði." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:33 | ||||
| msgid "" | ||||
| "If true, only applications that have windows on the current workspace are " | ||||
| "shown in the switcher. Otherwise, all applications are included." | ||||
| msgstr "" | ||||
| "Ef þetta er valið, verða einungis forrit sem eiga glugga á núverandi " | ||||
| "vinnusvæði birt í forritaskiptinum. Annars verða öll forrit talin upp." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:34 | ||||
| msgid "The application icon mode." | ||||
| msgstr "Táknmyndahamur forritsins." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 | ||||
| msgid "" | ||||
| @@ -235,26 +235,24 @@ msgstr "" | ||||
| msgid "" | ||||
| "If true, only windows from the current workspace are shown in the switcher. " | ||||
| "Otherwise, all windows are included." | ||||
| msgstr "Birta eingöngu glugga á núverandi vinnusvæði." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:37 | ||||
| msgid "Attach modal dialog to the parent window" | ||||
| msgstr "Festa kvaðningarglugga við yfirglugga" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:38 | ||||
| msgid "" | ||||
| "This key overrides the key in org.gnome.mutter when running GNOME Shell." | ||||
| msgstr "" | ||||
| "Þetta hefur forgang fram yfir lykilinn í kjörstillingum org.gnome.mutter " | ||||
| "þegar GNOME Skelin er keyrð." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:39 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "Virkja flísalögn við jaðra þegar gluggum er sleppt á skjájaðra" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:40 | ||||
| msgid "Workspaces are managed dynamically" | ||||
| msgstr "Vinnusvæðum er stýrt eftir þörfum" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:41 | ||||
| msgid "Workspaces only on primary monitor" | ||||
| @@ -263,7 +261,6 @@ msgstr "Vinnusvæði einungis á aðalskjá" | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:42 | ||||
| msgid "Delay focus changes in mouse mode until the pointer stops moving" | ||||
| msgstr "" | ||||
| "Fresta breytingum á virkni í músarham þar til bendillinn hefur stöðvast" | ||||
|  | ||||
| #: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1 | ||||
| msgid "Network Login" | ||||
| @@ -286,7 +283,6 @@ msgid "Cancel" | ||||
| msgstr "Hætta við" | ||||
|  | ||||
| #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215 | ||||
| #: ../js/gdm/authPrompt.js:435 | ||||
| msgid "Next" | ||||
| msgstr "Næsta" | ||||
|  | ||||
| @@ -304,29 +300,21 @@ msgstr "Skrá inn" | ||||
| msgid "Choose Session" | ||||
| msgstr "Veldu setu" | ||||
|  | ||||
| #. translators: this message is shown below the user list on the | ||||
| #. login screen. It can be activated to reveal an entry for | ||||
| #. manually entering the username. | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| msgid "Not listed?" | ||||
| msgstr "Ekki á listanum?" | ||||
|  | ||||
| #. Translators: this message is shown below the username entry field | ||||
| #. to clue the user in on how to login to the local network realm | ||||
| #: ../js/gdm/loginDialog.js:847 | ||||
| #: ../js/gdm/loginDialog.js:840 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(t.d., notandi eða %s)" | ||||
|  | ||||
| #. TTLS and PEAP are actually much more complicated, but this complication | ||||
| #. is not visible here since we only care about phase2 authentication | ||||
| #. (and don't even care of which one) | ||||
| #: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271 | ||||
| #: ../js/gdm/loginDialog.js:845 ../js/ui/components/networkAgent.js:271 | ||||
| #: ../js/ui/components/networkAgent.js:289 | ||||
| msgid "Username: " | ||||
| msgstr "Notandanafn:" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:1181 | ||||
| #: ../js/gdm/loginDialog.js:1173 | ||||
| msgid "Login Window" | ||||
| msgstr "Innskráningargluggi" | ||||
|  | ||||
| @@ -334,11 +322,6 @@ msgstr "Innskráningargluggi" | ||||
| msgid "Authentication error" | ||||
| msgstr "Auðkenningarvilla" | ||||
|  | ||||
| #. We don't show fingerprint messages directly since it's | ||||
| #. not the main auth service. Instead we use the messages | ||||
| #. as a cue to display our own message. | ||||
| #. Translators: this message is shown below the password entry field | ||||
| #. to indicate the user can swipe their finger instead | ||||
| #: ../js/gdm/util.js:473 | ||||
| msgid "(or swipe finger)" | ||||
| msgstr "(eða strjúka fingri)" | ||||
| @@ -347,8 +330,6 @@ msgstr "(eða strjúka fingri)" | ||||
| msgid "Command not found" | ||||
| msgstr "Skipun fannst ekki" | ||||
|  | ||||
| #. Replace "Error invoking GLib.shell_parse_argv: " with | ||||
| #. something nicer | ||||
| #: ../js/misc/util.js:152 | ||||
| msgid "Could not parse command:" | ||||
| msgstr "Gat ekki þáttað skipun:" | ||||
| @@ -358,107 +339,99 @@ msgstr "Gat ekki þáttað skipun:" | ||||
| msgid "Execution of “%s” failed:" | ||||
| msgstr "Keyrsla '“%s' mistókst:" | ||||
|  | ||||
| #. Translators: Time in 24h format | ||||
| #. Translators: Time in 24h format */ | ||||
| #: ../js/misc/util.js:191 | ||||
| msgid "%H∶%M" | ||||
| msgstr "%H∶%M" | ||||
|  | ||||
| #. Translators: this is the word "Yesterday" followed by a | ||||
| #. time string in 24h format. i.e. "Yesterday, 14:30" | ||||
| #. time string in 24h format. i.e. "Yesterday, 14:30" */ | ||||
| #: ../js/misc/util.js:197 | ||||
| #, no-c-format | ||||
| msgid "Yesterday, %H∶%M" | ||||
| msgstr "Í gær klukkan H:∶%M" | ||||
|  | ||||
| #. Translators: this is the week day name followed by a time | ||||
| #. string in 24h format. i.e. "Monday, 14:30" | ||||
| #. string in 24h format. i.e. "Monday, 14:30" */ | ||||
| #: ../js/misc/util.js:203 | ||||
| #, no-c-format | ||||
| msgid "%A, %H∶%M" | ||||
| msgstr "%A, klukkan %H∶%M" | ||||
|  | ||||
| #. Translators: this is the month name and day number | ||||
| #. followed by a time string in 24h format. | ||||
| #. i.e. "May 25, 14:30" | ||||
| #. i.e. "May 25, 14:30" */ | ||||
| #: ../js/misc/util.js:209 | ||||
| #, no-c-format | ||||
| msgid "%B %d, %H∶%M" | ||||
| msgstr "%d. %B, kl. %H∶%M" | ||||
|  | ||||
| #. Translators: this is the month name, day number, year | ||||
| #. number followed by a time string in 24h format. | ||||
| #. i.e. "May 25 2012, 14:30" | ||||
| #. i.e. "May 25 2012, 14:30" */ | ||||
| #: ../js/misc/util.js:215 | ||||
| #, no-c-format | ||||
| msgid "%B %d %Y, %H∶%M" | ||||
| msgstr "%d. %B %Y, kl. %H∶%M" | ||||
|  | ||||
| #. Translators: Time in 12h format | ||||
| #. Translators: Time in 12h format */ | ||||
| #: ../js/misc/util.js:220 | ||||
| msgid "%l∶%M %p" | ||||
| msgstr "%l:%M" | ||||
|  | ||||
| #. Translators: this is the word "Yesterday" followed by a | ||||
| #. time string in 12h format. i.e. "Yesterday, 2:30 pm" | ||||
| #. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ | ||||
| #: ../js/misc/util.js:226 | ||||
| #, no-c-format | ||||
| msgid "Yesterday, %l∶%M %p" | ||||
| msgstr "í gær, kl. %I:%M %p" | ||||
|  | ||||
| #. Translators: this is the week day name followed by a time | ||||
| #. string in 12h format. i.e. "Monday, 2:30 pm" | ||||
| #. string in 12h format. i.e. "Monday, 2:30 pm" */ | ||||
| #: ../js/misc/util.js:232 | ||||
| #, no-c-format | ||||
| msgid "%A, %l∶%M %p" | ||||
| msgstr "%A, %l∶%M %p" | ||||
|  | ||||
| #. Translators: this is the month name and day number | ||||
| #. followed by a time string in 12h format. | ||||
| #. i.e. "May 25, 2:30 pm" | ||||
| #. i.e. "May 25, 2:30 pm" */ | ||||
| #: ../js/misc/util.js:238 | ||||
| #, no-c-format | ||||
| msgid "%B %d, %l∶%M %p" | ||||
| msgstr "%d. %B, kl. %H∶%M %p" | ||||
|  | ||||
| #. Translators: this is the month name, day number, year | ||||
| #. number followed by a time string in 12h format. | ||||
| #. i.e. "May 25 2012, 2:30 pm" | ||||
| #. i.e. "May 25 2012, 2:30 pm"*/ | ||||
| #: ../js/misc/util.js:244 | ||||
| #, no-c-format | ||||
| msgid "%B %d %Y, %l∶%M %p" | ||||
| msgstr "%d. %B %Y, kl. %H∶%M %p" | ||||
|  | ||||
| #. TRANSLATORS: this is the title of the wifi captive portal login | ||||
| #. * window, until we know the title of the actual login page | ||||
| #. * window, until we know the title of the actual login page */ | ||||
| #: ../js/portalHelper/main.js:85 | ||||
| msgid "Web Authentication Redirect" | ||||
| msgstr "Endurbeining á vefauðkenningu" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:794 | ||||
| #: ../js/ui/appDisplay.js:788 | ||||
| msgid "Frequently used applications will appear here" | ||||
| msgstr "Oftast notuð forrit munu birtast hér" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:914 | ||||
| #: ../js/ui/appDisplay.js:908 | ||||
| msgid "Frequent" | ||||
| msgstr "Algengt" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:921 | ||||
| #: ../js/ui/appDisplay.js:915 | ||||
| msgid "All" | ||||
| msgstr "Allt" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1853 | ||||
| #: ../js/ui/appDisplay.js:1844 | ||||
| msgid "New Window" | ||||
| msgstr "Nýr gluggi" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1881 ../js/ui/dash.js:289 | ||||
| #: ../js/ui/appDisplay.js:1872 ../js/ui/dash.js:289 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "Fjarlægja úr Eftirlæti" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1887 | ||||
| #: ../js/ui/appDisplay.js:1878 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "Bæta í Eftirlæti" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1897 | ||||
| #: ../js/ui/appDisplay.js:1888 | ||||
| msgid "Show Details" | ||||
| msgstr "Sýna ítarlegri upplýsingar" | ||||
|  | ||||
| @@ -472,16 +445,21 @@ msgstr "%s var bætt við sem eftirlætisforrit." | ||||
| msgid "%s has been removed from your favorites." | ||||
| msgstr "%s var fjarlægt úr eftirlætisforritum." | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650 | ||||
| #: ../js/ui/backgroundMenu.js:19 | ||||
| msgid "Change Background…" | ||||
| msgstr "Breyta _bakgrunni skjáborðs…" | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:21 | ||||
| #| msgid "Privacy Settings" | ||||
| msgid "Display Settings" | ||||
| msgstr "Birtingarstillingar" | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650 | ||||
| #: ../js/ui/status/system.js:334 | ||||
| msgid "Settings" | ||||
| msgstr "Stillingar" | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:21 | ||||
| msgid "Change Background…" | ||||
| msgstr "Breyta _bakgrunni skjáborðs…" | ||||
|  | ||||
| #. 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 | ||||
| msgctxt "calendar-no-work" | ||||
| msgid "06" | ||||
| @@ -491,43 +469,43 @@ msgstr "06" | ||||
| #. * | ||||
| #. * NOTE: These grid abbreviations are always shown together | ||||
| #. * and in order, e.g. "S M T W T F S". | ||||
| #. | ||||
| #. */ | ||||
| #: ../js/ui/calendar.js:82 | ||||
| msgctxt "grid sunday" | ||||
| msgid "S" | ||||
| msgstr "Su" | ||||
|  | ||||
| #. Translators: Calendar grid abbreviation for Monday | ||||
| #. Translators: Calendar grid abbreviation for Monday */ | ||||
| #: ../js/ui/calendar.js:84 | ||||
| msgctxt "grid monday" | ||||
| msgid "M" | ||||
| msgstr "Má" | ||||
|  | ||||
| #. Translators: Calendar grid abbreviation for Tuesday | ||||
| #. Translators: Calendar grid abbreviation for Tuesday */ | ||||
| #: ../js/ui/calendar.js:86 | ||||
| msgctxt "grid tuesday" | ||||
| msgid "T" | ||||
| msgstr "Þr" | ||||
|  | ||||
| #. Translators: Calendar grid abbreviation for Wednesday | ||||
| #. Translators: Calendar grid abbreviation for Wednesday */ | ||||
| #: ../js/ui/calendar.js:88 | ||||
| msgctxt "grid wednesday" | ||||
| msgid "W" | ||||
| msgstr "Mi" | ||||
|  | ||||
| #. Translators: Calendar grid abbreviation for Thursday | ||||
| #. Translators: Calendar grid abbreviation for Thursday */ | ||||
| #: ../js/ui/calendar.js:90 | ||||
| msgctxt "grid thursday" | ||||
| msgid "T" | ||||
| msgstr "Fi" | ||||
|  | ||||
| #. Translators: Calendar grid abbreviation for Friday | ||||
| #. Translators: Calendar grid abbreviation for Friday */ | ||||
| #: ../js/ui/calendar.js:92 | ||||
| msgctxt "grid friday" | ||||
| msgid "F" | ||||
| msgstr "Fö" | ||||
|  | ||||
| #. Translators: Calendar grid abbreviation for Saturday | ||||
| #. Translators: Calendar grid abbreviation for Saturday */ | ||||
| #: ../js/ui/calendar.js:94 | ||||
| msgctxt "grid saturday" | ||||
| msgid "S" | ||||
| @@ -547,39 +525,40 @@ msgstr "Vika %V" | ||||
|  | ||||
| #. Translators: Shown in calendar event list for all day events | ||||
| #. * Keep it short, best if you can use less then 10 characters | ||||
| #. | ||||
| #. */ | ||||
| #: ../js/ui/calendar.js:1187 | ||||
| msgctxt "event list time" | ||||
| msgid "All Day" | ||||
| msgstr "Allan daginn" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1293 | ||||
| #: ../js/ui/calendar.js:1289 | ||||
| msgid "Clear section" | ||||
| msgstr "Hreinsa kafla" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1520 | ||||
| #: ../js/ui/calendar.js:1516 | ||||
| msgid "Events" | ||||
| msgstr "Atburðir" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1529 | ||||
| #: ../js/ui/calendar.js:1525 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, %B %d" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1533 | ||||
| #: ../js/ui/calendar.js:1529 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A, %B %d, %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1618 | ||||
| #: ../js/ui/calendar.js:1614 | ||||
| msgid "Notifications" | ||||
| msgstr "Tilkynningar" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1769 | ||||
| #: ../js/ui/calendar.js:1765 | ||||
| #| msgid "Notifications" | ||||
| msgid "No Notifications" | ||||
| msgstr "Engar tilkynningar" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1772 | ||||
| #: ../js/ui/calendar.js:1768 | ||||
| msgid "No Events" | ||||
| msgstr "Engir atburðir" | ||||
|  | ||||
| @@ -609,7 +588,6 @@ msgstr "Skrifaðu aftur:" | ||||
| msgid "Connect" | ||||
| msgstr "Tengjast" | ||||
|  | ||||
| #. Cisco LEAP | ||||
| #: ../js/ui/components/networkAgent.js:233 | ||||
| #: ../js/ui/components/networkAgent.js:245 | ||||
| #: ../js/ui/components/networkAgent.js:273 | ||||
| @@ -618,7 +596,6 @@ msgstr "Tengjast" | ||||
| msgid "Password: " | ||||
| msgstr "Lykilorð:" | ||||
|  | ||||
| #. static WEP | ||||
| #: ../js/ui/components/networkAgent.js:238 | ||||
| msgid "Key: " | ||||
| msgstr "Lykill:" | ||||
| @@ -711,13 +688,13 @@ msgstr "Auðkenna" | ||||
| #. Translators: "that didn't work" refers to the fact that the | ||||
| #. * requested authentication was not gained; this can happen | ||||
| #. * because of an authentication error (like invalid password), | ||||
| #. * for instance. | ||||
| #. * for instance. */ | ||||
| #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 | ||||
| msgid "Sorry, that didn't work. Please try again." | ||||
| msgstr "Æ, þetta virkaði ekki. Endilega reyndu aftur." | ||||
|  | ||||
| #. Translators: this is the other person changing their old IM name to their new | ||||
| #. IM name. | ||||
| #. IM name. */ | ||||
| #: ../js/ui/components/telepathyClient.js:757 | ||||
| #, javascript-format | ||||
| msgid "%s is now known as %s" | ||||
| @@ -729,26 +706,26 @@ msgstr "Gluggar" | ||||
|  | ||||
| #: ../js/ui/dash.js:250 ../js/ui/dash.js:291 | ||||
| msgid "Show Applications" | ||||
| msgstr "Birta forrit" | ||||
| msgstr "Sýna forrit" | ||||
|  | ||||
| #. Translators: this is the name of the dock/favorites area on | ||||
| #. the left of the overview | ||||
| #: ../js/ui/dash.js:449 | ||||
| msgid "Dash" | ||||
| msgstr "Dash" | ||||
|  | ||||
| #. Translators: This is the date format to use when the calendar popup is | ||||
| #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). | ||||
| #. | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:73 | ||||
| #| msgid "%A %B %e, %Y" | ||||
| msgid "%B %e %Y" | ||||
| msgstr "%e. %B %Y" | ||||
|  | ||||
| #. Translators: This is the accessible name of the date button shown | ||||
| #. * below the time in the shell; it should combine the weekday and the | ||||
| #. * date, e.g. "Tuesday February 17 2015". | ||||
| #. | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:80 | ||||
| #| msgid "%A %B %e, %Y" | ||||
| msgid "%A %B %e %Y" | ||||
| msgstr "%A %e. %B, %Y" | ||||
|  | ||||
| @@ -757,6 +734,7 @@ msgid "Add world clocks…" | ||||
| msgstr "Bæta við heimsklukkum…" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:161 | ||||
| #| msgid "Open Clocks" | ||||
| msgid "World Clocks" | ||||
| msgstr "Heimsklukkur" | ||||
|  | ||||
| @@ -878,13 +856,13 @@ msgstr "Sum forrit eru upptekin eða eru með óvistuð gögn." | ||||
| msgid "Other users are logged in." | ||||
| msgstr "Aðrir notendur eru skráðir inn." | ||||
|  | ||||
| #. Translators: Remote here refers to a remote session, like a ssh login | ||||
| #. Translators: Remote here refers to a remote session, like a ssh login */ | ||||
| #: ../js/ui/endSessionDialog.js:640 | ||||
| #, javascript-format | ||||
| msgid "%s (remote)" | ||||
| msgstr "%s (fjartengt)" | ||||
|  | ||||
| #. Translators: Console here refers to a tty like a VT console | ||||
| #. Translators: Console here refers to a tty like a VT console */ | ||||
| #: ../js/ui/endSessionDialog.js:643 | ||||
| #, javascript-format | ||||
| msgid "%s (console)" | ||||
| @@ -899,12 +877,13 @@ msgstr "Setja inn" | ||||
| msgid "Download and install “%s” from extensions.gnome.org?" | ||||
| msgstr "Sækja og setja upp '%s' frá 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" | ||||
| msgstr "Lyklaborð" | ||||
|  | ||||
| #. translators: 'Hide' is a verb | ||||
| #. translators: 'Hide' is a verb */ | ||||
| #: ../js/ui/legacyTray.js:66 | ||||
| #| msgid "Hide Text" | ||||
| msgid "Hide tray" | ||||
| msgstr "Fela kerfisbakka" | ||||
|  | ||||
| @@ -916,7 +895,7 @@ msgstr "Táknmyndir fyrir stöðu" | ||||
| msgid "No extensions installed" | ||||
| msgstr "Engar viðbætur uppsettar" | ||||
|  | ||||
| #. Translators: argument is an extension UUID. | ||||
| #. Translators: argument is an extension UUID. */ | ||||
| #: ../js/ui/lookingGlass.js:697 | ||||
| #, javascript-format | ||||
| msgid "%s has not emitted any errors." | ||||
| @@ -936,7 +915,7 @@ msgid "Enabled" | ||||
| msgstr "Virkt" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated | ||||
| #. because it's disabled by rfkill (airplane mode) | ||||
| #. because it's disabled by rfkill (airplane mode) */ | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 | ||||
| @@ -964,7 +943,7 @@ msgstr "Skoða frumtexta" | ||||
| msgid "Web Page" | ||||
| msgstr "Vefsíða" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1506 | ||||
| #: ../js/ui/messageTray.js:1496 | ||||
| msgid "System Information" | ||||
| msgstr "Kerfisupplýsingar" | ||||
|  | ||||
| @@ -979,7 +958,7 @@ msgstr "Yfirlit" | ||||
| #. Translators: this is the text displayed | ||||
| #. in the search entry when no search is | ||||
| #. active; it should not exceed ~30 | ||||
| #. characters. | ||||
| #. characters. */ | ||||
| #: ../js/ui/overview.js:246 | ||||
| msgid "Type to search…" | ||||
| msgstr "Skrifaðu hér til að leita..." | ||||
| @@ -989,7 +968,7 @@ msgid "Quit" | ||||
| msgstr "Hætta" | ||||
|  | ||||
| #. Translators: If there is no suitable word for "Activities" | ||||
| #. in your language, you can use the word for "Overview". | ||||
| #. in your language, you can use the word for "Overview". */ | ||||
| #: ../js/ui/panel.js:404 | ||||
| msgid "Activities" | ||||
| msgstr "Virkni" | ||||
| @@ -998,20 +977,15 @@ msgstr "Virkni" | ||||
| msgid "Top Bar" | ||||
| msgstr "Toppstika" | ||||
|  | ||||
| #. Translators: this MUST be either "toggle-switch-us" | ||||
| #. (for toggle switches containing the English words | ||||
| #. "ON" and "OFF") or "toggle-switch-intl" (for toggle | ||||
| #. switches containing "◯" and "|"). Other values will | ||||
| #. simply result in invisible toggle switches. | ||||
| #: ../js/ui/popupMenu.js:289 | ||||
| msgid "toggle-switch-us" | ||||
| msgstr "toggle-switch-intl" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../js/ui/runDialog.js:70 | ||||
| msgid "Enter a Command" | ||||
| msgstr "Settu inn skipun" | ||||
|  | ||||
| #: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:120 | ||||
| #: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:153 | ||||
| msgid "Close" | ||||
| msgstr "Loka" | ||||
|  | ||||
| @@ -1020,7 +994,7 @@ msgid "Restarting…" | ||||
| msgstr "Endurræsi…" | ||||
|  | ||||
| #. Translators: This is a time format for a date in | ||||
| #. long format | ||||
| #. long format */ | ||||
| #: ../js/ui/screenShield.js:85 | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, %d. %B" | ||||
| @@ -1043,22 +1017,15 @@ msgstr[1] "%d ný skilaboð" | ||||
| msgid "Lock" | ||||
| msgstr "Læsa" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:684 | ||||
| #: ../js/ui/screenShield.js:668 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "GNOME þarf að læsa skjánum" | ||||
|  | ||||
| #. We could not become modal, so we can't activate the | ||||
| #. screenshield. The user is probably very upset at this | ||||
| #. point, but any application using global grabs is broken | ||||
| #. Just tell him to stop using this app | ||||
| #. | ||||
| #. XXX: another option is to kick the user into the gdm login | ||||
| #. screen, where we're not affected by grabs | ||||
| #: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271 | ||||
| #: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271 | ||||
| msgid "Unable to lock" | ||||
| msgstr "Gat ekki læst skjá" | ||||
|  | ||||
| #: ../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" | ||||
| msgstr "Læsing var hindruð af öðru forriti" | ||||
|  | ||||
| @@ -1138,8 +1105,6 @@ msgstr "Mikil birtuskil" | ||||
| msgid "Large Text" | ||||
| msgstr "Stór texti" | ||||
|  | ||||
| #. 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" | ||||
| @@ -1208,7 +1173,7 @@ msgid "Connected" | ||||
| msgstr "Tengt" | ||||
|  | ||||
| #. 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) */ | ||||
| #: ../js/ui/status/network.js:463 | ||||
| msgid "Unmanaged" | ||||
| msgstr "Óstýrt" | ||||
| @@ -1221,19 +1186,19 @@ msgstr "Aftengist" | ||||
| msgid "Connecting" | ||||
| msgstr "Tengist" | ||||
|  | ||||
| #. 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:474 | ||||
| msgid "Authentication required" | ||||
| msgstr "Auðkenningar krafist" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing | ||||
| #. module, which is missing */ | ||||
| #: ../js/ui/status/network.js:482 | ||||
| msgid "Firmware missing" | ||||
| msgstr "Grunnhugbúnað vantar (firmware)" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage | ||||
| #. is disabled by rfkill, or it has no coverage */ | ||||
| #: ../js/ui/status/network.js:486 | ||||
| msgid "Unavailable" | ||||
| msgstr "Ófáanlegt" | ||||
| @@ -1318,7 +1283,7 @@ msgstr "Þráðlaus tengipunktur virkur" | ||||
| msgid "connecting..." | ||||
| msgstr "tengist..." | ||||
|  | ||||
| #. 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:1413 | ||||
| msgid "authentication required" | ||||
| msgstr "auðkenningar krafist" | ||||
| @@ -1351,19 +1316,15 @@ msgstr "Orkustillingar" | ||||
| msgid "Fully Charged" | ||||
| msgstr "Full hleðsla" | ||||
|  | ||||
| #. 0 is reported when UPower does not have enough data | ||||
| #. to estimate battery life | ||||
| #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 | ||||
| msgid "Estimating…" | ||||
| msgstr "Reikna…" | ||||
|  | ||||
| #. Translators: this is <hours>:<minutes> Remaining (<percentage>) | ||||
| #: ../js/ui/status/power.js:86 | ||||
| #, javascript-format | ||||
| msgid "%d∶%02d Remaining (%d%%)" | ||||
| msgstr "%d∶%02d eftir (%d%%)" | ||||
|  | ||||
| #. Translators: this is <hours>:<minutes> Until Full (<percentage>) | ||||
| #: ../js/ui/status/power.js:91 | ||||
| #, javascript-format | ||||
| msgid "%d∶%02d Until Full (%d%%)" | ||||
| @@ -1377,9 +1338,6 @@ msgstr "UPS" | ||||
| msgid "Battery" | ||||
| msgstr "Rafhlaða" | ||||
|  | ||||
| #. The menu only appears when airplane mode is on, so just | ||||
| #. statically build it as if it was on, rather than dynamically | ||||
| #. changing the menu contents. | ||||
| #: ../js/ui/status/rfkill.js:88 | ||||
| msgid "Airplane Mode" | ||||
| msgstr "Flugvélahamur" | ||||
| @@ -1447,7 +1405,7 @@ msgstr "Viltu halda þessum skjástillingum?" | ||||
|  | ||||
| #. Translators: this and the following message should be limited in lenght, | ||||
| #. to avoid ellipsizing the labels. | ||||
| #. | ||||
| #. */ | ||||
| #: ../js/ui/windowManager.js:84 | ||||
| msgid "Revert Settings" | ||||
| msgstr "Afturkalla stillingar" | ||||
| @@ -1464,7 +1422,7 @@ msgstr[0] "Breytingar á stillingum verða afturkallaðar eftir %d sekúndu" | ||||
| msgstr[1] "Breytingar á stillingum verða afturkallaðar eftir %d sekúndur" | ||||
|  | ||||
| #. 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:613 | ||||
| #, javascript-format | ||||
| msgid "%d x %d" | ||||
| @@ -1510,6 +1468,24 @@ msgstr "Færa yfir á vinnusvæði fyrir ofan" | ||||
| msgid "Move to Workspace Down" | ||||
| msgstr "Færa yfir á vinnusvæði fyrir neðan" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:127 | ||||
| #| msgid "Move to Workspace Up" | ||||
| msgid "Move to Monitor Up" | ||||
| msgstr "Færa á skjá fyrir ofan" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:133 | ||||
| #| msgid "Move to Workspace Down" | ||||
| msgid "Move to Monitor Down" | ||||
| msgstr "Færa á skjá fyrir neðan" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:139 | ||||
| msgid "Move to Monitor Left" | ||||
| msgstr "Færa á skjá til vinstri" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:145 | ||||
| msgid "Move to Monitor Right" | ||||
| msgstr "Færa á skjá til hægri" | ||||
|  | ||||
| #: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1 | ||||
| msgid "Evolution Calendar" | ||||
| msgstr "Evolution dagatal" | ||||
| @@ -1536,19 +1512,19 @@ msgstr[1] "%u inntök" | ||||
| msgid "System Sounds" | ||||
| msgstr "Kerfishljóð" | ||||
|  | ||||
| #: ../src/main.c:372 | ||||
| #: ../src/main.c:373 | ||||
| msgid "Print version" | ||||
| msgstr "Prenta útgáfunúmer" | ||||
|  | ||||
| #: ../src/main.c:378 | ||||
| #: ../src/main.c:379 | ||||
| msgid "Mode used by GDM for login screen" | ||||
| msgstr "Hamur sem GDM notar fyrir innskráningarglugga" | ||||
|  | ||||
| #: ../src/main.c:384 | ||||
| #: ../src/main.c:385 | ||||
| msgid "Use a specific mode, e.g. \"gdm\" for login screen" | ||||
| msgstr "Nota sérstakan ham, t.d. \"gdm\" fyrir innskráningarskjá" | ||||
|  | ||||
| #: ../src/main.c:390 | ||||
| #: ../src/main.c:391 | ||||
| msgid "List possible modes" | ||||
| msgstr "Sýna alla mögulega hami" | ||||
|  | ||||
|   | ||||
							
								
								
									
										447
									
								
								po/nb.po
									
									
									
									
									
								
							
							
						
						| @@ -7,11 +7,11 @@ | ||||
| # Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010. | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: gnome-shell 3.15.x\n" | ||||
| "Project-Id-Version: gnome-shell 3.17.x\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2015-10-16 18:14+0200\n" | ||||
| "PO-Revision-Date: 2015-10-16 18:14+0200\n" | ||||
| "Last-Translator: Åka Sikrom <a4NOSPAMPLEASETHANKYOU@hush.com>\n" | ||||
| "POT-Creation-Date: 2015-09-07 19:22+0200\n" | ||||
| "PO-Revision-Date: 2015-09-07 19:31+0200\n" | ||||
| "Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n" | ||||
| "Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n" | ||||
| "Language: Norwegian bokmål\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| @@ -131,15 +131,16 @@ msgstr "Indeks for valgt visning i programvelgeren." | ||||
| msgid "History for command (Alt-F2) dialog" | ||||
| msgstr "Historikk for kommandodialog (Alt-F2)" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:12 | ||||
| #. 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:13 | ||||
| msgid "History for the looking glass dialog" | ||||
| msgstr "Historikk for forstørrelsesglass-dialogen" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:13 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:14 | ||||
| msgid "Always show the 'Log out' menu item in the user menu." | ||||
| msgstr "Alltid vis menyoppføringen «Logg ut» i brukermenyen." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:14 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:15 | ||||
| msgid "" | ||||
| "This key overrides the automatic hiding of the 'Log out' menu item in single-" | ||||
| "user, single-session situations." | ||||
| @@ -147,12 +148,12 @@ msgstr "" | ||||
| "Denne nøkkelen overstyrer skjuling av menyoppføringen «Logg ut» i " | ||||
| "situasjonen én bruker, én sesjon." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:15 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:16 | ||||
| msgid "" | ||||
| "Whether to remember password for mounting encrypted or remote filesystems" | ||||
| msgstr "Om passord til eksterne eller krypterte filsystemer skal huskes." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:16 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:17 | ||||
| msgid "" | ||||
| "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 " | ||||
| @@ -164,76 +165,76 @@ msgstr "" | ||||
| "avkryssingsboks med teksten «Husk passord». Denne nøkkelen bestemmer " | ||||
| "standardverdien for avkryssingsboksen." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:17 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:18 | ||||
| msgid "Show the week date in the calendar" | ||||
| msgstr "Vis ukedato/ukenummer i kalender" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:18 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:19 | ||||
| msgid "If true, display the ISO week date in the calendar." | ||||
| msgstr "Viser ISO-ukedato i kalenderen hvis «true»." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:19 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:20 | ||||
| msgid "Keybinding to open the application menu" | ||||
| msgstr "Tastaturbinding som åpner programmenyen" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:20 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:21 | ||||
| msgid "Keybinding to open the application menu." | ||||
| msgstr "Tastaturbinding som åpner programmenyen." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:21 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 | ||||
| msgid "Keybinding to open the \"Show Applications\" view" | ||||
| msgstr "Tastaturbinding som åpner visningen «Vis programmer»" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:23 | ||||
| msgid "" | ||||
| "Keybinding to open the \"Show Applications\" view of the Activities Overview." | ||||
| msgstr "" | ||||
| "Tastaturbinding som åpner visningen «Vis programmer» i aktivitetsoversikten." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:23 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:24 | ||||
| msgid "Keybinding to open the overview" | ||||
| msgstr "Tastaturbinding som åpner oversikten" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:24 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:25 | ||||
| msgid "Keybinding to open the Activities Overview." | ||||
| msgstr "Tastaturbinding som åpner aktivitetsoversikten." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:25 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:26 | ||||
| msgid "Keybinding to toggle the visibility of the notification list" | ||||
| msgstr "Tastaturbinding som slår av/på visning av varslingsliste" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:26 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:27 | ||||
| msgid "Keybinding to toggle the visibility of the notification list." | ||||
| msgstr "Tastaturbinding som slår av/på visning av varslingsliste." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:27 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:28 | ||||
| msgid "Keybinding to focus the active notification" | ||||
| msgstr "Tastaturbinding som fokuserer aktiv varsling" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:28 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 | ||||
| msgid "Keybinding to focus the active notification." | ||||
| msgstr "Tastaturbinding som fokuserer aktiv varsling." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:30 | ||||
| msgid "" | ||||
| "Keybinding that pauses and resumes all running tweens, for debugging purposes" | ||||
| msgstr "" | ||||
| "Hurtigtast som stanser og fortsetter pågående bevegelser til " | ||||
| "feilsøkingsformål" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:30 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:31 | ||||
| msgid "Which keyboard to use" | ||||
| msgstr "Tastatur som skal brukes" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:31 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:32 | ||||
| msgid "The type of keyboard to use." | ||||
| msgstr "Type tastatur som skal brukes." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:32 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:33 | ||||
| msgid "Limit switcher to current workspace." | ||||
| msgstr "Begrens programveksling til gjeldende arbeidsområde." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:33 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:34 | ||||
| msgid "" | ||||
| "If true, only applications that have windows on the current workspace are " | ||||
| "shown in the switcher. Otherwise, all applications are included." | ||||
| @@ -242,11 +243,11 @@ msgstr "" | ||||
| "gjeldende arbeidsområder som vises i programveksleren. I motsatt fall kan du " | ||||
| "veksle mellom programmer på tvers av arbeidsområder." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:34 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 | ||||
| msgid "The application icon mode." | ||||
| msgstr "Ikonmodus for programmet." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:36 | ||||
| msgid "" | ||||
| "Configures how the windows are shown in the switcher. Valid possibilities " | ||||
| "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" | ||||
| @@ -256,7 +257,7 @@ msgstr "" | ||||
| "valgalternativer er «thumbnail-only» (viser miniatyrbilde av vinduet), «app-" | ||||
| "icon-only» (viser bare programikonet) og «both» (viser begge forannevnte)." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:36 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:37 | ||||
| msgid "" | ||||
| "If true, only windows from the current workspace are shown in the switcher. " | ||||
| "Otherwise, all windows are included." | ||||
| @@ -265,30 +266,30 @@ msgstr "" | ||||
| "arbeidsområder som vises i programveksleren. I motsatt fall vises vinduer " | ||||
| "fra alle arbeidsområder." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:37 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:38 | ||||
| msgid "Attach modal dialog to the parent window" | ||||
| msgstr "Fest modal dialog til opphavsvinduet" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:38 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:39 | ||||
| msgid "" | ||||
| "This key overrides the key in org.gnome.mutter when running GNOME Shell." | ||||
| msgstr "" | ||||
| "Denne nøkkelen overstyrer nøkkelen i org.gnome.mutter når GNOME Shell kjøres." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:39 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:40 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "" | ||||
| "Del opp skjermkantene i fliser når brukeren drar og slipper vinduer på dem" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:40 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:41 | ||||
| msgid "Workspaces are managed dynamically" | ||||
| msgstr "Arbeidsområder håndteres dynamisk" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:41 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:42 | ||||
| msgid "Workspaces only on primary monitor" | ||||
| msgstr "Arbeidsområder vises kun på hovedskjerm" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:42 | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:43 | ||||
| msgid "Delay focus changes in mouse mode until the pointer stops moving" | ||||
| msgstr "Utsett fokusendringer i musmodus til peker slutter å bevege seg" | ||||
|  | ||||
| @@ -306,14 +307,14 @@ msgid "GNOME Shell Extensions" | ||||
| msgstr "Utvidelser for GNOME Shell" | ||||
|  | ||||
| #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145 | ||||
| #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 | ||||
| #: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452 | ||||
| #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 | ||||
| #: ../js/ui/status/network.js:916 | ||||
| msgid "Cancel" | ||||
| msgstr "Avbryt" | ||||
|  | ||||
| #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215 | ||||
| #: ../js/gdm/authPrompt.js:435 | ||||
| #: ../js/gdm/authPrompt.js:447 | ||||
| msgid "Next" | ||||
| msgstr "Neste" | ||||
|  | ||||
| @@ -340,7 +341,7 @@ msgstr "Ikke listet?" | ||||
|  | ||||
| #. Translators: this message is shown below the username entry field | ||||
| #. to clue the user in on how to login to the local network realm | ||||
| #: ../js/gdm/loginDialog.js:847 | ||||
| #: ../js/gdm/loginDialog.js:850 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(f.eks. bruker eller %s)" | ||||
| @@ -348,12 +349,12 @@ msgstr "(f.eks. bruker eller %s)" | ||||
| #. TTLS and PEAP are actually much more complicated, but this complication | ||||
| #. is not visible here since we only care about phase2 authentication | ||||
| #. (and don't even care of which one) | ||||
| #: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271 | ||||
| #: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271 | ||||
| #: ../js/ui/components/networkAgent.js:289 | ||||
| msgid "Username: " | ||||
| msgstr "Brukernavn: " | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:1181 | ||||
| #: ../js/gdm/loginDialog.js:1184 | ||||
| msgid "Login Window" | ||||
| msgstr "Innloggingsvindu" | ||||
|  | ||||
| @@ -499,17 +500,21 @@ msgstr "%s ble lagt til i favoritter." | ||||
| msgid "%s has been removed from your favorites." | ||||
| msgstr "%s ble fjernet fra favoritter." | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650 | ||||
| #: ../js/ui/status/system.js:334 | ||||
| msgid "Settings" | ||||
| msgstr "Innstillinger" | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:21 | ||||
| #: ../js/ui/backgroundMenu.js:19 | ||||
| msgid "Change Background…" | ||||
| msgstr "Bytt bakgrunn …" | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:21 | ||||
| msgid "Display Settings" | ||||
| msgstr "Innstillinger for skjerm" | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650 | ||||
| #: ../js/ui/status/system.js:366 | ||||
| msgid "Settings" | ||||
| msgstr "Innstillinger" | ||||
|  | ||||
| #. 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:55 | ||||
| msgctxt "calendar-no-work" | ||||
| msgid "06" | ||||
| msgstr "06" | ||||
| @@ -519,94 +524,94 @@ msgstr "06" | ||||
| #. * NOTE: These grid abbreviations are always shown together | ||||
| #. * and in order, e.g. "S M T W T F S". | ||||
| #. | ||||
| #: ../js/ui/calendar.js:82 | ||||
| #: ../js/ui/calendar.js:84 | ||||
| msgctxt "grid sunday" | ||||
| msgid "S" | ||||
| msgstr "S" | ||||
|  | ||||
| #. Translators: Calendar grid abbreviation for Monday | ||||
| #: ../js/ui/calendar.js:84 | ||||
| #: ../js/ui/calendar.js:86 | ||||
| msgctxt "grid monday" | ||||
| msgid "M" | ||||
| msgstr "M" | ||||
|  | ||||
| #. Translators: Calendar grid abbreviation for Tuesday | ||||
| #: ../js/ui/calendar.js:86 | ||||
| #: ../js/ui/calendar.js:88 | ||||
| msgctxt "grid tuesday" | ||||
| msgid "T" | ||||
| msgstr "T" | ||||
|  | ||||
| #. Translators: Calendar grid abbreviation for Wednesday | ||||
| #: ../js/ui/calendar.js:88 | ||||
| #: ../js/ui/calendar.js:90 | ||||
| msgctxt "grid wednesday" | ||||
| msgid "W" | ||||
| msgstr "O" | ||||
|  | ||||
| #. Translators: Calendar grid abbreviation for Thursday | ||||
| #: ../js/ui/calendar.js:90 | ||||
| #: ../js/ui/calendar.js:92 | ||||
| msgctxt "grid thursday" | ||||
| msgid "T" | ||||
| msgstr "T" | ||||
|  | ||||
| #. Translators: Calendar grid abbreviation for Friday | ||||
| #: ../js/ui/calendar.js:92 | ||||
| #: ../js/ui/calendar.js:94 | ||||
| msgctxt "grid friday" | ||||
| msgid "F" | ||||
| msgstr "F" | ||||
|  | ||||
| #. Translators: Calendar grid abbreviation for Saturday | ||||
| #: ../js/ui/calendar.js:94 | ||||
| #: ../js/ui/calendar.js:96 | ||||
| msgctxt "grid saturday" | ||||
| msgid "S" | ||||
| msgstr "L" | ||||
|  | ||||
| #: ../js/ui/calendar.js:564 | ||||
| #: ../js/ui/calendar.js:566 | ||||
| msgid "Previous month" | ||||
| msgstr "Forrige måned" | ||||
|  | ||||
| #: ../js/ui/calendar.js:574 | ||||
| #: ../js/ui/calendar.js:576 | ||||
| msgid "Next month" | ||||
| msgstr "Neste måned" | ||||
|  | ||||
| #: ../js/ui/calendar.js:781 | ||||
| #: ../js/ui/calendar.js:783 | ||||
| msgid "Week %V" | ||||
| msgstr "Uke %V" | ||||
|  | ||||
| #. Translators: Shown in calendar event list for all day events | ||||
| #. * Keep it short, best if you can use less then 10 characters | ||||
| #. | ||||
| #: ../js/ui/calendar.js:1187 | ||||
| #: ../js/ui/calendar.js:1188 | ||||
| msgctxt "event list time" | ||||
| msgid "All Day" | ||||
| msgstr "Hele dagen" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1293 | ||||
| #: ../js/ui/calendar.js:1291 | ||||
| msgid "Clear section" | ||||
| msgstr "Tøm seksjon" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1520 | ||||
| #: ../js/ui/calendar.js:1518 | ||||
| msgid "Events" | ||||
| msgstr "Hendelser" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1529 | ||||
| #: ../js/ui/calendar.js:1527 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A %B %d" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1533 | ||||
| #: ../js/ui/calendar.js:1531 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A %B %d, %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1618 | ||||
| #: ../js/ui/calendar.js:1616 | ||||
| msgid "Notifications" | ||||
| msgstr "Varslinger" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1769 | ||||
| #: ../js/ui/calendar.js:1767 | ||||
| msgid "No Notifications" | ||||
| msgstr "Ingen varslinger" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1772 | ||||
| #: ../js/ui/calendar.js:1770 | ||||
| msgid "No Events" | ||||
| msgstr "Ingen hendelser" | ||||
|  | ||||
| @@ -623,16 +628,16 @@ msgstr "Ekstern stasjon koblet fra" | ||||
| msgid "Open with %s" | ||||
| msgstr "Åpne med %s" | ||||
|  | ||||
| #: ../js/ui/components/keyring.js:94 ../js/ui/components/polkitAgent.js:285 | ||||
| #: ../js/ui/components/keyring.js:120 ../js/ui/components/polkitAgent.js:315 | ||||
| msgid "Password:" | ||||
| msgstr "Passord:" | ||||
|  | ||||
| #: ../js/ui/components/keyring.js:120 | ||||
| #: ../js/ui/components/keyring.js:153 | ||||
| msgid "Type again:" | ||||
| msgstr "Skriv på nytt:" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277 | ||||
| #: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919 | ||||
| #: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:269 | ||||
| #: ../js/ui/status/network.js:352 ../js/ui/status/network.js:919 | ||||
| msgid "Connect" | ||||
| msgstr "Koble til" | ||||
|  | ||||
| @@ -718,19 +723,19 @@ msgstr "Nettverkspassord for mobilt bredbånd" | ||||
| msgid "A password is required to connect to “%s”." | ||||
| msgstr "Du må oppgi et passord for å koble til «%s»." | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1657 | ||||
| #: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1658 | ||||
| msgid "Network Manager" | ||||
| msgstr "Nettverkshåndtering" | ||||
|  | ||||
| #: ../js/ui/components/polkitAgent.js:54 | ||||
| #: ../js/ui/components/polkitAgent.js:60 | ||||
| msgid "Authentication Required" | ||||
| msgstr "Autentisering kreves" | ||||
|  | ||||
| #: ../js/ui/components/polkitAgent.js:96 | ||||
| #: ../js/ui/components/polkitAgent.js:102 | ||||
| msgid "Administrator" | ||||
| msgstr "Administrator" | ||||
|  | ||||
| #: ../js/ui/components/polkitAgent.js:175 | ||||
| #: ../js/ui/components/polkitAgent.js:182 | ||||
| msgid "Authenticate" | ||||
| msgstr "Autentiser" | ||||
|  | ||||
| @@ -738,13 +743,13 @@ msgstr "Autentiser" | ||||
| #. * requested authentication was not gained; this can happen | ||||
| #. * because of an authentication error (like invalid password), | ||||
| #. * for instance. | ||||
| #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 | ||||
| #: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383 | ||||
| msgid "Sorry, that didn't work. Please try again." | ||||
| msgstr "Beklager, det virket ikke. Prøv igjen." | ||||
|  | ||||
| #. Translators: this is the other person changing their old IM name to their new | ||||
| #. IM name. | ||||
| #: ../js/ui/components/telepathyClient.js:757 | ||||
| #: ../js/ui/components/telepathyClient.js:759 | ||||
| #, javascript-format | ||||
| msgid "%s is now known as %s" | ||||
| msgstr "%s er nå kjent som %s" | ||||
| @@ -957,17 +962,13 @@ msgstr "Skjul feil" | ||||
| msgid "Show Errors" | ||||
| msgstr "Vis feil" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 | ||||
| #: ../js/ui/status/location.js:176 | ||||
| #: ../js/ui/lookingGlass.js:716 | ||||
| msgid "Enabled" | ||||
| msgstr "Slått på" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated | ||||
| #. because it's disabled by rfkill (airplane mode) | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 | ||||
| #: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830 | ||||
| #: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830 | ||||
| msgid "Disabled" | ||||
| msgstr "Slått av" | ||||
|  | ||||
| @@ -991,7 +992,7 @@ msgstr "Vis kildekode" | ||||
| msgid "Web Page" | ||||
| msgstr "Nettside" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1506 | ||||
| #: ../js/ui/messageTray.js:1486 | ||||
| msgid "System Information" | ||||
| msgstr "Systeminformasjon" | ||||
|  | ||||
| @@ -999,7 +1000,7 @@ msgstr "Systeminformasjon" | ||||
| msgid "Undo" | ||||
| msgstr "Angre" | ||||
|  | ||||
| #: ../js/ui/overview.js:124 | ||||
| #: ../js/ui/overview.js:117 | ||||
| msgid "Overview" | ||||
| msgstr "Oversikt" | ||||
|  | ||||
| @@ -1007,7 +1008,7 @@ msgstr "Oversikt" | ||||
| #. in the search entry when no search is | ||||
| #. active; it should not exceed ~30 | ||||
| #. characters. | ||||
| #: ../js/ui/overview.js:246 | ||||
| #: ../js/ui/overview.js:244 | ||||
| msgid "Type to search…" | ||||
| msgstr "Skriv for å søke …" | ||||
|  | ||||
| @@ -1021,7 +1022,7 @@ msgstr "Avslutt" | ||||
| msgid "Activities" | ||||
| msgstr "Aktiviteter" | ||||
|  | ||||
| #: ../js/ui/panel.js:755 | ||||
| #: ../js/ui/panel.js:754 | ||||
| msgid "Top Bar" | ||||
| msgstr "Topp-panel" | ||||
|  | ||||
| @@ -1038,7 +1039,7 @@ msgstr "toggle-switch-intl" | ||||
| msgid "Enter a Command" | ||||
| msgstr "Skriv inn en kommando" | ||||
|  | ||||
| #: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:120 | ||||
| #: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162 | ||||
| msgid "Close" | ||||
| msgstr "Lukk" | ||||
|  | ||||
| @@ -1066,7 +1067,7 @@ msgid_plural "%d new notifications" | ||||
| msgstr[0] "%d ny varsling" | ||||
| msgstr[1] "%d nye varslinger" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:342 | ||||
| #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374 | ||||
| msgid "Lock" | ||||
| msgstr "Lås" | ||||
|  | ||||
| @@ -1165,16 +1166,10 @@ msgstr "Høy kontrast" | ||||
| msgid "Large Text" | ||||
| 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/network.js:360 ../js/ui/status/network.js:1282 | ||||
| #: ../js/ui/status/network.js:1393 ../js/ui/status/rfkill.js:91 | ||||
| #: ../js/ui/status/rfkill.js:118 | ||||
| #: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279 | ||||
| #: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90 | ||||
| #: ../js/ui/status/rfkill.js:117 | ||||
| msgid "Turn Off" | ||||
| msgstr "Slå av" | ||||
|  | ||||
| @@ -1182,16 +1177,17 @@ msgstr "Slå av" | ||||
| msgid "Bluetooth Settings" | ||||
| msgstr "Bluetooth-innstillinger" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:104 | ||||
| #. Translators: this is the number of connected bluetooth devices | ||||
| #: ../js/ui/status/bluetooth.js:105 | ||||
| #, javascript-format | ||||
| msgid "%d Connected Device" | ||||
| msgid_plural "%d Connected Devices" | ||||
| msgstr[0] "%d tilkoblet enhet" | ||||
| msgstr[1] "%d tilkoblede enheter" | ||||
| msgid "%d Connected" | ||||
| msgid_plural "%d Connected" | ||||
| msgstr[0] "%d koblet til" | ||||
| msgstr[1] "%d koblet til" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1310 | ||||
| msgid "Not Connected" | ||||
| msgstr "Ikke koblet til" | ||||
| #: ../js/ui/status/bluetooth.js:107 | ||||
| msgid "Not In Use" | ||||
| msgstr "Ikke i bruk" | ||||
|  | ||||
| #: ../js/ui/status/brightness.js:44 | ||||
| msgid "Brightness" | ||||
| @@ -1201,11 +1197,11 @@ msgstr "Lysstyrke" | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "Vis tastaturutforming" | ||||
|  | ||||
| #: ../js/ui/status/location.js:65 | ||||
| msgid "Location" | ||||
| msgstr "Plassering" | ||||
| #: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177 | ||||
| msgid "Location Enabled" | ||||
| msgstr "Plassering slått på" | ||||
|  | ||||
| #: ../js/ui/status/location.js:72 ../js/ui/status/location.js:177 | ||||
| #: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178 | ||||
| msgid "Disable" | ||||
| msgstr "Slå av" | ||||
|  | ||||
| @@ -1214,10 +1210,14 @@ msgid "Privacy Settings" | ||||
| msgstr "Innstillinger for personvern" | ||||
|  | ||||
| #: ../js/ui/status/location.js:176 | ||||
| msgid "In Use" | ||||
| msgstr "I bruk" | ||||
| msgid "Location In Use" | ||||
| msgstr "Plassering i bruk" | ||||
|  | ||||
| #: ../js/ui/status/location.js:180 | ||||
| msgid "Location Disabled" | ||||
| msgstr "Plassering slått av" | ||||
|  | ||||
| #: ../js/ui/status/location.js:181 | ||||
| msgid "Enable" | ||||
| msgstr "Slå på" | ||||
|  | ||||
| @@ -1225,61 +1225,84 @@ msgstr "Slå på" | ||||
| msgid "<unknown>" | ||||
| msgstr "<ukjent>" | ||||
|  | ||||
| #: ../js/ui/status/network.js:457 ../js/ui/status/network.js:1308 | ||||
| #: ../js/ui/status/network.js:1512 | ||||
| msgid "Off" | ||||
| msgstr "Av" | ||||
| #. Translators: %s is a network identifier | ||||
| #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308 | ||||
| #, javascript-format | ||||
| msgid "%s Off" | ||||
| msgstr "%s av" | ||||
|  | ||||
| #: ../js/ui/status/network.js:459 | ||||
| msgid "Connected" | ||||
| msgstr "Koblet til" | ||||
| #. Translators: %s is a network identifier | ||||
| #: ../js/ui/status/network.js:454 | ||||
| #, javascript-format | ||||
| msgid "%s Connected" | ||||
| msgstr "%s koblet til" | ||||
|  | ||||
| #. 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) | ||||
| #: ../js/ui/status/network.js:463 | ||||
| msgid "Unmanaged" | ||||
| msgstr "Håndteres ikke" | ||||
| #. under NetworkManager's control (and thus cannot be used in the menu); | ||||
| #. %s is a network identifier | ||||
| #: ../js/ui/status/network.js:459 | ||||
| #, javascript-format | ||||
| msgid "%s Unmanaged" | ||||
| msgstr "%s håndteres ikke" | ||||
|  | ||||
| #: ../js/ui/status/network.js:465 | ||||
| msgid "Disconnecting" | ||||
| msgstr "Kobler fra" | ||||
| #. Translators: %s is a network identifier | ||||
| #: ../js/ui/status/network.js:462 | ||||
| #, javascript-format | ||||
| msgid "%s Disconnecting" | ||||
| msgstr "%s kobler fra" | ||||
|  | ||||
| #: ../js/ui/status/network.js:471 ../js/ui/status/network.js:1302 | ||||
| msgid "Connecting" | ||||
| msgstr "Kobler til" | ||||
| #. Translators: %s is a network identifier | ||||
| #: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300 | ||||
| #, javascript-format | ||||
| msgid "%s Connecting" | ||||
| msgstr "%s kobler til" | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password | ||||
| #: ../js/ui/status/network.js:474 | ||||
| msgid "Authentication required" | ||||
| msgstr "Denne tilkoblingen krever autentisering" | ||||
| #. Translators: this is for network connections that require some kind of key or password; %s is a network identifier | ||||
| #: ../js/ui/status/network.js:472 | ||||
| #, javascript-format | ||||
| msgid "%s Requires Authentication" | ||||
| msgstr "%s krever autentisering" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing | ||||
| #: ../js/ui/status/network.js:482 | ||||
| msgid "Firmware missing" | ||||
| msgstr "Fastvare mangler" | ||||
| #. module, which is missing; %s is a network identifier | ||||
| #: ../js/ui/status/network.js:480 | ||||
| #, javascript-format | ||||
| msgid "Firmware Missing For %s" | ||||
| msgstr "Fastvare mangler for %s" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage | ||||
| #: ../js/ui/status/network.js:486 | ||||
| msgid "Unavailable" | ||||
| msgstr "Ikke tilgjengelig" | ||||
| #. is disabled by rfkill, or it has no coverage; %s is a network identifier | ||||
| #: ../js/ui/status/network.js:484 | ||||
| #, javascript-format | ||||
| msgid "%s Unavailable" | ||||
| msgstr "%s er ikke tilgjengelig" | ||||
|  | ||||
| #: ../js/ui/status/network.js:488 ../js/ui/status/network.js:1696 | ||||
| msgid "Connection failed" | ||||
| msgstr "Tilkobling mislyktes" | ||||
| #. Translators: %s is a network identifier | ||||
| #: ../js/ui/status/network.js:487 | ||||
| #, javascript-format | ||||
| msgid "%s Connection Failed" | ||||
| msgstr "%s tilkobling mislyktes" | ||||
|  | ||||
| #: ../js/ui/status/network.js:504 | ||||
| #: ../js/ui/status/network.js:503 | ||||
| msgid "Wired Settings" | ||||
| msgstr "Innstillinger for trådbundet nettverk" | ||||
|  | ||||
| #: ../js/ui/status/network.js:546 ../js/ui/status/network.js:624 | ||||
| #: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624 | ||||
| msgid "Mobile Broadband Settings" | ||||
| msgstr "Innstillinger for mobilt bredbånd" | ||||
|  | ||||
| #: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1306 | ||||
| msgid "Hardware Disabled" | ||||
| msgstr "Maskinvare slått av" | ||||
| #. Translators: %s is a network identifier | ||||
| #: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305 | ||||
| #, javascript-format | ||||
| 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 | ||||
| msgid "Use as Internet connection" | ||||
| @@ -1321,52 +1344,68 @@ msgstr "Velg et nettverk" | ||||
| msgid "No Networks" | ||||
| msgstr "Ingen nettverk" | ||||
|  | ||||
| #: ../js/ui/status/network.js:904 ../js/ui/status/rfkill.js:116 | ||||
| #: ../js/ui/status/network.js:904 ../js/ui/status/rfkill.js:115 | ||||
| msgid "Use hardware switch to turn off" | ||||
| msgstr "Bruk maskinvarebryter til å slå av" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1174 | ||||
| #: ../js/ui/status/network.js:1171 | ||||
| msgid "Select Network" | ||||
| msgstr "Velg nettverk" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1180 | ||||
| #: ../js/ui/status/network.js:1177 | ||||
| msgid "Wi-Fi Settings" | ||||
| msgstr "Innstillinger" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1282 | ||||
| #: ../js/ui/status/network.js:1279 | ||||
| msgid "Turn On" | ||||
| msgstr "Slå på" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1299 | ||||
| msgid "Hotspot Active" | ||||
| msgstr "Trådløst aksesspunkt aktivt" | ||||
| #. Translators: %s is a network identifier | ||||
| #: ../js/ui/status/network.js:1296 | ||||
| #, javascript-format | ||||
| msgid "%s Hotspot Active" | ||||
| msgstr "%s aksesspunkt aktivt" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1410 | ||||
| #. Translators: %s is a network identifier | ||||
| #: ../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..." | ||||
| msgstr "kobler til …" | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password | ||||
| #: ../js/ui/status/network.js:1413 | ||||
| #: ../js/ui/status/network.js:1414 | ||||
| msgid "authentication required" | ||||
| msgstr "autentisering kreves" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1415 | ||||
| #: ../js/ui/status/network.js:1416 | ||||
| msgid "connection failed" | ||||
| msgstr "tilkobling mislyktes" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1481 ../js/ui/status/rfkill.js:94 | ||||
| #: ../js/ui/status/network.js:1482 ../js/ui/status/rfkill.js:93 | ||||
| msgid "Network Settings" | ||||
| msgstr "Innstillinger for nettverk" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1483 | ||||
| #: ../js/ui/status/network.js:1484 | ||||
| msgid "VPN Settings" | ||||
| msgstr "Innstillinger for VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1502 | ||||
| #: ../js/ui/status/network.js:1503 | ||||
| msgid "VPN" | ||||
| msgstr "VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1513 | ||||
| msgid "VPN Off" | ||||
| msgstr "VPN av" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1697 | ||||
| msgid "Connection failed" | ||||
| msgstr "Tilkobling mislyktes" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1698 | ||||
| msgid "Activation of network connection failed" | ||||
| msgstr "Aktivering av nettverkstilkobling mislyktes" | ||||
|  | ||||
| @@ -1396,42 +1435,34 @@ msgstr "%d:%02d gjenstår (%d%%)" | ||||
| msgid "%d∶%02d Until Full (%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 | ||||
| #. statically build it as if it was on, rather than dynamically | ||||
| #. changing the menu contents. | ||||
| #: ../js/ui/status/rfkill.js:88 | ||||
| msgid "Airplane Mode" | ||||
| msgstr "Flymodus" | ||||
| msgid "Airplane Mode On" | ||||
| msgstr "Flymodus er slått på" | ||||
|  | ||||
| #: ../js/ui/status/rfkill.js:90 | ||||
| msgid "On" | ||||
| msgstr "På" | ||||
|  | ||||
| #: ../js/ui/status/system.js:314 | ||||
| #: ../js/ui/status/system.js:343 | ||||
| msgid "Switch User" | ||||
| msgstr "Bytt bruker" | ||||
|  | ||||
| #: ../js/ui/status/system.js:319 | ||||
| #: ../js/ui/status/system.js:348 | ||||
| msgid "Log Out" | ||||
| msgstr "Logg ut" | ||||
|  | ||||
| #: ../js/ui/status/system.js:338 | ||||
| #: ../js/ui/status/system.js:353 | ||||
| msgid "Account Settings" | ||||
| msgstr "Innstillinger for konto" | ||||
|  | ||||
| #: ../js/ui/status/system.js:370 | ||||
| msgid "Orientation Lock" | ||||
| msgstr "Lås for orientering" | ||||
|  | ||||
| #: ../js/ui/status/system.js:346 | ||||
| #: ../js/ui/status/system.js:378 | ||||
| msgid "Suspend" | ||||
| msgstr "Hvilemodus" | ||||
|  | ||||
| #: ../js/ui/status/system.js:349 | ||||
| #: ../js/ui/status/system.js:381 | ||||
| msgid "Power Off" | ||||
| msgstr "Slå av" | ||||
|  | ||||
| @@ -1463,27 +1494,27 @@ msgstr "Programmer" | ||||
| msgid "Search" | ||||
| msgstr "Søk" | ||||
|  | ||||
| #: ../js/ui/windowAttentionHandler.js:19 | ||||
| #: ../js/ui/windowAttentionHandler.js:20 | ||||
| #, javascript-format | ||||
| msgid "“%s” is ready" | ||||
| msgstr "«%s» er klar" | ||||
|  | ||||
| #: ../js/ui/windowManager.js:65 | ||||
| #: ../js/ui/windowManager.js:63 | ||||
| msgid "Do you want to keep these display settings?" | ||||
| msgstr "Vil du beholde disse skjerminnstillingene?" | ||||
|  | ||||
| #. Translators: this and the following message should be limited in lenght, | ||||
| #. to avoid ellipsizing the labels. | ||||
| #. | ||||
| #: ../js/ui/windowManager.js:84 | ||||
| #: ../js/ui/windowManager.js:82 | ||||
| msgid "Revert Settings" | ||||
| msgstr "Forkast innstillinger" | ||||
|  | ||||
| #: ../js/ui/windowManager.js:88 | ||||
| #: ../js/ui/windowManager.js:85 | ||||
| msgid "Keep Changes" | ||||
| msgstr "Behold endringer" | ||||
|  | ||||
| #: ../js/ui/windowManager.js:107 | ||||
| #: ../js/ui/windowManager.js:103 | ||||
| #, javascript-format | ||||
| msgid "Settings changes will revert in %d second" | ||||
| msgid_plural "Settings changes will revert in %d seconds" | ||||
| @@ -1492,7 +1523,7 @@ msgstr[1] "Endringer i innstillingene forkastes om %d sekunder" | ||||
|  | ||||
| #. Translators: This represents the size of a window. The first number is | ||||
| #. * the width of the window and the second is the height. | ||||
| #: ../js/ui/windowManager.js:613 | ||||
| #: ../js/ui/windowManager.js:658 | ||||
| #, javascript-format | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
| @@ -1529,13 +1560,37 @@ msgstr "Alltid øverst" | ||||
| msgid "Always on Visible Workspace" | ||||
| msgstr "Alltid på synlig arbeidsområde" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:106 | ||||
| msgid "Move to Workspace Up" | ||||
| msgstr "Flytt til arbeidsområdet over" | ||||
| #: ../js/ui/windowMenu.js:105 | ||||
| msgid "Move to Workspace Left" | ||||
| msgstr "Gå til arbeidsområdet til venstre" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:111 | ||||
| #: ../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" | ||||
| msgstr "Gå til arbeidsområdet over" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:120 | ||||
| msgid "Move to Workspace Down" | ||||
| msgstr "Flytt til arbeidsområdet under" | ||||
| msgstr "Gå til arbeidsområdet under" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:136 | ||||
| msgid "Move to Monitor Up" | ||||
| msgstr "Flytt til skjermen over" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:142 | ||||
| msgid "Move to Monitor Down" | ||||
| msgstr "Flytt til skjermen under" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:148 | ||||
| msgid "Move to Monitor Left" | ||||
| msgstr "Flytt til skjermen til venstre" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:154 | ||||
| msgid "Move to Monitor Right" | ||||
| msgstr "Flytt til skjermen til høyre" | ||||
|  | ||||
| #: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1 | ||||
| msgid "Evolution Calendar" | ||||
| @@ -1563,19 +1618,19 @@ msgstr[1] "%u innganger" | ||||
| msgid "System Sounds" | ||||
| msgstr "Systemlyder" | ||||
|  | ||||
| #: ../src/main.c:372 | ||||
| #: ../src/main.c:373 | ||||
| msgid "Print version" | ||||
| msgstr "Vis versjon" | ||||
|  | ||||
| #: ../src/main.c:378 | ||||
| #: ../src/main.c:379 | ||||
| msgid "Mode used by GDM for login screen" | ||||
| msgstr "Modus som brukes av GDM for innloggingsskjermen" | ||||
|  | ||||
| #: ../src/main.c:384 | ||||
| #: ../src/main.c:385 | ||||
| msgid "Use a specific mode, e.g. \"gdm\" for login screen" | ||||
| msgstr "Bruk spesifikt modus, f.eks «gdm» for innloggingsskjerm" | ||||
|  | ||||
| #: ../src/main.c:390 | ||||
| #: ../src/main.c:391 | ||||
| msgid "List possible modes" | ||||
| msgstr "Vis mulige modi" | ||||
|  | ||||
| @@ -1589,11 +1644,11 @@ msgstr "Ukjent" | ||||
| msgid "Failed to launch “%s”" | ||||
| msgstr "Klarte ikke å starte «%s»" | ||||
|  | ||||
| #: ../src/shell-keyring-prompt.c:714 | ||||
| #: ../src/shell-keyring-prompt.c:742 | ||||
| msgid "Passwords do not match." | ||||
| msgstr "Passordene er ikke like." | ||||
|  | ||||
| #: ../src/shell-keyring-prompt.c:722 | ||||
| #: ../src/shell-keyring-prompt.c:750 | ||||
| msgid "Password cannot be blank" | ||||
| msgstr "Passordet kan ikke være tomt" | ||||
|  | ||||
|   | ||||
							
								
								
									
										968
									
								
								po/pt_BR.po
									
									
									
									
									
								
							
							
						
						
							
								
								
									
										168
									
								
								po/sl.po
									
									
									
									
									
								
							
							
						
						| @@ -9,18 +9,18 @@ msgstr "" | ||||
| "Project-Id-Version: gnome-shell master\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" | ||||
| "shell&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2015-03-15 08:36+0000\n" | ||||
| "PO-Revision-Date: 2015-03-15 09:41+0100\n" | ||||
| "POT-Creation-Date: 2015-07-08 08:07+0000\n" | ||||
| "PO-Revision-Date: 2015-07-08 15:46+0100\n" | ||||
| "Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n" | ||||
| "Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n" | ||||
| "Language: Slovenian\n" | ||||
| "Language: sl\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" | ||||
| "%100==4 ? 3 : 0);\n" | ||||
| "X-Poedit-SourceCharset: utf-8\n" | ||||
| "X-Generator: Poedit 1.5.4\n" | ||||
| "X-Generator: Poedit 1.7.5\n" | ||||
|  | ||||
| #: ../data/50-gnome-shell-system.xml.in.h:1 | ||||
| msgid "System" | ||||
| @@ -302,12 +302,12 @@ msgstr "" | ||||
| msgid "Network Login" | ||||
| msgstr "Omrežna prijava" | ||||
|  | ||||
| #: ../js/extensionPrefs/main.js:123 | ||||
| #: ../js/extensionPrefs/main.js:122 | ||||
| #, javascript-format | ||||
| msgid "There was an error loading the preferences dialog for %s:" | ||||
| msgstr "Prišlo je do napake med nalaganjem pogovornega okna z možnosti za %s:" | ||||
|  | ||||
| #: ../js/extensionPrefs/main.js:155 | ||||
| #: ../js/extensionPrefs/main.js:154 | ||||
| msgid "GNOME Shell Extensions" | ||||
| msgstr "Razširitve lupine Gnome" | ||||
|  | ||||
| @@ -318,39 +318,39 @@ msgstr "Razširitve lupine Gnome" | ||||
| msgid "Cancel" | ||||
| msgstr "Prekliči" | ||||
|  | ||||
| #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 | ||||
| #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215 | ||||
| msgid "Next" | ||||
| msgstr "Naslednji" | ||||
|  | ||||
| #: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 | ||||
| #: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403 | ||||
| #: ../js/ui/unlockDialog.js:59 | ||||
| msgid "Unlock" | ||||
| msgstr "Odkleni" | ||||
|  | ||||
| #: ../js/gdm/authPrompt.js:215 | ||||
| #: ../js/gdm/authPrompt.js:213 | ||||
| msgctxt "button" | ||||
| msgid "Sign In" | ||||
| msgstr "Prijava" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:280 | ||||
| #: ../js/gdm/loginDialog.js:281 | ||||
| msgid "Choose Session" | ||||
| msgstr "Izbor seje" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:421 | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| msgid "Not listed?" | ||||
| msgstr "Ali je ni na seznamu?" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:830 | ||||
| #: ../js/gdm/loginDialog.js:847 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(na primer, uporabnika ali %s)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:271 | ||||
| #: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271 | ||||
| #: ../js/ui/components/networkAgent.js:289 | ||||
| msgid "Username: " | ||||
| msgstr "Uporabniško ime: " | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:1170 | ||||
| #: ../js/gdm/loginDialog.js:1180 | ||||
| msgid "Login Window" | ||||
| msgstr "Prijavno okno" | ||||
|  | ||||
| @@ -443,31 +443,31 @@ msgstr "%B %d %Y, %l∶%M %p" | ||||
| msgid "Web Authentication Redirect" | ||||
| msgstr "Preusmeritev spletnega overjanja" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:792 | ||||
| #: ../js/ui/appDisplay.js:789 | ||||
| msgid "Frequently used applications will appear here" | ||||
| msgstr "Pogosto uporabljeni programi bodo prikazani tu" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:912 | ||||
| #: ../js/ui/appDisplay.js:909 | ||||
| msgid "Frequent" | ||||
| msgstr "Pogosto" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:919 | ||||
| #: ../js/ui/appDisplay.js:916 | ||||
| msgid "All" | ||||
| msgstr "Vse" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1850 | ||||
| #: ../js/ui/appDisplay.js:1845 | ||||
| msgid "New Window" | ||||
| msgstr "Novo okno" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291 | ||||
| #: ../js/ui/appDisplay.js:1873 ../js/ui/dash.js:289 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "Odstrani iz priljubljenih" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1884 | ||||
| #: ../js/ui/appDisplay.js:1879 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "Dodaj med priljubljene" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1894 | ||||
| #: ../js/ui/appDisplay.js:1889 | ||||
| msgid "Show Details" | ||||
| msgstr "Pokaži besedilo" | ||||
|  | ||||
| @@ -481,15 +481,19 @@ msgstr "Program \"%s\" je dodan med priljubljeno." | ||||
| msgid "%s has been removed from your favorites." | ||||
| msgstr "Program \"%s\" je odstranjen iz priljubljenih." | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650 | ||||
| #: ../js/ui/status/system.js:337 | ||||
| msgid "Settings" | ||||
| msgstr "Nastavitve" | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:21 | ||||
| #: ../js/ui/backgroundMenu.js:19 | ||||
| msgid "Change Background…" | ||||
| msgstr "Spremeni ozadje ..." | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:21 | ||||
| msgid "Display Settings" | ||||
| msgstr "Nastavitve zaslona" | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650 | ||||
| #: ../js/ui/status/system.js:357 | ||||
| msgid "Settings" | ||||
| msgstr "Nastavitve" | ||||
|  | ||||
| #. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */ | ||||
| #: ../js/ui/calendar.js:53 | ||||
| msgctxt "calendar-no-work" | ||||
| @@ -542,53 +546,53 @@ msgctxt "grid saturday" | ||||
| msgid "S" | ||||
| msgstr "S" | ||||
|  | ||||
| #: ../js/ui/calendar.js:563 | ||||
| #: ../js/ui/calendar.js:564 | ||||
| msgid "Previous month" | ||||
| msgstr "Predhodni mesec" | ||||
|  | ||||
| #: ../js/ui/calendar.js:573 | ||||
| #: ../js/ui/calendar.js:574 | ||||
| msgid "Next month" | ||||
| msgstr "Naslednji mesec" | ||||
|  | ||||
| #: ../js/ui/calendar.js:780 | ||||
| #: ../js/ui/calendar.js:781 | ||||
| msgid "Week %V" | ||||
| msgstr "Teden %V" | ||||
|  | ||||
| #. Translators: Shown in calendar event list for all day events | ||||
| #. * Keep it short, best if you can use less then 10 characters | ||||
| #. */ | ||||
| #: ../js/ui/calendar.js:1182 | ||||
| #: ../js/ui/calendar.js:1187 | ||||
| msgctxt "event list time" | ||||
| msgid "All Day" | ||||
| msgstr "Celodnevno" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1288 | ||||
| #: ../js/ui/calendar.js:1289 | ||||
| msgid "Clear section" | ||||
| msgstr "Počisti odsek" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1515 | ||||
| #: ../js/ui/calendar.js:1516 | ||||
| msgid "Events" | ||||
| msgstr "Dogodki" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1524 | ||||
| #: ../js/ui/calendar.js:1525 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, %d. %m." | ||||
|  | ||||
| #: ../js/ui/calendar.js:1528 | ||||
| #: ../js/ui/calendar.js:1529 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A, %d %B %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1613 | ||||
| #: ../js/ui/calendar.js:1614 | ||||
| msgid "Notifications" | ||||
| msgstr "Obvestila" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1764 | ||||
| #: ../js/ui/calendar.js:1765 | ||||
| msgid "No Notifications" | ||||
| msgstr "Ni obvestil" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1767 | ||||
| #: ../js/ui/calendar.js:1768 | ||||
| msgid "No Events" | ||||
| msgstr "Ni dogodkov" | ||||
|  | ||||
| @@ -724,7 +728,7 @@ msgstr "Dejanje je spodletelo. Poskusite znova." | ||||
|  | ||||
| #. Translators: this is the other person changing their old IM name to their new | ||||
| #. IM name. */ | ||||
| #: ../js/ui/components/telepathyClient.js:775 | ||||
| #: ../js/ui/components/telepathyClient.js:757 | ||||
| #, javascript-format | ||||
| msgid "%s is now known as %s" | ||||
| msgstr "%s je sedaj znan kot v %s" | ||||
| @@ -733,11 +737,11 @@ msgstr "%s je sedaj znan kot v %s" | ||||
| msgid "Windows" | ||||
| msgstr "Okna" | ||||
|  | ||||
| #: ../js/ui/dash.js:252 ../js/ui/dash.js:293 | ||||
| #: ../js/ui/dash.js:250 ../js/ui/dash.js:291 | ||||
| msgid "Show Applications" | ||||
| msgstr "Pokaži programe" | ||||
|  | ||||
| #: ../js/ui/dash.js:453 | ||||
| #: ../js/ui/dash.js:449 | ||||
| msgid "Dash" | ||||
| msgstr "Pregledna plošča" | ||||
|  | ||||
| @@ -916,16 +920,16 @@ msgstr "Namesti" | ||||
| msgid "Download and install “%s” from extensions.gnome.org?" | ||||
| msgstr "Prejmi in namesti “%s” preko povezave na extensions.gnome.org?" | ||||
|  | ||||
| #: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:580 | ||||
| #: ../js/ui/keyboard.js:747 ../js/ui/status/keyboard.js:713 | ||||
| msgid "Keyboard" | ||||
| msgstr "Tipkovnica" | ||||
|  | ||||
| #. translators: 'Hide' is a verb */ | ||||
| #: ../js/ui/legacyTray.js:64 | ||||
| #: ../js/ui/legacyTray.js:66 | ||||
| msgid "Hide tray" | ||||
| msgstr "Skrij sistemsko vrstico" | ||||
|  | ||||
| #: ../js/ui/legacyTray.js:104 | ||||
| #: ../js/ui/legacyTray.js:107 | ||||
| msgid "Status Icons" | ||||
| msgstr "Ikone stanja" | ||||
|  | ||||
| @@ -981,7 +985,7 @@ msgstr "Poglej vir" | ||||
| msgid "Web Page" | ||||
| msgstr "Spletna stran" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2133 | ||||
| #: ../js/ui/messageTray.js:1486 | ||||
| msgid "System Information" | ||||
| msgstr "Podrobnosti sistema" | ||||
|  | ||||
| @@ -1023,7 +1027,7 @@ msgstr "toggle-switch-intl" | ||||
| msgid "Enter a Command" | ||||
| msgstr "Vnos ukaza" | ||||
|  | ||||
| #: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:120 | ||||
| #: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162 | ||||
| msgid "Close" | ||||
| msgstr "Zapri" | ||||
|  | ||||
| @@ -1055,27 +1059,27 @@ msgstr[1] "%d novo obvestilo" | ||||
| msgstr[2] "%d novi obvestili" | ||||
| msgstr[3] "%d nova obvestila" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345 | ||||
| #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:365 | ||||
| msgid "Lock" | ||||
| msgstr "Zakleni" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:668 | ||||
| #: ../js/ui/screenShield.js:684 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "Zakleniti je treba zaslon" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271 | ||||
| #: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271 | ||||
| msgid "Unable to lock" | ||||
| msgstr "Zaklep ni mogoč" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272 | ||||
| #: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "Zaklep je preprečil program" | ||||
|  | ||||
| #: ../js/ui/search.js:616 | ||||
| #: ../js/ui/search.js:617 | ||||
| msgid "Searching…" | ||||
| msgstr "Iskanje ..." | ||||
|  | ||||
| #: ../js/ui/search.js:618 | ||||
| #: ../js/ui/search.js:619 | ||||
| msgid "No results." | ||||
| msgstr "Ni najdenih zadetkov." | ||||
|  | ||||
| @@ -1139,11 +1143,11 @@ msgstr "Odskočne tipke" | ||||
| msgid "Mouse Keys" | ||||
| msgstr "Miškine tipke" | ||||
|  | ||||
| #: ../js/ui/status/accessibility.js:144 | ||||
| #: ../js/ui/status/accessibility.js:167 | ||||
| msgid "High Contrast" | ||||
| msgstr "Visok kontrast" | ||||
|  | ||||
| #: ../js/ui/status/accessibility.js:193 | ||||
| #: ../js/ui/status/accessibility.js:202 | ||||
| msgid "Large Text" | ||||
| msgstr "Veliko besedilo" | ||||
|  | ||||
| @@ -1179,7 +1183,7 @@ msgstr "Ni vzpostavljene povezave" | ||||
| msgid "Brightness" | ||||
| msgstr "Svetlost" | ||||
|  | ||||
| #: ../js/ui/status/keyboard.js:603 | ||||
| #: ../js/ui/status/keyboard.js:736 | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "Pokaži razporeditev tipkovnice" | ||||
|  | ||||
| @@ -1390,23 +1394,23 @@ msgstr "Način letala" | ||||
| msgid "On" | ||||
| msgstr "Povezano" | ||||
|  | ||||
| #: ../js/ui/status/system.js:317 | ||||
| #: ../js/ui/status/system.js:337 | ||||
| msgid "Switch User" | ||||
| msgstr "Preklopi uporabnika" | ||||
|  | ||||
| #: ../js/ui/status/system.js:322 | ||||
| #: ../js/ui/status/system.js:342 | ||||
| msgid "Log Out" | ||||
| msgstr "Odjava" | ||||
|  | ||||
| #: ../js/ui/status/system.js:341 | ||||
| #: ../js/ui/status/system.js:361 | ||||
| msgid "Orientation Lock" | ||||
| msgstr "Zaklep položaja" | ||||
|  | ||||
| #: ../js/ui/status/system.js:349 | ||||
| #: ../js/ui/status/system.js:369 | ||||
| msgid "Suspend" | ||||
| msgstr "Zaustavi" | ||||
|  | ||||
| #: ../js/ui/status/system.js:352 | ||||
| #: ../js/ui/status/system.js:372 | ||||
| msgid "Power Off" | ||||
| msgstr "Izklop" | ||||
|  | ||||
| @@ -1438,27 +1442,27 @@ msgstr "Programi" | ||||
| msgid "Search" | ||||
| msgstr "Poišči" | ||||
|  | ||||
| #: ../js/ui/windowAttentionHandler.js:19 | ||||
| #: ../js/ui/windowAttentionHandler.js:20 | ||||
| #, javascript-format | ||||
| msgid "“%s” is ready" | ||||
| msgstr "“%s” storitev je pripravljena" | ||||
|  | ||||
| #: ../js/ui/windowManager.js:65 | ||||
| #: ../js/ui/windowManager.js:63 | ||||
| msgid "Do you want to keep these display settings?" | ||||
| msgstr "Ali želite ohraniti te nastavitve zaslona?" | ||||
|  | ||||
| #. Translators: this and the following message should be limited in lenght, | ||||
| #. to avoid ellipsizing the labels. | ||||
| #. */ | ||||
| #: ../js/ui/windowManager.js:84 | ||||
| #: ../js/ui/windowManager.js:82 | ||||
| msgid "Revert Settings" | ||||
| msgstr "Povrni nastavitve" | ||||
|  | ||||
| #: ../js/ui/windowManager.js:88 | ||||
| #: ../js/ui/windowManager.js:86 | ||||
| msgid "Keep Changes" | ||||
| msgstr "Sledi spremembam" | ||||
|  | ||||
| #: ../js/ui/windowManager.js:107 | ||||
| #: ../js/ui/windowManager.js:105 | ||||
| #, javascript-format | ||||
| msgid "Settings changes will revert in %d second" | ||||
| msgid_plural "Settings changes will revert in %d seconds" | ||||
| @@ -1469,7 +1473,7 @@ msgstr[3] "Spremembe nastavitev bodo povrnjene v %d sekundah." | ||||
|  | ||||
| #. Translators: This represents the size of a window. The first number is | ||||
| #. * the width of the window and the second is the height. */ | ||||
| #: ../js/ui/windowManager.js:599 | ||||
| #: ../js/ui/windowManager.js:604 | ||||
| #, javascript-format | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
| @@ -1506,14 +1510,38 @@ msgstr "Vedno na vrhu" | ||||
| msgid "Always on Visible Workspace" | ||||
| msgstr "Vedno na dejavni delovni površini" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:106 | ||||
| #: ../js/ui/windowMenu.js:105 | ||||
| msgid "Move to Workspace Left" | ||||
| msgstr "Premakni na delovno površino na levi" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:110 | ||||
| msgid "Move to Workspace Right" | ||||
| msgstr "Premakni na delovno površino na desni" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:115 | ||||
| msgid "Move to Workspace Up" | ||||
| msgstr "Premakni na zgornjo delovno površino" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:111 | ||||
| #: ../js/ui/windowMenu.js:120 | ||||
| msgid "Move to Workspace Down" | ||||
| msgstr "Premakni na spodnjo delovno površino" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:136 | ||||
| msgid "Move to Monitor Up" | ||||
| msgstr "\t" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:142 | ||||
| msgid "Move to Monitor Down" | ||||
| msgstr "Premakni na zaslon spodaj" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:148 | ||||
| msgid "Move to Monitor Left" | ||||
| msgstr "Premakni na zaslon levo" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:154 | ||||
| msgid "Move to Monitor Right" | ||||
| msgstr "Premakni na zaslon desno" | ||||
|  | ||||
| #: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1 | ||||
| msgid "Evolution Calendar" | ||||
| msgstr "Koledar Evolution " | ||||
| @@ -1570,11 +1598,11 @@ msgstr "Neznano" | ||||
| msgid "Failed to launch “%s”" | ||||
| msgstr "Zaganjanje “%s” je spodletelo" | ||||
|  | ||||
| #: ../src/shell-keyring-prompt.c:714 | ||||
| #: ../src/shell-keyring-prompt.c:742 | ||||
| msgid "Passwords do not match." | ||||
| msgstr "Gesli se ne skladata." | ||||
|  | ||||
| #: ../src/shell-keyring-prompt.c:722 | ||||
| #: ../src/shell-keyring-prompt.c:750 | ||||
| msgid "Password cannot be blank" | ||||
| msgstr "Geslo ne more biti prazno" | ||||
|  | ||||
|   | ||||
							
								
								
									
										747
									
								
								po/sr@latin.po
									
									
									
									
									
								
							
							
						
						
							
								
								
									
										163
									
								
								po/tg.po
									
									
									
									
									
								
							
							
						
						| @@ -8,8 +8,8 @@ msgstr "" | ||||
| "Project-Id-Version: Tajik Gnome\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" | ||||
| "shell&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2015-03-13 20:44+0000\n" | ||||
| "PO-Revision-Date: 2015-03-14 09:50+0500\n" | ||||
| "POT-Creation-Date: 2015-06-24 20:04+0000\n" | ||||
| "PO-Revision-Date: 2015-06-25 10:20+0500\n" | ||||
| "Last-Translator: Victor Ibragimov <victor.ibragimov@gmail.com>\n" | ||||
| "Language-Team: \n" | ||||
| "Language: tg\n" | ||||
| @@ -17,7 +17,7 @@ msgstr "" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| "X-Generator: Poedit 1.6.5\n" | ||||
| "X-Generator: Poedit 1.7.5\n" | ||||
|  | ||||
| #: ../data/50-gnome-shell-system.xml.in.h:1 | ||||
| msgid "System" | ||||
| @@ -305,14 +305,14 @@ msgstr "" | ||||
| msgid "Network Login" | ||||
| msgstr "Воридшавии шабакавӣ" | ||||
|  | ||||
| #: ../js/extensionPrefs/main.js:123 | ||||
| #: ../js/extensionPrefs/main.js:122 | ||||
| #, javascript-format | ||||
| msgid "There was an error loading the preferences dialog for %s:" | ||||
| msgstr "" | ||||
| "Ҳангоми боркунии равзанаи гуфтугӯи хусусиятҳо барои %s хатогие ба вуҷуд " | ||||
| "омадааст:" | ||||
|  | ||||
| #: ../js/extensionPrefs/main.js:155 | ||||
| #: ../js/extensionPrefs/main.js:154 | ||||
| msgid "GNOME Shell Extensions" | ||||
| msgstr "Пасвандҳои восити GNOME" | ||||
|  | ||||
| @@ -323,39 +323,39 @@ msgstr "Пасвандҳои восити GNOME" | ||||
| msgid "Cancel" | ||||
| msgstr "Бекор кардан" | ||||
|  | ||||
| #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 | ||||
| #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215 | ||||
| msgid "Next" | ||||
| msgstr "Навбатӣ" | ||||
|  | ||||
| #: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 | ||||
| #: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403 | ||||
| #: ../js/ui/unlockDialog.js:59 | ||||
| msgid "Unlock" | ||||
| msgstr "Кушодан" | ||||
|  | ||||
| #: ../js/gdm/authPrompt.js:215 | ||||
| #: ../js/gdm/authPrompt.js:213 | ||||
| msgctxt "button" | ||||
| msgid "Sign In" | ||||
| msgstr "Ворид шудан" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:280 | ||||
| #: ../js/gdm/loginDialog.js:281 | ||||
| msgid "Choose Session" | ||||
| msgstr "Интихоби ҷаласа" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:421 | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| msgid "Not listed?" | ||||
| msgstr "Вуҷуд надора?" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:830 | ||||
| #: ../js/gdm/loginDialog.js:840 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(масалан, корбар ё %s)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:271 | ||||
| #: ../js/gdm/loginDialog.js:845 ../js/ui/components/networkAgent.js:271 | ||||
| #: ../js/ui/components/networkAgent.js:289 | ||||
| msgid "Username: " | ||||
| msgstr "Номи корбар:" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:1170 | ||||
| #: ../js/gdm/loginDialog.js:1173 | ||||
| msgid "Login Window" | ||||
| msgstr "Равзанаи воридшавӣ" | ||||
|  | ||||
| @@ -448,31 +448,31 @@ msgstr "%B %d %Y, %l∶%M %p" | ||||
| msgid "Web Authentication Redirect" | ||||
| msgstr "Бозфиристодани санҷиши ҳаққонияти веб" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:792 | ||||
| #: ../js/ui/appDisplay.js:788 | ||||
| msgid "Frequently used applications will appear here" | ||||
| msgstr "Барномаҳои бештар истифодашуда ин ҷо намоиш дода мешаванд" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:912 | ||||
| #: ../js/ui/appDisplay.js:908 | ||||
| msgid "Frequent" | ||||
| msgstr "Роиҷ" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:919 | ||||
| #: ../js/ui/appDisplay.js:915 | ||||
| msgid "All" | ||||
| msgstr "Ҳама" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1850 | ||||
| #: ../js/ui/appDisplay.js:1844 | ||||
| msgid "New Window" | ||||
| msgstr "Равзанаи нав" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291 | ||||
| #: ../js/ui/appDisplay.js:1872 ../js/ui/dash.js:289 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "Тоза кардан аз Баргузидаҳо" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1884 | ||||
| #: ../js/ui/appDisplay.js:1878 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "Илова кардан ба Баргузидаҳо" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1894 | ||||
| #: ../js/ui/appDisplay.js:1888 | ||||
| msgid "Show Details" | ||||
| msgstr "Намоиш додани тафсилот" | ||||
|  | ||||
| @@ -486,15 +486,19 @@ msgstr "%s ба баргузидаҳои шумо илова шудааст." | ||||
| msgid "%s has been removed from your favorites." | ||||
| msgstr "%s аз баргузидаҳои шумо тоза шудааст." | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650 | ||||
| #: ../js/ui/status/system.js:337 | ||||
| msgid "Settings" | ||||
| msgstr "Танзимот" | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:21 | ||||
| #: ../js/ui/backgroundMenu.js:19 | ||||
| msgid "Change Background…" | ||||
| msgstr "Тағйир додани пазсамина..." | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:21 | ||||
| msgid "Display Settings" | ||||
| msgstr "Танзимоти дисплей" | ||||
|  | ||||
| #: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650 | ||||
| #: ../js/ui/status/system.js:357 | ||||
| msgid "Settings" | ||||
| msgstr "Танзимот" | ||||
|  | ||||
| #. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */ | ||||
| #: ../js/ui/calendar.js:53 | ||||
| msgctxt "calendar-no-work" | ||||
| @@ -547,53 +551,53 @@ msgctxt "grid saturday" | ||||
| msgid "S" | ||||
| msgstr "Ш" | ||||
|  | ||||
| #: ../js/ui/calendar.js:563 | ||||
| #: ../js/ui/calendar.js:564 | ||||
| msgid "Previous month" | ||||
| msgstr "Моҳи қаблӣ" | ||||
|  | ||||
| #: ../js/ui/calendar.js:573 | ||||
| #: ../js/ui/calendar.js:574 | ||||
| msgid "Next month" | ||||
| msgstr "Моҳи навбатӣ" | ||||
|  | ||||
| #: ../js/ui/calendar.js:780 | ||||
| #: ../js/ui/calendar.js:781 | ||||
| msgid "Week %V" | ||||
| msgstr "Ҳафтаи %V" | ||||
|  | ||||
| #. Translators: Shown in calendar event list for all day events | ||||
| #. * Keep it short, best if you can use less then 10 characters | ||||
| #. */ | ||||
| #: ../js/ui/calendar.js:1182 | ||||
| #: ../js/ui/calendar.js:1187 | ||||
| msgctxt "event list time" | ||||
| msgid "All Day" | ||||
| msgstr "Тамоми рӯз" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1288 | ||||
| #: ../js/ui/calendar.js:1289 | ||||
| msgid "Clear section" | ||||
| msgstr "Пок кардани қисмат" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1515 | ||||
| #: ../js/ui/calendar.js:1516 | ||||
| msgid "Events" | ||||
| msgstr "Рӯйдодҳо" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1524 | ||||
| #: ../js/ui/calendar.js:1525 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, %B %d" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1528 | ||||
| #: ../js/ui/calendar.js:1529 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A, %B %d, %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1613 | ||||
| #: ../js/ui/calendar.js:1614 | ||||
| msgid "Notifications" | ||||
| msgstr "Огоҳиҳо" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1764 | ||||
| #: ../js/ui/calendar.js:1765 | ||||
| msgid "No Notifications" | ||||
| msgstr "Ягон огоҳӣ нест" | ||||
|  | ||||
| #: ../js/ui/calendar.js:1767 | ||||
| #: ../js/ui/calendar.js:1768 | ||||
| msgid "No Events" | ||||
| msgstr "Ягон рӯйдод нест" | ||||
|  | ||||
| @@ -729,7 +733,7 @@ msgstr "Мутаассифона, ин амал иҷро нашуд. Лутфа | ||||
|  | ||||
| #. Translators: this is the other person changing their old IM name to their new | ||||
| #. IM name. */ | ||||
| #: ../js/ui/components/telepathyClient.js:775 | ||||
| #: ../js/ui/components/telepathyClient.js:757 | ||||
| #, javascript-format | ||||
| msgid "%s is now known as %s" | ||||
| msgstr "%s аллакой бо номи %s номида мешавад" | ||||
| @@ -738,11 +742,11 @@ msgstr "%s аллакой бо номи %s номида мешавад" | ||||
| msgid "Windows" | ||||
| msgstr "Равзанаҳо" | ||||
|  | ||||
| #: ../js/ui/dash.js:252 ../js/ui/dash.js:293 | ||||
| #: ../js/ui/dash.js:250 ../js/ui/dash.js:291 | ||||
| msgid "Show Applications" | ||||
| msgstr "Намоиш додани барномаҳо" | ||||
|  | ||||
| #: ../js/ui/dash.js:453 | ||||
| #: ../js/ui/dash.js:449 | ||||
| msgid "Dash" | ||||
| msgstr "Рах" | ||||
|  | ||||
| @@ -910,17 +914,16 @@ msgstr "Насб кардан" | ||||
| msgid "Download and install “%s” from extensions.gnome.org?" | ||||
| msgstr "“%s”-ро аз extensions.gnome.org боргирӣ ва насб мекунед?" | ||||
|  | ||||
| #: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:580 | ||||
| #: ../js/ui/keyboard.js:747 ../js/ui/status/keyboard.js:713 | ||||
| msgid "Keyboard" | ||||
| msgstr "Клавиатура" | ||||
|  | ||||
| #. translators: 'Hide' is a verb */ | ||||
| #: ../js/ui/legacyTray.js:59 | ||||
| #| msgid "Hide Text" | ||||
| #: ../js/ui/legacyTray.js:66 | ||||
| msgid "Hide tray" | ||||
| msgstr "Пинҳон кардани лавҳа" | ||||
|  | ||||
| #: ../js/ui/legacyTray.js:91 | ||||
| #: ../js/ui/legacyTray.js:107 | ||||
| msgid "Status Icons" | ||||
| msgstr "Нишонаҳои вазъият" | ||||
|  | ||||
| @@ -976,7 +979,7 @@ msgstr "Намоиш додани манбаъ" | ||||
| msgid "Web Page" | ||||
| msgstr "Саҳифаи веб" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2133 | ||||
| #: ../js/ui/messageTray.js:1486 | ||||
| msgid "System Information" | ||||
| msgstr "Маълумоти система" | ||||
|  | ||||
| @@ -1018,7 +1021,7 @@ msgstr "toggle-switch-us" | ||||
| msgid "Enter a Command" | ||||
| msgstr "Фармонеро ворид кунед" | ||||
|  | ||||
| #: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:120 | ||||
| #: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162 | ||||
| msgid "Close" | ||||
| msgstr "Пӯшидан" | ||||
|  | ||||
| @@ -1046,27 +1049,27 @@ msgid_plural "%d new notifications" | ||||
| msgstr[0] "%d огоҳии нав" | ||||
| msgstr[1] "%d огоҳии нав" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345 | ||||
| #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:365 | ||||
| msgid "Lock" | ||||
| msgstr "Қулф кардан" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:668 | ||||
| #: ../js/ui/screenShield.js:684 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "GNOME бояд экранро қулф кунад" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271 | ||||
| #: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271 | ||||
| msgid "Unable to lock" | ||||
| msgstr "Қулф карда намешавад" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272 | ||||
| #: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "Қулф аз тарави барнома баста шудааст" | ||||
|  | ||||
| #: ../js/ui/search.js:616 | ||||
| #: ../js/ui/search.js:617 | ||||
| msgid "Searching…" | ||||
| msgstr "Ҷустуҷӯ рафта истодааст..." | ||||
|  | ||||
| #: ../js/ui/search.js:618 | ||||
| #: ../js/ui/search.js:619 | ||||
| msgid "No results." | ||||
| msgstr "Ягон натиҷа нест." | ||||
|  | ||||
| @@ -1130,11 +1133,11 @@ msgstr "Тугмаҳои ҷастухез" | ||||
| msgid "Mouse Keys" | ||||
| msgstr "Тугмаҳои муш" | ||||
|  | ||||
| #: ../js/ui/status/accessibility.js:144 | ||||
| #: ../js/ui/status/accessibility.js:167 | ||||
| msgid "High Contrast" | ||||
| msgstr "Контрасти баланд" | ||||
|  | ||||
| #: ../js/ui/status/accessibility.js:193 | ||||
| #: ../js/ui/status/accessibility.js:202 | ||||
| msgid "Large Text" | ||||
| msgstr "Матни бузург" | ||||
|  | ||||
| @@ -1168,7 +1171,7 @@ msgstr "Пайваст нашудааст" | ||||
| msgid "Brightness" | ||||
| msgstr "Дурахшонӣ" | ||||
|  | ||||
| #: ../js/ui/status/keyboard.js:603 | ||||
| #: ../js/ui/status/keyboard.js:736 | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "Намоиш додани тарҳбандии клавиатура" | ||||
|  | ||||
| @@ -1379,23 +1382,23 @@ msgstr "Ҳолати ҳавопаймо" | ||||
| msgid "On" | ||||
| msgstr "Фаъол" | ||||
|  | ||||
| #: ../js/ui/status/system.js:317 | ||||
| #: ../js/ui/status/system.js:337 | ||||
| msgid "Switch User" | ||||
| msgstr "Таъвизи корбар" | ||||
|  | ||||
| #: ../js/ui/status/system.js:322 | ||||
| #: ../js/ui/status/system.js:342 | ||||
| msgid "Log Out" | ||||
| msgstr "Баромад" | ||||
|  | ||||
| #: ../js/ui/status/system.js:341 | ||||
| #: ../js/ui/status/system.js:361 | ||||
| msgid "Orientation Lock" | ||||
| msgstr "Қулфи самт" | ||||
|  | ||||
| #: ../js/ui/status/system.js:349 | ||||
| #: ../js/ui/status/system.js:369 | ||||
| msgid "Suspend" | ||||
| msgstr "Таваққуф" | ||||
|  | ||||
| #: ../js/ui/status/system.js:352 | ||||
| #: ../js/ui/status/system.js:372 | ||||
| msgid "Power Off" | ||||
| msgstr "Хомӯш кардан" | ||||
|  | ||||
| @@ -1456,7 +1459,7 @@ msgstr[1] "Тағйироти танзимот баъд аз %d сония ба | ||||
|  | ||||
| #. Translators: This represents the size of a window. The first number is | ||||
| #. * the width of the window and the second is the height. */ | ||||
| #: ../js/ui/windowManager.js:599 | ||||
| #: ../js/ui/windowManager.js:605 | ||||
| #, javascript-format | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
| @@ -1493,14 +1496,38 @@ msgstr "Ҳамеша дар боло" | ||||
| msgid "Always on Visible Workspace" | ||||
| msgstr "Ҳамеша дар фазои кории намоён" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:106 | ||||
| #: ../js/ui/windowMenu.js:105 | ||||
| msgid "Move to Workspace Left" | ||||
| msgstr "Интиқол додан ба фазои кории чап" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:110 | ||||
| msgid "Move to Workspace Right" | ||||
| msgstr "Интиқол додан ба фазои кории рост" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:115 | ||||
| msgid "Move to Workspace Up" | ||||
| msgstr "Интиқол додан ба фазои кории боло" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:111 | ||||
| #: ../js/ui/windowMenu.js:120 | ||||
| msgid "Move to Workspace Down" | ||||
| msgstr "Интиқол додан ба фазои кории поён" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:136 | ||||
| msgid "Move to Monitor Up" | ||||
| msgstr "Интиқол ба канори болои монитор" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:142 | ||||
| msgid "Move to Monitor Down" | ||||
| msgstr "Интиқол ба канори поёни монитор" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:148 | ||||
| msgid "Move to Monitor Left" | ||||
| msgstr "Интиқол ба канори чапи монитор" | ||||
|  | ||||
| #: ../js/ui/windowMenu.js:154 | ||||
| msgid "Move to Monitor Right" | ||||
| msgstr "Интиқол ба канори рости монитор" | ||||
|  | ||||
| #: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1 | ||||
| msgid "Evolution Calendar" | ||||
| msgstr "Ӣақвими Evolution" | ||||
| @@ -1544,21 +1571,21 @@ msgstr "" | ||||
| msgid "List possible modes" | ||||
| msgstr "Рӯйхати ҳолатҳои имконпазир" | ||||
|  | ||||
| #: ../src/shell-app.c:247 | ||||
| #: ../src/shell-app.c:239 | ||||
| msgctxt "program" | ||||
| msgid "Unknown" | ||||
| msgstr "Номаълум" | ||||
|  | ||||
| #: ../src/shell-app.c:488 | ||||
| #: ../src/shell-app.c:480 | ||||
| #, c-format | ||||
| msgid "Failed to launch “%s”" | ||||
| msgstr "Оғози “%s” қатъ шудааст" | ||||
|  | ||||
| #: ../src/shell-keyring-prompt.c:714 | ||||
| #: ../src/shell-keyring-prompt.c:742 | ||||
| msgid "Passwords do not match." | ||||
| msgstr "Паролҳо мувофиқат намекунанд." | ||||
|  | ||||
| #: ../src/shell-keyring-prompt.c:722 | ||||
| #: ../src/shell-keyring-prompt.c:750 | ||||
| msgid "Password cannot be blank" | ||||
| msgstr "Парол бояд холӣ набошад" | ||||
|  | ||||
| @@ -1787,7 +1814,7 @@ msgstr "Равзанаи гуфтугӯи санҷиши ҳакконият бо | ||||
| #~ "маҳдудиятҳое, ки бо китобхонаи рамзгузорӣ таъин шудаанд, дарозтар мебошад" | ||||
|  | ||||
| #~ msgid "Internal error" | ||||
| #~ msgstr "Хатогии дохилӣ" | ||||
| #~ msgstr "Хатои дохилӣ" | ||||
|  | ||||
| #~ msgid "Unable to connect to %s" | ||||
| #~ msgstr "Пайвастшавӣ ба %s имконнопазир аст" | ||||
|   | ||||
							
								
								
									
										546
									
								
								po/zh_TW.po
									
									
									
									
									
								
							
							
						
						| @@ -64,8 +64,6 @@ st_source_h =					\ | ||||
| 	st/st-scroll-bar.h			\ | ||||
| 	st/st-scroll-view.h			\ | ||||
| 	st/st-shadow.h				\ | ||||
| 	st/st-table.h				\ | ||||
| 	st/st-table-child.h			\ | ||||
| 	st/st-texture-cache.h			\ | ||||
| 	st/st-theme.h				\ | ||||
| 	st/st-theme-context.h			\ | ||||
| @@ -106,7 +104,6 @@ EXTRA_DIST += 					\ | ||||
|  | ||||
| st_source_private_h =				\ | ||||
| 	st/st-private.h				\ | ||||
| 	st/st-table-private.h			\ | ||||
| 	st/st-theme-private.h			\ | ||||
| 	st/st-theme-node-private.h		\ | ||||
| 	st/st-theme-node-transition.h | ||||
| @@ -133,8 +130,6 @@ st_source_c =					\ | ||||
| 	st/st-scroll-bar.c			\ | ||||
| 	st/st-scroll-view.c			\ | ||||
| 	st/st-shadow.c				\ | ||||
| 	st/st-table.c				\ | ||||
| 	st/st-table-child.c			\ | ||||
| 	st/st-texture-cache.c			\ | ||||
| 	st/st-theme.c				\ | ||||
| 	st/st-theme-context.c			\ | ||||
|   | ||||
| @@ -201,7 +201,7 @@ calendar_sources_init (CalendarSources *sources) | ||||
|                                         "/", "org.freedesktop.DBus", | ||||
|                                         "StartServiceByName", | ||||
|                                         g_variant_new ("(su)", | ||||
|                                                        "org.gnome.evolution.dataserver.Sources4", | ||||
|                                                        "org.gnome.evolution.dataserver.Sources5", | ||||
|                                                        0), | ||||
|                                         NULL, | ||||
|                                         G_DBUS_CALL_FLAGS_NONE, | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| #!/usr/bin/perl | ||||
| #!/usr/bin/env perl | ||||
|  | ||||
| # Copyright © 2011 Red Hat, Inc | ||||
| # | ||||
|   | ||||
| @@ -42,18 +42,11 @@ static void gnome_shell_plugin_minimize         (MetaPlugin          *plugin, | ||||
|                                                  MetaWindowActor     *actor); | ||||
| static void gnome_shell_plugin_unminimize       (MetaPlugin          *plugin, | ||||
|                                                  MetaWindowActor     *actor); | ||||
| static void gnome_shell_plugin_maximize         (MetaPlugin          *plugin, | ||||
| static void gnome_shell_plugin_size_change      (MetaPlugin          *plugin, | ||||
|                                                  MetaWindowActor     *actor, | ||||
|                                                  gint                 x, | ||||
|                                                  gint                 y, | ||||
|                                                  gint                 width, | ||||
|                                                  gint                 height); | ||||
| static void gnome_shell_plugin_unmaximize       (MetaPlugin          *plugin, | ||||
|                                                  MetaWindowActor     *actor, | ||||
|                                                  gint                 x, | ||||
|                                                  gint                 y, | ||||
|                                                  gint                 width, | ||||
|                                                  gint                 height); | ||||
|                                                  MetaSizeChange       which_change, | ||||
|                                                  MetaRectangle       *old_frame_rect, | ||||
|                                                  MetaRectangle       *old_buffer_rect); | ||||
| static void gnome_shell_plugin_map              (MetaPlugin          *plugin, | ||||
|                                                  MetaWindowActor     *actor); | ||||
| static void gnome_shell_plugin_destroy          (MetaPlugin          *plugin, | ||||
| @@ -134,8 +127,7 @@ gnome_shell_plugin_class_init (GnomeShellPluginClass *klass) | ||||
|   plugin_class->map              = gnome_shell_plugin_map; | ||||
|   plugin_class->minimize         = gnome_shell_plugin_minimize; | ||||
|   plugin_class->unminimize       = gnome_shell_plugin_unminimize; | ||||
|   plugin_class->maximize         = gnome_shell_plugin_maximize; | ||||
|   plugin_class->unmaximize       = gnome_shell_plugin_unmaximize; | ||||
|   plugin_class->size_change      = gnome_shell_plugin_size_change; | ||||
|   plugin_class->destroy          = gnome_shell_plugin_destroy; | ||||
|  | ||||
|   plugin_class->switch_workspace = gnome_shell_plugin_switch_workspace; | ||||
| @@ -281,27 +273,13 @@ gnome_shell_plugin_unminimize (MetaPlugin         *plugin, | ||||
| } | ||||
|  | ||||
| static void | ||||
| gnome_shell_plugin_maximize (MetaPlugin         *plugin, | ||||
|                              MetaWindowActor    *actor, | ||||
|                              gint                x, | ||||
|                              gint                y, | ||||
|                              gint                width, | ||||
|                              gint                height) | ||||
| gnome_shell_plugin_size_change (MetaPlugin         *plugin, | ||||
|                                 MetaWindowActor    *actor, | ||||
|                                 MetaSizeChange      which_change, | ||||
|                                 MetaRectangle      *old_frame_rect, | ||||
|                                 MetaRectangle      *old_buffer_rect) | ||||
| { | ||||
|   _shell_wm_maximize (get_shell_wm (), | ||||
|                       actor, x, y, width, height); | ||||
| } | ||||
|  | ||||
| static void | ||||
| gnome_shell_plugin_unmaximize (MetaPlugin         *plugin, | ||||
|                                MetaWindowActor    *actor, | ||||
|                                gint                x, | ||||
|                                gint                y, | ||||
|                                gint                width, | ||||
|                                gint                height) | ||||
| { | ||||
|   _shell_wm_unmaximize (get_shell_wm (), | ||||
|                         actor, x, y, width, height); | ||||
|   _shell_wm_size_change (get_shell_wm (), actor, which_change, old_frame_rect, old_buffer_rect); | ||||
| } | ||||
|  | ||||
| static void | ||||
|   | ||||
| @@ -176,15 +176,15 @@ gtk_menu_tracker_section_sync_separators (GtkMenuTrackerSection *section, | ||||
|  | ||||
|       if (subsection) | ||||
|         { | ||||
|           gboolean could_have_separator; | ||||
|           gboolean section_could_have_separator; | ||||
|  | ||||
|           could_have_separator = (section->with_separators && n_items > 0) || subsection->separator_label; | ||||
|           section_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. */ | ||||
|           n_items += gtk_menu_tracker_section_sync_separators (subsection, tracker, offset + n_items, | ||||
|                                                                could_have_separator, | ||||
|                                                                could_have_separator ? section->model : NULL, | ||||
|                                                                could_have_separator ? i : 0); | ||||
|                                                                section_could_have_separator, | ||||
|                                                                section_could_have_separator ? section->model : NULL, | ||||
|                                                                section_could_have_separator ? i : 0); | ||||
|         } | ||||
|       else | ||||
|         n_items++; | ||||
| @@ -197,11 +197,11 @@ gtk_menu_tracker_section_sync_separators (GtkMenuTrackerSection *section, | ||||
|   if (should_have_separator > section->has_separator) | ||||
|     { | ||||
|       /* Add a separator */ | ||||
|       GtkMenuTrackerItem *item; | ||||
|       GtkMenuTrackerItem *menuitem; | ||||
|  | ||||
|       item = _gtk_menu_tracker_item_new (tracker->observable, parent_model, parent_index, NULL, TRUE); | ||||
|       (* tracker->insert_func) (item, offset, tracker->user_data); | ||||
|       g_object_unref (item); | ||||
|       menuitem = _gtk_menu_tracker_item_new (tracker->observable, parent_model, parent_index, NULL, TRUE); | ||||
|       (* tracker->insert_func) (menuitem, offset, tracker->user_data); | ||||
|       g_object_unref (menuitem); | ||||
|  | ||||
|       section->has_separator = TRUE; | ||||
|     } | ||||
|   | ||||
							
								
								
									
										2
									
								
								src/gvc
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						
							
								
								
									
										47
									
								
								src/main.c
									
									
									
									
									
								
							
							
						
						| @@ -51,11 +51,11 @@ enum { | ||||
| static int _shell_debug; | ||||
|  | ||||
| static void | ||||
| shell_dbus_acquire_name (GDBusProxy *bus, | ||||
|                          guint32     request_name_flags, | ||||
|                          guint32    *request_name_result, | ||||
|                          gchar      *name, | ||||
|                          gboolean    fatal) | ||||
| shell_dbus_acquire_name (GDBusProxy  *bus, | ||||
|                          guint32      request_name_flags, | ||||
|                          guint32     *request_name_result, | ||||
|                          const gchar *name, | ||||
|                          gboolean     fatal) | ||||
| { | ||||
|   GError *error = NULL; | ||||
|   GVariant *request_name_variant; | ||||
| @@ -69,24 +69,26 @@ shell_dbus_acquire_name (GDBusProxy *bus, | ||||
|                                                        &error))) | ||||
|     { | ||||
|       g_printerr ("failed to acquire %s: %s\n", name, error->message); | ||||
|       g_clear_error (&error); | ||||
|       if (!fatal) | ||||
|         return; | ||||
|       exit (1); | ||||
|     } | ||||
|   g_variant_get (request_name_variant, "(u)", request_name_result); | ||||
|   g_variant_unref (request_name_variant); | ||||
| } | ||||
|  | ||||
| static void | ||||
| shell_dbus_acquire_names (GDBusProxy *bus, | ||||
|                           guint32     request_name_flags, | ||||
|                           gchar      *name, | ||||
|                           gboolean    fatal, ...) G_GNUC_NULL_TERMINATED; | ||||
| shell_dbus_acquire_names (GDBusProxy  *bus, | ||||
|                           guint32      request_name_flags, | ||||
|                           const gchar *name, | ||||
|                           gboolean     fatal, ...) G_GNUC_NULL_TERMINATED; | ||||
|  | ||||
| static void | ||||
| shell_dbus_acquire_names (GDBusProxy *bus, | ||||
|                           guint32     request_name_flags, | ||||
|                           gchar      *name, | ||||
|                           gboolean    fatal, ...) | ||||
| shell_dbus_acquire_names (GDBusProxy  *bus, | ||||
|                           guint32      request_name_flags, | ||||
|                           const gchar *name, | ||||
|                           gboolean     fatal, ...) | ||||
| { | ||||
|   va_list al; | ||||
|   guint32 request_name_result; | ||||
| @@ -130,6 +132,12 @@ shell_dbus_init (gboolean replace) | ||||
|                                NULL, /* cancellable */ | ||||
|                                &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; | ||||
|   if (replace) | ||||
|     request_name_flags |= DBUS_NAME_FLAG_REPLACE_EXISTING; | ||||
| @@ -174,18 +182,19 @@ shell_prefs_init (void) | ||||
| { | ||||
|   ShellGlobal *global = shell_global_get (); | ||||
|   GSettings *settings = shell_global_get_overrides_settings (global); | ||||
|   char **keys, **k, *schema_id; | ||||
|   GSettingsSchema *schema; | ||||
|   char **keys, **k; | ||||
|  | ||||
|   if (!settings) | ||||
|     return; | ||||
|  | ||||
|   g_object_get (G_OBJECT (settings), "schema-id", &schema_id, NULL); | ||||
|   g_object_get (G_OBJECT (settings), "settings-schema", &schema, NULL); | ||||
|  | ||||
|   for (keys = k = g_settings_list_keys (settings); *k; k++) | ||||
|     meta_prefs_override_preference_schema (*k, schema_id); | ||||
|   for (keys = k = g_settings_schema_list_keys (schema); *k; k++) | ||||
|     meta_prefs_override_preference_schema (*k, g_settings_schema_get_id (schema)); | ||||
|  | ||||
|   g_strfreev (keys); | ||||
|   g_free (schema_id); | ||||
|   g_settings_schema_unref (schema); | ||||
| } | ||||
|  | ||||
| static void | ||||
| @@ -453,7 +462,7 @@ main (int argc, char **argv) | ||||
|  | ||||
|   /* Initialize the global object */ | ||||
|   if (session_mode == NULL) | ||||
|     session_mode = is_gdm_mode ? "gdm" : "user"; | ||||
|     session_mode = is_gdm_mode ? (char *)"gdm" : (char *)"user"; | ||||
|  | ||||
|   _shell_global_init ("session-mode", session_mode, NULL); | ||||
|  | ||||
|   | ||||
| @@ -182,7 +182,7 @@ shell_app_system_finalize (GObject *object) | ||||
|  * Return Value: (transfer none): The global #ShellAppSystem singleton | ||||
|  */ | ||||
| ShellAppSystem * | ||||
| shell_app_system_get_default () | ||||
| shell_app_system_get_default (void) | ||||
| { | ||||
|   static ShellAppSystem *instance = NULL; | ||||
|  | ||||
| @@ -348,6 +348,9 @@ _shell_app_system_notify_app_state_changed (ShellAppSystem *self, | ||||
|     case SHELL_APP_STATE_STOPPED: | ||||
|       g_hash_table_remove (self->priv->running_apps, app); | ||||
|       break; | ||||
|     default: | ||||
|       g_warn_if_reached(); | ||||
|       break; | ||||
|     } | ||||
|   g_signal_emit (self, signals[APP_STATE_CHANGED], 0, app); | ||||
| } | ||||
|   | ||||
| @@ -996,7 +996,7 @@ on_enable_monitoring_key_changed (GSettings     *settings, | ||||
|  * Return Value: (transfer none): The global #ShellAppUsage instance | ||||
|  */ | ||||
| ShellAppUsage * | ||||
| shell_app_usage_get_default () | ||||
| shell_app_usage_get_default (void) | ||||
| { | ||||
|   static ShellAppUsage *instance; | ||||
|  | ||||
|   | ||||
| @@ -156,16 +156,20 @@ static MetaWindow * | ||||
| window_backed_app_get_window (ShellApp     *app) | ||||
| { | ||||
|   g_assert (app->info == NULL); | ||||
|   g_assert (app->running_state); | ||||
|   g_assert (app->running_state->windows); | ||||
|   return app->running_state->windows->data; | ||||
|   if (app->running_state) | ||||
|     { | ||||
|       g_assert (app->running_state->windows); | ||||
|       return app->running_state->windows->data; | ||||
|     } | ||||
|   else | ||||
|     return NULL; | ||||
| } | ||||
|  | ||||
| static ClutterActor * | ||||
| window_backed_app_get_icon (ShellApp *app, | ||||
|                             int       size) | ||||
| { | ||||
|   MetaWindow *window; | ||||
|   MetaWindow *window = NULL; | ||||
|   ClutterActor *actor; | ||||
|   gint scale; | ||||
|   ShellGlobal *global; | ||||
| @@ -181,14 +185,16 @@ window_backed_app_get_icon (ShellApp *app, | ||||
|    * window-backend apps, it's possible we get a request for the icon. | ||||
|    * 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 (); | ||||
|       g_object_set (actor, "opacity", 0, "width", (float) size, "height", (float) size, NULL); | ||||
|       return actor; | ||||
|     } | ||||
|  | ||||
|   window = window_backed_app_get_window (app); | ||||
|   actor = st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (), | ||||
|                                                         G_OBJECT (window), | ||||
|                                                         "icon"); | ||||
| @@ -232,9 +238,10 @@ shell_app_get_name (ShellApp *app) | ||||
|   else | ||||
|     { | ||||
|       MetaWindow *window = window_backed_app_get_window (app); | ||||
|       const char *name; | ||||
|       const char *name = NULL; | ||||
|  | ||||
|       name = meta_window_get_wm_class (window); | ||||
|       if (window) | ||||
|         name = meta_window_get_wm_class (window); | ||||
|       if (!name) | ||||
|         name = C_("program", "Unknown"); | ||||
|       return name; | ||||
| @@ -491,6 +498,9 @@ shell_app_activate_full (ShellApp      *app, | ||||
|       case SHELL_APP_STATE_RUNNING: | ||||
|         shell_app_activate_window (app, NULL, timestamp); | ||||
|         break; | ||||
|       default: | ||||
|         g_assert_not_reached(); | ||||
|         break; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @@ -699,7 +709,7 @@ static int | ||||
| shell_app_get_last_user_time (ShellApp *app) | ||||
| { | ||||
|   GSList *iter; | ||||
|   int last_user_time; | ||||
|   guint32 last_user_time; | ||||
|  | ||||
|   last_user_time = 0; | ||||
|  | ||||
| @@ -709,7 +719,7 @@ shell_app_get_last_user_time (ShellApp *app) | ||||
|         last_user_time = MAX (last_user_time, meta_window_get_user_time (iter->data)); | ||||
|     } | ||||
|  | ||||
|   return last_user_time; | ||||
|   return (int)last_user_time; | ||||
| } | ||||
|  | ||||
| /** | ||||
| @@ -828,10 +838,13 @@ shell_app_sync_running_state (ShellApp *app) | ||||
| { | ||||
|   g_return_if_fail (app->running_state != NULL); | ||||
|  | ||||
|   if (app->running_state->interesting_windows == 0) | ||||
|     shell_app_state_transition (app, SHELL_APP_STATE_STOPPED); | ||||
|   else if (app->state != SHELL_APP_STATE_STARTING) | ||||
|     shell_app_state_transition (app, SHELL_APP_STATE_RUNNING); | ||||
|   if (app->state != SHELL_APP_STATE_STARTING) | ||||
|     { | ||||
|       if (app->running_state->interesting_windows == 0) | ||||
|         shell_app_state_transition (app, SHELL_APP_STATE_STOPPED); | ||||
|       else | ||||
|         shell_app_state_transition (app, SHELL_APP_STATE_RUNNING); | ||||
|     } | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -1000,10 +1013,16 @@ _shell_app_remove_window (ShellApp   *app, | ||||
|  | ||||
|   if (!meta_window_is_skip_taskbar (window)) | ||||
|     app->running_state->interesting_windows--; | ||||
|   shell_app_sync_running_state (app); | ||||
|  | ||||
|   if (app->running_state && app->running_state->windows == NULL) | ||||
|     g_clear_pointer (&app->running_state, unref_running_state); | ||||
|   if (app->running_state->windows == NULL) | ||||
|     { | ||||
|       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); | ||||
| } | ||||
| @@ -1142,7 +1161,13 @@ shell_app_launch (ShellApp     *app, | ||||
|   if (app->info == NULL) | ||||
|     { | ||||
|       MetaWindow *window = window_backed_app_get_window (app); | ||||
|       meta_window_activate (window, timestamp); | ||||
|       /* We don't use an error return if there no longer any windows, because the | ||||
|        * 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; | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -59,7 +59,7 @@ shell_embedded_window_show (GtkWidget *widget) | ||||
|       /* Size is 0x0 if the GtkWindow is not shown */ | ||||
|       clutter_actor_queue_relayout (CLUTTER_ACTOR (window->priv->actor)); | ||||
|  | ||||
|       if (CLUTTER_ACTOR_IS_REALIZED (window->priv->actor)) | ||||
|       if (clutter_actor_is_realized (CLUTTER_ACTOR (window->priv->actor))) | ||||
|         gtk_widget_map (widget); | ||||
|     } | ||||
| } | ||||
| @@ -166,7 +166,7 @@ _shell_embedded_window_set_actor (ShellEmbeddedWindow  *window, | ||||
|   window->priv->actor = actor; | ||||
|  | ||||
|   if (actor && | ||||
|       CLUTTER_ACTOR_IS_MAPPED (actor) && | ||||
|       clutter_actor_is_mapped (CLUTTER_ACTOR (actor)) && | ||||
|       gtk_widget_get_visible (GTK_WIDGET (window))) | ||||
|     gtk_widget_map (GTK_WIDGET (window)); | ||||
| } | ||||
|   | ||||
| @@ -172,7 +172,7 @@ shell_generic_container_get_focus_chain (StWidget *widget) | ||||
|        child != NULL; | ||||
|        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)) | ||||
|         focus_chain = g_list_prepend (focus_chain, child); | ||||
|     } | ||||
| @@ -273,7 +273,7 @@ shell_generic_container_get_paint_volume (ClutterActor *self, | ||||
|         { | ||||
|           const ClutterPaintVolume *child_volume; | ||||
|  | ||||
|           if (!CLUTTER_ACTOR_IS_VISIBLE (child)) | ||||
|           if (!clutter_actor_is_visible (child)) | ||||
|             continue; | ||||
|  | ||||
|           if (shell_generic_container_get_skip_paint (SHELL_GENERIC_CONTAINER  (self), child)) | ||||
|   | ||||