Compare commits

..

23 Commits

Author SHA1 Message Date
Florian Müllner
a91c1caf42 Bump version to 3.16.3
Update NEWS.
2015-07-02 14:26:44 +02:00
Florian Müllner
90f14d0762 app-system: Improve StartupWMClass heuristics
Our StartUpWMClass heuristics use a StartupWMClass -> .desktop ID
mapping built from the list of all installed applications. In case
of multiple .desktop files setting the same StartupWMClass, we
currently simply pick the last one returned by g_app_info_get_all (),
which can be a bit surprising:
A window with WM_CLASS 'emacs', launched through a .desktop file
named 'emacs.desktop' with a StartupWMClass of 'emacs' maps to ...
'emacsclient.desktop'!
Make this case a bit less random by preferring the app info whose
ID matches the StartupWMClass.

https://bugzilla.gnome.org/show_bug.cgi?id=751541
2015-07-02 14:21:38 +02:00
Ray Strode
77f2e3abde gdm: fix banner allocation computation
The code to figure how how much room that banner had was wrong.
This commit fixes it.

https://bugzilla.gnome.org/show_bug.cgi?id=751517
2015-06-26 18:04:39 +02:00
Florian Müllner
a02019cf9e main: Fix a memory leak
We are pointlessly calling g_settings_list_keys() twice, without
freeing the result from the first call.
2015-06-26 18:04:31 +02:00
Rui Matos
a341b74aeb AllView: prevent accessing a NULL effect
In some cases we might be allocated a size such that
this._grid.topPadding and this._grid.bottomPadding are both 0 which
means that the ScrollView fade effect gets removed. In that case don't
try to access the effect since it will be NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=750714
2015-06-26 18:04:11 +02:00
Rui Matos
9e0a5fa3a9 Revert "Revert "keyboard: Handle touch events""
And make these only handled on wayland. There's a plethora of issues
around touch passive grab and touch/pointer doubly handling to use
these right away on X11, so we stick to single-touch/pointer there.

This reverts commit 032a688a72.

https://bugzilla.gnome.org/show_bug.cgi?id=750287
2015-06-02 17:59:41 +02:00
Florian Müllner
49856d4961 windowMenu: Close when corresponding window goes away
The menu is clearly associated with a particular window, so keeping
it around when the window is gone doesn't make sense - in case of
the window menu, it is actually harmful as every action will act on
the invalidated window and result in a crash. So just dismiss the
menu when the menu is unmanaged.

https://bugzilla.gnome.org/show_bug.cgi?id=749529
2015-05-21 18:21:28 +02:00
Florian Müllner
4db34fca36 layout: Set initial visibility of fullscreen-tracking chrome
When chrome is added with the trackFullscreen parameter, the actor's
visibility will be updated automatically whenever its monitor's
fullscreen state changes. However as we currently ignore the fullscreen
state at the time the chrome is added, the initial visibility may well
be incorrect - fix this by updating the initial visibility as necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=749383
2015-05-21 14:01:35 +02:00
Florian Müllner
3dfced7976 Bump version to 3.16.2
Update NEWS.
2015-05-14 15:31:02 +02:00
Florian Müllner
3e8b7faab8 messageTray: Emit signal when notifications are enabled/disabled
Since the introduction of per-source notification policy in commit
098bd4509b, the NotificationPolicy::enable-changed signal has been
used to track the 'enable' setting. However as we never actually
emitted that signal, this never worked without a restart - oops.

https://bugzilla.gnome.org/show_bug.cgi?id=749279
2015-05-14 15:15:54 +02:00
Rui Matos
2a3e410d71 ScreenShield: only inhibit suspend if we're the active session
If we aren't the active session clutter can't animate and thus we
can't expect the shield to be shown before releasing the suspend
inhibitor so we should release it immediately when becoming inactive.

https://bugzilla.gnome.org/show_bug.cgi?id=749228
2015-05-14 13:59:48 +02:00
Rui Matos
518e7d9fc5 ScreenShield: tie the suspend inhibitor to our isActive property
The whole point of holding a suspend inhibitor is to be able to lock
before suspending.

Currently, when resuming we immediately take the inhibitor without
checking that we're locked which means that we won't be able to
release this inhibitor if we don't unlock at least once.

To prevent that and to better match the inhibitor's intention in the
first place, we can tie the inhibitor with not being locked. In
practice, we also want to let the locking animation finish before
suspending, so we'll tie the inhibitor with not being active
instead.

https://bugzilla.gnome.org/show_bug.cgi?id=749228
2015-05-14 13:59:48 +02:00
Rui Matos
0954efd875 ScreenShield: ensure we don't leak logind inhibitors
This could happen if we are VT switched away and an animated
activation is requested because we're preparing to enter sleep. Since
we don't animate in this case we'd never reach
_completeLockScreenShown() before coming out of sleep, at which point
we _inhibitSuspend() again and would leak the previous inhibitor.

https://bugzilla.gnome.org/show_bug.cgi?id=749228
2015-05-13 19:00:53 +02:00
Jakub Steiner
8d913c5297 make expanders more visible for alt-tab
https://bugzilla.gnome.org/show_bug.cgi?id=745058
2015-05-11 15:21:04 +02:00
Cédric Valmary
58b9b10ed3 Added Occitan translation 2015-05-10 12:29:23 +00:00
sun
fb46f0b808 update zh_CN translation 2015-05-03 10:09:43 +08:00
Florian Müllner
79c020fdb9 panel: Set up 'open-state-changed' handler on menu changes
Commit 08690d658f generalized the banner-blocking behavior of the
dateMenu to all menus that would obscure the banner. However setting
up the 'open-state-changed' handler only when an indicator is added
does not work for indicators that change their entire menu (like the
app menu) - we currently end up with menus with no connected signal
handler, and throw an error when trying to disconnect an invalid
signal ID.
To address this, add a new PanelButton::menu-set signal and use that
to set up the 'open-state-changed' handler.

https://bugzilla.gnome.org/show_bug.cgi?id=745910
2015-04-30 18:34:09 +02:00
Rui Matos
f8eb9e763d shell-global: Mark the sync pointer motion event as synthetic
This allows mutter to ignore these events for the purpose of keeping
idle time.

https://bugzilla.gnome.org/show_bug.cgi?id=748541
2015-04-27 19:47:47 +02:00
Sveinn í Felli
ed6cb19283 Updated Icelandic translation 2015-04-27 15:30:20 +00:00
Meet Parikh
95c903aa40 panel: Block banners when opening menus that would overlap
We currently block banners while the time+date menu is open, as it
would obscure the notification. However it is not necessarily the
only menu for which this is the case, so generalize the behavior
to all menus that would overlap banners when open.

https://bugzilla.gnome.org/show_bug.cgi?id=745910
2015-04-25 09:57:56 +02:00
Meet Parikh
e4974beebf panel: Move notification banners below time+date dropdown
As notifications appear in the time+date dropdown's message list, there's
a strong relationship between notification banners and the menu. However
while the time+date menu is centered by default, which matches the banner
position, its actual position depends on the session mode - in particular
it is moved to the right in classic mode.
Reinforce the relationship in these cases by moving notification banners
underneath the time+date menu.

https://bugzilla.gnome.org/show_bug.cgi?id=745910
2015-04-25 09:57:56 +02:00
Florian Müllner
5ec9f15500 messageTray: Make notification banners unfocusable
Unlike entries in the calendar's message list, banners are not subject
to the normal keynav chain, and making the banner actor itself unfocusable
allows for the focus to be moved to the action area when expanded.

https://bugzilla.gnome.org/show_bug.cgi?id=747205
2015-04-16 18:32:35 +02:00
Jakub Steiner
b4ebb4d98f calendar: make day with events more prominent
https://bugzilla.gnome.org/show_bug.cgi?id=747715
2015-04-15 13:03:18 +02:00
133 changed files with 19246 additions and 22485 deletions

119
NEWS
View File

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

View File

@@ -1,6 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.18.0],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AX_IS_RELEASE([git-directory])
AC_INIT([gnome-shell],[3.16.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([src/shell-global.c])
@@ -64,8 +63,8 @@ AC_ARG_ENABLE([systemd],
[enable_systemd=$enableval],
[enable_systemd=auto])
AS_IF([test x$enable_systemd != xno], [
AC_MSG_CHECKING([for libsystemd])
PKG_CHECK_EXISTS([libsystemd],
AC_MSG_CHECKING([for libsystemd-journal])
PKG_CHECK_EXISTS([libsystemd-journal],
[have_systemd=yes
AC_DEFINE([HAVE_SYSTEMD], [1], [Define if we have systemd])],
[have_systemd=no])
@@ -75,13 +74,13 @@ AS_IF([test x$enable_systemd != xno], [
AC_MSG_RESULT($enable_systemd)
CLUTTER_MIN_VERSION=1.21.5
GOBJECT_INTROSPECTION_MIN_VERSION=1.45.4
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
GJS_MIN_VERSION=1.39.0
MUTTER_MIN_VERSION=3.18.0
MUTTER_MIN_VERSION=3.16.1
GTK_MIN_VERSION=3.15.0
GIO_MIN_VERSION=2.45.3
GIO_MIN_VERSION=2.37.0
LIBECAL_MIN_VERSION=3.5.3
LIBEDATASERVER_MIN_VERSION=3.17.2
LIBEDATASERVER_MIN_VERSION=3.13.90
TELEPATHY_GLIB_MIN_VERSION=0.17.5
POLKIT_MIN_VERSION=0.100
STARTUP_NOTIFICATION_MIN_VERSION=0.11
@@ -107,7 +106,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"
SHARED_PCS="${SHARED_PCS} libsystemd-journal"
fi
PKG_CHECK_MODULES(GNOME_SHELL, $SHARED_PCS)
@@ -221,7 +220,7 @@ if test "$enable_man" != no; then
fi
AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no)
AX_COMPILER_FLAGS()
GNOME_COMPILE_WARNINGS([error])
case "$WARN_CFLAGS" in
*-Werror*)
WARN_CFLAGS="$WARN_CFLAGS -Wno-error=deprecated-declarations"
@@ -270,7 +269,7 @@ Build configuration:
Prefix: ${prefix}
Source code location: ${srcdir}
Compiler: ${CC}
Compiler Warnings: $ax_enable_compile_warnings
Compiler Warnings: $enable_compile_warnings
Support for NetworkManager: $have_networkmanager
Support for GStreamer recording: $build_recorder

View File

@@ -32,10 +32,8 @@
<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>

View File

@@ -51,7 +51,6 @@
</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">

View File

@@ -37,13 +37,14 @@ 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;
box-shadow: inset 0px 0px 0px 1px #215d9c; }
icon-shadow: 0 1px black; }
.button:insensitive {
color: gray;
color: #7f7f7f;
border-color: rgba(0, 0, 0, 0.7);
background-color: rgba(62, 67, 69, 0.7);
background-color: rgba(62, 67, 68, 0.7);
box-shadow: none;
text-shadow: none;
icon-shadow: none; }
@@ -51,46 +52,9 @@ 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: gray;
border-color: rgba(0, 0, 0, 0.7);
background-color: rgba(62, 67, 69, 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 {
@@ -107,8 +71,8 @@ StEntry {
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.4);
border-color: rgba(166, 166, 166, 0.5); }
StEntry:insensitive {
color: gray;
border-color: #0e0e0e;
color: #7f7f7f;
border-color: #0d0d0d;
box-shadow: none; }
StEntry StIcon.capslock-warning {
icon-size: 16px;
@@ -131,10 +95,10 @@ StScrollBar {
background-color: transparent; }
StScrollBar StButton#vhandle, StScrollBar StButton#hhandle {
border-radius: 8px;
background-color: #999999;
background-color: #000;
margin: 3px; }
StScrollBar StButton#vhandle:hover, StScrollBar StButton#hhandle:hover {
background-color: #cccccc; }
background-color: #1a1a1a; }
StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
background-color: #215d9c; }
@@ -142,7 +106,7 @@ StScrollBar {
.slider {
height: 1em;
-slider-height: 0.3em;
-slider-background-color: #0e0e0e;
-slider-background-color: #0d0d0d;
-slider-border-color: black;
-slider-active-background-color: #215d9c;
-slider-active-border-color: #184472;
@@ -196,12 +160,11 @@ StScrollBar {
background-color: white; }
.modal-dialog {
border-radius: 9px;
border-radius: 5px;
color: #eeeeec;
background-color: rgba(23, 25, 26, 0.95);
border: 3px solid rgba(238, 238, 236, 0.5); }
.modal-dialog .modal-dialog-content-box {
padding: 24px; }
border: 3px solid rgba(238, 238, 236, 0.5);
padding: 24px; }
.modal-dialog .run-dialog-entry {
width: 20em;
margin-bottom: 6px; }
@@ -216,6 +179,10 @@ 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 {
@@ -444,7 +411,7 @@ StScrollBar {
.popup-menu-ornament {
text-align: right;
width: 1.2em; }
width: 1em; }
.popup-menu-boxpointer,
.candidate-popup-boxpointer {
@@ -735,7 +702,7 @@ StScrollBar {
border-left-width: 1px; }
.calendar-nonwork-day {
color: gray; }
color: #7f7f7f; }
.calendar-today {
font-weight: bold;
@@ -787,12 +754,7 @@ StScrollBar {
padding: 8px 8px 8px 0px; }
.message-icon-bin > StIcon {
icon-size: 32px; }
.message-secondary-bin:ltr {
padding-left: 8px; }
.message-secondary-bin:rtl {
padding-right: 8px; }
icon-size: 48px; }
.message-secondary-bin {
color: #999999; }
@@ -801,20 +763,14 @@ StScrollBar {
icon-size: 16px; }
.message-title {
font-weight: bold;
font-size: 1.1em; }
font-weight: bold; }
.message-content {
padding: 8px;
font-size: .9em; }
padding: 8px; }
.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; }
.system-switch-user-submenu-icon {
icon-size: 24px;
border: 1px solid rgba(255, 255, 255, 0.4); }
#appMenu {
spinner-image: url("resource:///org/gnome/shell/theme/process-working.svg");
@@ -878,8 +834,7 @@ StScrollBar {
min-width: 470px; }
.nm-dialog-content {
spacing: 20px;
padding: 24px; }
spacing: 20px; }
.nm-dialog-header-hbox {
spacing: 10px; }
@@ -1061,7 +1016,7 @@ StScrollBar {
color: white;
border-color: rgba(0, 0, 0, 0.7);
background-color: #222728;
box-shadow: inset 0 0 black;
box-shadow: none;
text-shadow: none;
icon-shadow: none; }
.app-view-control:first-child {
@@ -1380,9 +1335,10 @@ 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;
box-shadow: inset 0px 0px 0px 1px #215d9c; }
icon-shadow: 0 1px black; }
.keyboard-key:hover, .keyboard-key:checked {
color: white;
border-color: rgba(0, 0, 0, 0.7);
@@ -1394,7 +1350,7 @@ StScrollBar {
color: white;
border-color: rgba(0, 0, 0, 0.7);
background-color: #222728;
box-shadow: inset 0 0 black;
box-shadow: none;
text-shadow: none;
icon-shadow: none; }
.keyboard-key:grayed {
@@ -1487,13 +1443,13 @@ StScrollBar {
color: white;
border-color: rgba(0, 0, 0, 0.7);
background-color: #1c5187;
box-shadow: inset 0 0 black;
box-shadow: none;
text-shadow: none;
icon-shadow: none; }
.login-dialog .modal-dialog-button:default:insensitive {
color: gray;
color: #7f7f7f;
border-color: rgba(0, 0, 0, 0.7);
background-color: rgba(62, 67, 69, 0.7);
background-color: rgba(62, 67, 68, 0.7);
box-shadow: none;
text-shadow: none;
icon-shadow: none; }
@@ -1740,11 +1696,3 @@ 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"); }

View File

@@ -6,9 +6,3 @@
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"); }
}

View File

@@ -37,13 +37,14 @@ 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;
box-shadow: inset 0px 0px 0px 1px #215d9c; }
icon-shadow: 0 1px black; }
.button:insensitive {
color: #949796;
color: #939695;
border-color: rgba(0, 0, 0, 0.7);
background-color: rgba(66, 72, 73, 0.7);
background-color: rgba(66, 71, 73, 0.7);
box-shadow: none;
text-shadow: none;
icon-shadow: none; }
@@ -51,46 +52,9 @@ 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: #949796;
border-color: rgba(0, 0, 0, 0.7);
background-color: rgba(66, 72, 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 {
@@ -107,8 +71,8 @@ StEntry {
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.4);
border-color: rgba(154, 154, 142, 0.5); }
StEntry:insensitive {
color: #949796;
border-color: #333636;
color: #939695;
border-color: #323636;
box-shadow: none; }
StEntry StIcon.capslock-warning {
icon-size: 16px;
@@ -131,10 +95,10 @@ StScrollBar {
background-color: transparent; }
StScrollBar StButton#vhandle, StScrollBar StButton#hhandle {
border-radius: 8px;
background-color: #a6a8a7;
background-color: #393f3f;
margin: 3px; }
StScrollBar StButton#vhandle:hover, StScrollBar StButton#hhandle:hover {
background-color: #cacbc9; }
background-color: #515a5a; }
StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
background-color: #215d9c; }
@@ -142,7 +106,7 @@ StScrollBar {
.slider {
height: 1em;
-slider-height: 0.3em;
-slider-background-color: #333636;
-slider-background-color: #323636;
-slider-border-color: #1c1f1f;
-slider-active-background-color: #215d9c;
-slider-active-border-color: #184472;
@@ -196,12 +160,11 @@ StScrollBar {
background-color: white; }
.modal-dialog {
border-radius: 9px;
border-radius: 5px;
color: #eeeeec;
background-color: rgba(23, 25, 26, 0.95);
border: 3px solid rgba(238, 238, 236, 0.5); }
.modal-dialog .modal-dialog-content-box {
padding: 24px; }
border: 3px solid rgba(238, 238, 236, 0.5);
padding: 24px; }
.modal-dialog .run-dialog-entry {
width: 20em;
margin-bottom: 6px; }
@@ -216,6 +179,10 @@ 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 {
@@ -444,7 +411,7 @@ StScrollBar {
.popup-menu-ornament {
text-align: right;
width: 1.2em; }
width: 1em; }
.popup-menu-boxpointer,
.candidate-popup-boxpointer {
@@ -735,7 +702,7 @@ StScrollBar {
border-left-width: 1px; }
.calendar-nonwork-day {
color: #949796; }
color: #939695; }
.calendar-today {
font-weight: bold;
@@ -787,12 +754,7 @@ StScrollBar {
padding: 8px 8px 8px 0px; }
.message-icon-bin > StIcon {
icon-size: 32px; }
.message-secondary-bin:ltr {
padding-left: 8px; }
.message-secondary-bin:rtl {
padding-right: 8px; }
icon-size: 48px; }
.message-secondary-bin {
color: #8e8e80; }
@@ -801,20 +763,14 @@ StScrollBar {
icon-size: 16px; }
.message-title {
font-weight: bold;
font-size: 1.1em; }
font-weight: bold; }
.message-content {
padding: 8px;
font-size: .9em; }
padding: 8px; }
.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; }
.system-switch-user-submenu-icon {
icon-size: 24px;
border: 1px solid rgba(238, 238, 236, 0.4); }
#appMenu {
spinner-image: url("resource:///org/gnome/shell/theme/process-working.svg");
@@ -823,7 +779,7 @@ StScrollBar {
color: transparent; }
.aggregate-menu {
width: 280px; }
width: 360px; }
.aggregate-menu .popup-menu-icon {
padding: 0 4px; }
@@ -878,8 +834,7 @@ StScrollBar {
min-width: 470px; }
.nm-dialog-content {
spacing: 20px;
padding: 24px; }
spacing: 20px; }
.nm-dialog-header-hbox {
spacing: 10px; }
@@ -1061,7 +1016,7 @@ StScrollBar {
color: white;
border-color: rgba(0, 0, 0, 0.7);
background-color: #222728;
box-shadow: inset 0 0 black;
box-shadow: none;
text-shadow: none;
icon-shadow: none; }
.app-view-control:first-child {
@@ -1380,9 +1335,10 @@ 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;
box-shadow: inset 0px 0px 0px 1px #215d9c; }
icon-shadow: 0 1px black; }
.keyboard-key:hover, .keyboard-key:checked {
color: white;
border-color: rgba(0, 0, 0, 0.7);
@@ -1394,7 +1350,7 @@ StScrollBar {
color: white;
border-color: rgba(0, 0, 0, 0.7);
background-color: #222728;
box-shadow: inset 0 0 black;
box-shadow: none;
text-shadow: none;
icon-shadow: none; }
.keyboard-key:grayed {
@@ -1487,13 +1443,13 @@ StScrollBar {
color: white;
border-color: rgba(0, 0, 0, 0.7);
background-color: #1c5187;
box-shadow: inset 0 0 black;
box-shadow: none;
text-shadow: none;
icon-shadow: none; }
.login-dialog .modal-dialog-button:default:insensitive {
color: #949796;
color: #939695;
border-color: rgba(0, 0, 0, 0.7);
background-color: rgba(66, 72, 73, 0.7);
background-color: rgba(66, 71, 73, 0.7);
box-shadow: none;
text-shadow: none;
icon-shadow: none; }

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -1,133 +0,0 @@
<?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>

Before

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -1,113 +0,0 @@
<?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>

Before

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -14,7 +14,7 @@
height="22"
id="svg2857"
version="1.1"
inkscape:version="0.91 r13725"
inkscape:version="0.48.5 r10040"
sodipodi:docname="toggle-on-intl.svg">
<defs
id="defs2859">
@@ -52,7 +52,7 @@
<stop
id="stop77465"
offset="1"
style="stop-color:#205b9a;stop-opacity:1" />
style="stop-color:#204a87;stop-opacity:1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
@@ -88,14 +88,14 @@
borderopacity="1.0"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="37.410841"
inkscape:cy="16.009314"
inkscape:zoom="32"
inkscape:cx="17.255148"
inkscape:cy="8.9252639"
inkscape:document-units="px"
inkscape:current-layer="g37994"
showgrid="false"
showgrid="true"
inkscape:window-width="2560"
inkscape:window-height="1376"
inkscape:window-height="1375"
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

View File

@@ -14,7 +14,7 @@
height="22"
id="svg2857"
version="1.1"
inkscape:version="0.91 r13725"
inkscape:version="0.48.5 r10040"
sodipodi:docname="toggle-on-us.svg">
<defs
id="defs2859">
@@ -32,6 +32,28 @@
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"
@@ -58,38 +80,6 @@
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"
@@ -99,13 +89,13 @@
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="-26.798898"
inkscape:cy="5.3753009"
inkscape:cx="33.380898"
inkscape:cy="6.9658271"
inkscape:document-units="px"
inkscape:current-layer="g37994"
showgrid="false"
inkscape:window-width="2560"
inkscape:window-height="1376"
inkscape:window-height="1375"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
@@ -162,7 +152,7 @@
height="25"
width="98"
id="rect38000"
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" />
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" />
</g>
<g
transform="translate(2.0625,-2)"

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@@ -35,6 +35,7 @@
<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">

View File

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

View File

@@ -535,9 +535,6 @@ 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;
@@ -877,7 +874,7 @@ const LoginDialog = new Lang.Class({
},
_loginScreenSessionActivated: function() {
if (this.actor.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.VERIFICATION_SUCCEEDED)
return;
Tweener.addTween(this.actor,
@@ -894,8 +891,7 @@ const LoginDialog = new Lang.Class({
},
onUpdateScope: this,
onComplete: function() {
if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
this._authPrompt.reset();
this._authPrompt.reset();
},
onCompleteScope: this });
},

View File

@@ -134,7 +134,7 @@ const LoginManagerSystemd = new Lang.Class({
if (error)
asyncCallback(false);
else
asyncCallback(result[0] != 'no' && result[0] != 'na');
asyncCallback(result[0] != 'no');
});
},

View File

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

View File

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

View File

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

View File

@@ -16,10 +16,9 @@ const BackgroundMenu = new Lang.Class({
_init: function(layoutManager) {
this.parent(layoutManager.dummyCursor, 0, St.Side.TOP);
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.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.addSettingsAction(_("Change Background…"), 'gnome-background-panel.desktop');
this.actor.add_style_class_name('background-menu');

View File

@@ -24,8 +24,6 @@ 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;
@@ -978,6 +976,7 @@ 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',
@@ -1230,7 +1229,7 @@ const NotificationMessage = new Lang.Class({
this._closed = true;
this.notification.destroy(MessageTray.NotificationDestroyedReason.DISMISSED);
}));
this._destroyId = notification.connect('destroy', Lang.bind(this,
notification.connect('destroy', Lang.bind(this,
function() {
if (!this._closed)
this.close();
@@ -1241,10 +1240,9 @@ const NotificationMessage = new Lang.Class({
_getIcon: function() {
if (this.notification.gicon)
return new St.Icon({ gicon: this.notification.gicon,
icon_size: MESSAGE_ICON_SIZE });
return new St.Icon({ gicon: this.notification.gicon, icon_size: 48 });
else
return this.notification.source.createIcon(MESSAGE_ICON_SIZE);
return this.notification.source.createIcon(48);
},
_onUpdated: function(n, clear) {
@@ -1262,10 +1260,6 @@ const NotificationMessage = new Lang.Class({
if (this._updatedId)
this.notification.disconnect(this._updatedId);
this._updatedId = 0;
if (this._destroyId)
this.notification.disconnect(this._destroyId);
this._destroyId = 0;
}
});

View File

@@ -9,15 +9,9 @@ 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',
@@ -64,47 +58,27 @@ 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 });
key: Clutter.Escape },
{ expand: true, x_fill: false, x_align: St.Align.START });
this.placeSpinner({ expand: false,
x_fill: false,
y_fill: false,
x_align: St.Align.END,
y_align: St.Align.MIDDLE });
this._continueButton = this.addButton({ label: '',
action: Lang.bind(this, this._onContinueButton),
default: true });
default: true },
{ expand: false, x_fill: false, x_align: St.Align.END });
this.prompt.bind_property('cancel-label', this._cancelButton, 'label', GObject.BindingFlags.SYNC_CREATE);
this.prompt.bind_property('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',
@@ -127,22 +101,15 @@ 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._workSpinner.actor, 0, row, 1, 1);
layout.attach(this._passwordEntry, 1, row, 1, 1);
layout.attach(label, 2, row, 1, 1);
layout.attach(this._passwordEntry, 0, row, 1, 1);
layout.attach(label, 1, 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;
}
@@ -211,7 +178,7 @@ const KeyringDialog = new Lang.Class({
this._continueButton.can_focus = sensitive;
this._continueButton.reactive = sensitive;
this._setWorking(!sensitive);
this.setWorking(!sensitive);
},
_ensureOpen: function() {

View File

@@ -13,19 +13,13 @@ 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,
@@ -142,13 +136,6 @@ 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();
@@ -178,10 +165,17 @@ const AuthenticationDialog = new Lang.Class({
this._cancelButton = this.addButton({ label: _("Cancel"),
action: Lang.bind(this, this.cancel),
key: Clutter.Escape });
key: Clutter.Escape },
{ expand: true, x_fill: false, x_align: St.Align.START });
this.placeSpinner({ expand: false,
x_fill: false,
y_fill: false,
x_align: St.Align.END,
y_align: St.Align.MIDDLE });
this._okButton = this.addButton({ label: _("Authenticate"),
action: Lang.bind(this, this._onAuthenticateButtonPressed),
default: true });
default: true },
{ expand: false, x_fill: false, x_align: St.Align.END });
this._doneEmitted = false;
@@ -189,30 +183,6 @@ 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,
@@ -259,7 +229,7 @@ const AuthenticationDialog = new Lang.Class({
this._okButton.can_focus = sensitive;
this._okButton.reactive = sensitive;
this._setWorking(!sensitive);
this.setWorking(!sensitive);
},
_onEntryActivate: function() {

View File

@@ -303,8 +303,6 @@ 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');
},

View File

@@ -81,6 +81,7 @@ function init() {
// Miscellaneous monkeypatching
_patchContainerClass(St.BoxLayout);
_patchContainerClass(St.Table);
_patchLayoutClass(Clutter.TableLayout, { row_spacing: 'spacing-rows',
column_spacing: 'spacing-columns' });

View File

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

View File

@@ -1315,11 +1315,8 @@ const PressureBarrier = new Lang.Class({
},
_onBarrierLeft: function(barrier, event) {
barrier._isHit = false;
if (this._barriers.every(function(b) { return !b._isHit; })) {
this._reset();
this._isTriggered = false;
}
this._reset();
this._isTriggered = false;
},
_trigger: function() {
@@ -1329,8 +1326,6 @@ 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)

View File

@@ -4,7 +4,6 @@ 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;
@@ -23,8 +22,6 @@ 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';
@@ -712,9 +709,6 @@ 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',
@@ -1074,26 +1068,6 @@ 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
@@ -1102,8 +1076,6 @@ 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 });
@@ -1409,7 +1381,7 @@ const ZoomRegion = new Lang.Class({
else if (this._caretTrackingMode == GDesktopEnums.MagnifierCaretTrackingMode.CENTERED)
[xCaret, yCaret] = this._centerFromPointCentered(xCaret, yCaret);
this._scrollContentsToDelayed(xCaret, yCaret);
this.scrollContentsTo(xCaret, yCaret);
},
_centerFromFocusPosition: function() {
@@ -1423,7 +1395,7 @@ const ZoomRegion = new Lang.Class({
else if (this._focusTrackingMode == GDesktopEnums.MagnifierFocusTrackingMode.CENTERED)
[xFocus, yFocus] = this._centerFromPointCentered(xFocus, yFocus);
this._scrollContentsToDelayed(xFocus, yFocus);
this.scrollContentsTo(xFocus, yFocus);
},
_centerFromPointPush: function(xPoint, yPoint) {

View File

@@ -69,6 +69,26 @@ const Urgency = {
CRITICAL: 3
};
function _fixMarkup(text, allowMarkup) {
if (allowMarkup) {
// Support &amp;, &quot;, &apos;, &lt; and &gt;, escape all other
// occurrences of '&'.
let _text = text.replace(/&(?!amp;|quot;|apos;|lt;|gt;)/g, '&amp;');
// Support <b>, <i>, and <u>, escape anything else
// so it displays as raw markup.
_text = _text.replace(/<(?!\/?[biu]>)/g, '&lt;');
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',

View File

@@ -14,6 +14,7 @@ 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;
@@ -22,6 +23,10 @@ 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,
@@ -74,9 +79,7 @@ const ModalDialog = new Lang.Class({
this._group.add_actor(this._backgroundBin);
this.dialogLayout = new St.BoxLayout({ style_class: 'modal-dialog',
x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER,
vertical: true });
vertical: true });
// modal dialogs are fixed width and grow vertically; set the request
// mode accordingly so wrapped labels are handled correctly during
// size requests.
@@ -97,8 +100,7 @@ const ModalDialog = new Lang.Class({
this.backgroundStack.add_actor(this.dialogLayout);
this.contentLayout = new St.BoxLayout({ vertical: true,
style_class: "modal-dialog-content-box" });
this.contentLayout = new St.BoxLayout({ vertical: true });
this.dialogLayout.add(this.contentLayout,
{ expand: true,
x_fill: true,
@@ -106,7 +108,8 @@ const ModalDialog = new Lang.Class({
x_align: St.Align.MIDDLE,
y_align: St.Align.START });
this.buttonLayout = new St.Widget ({ layout_manager: new Clutter.BoxLayout ({ homogeneous:true }) });
this.buttonLayout = new St.BoxLayout({ style_class: 'modal-dialog-button-box',
vertical: false });
this.dialogLayout.add(this.buttonLayout,
{ x_align: St.Align.MIDDLE,
y_align: St.Align.END });
@@ -115,6 +118,8 @@ const ModalDialog = new Lang.Class({
this._initialKeyFocus = this.dialogLayout;
this._initialKeyFocusDestroyId = 0;
this._savedKeyFocus = null;
this._workSpinner = null;
},
destroy: function() {
@@ -142,12 +147,16 @@ const ModalDialog = new Lang.Class({
else
x_alignment = St.Align.MIDDLE;
this.addButton(buttonInfo);
this.addButton(buttonInfo, { expand: true,
x_fill: false,
y_fill: false,
x_align: x_alignment,
y_align: St.Align.MIDDLE });
}
},
addButton: function(buttonInfo) {
let label = buttonInfo['label']
addButton: function(buttonInfo, layoutInfo) {
let label = buttonInfo['label'];
let action = buttonInfo['action'];
let key = buttonInfo['key'];
let isDefault = buttonInfo['default'];
@@ -161,12 +170,10 @@ const ModalDialog = new Lang.Class({
else
keys = [];
let button = new St.Button({ style_class: 'modal-dialog-linked-button',
let button = new St.Button({ style_class: 'modal-dialog-button button',
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
reactive: true,
can_focus: true,
x_expand: true,
y_expand: true,
label: label });
button.connect('clicked', action);
@@ -181,11 +188,47 @@ const ModalDialog = new Lang.Class({
for (let i in keys)
this._buttonKeys[keys[i]] = buttonInfo;
this.buttonLayout.add_actor(button);
this.buttonLayout.add(button, layoutInfo);
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;

View File

@@ -15,7 +15,8 @@ const OsdMonitorLabel = new Lang.Class({
Name: 'OsdMonitorLabel',
_init: function(monitor, label) {
this._actor = new St.Widget({ x_expand: true,
this._actor = new St.Widget({ opacity: 0,
x_expand: true,
y_expand: true });
this._monitor = monitor;
@@ -33,6 +34,10 @@ 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() {
@@ -47,8 +52,15 @@ const OsdMonitorLabel = new Lang.Class({
},
destroy: function() {
this._actor.destroy();
Meta.enable_unredirect_for_screen(global.screen);
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);
})
});
}
});

View File

@@ -107,6 +107,13 @@ 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 }));
@@ -121,11 +128,6 @@ 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 = [];

View File

@@ -25,12 +25,12 @@ const RemoteMenu = imports.ui.remoteMenu;
const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
const PANEL_ICON_SIZE = 16;
const APP_MENU_ICON_MARGIN = 0;
const PANEL_ICON_SIZE = 24;
const APP_MENU_ICON_MARGIN = 2;
const BUTTON_DND_ACTIVATION_TIMEOUT = 250;
const SPINNER_ANIMATION_TIME = 1.0;
const SPINNER_ANIMATION_TIME = 0.2;
// To make sure the panel corners blend nicely with the panel,
// we draw background and borders the same way, e.g. drawing
@@ -697,6 +697,7 @@ 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);
},
});

View File

@@ -396,7 +396,6 @@ 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);
},
@@ -1060,6 +1059,11 @@ 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 });

View File

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

View File

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

View File

@@ -257,8 +257,16 @@ const NMConnectionSection = new Lang.Class({
this._radioSection.actor.visible = (nItems > 1);
this._labelSection.actor.visible = (nItems == 1);
this.item.label.text = this._getStatus();
this.item.status.text = this._getStatus();
this.item.icon.icon_name = this._getMenuIcon();
// 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() {
@@ -347,7 +355,6 @@ 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));
@@ -447,44 +454,38 @@ const NMConnectionDevice = new Lang.Class({
switch(this._device.state) {
case NetworkManager.DeviceState.DISCONNECTED:
/* Translators: %s is a network identifier */
return _("%s Off").format(this._getDescription());
return _("Off");
case NetworkManager.DeviceState.ACTIVATED:
/* Translators: %s is a network identifier */
return _("%s Connected").format(this._getDescription());
return _("Connected");
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);
%s is a network identifier */
return _("%s Unmanaged").format(this._getDescription());
under NetworkManager's control (and thus cannot be used in the menu) */
return _("Unmanaged");
case NetworkManager.DeviceState.DEACTIVATING:
/* Translators: %s is a network identifier */
return _("%s Disconnecting").format(this._getDescription());
return _("Disconnecting");
case NetworkManager.DeviceState.PREPARE:
case NetworkManager.DeviceState.CONFIG:
case NetworkManager.DeviceState.IP_CONFIG:
case NetworkManager.DeviceState.IP_CHECK:
case NetworkManager.DeviceState.SECONDARIES:
/* Translators: %s is a network identifier */
return _("%s Connecting").format(this._getDescription());
return _("Connecting");
case NetworkManager.DeviceState.NEED_AUTH:
/* 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());
/* Translators: this is for network connections that require some kind of key or password */
return _("Authentication required");
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; %s is a network identifier */
return _("Firmware Missing For %s").format(this._getDescription());
module, which is missing */
return _("Firmware missing");
}
/* Translators: this is for a network device that cannot be activated (for example it
is disabled by rfkill, or it has no coverage; %s is a network identifier */
return _("%s Unavailable").format(this._getDescription());
is disabled by rfkill, or it has no coverage */
return _("Unavailable");
case NetworkManager.DeviceState.FAILED:
/* Translators: %s is a network identifier */
return _("%s Connection Failed").format(this._getDescription());
return _("Connection failed");
default:
log('Device state invalid, is %d'.format(this._device.state));
return 'invalid';
@@ -584,12 +585,11 @@ const NMDeviceModem = new Lang.Class({
_getStatus: function() {
if (!this._client.wwan_hardware_enabled)
/* Translators: %s is a network identifier */
return _("%s Hardware Disabled").format(this._getDescription());
return _("Hardware Disabled");
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); %s is a network identifier */
return _("%s Disabled").format(this._getDescription());
because it's disabled by rfkill (airplane mode) */
return _("Disabled");
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, 16, 16);
this._noNetworksSpinner = new Animation.AnimatedIcon(file, 24, 24);
this._noNetworksBox.add_actor(this._noNetworksSpinner.actor);
this._noNetworksBox.add_actor(new St.Label({ style_class: 'no-networks-label',
text: _("No Networks") }));
@@ -917,7 +917,10 @@ const NMWirelessDialog = new Lang.Class({
key: Clutter.Escape });
this._connectButton = this.addButton({ action: Lang.bind(this, this._connect),
label: _("Connect"),
key: Clutter.Return });
key: Clutter.Return },
{ expand: true,
x_fill: false,
x_align: St.Align.END });
},
_connect: function() {
@@ -1279,8 +1282,9 @@ const NMDeviceWireless = new Lang.Class({
this._toggleItem.label.text = this._client.wireless_enabled ? _("Turn Off") : _("Turn On");
this._toggleItem.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._getStatus();
this.item.label.text = this._description;
},
setDeviceDescription: function(desc) {
@@ -1292,23 +1296,18 @@ const NMDeviceWireless = new Lang.Class({
let ap = this._device.active_access_point;
if (this._isHotSpotMaster())
/* Translators: %s is a network identifier */
return _("%s Hotspot Active").format(this._description);
return _("Hotspot Active");
else if (this._device.state >= NetworkManager.DeviceState.PREPARE &&
this._device.state < NetworkManager.DeviceState.ACTIVATED)
/* Translators: %s is a network identifier */
return _("%s Connecting").format(this._description);
return _("Connecting");
else if (ap)
return ssidToLabel(ap.get_ssid());
else if (!this._client.wireless_hardware_enabled)
/* Translators: %s is a network identifier */
return _("%s Hardware Disabled").format(this._description);
return _("Hardware Disabled");
else if (!this._client.wireless_enabled)
/* Translators: %s is a network identifier */
return _("%s Off").format(this._description);
return _("Off");
else if (this._device.state == NetworkManager.DeviceState.DISCONNECTED)
/* Translators: %s is a network identifier */
return _("%s Not Connected").format(this._description);
return _("Not Connected");
else
return '';
},
@@ -1510,7 +1509,7 @@ const NMVPNSection = new Lang.Class({
return item.getName();
}
return _("VPN Off");
return _("Off");
},
_getMenuIcon: function() {

View File

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

View File

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

View File

@@ -24,17 +24,6 @@ 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',
@@ -155,32 +144,23 @@ const Indicator = new Lang.Class({
this._orientationSettings.connect('changed::orientation-lock',
Lang.bind(this, 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._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();
}));
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 ||
@@ -251,22 +231,13 @@ 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() {
if (this._sensorProxy)
this._orientationLockAction.visible = this._sensorProxy.HasAccelerometer;
else
this._orientationLockAction.visible = false;
this._orientationLockAction.visible = this._orientationExists;
let locked = this._orientationSettings.get_boolean('orientation-lock');
let icon = this._orientationLockAction.child;
@@ -350,9 +321,6 @@ 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));

View File

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

View File

@@ -11,8 +11,7 @@ const WindowAttentionHandler = new Lang.Class({
_init : function() {
this._tracker = Shell.WindowTracker.get_default();
this._windowDemandsAttentionId = global.display.connect('window-demands-attention',
Lang.bind(this, this._onWindowDemandsAttention));
global.display.connect('window-demands-attention', Lang.bind(this, this._onWindowDemandsAttention));
},
_getTitleAndBanner: function(app, window) {

View File

@@ -19,6 +19,8 @@ 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;
@@ -81,10 +83,12 @@ const DisplayChangeDialog = new Lang.Class({
*/
this._cancelButton = this.addButton({ label: _("Revert Settings"),
action: Lang.bind(this, this._onFailure),
key: Clutter.Escape });
key: Clutter.Escape },
{ expand: true, x_fill: false, x_align: St.Align.START });
this._okButton = this.addButton({ label: _("Keep Changes"),
action: Lang.bind(this, this._onSuccess),
default: true });
default: true },
{ expand: false, x_fill: false, x_align: St.Align.END });
this._timeoutId = Mainloop.timeout_add(ONE_SECOND, Lang.bind(this, this._tick));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._tick');
@@ -213,8 +217,7 @@ const WorkspaceTracker = new Lang.Class({
_getWorkspaceSettings: function() {
let settings = global.get_overrides_settings();
if (settings &&
settings.settings_schema.list_keys().indexOf('dynamic-workspaces') > -1)
if (settings.list_keys().indexOf('dynamic-workspaces') > -1)
return settings;
return new Gio.Settings({ schema_id: 'org.gnome.mutter' });
},
@@ -475,100 +478,52 @@ 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.SwipeAction,
Extends: Clutter.GestureAction,
_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(actor) {
vfunc_gesture_prepare : function(action, actor) {
let allowedModes = Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW;
if (!this.parent(actor))
return false;
return (allowedModes & Main.actionMode);
return this.get_n_current_points() == this.get_n_touch_points() &&
(allowedModes & Main.actionMode);
},
vfunc_swept : function(actor, direction) {
let dir;
vfunc_gesture_end : function(action, actor) {
const MOTION_THRESHOLD = 50;
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;
// 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;
this.emit('activated', dir);
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);
}
});
Signals.addSignalMethods(WorkspaceSwitchAction.prototype);
@@ -676,6 +631,8 @@ const WindowManager = new Lang.Class({
this._minimizing = [];
this._unminimizing = [];
this._maximizing = [];
this._unmaximizing = [];
this._mapping = [];
this._destroying = [];
this._movingWindow = null;
@@ -690,6 +647,8 @@ 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);
}));
@@ -700,7 +659,8 @@ 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('size-change', Lang.bind(this, this._sizeChangeWindow));
this._shellwm.connect('maximize', Lang.bind(this, this._maximizeWindow));
this._shellwm.connect('unmaximize', Lang.bind(this, this._unmaximizeWindow));
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));
@@ -920,22 +880,15 @@ const WindowManager = new Lang.Class({
false, -1, 1);
let gesture = new WorkspaceSwitchAction();
gesture.connect('activated', Lang.bind(this, this._actionSwitchWorkspace));
gesture.connect('activated', Lang.bind(this, function(action, direction) {
let newWs = global.screen.get_active_workspace().get_neighbor(direction);
this.actionMoveWorkspace(newWs);
}));
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) {
@@ -1217,8 +1170,22 @@ const WindowManager = new Lang.Class({
}
},
_sizeChangeWindow : function(shellwm, actor, whichChange, oldFrameRect, oldBufferRect) {
shellwm.completed_size_change(actor);
_maximizeWindow : function(shellwm, actor, targetX, targetY, targetWidth, targetHeight) {
shellwm.completed_maximize(actor);
},
_maximizeWindowDone : function(shellwm, actor) {
},
_maximizeWindowOverwrite : function(shellwm, actor) {
},
_unmaximizeWindow : function(shellwm, actor, targetX, targetY, targetWidth, targetHeight) {
shellwm.completed_unmaximize(actor);
},
_unmaximizeWindowDone : function(shellwm, actor) {
},
_hasAttachedDialogs: function(window, ignoreWindow) {

View File

@@ -74,7 +74,7 @@ const WindowMenu = new Lang.Class({
window.make_above();
}));
if (window.is_above())
item.setOrnament(PopupMenu.Ornament.CHECK);
item.setOrnament(PopupMenu.Ornament.DOT);
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.CHECK);
item.setOrnament(PopupMenu.Ornament.DOT);
if (window.is_always_on_all_workspaces())
item.setSensitive(false);
@@ -101,22 +101,13 @@ const WindowMenu = new Lang.Class({
if (!isSticky) {
let workspace = window.get_workspace();
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)) {
let idx = workspace.index();
if (idx > 0) {
this.addAction(_("Move to Workspace Up"), Lang.bind(this, function(event) {
window.change_workspace(workspace.get_neighbor(Meta.MotionDirection.UP));
}));
}
if (workspace != workspace.get_neighbor(Meta.MotionDirection.DOWN)) {
if (idx < nWorkspaces) {
this.addAction(_("Move to Workspace Down"), Lang.bind(this, function(event) {
window.change_workspace(workspace.get_neighbor(Meta.MotionDirection.DOWN));
}));
@@ -124,39 +115,6 @@ 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
View File

@@ -9,23 +9,24 @@ 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-07-23 08:08+0000\n"
"PO-Revision-Date: 2015-04-28 08:40+0200\n"
"Last-Translator: Daniel <entaltoaragon@gmail.com>\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"
"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: Pootle 2.5.1.1\n"
"X-POOTLE-MTIME: 1430206804.000000\n"
"X-Generator: Gtranslator 2.91.6\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"
@@ -135,18 +136,17 @@ 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)"
#. 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
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
msgid "History for the looking glass dialog"
msgstr "Historico d'o dialogo de \"looking glass\""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menu item in the user menu."
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:15
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
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:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
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:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
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,79 +173,81 @@ 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:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
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:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
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:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
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: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:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
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:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
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:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Keybinding to open the overview"
msgstr "Asociación de teclas ta l'anvista cheneral"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to open the Activities Overview."
msgstr "Asociación de teclas ta ubrir l'anvista d'actividatz"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#| msgid "Keybinding to toggle the visibility of the message tray"
msgid "Keybinding to toggle the visibility of the notification list"
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:26
#| msgid "Keybinding to toggle the visibility of the message tray."
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:28
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
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: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:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
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:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid "Which keyboard to use"
msgstr "Que teclau usar"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
msgid "The type of keyboard to use."
msgstr "O tipo de teclau que usar."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid "Limit switcher to current workspace."
msgstr "Selector de limite ta l'aria de treballo actual."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
msgid ""
"If true, only applications that have windows on the current workspace are "
"shown in the switcher. Otherwise, all applications are included."
@@ -254,21 +256,21 @@ msgstr ""
"finestras en l'aria de treballo actual. D'atra man, s'incluirán todas as "
"aplicacions."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "The application icon mode."
msgstr "O modo d'icono de l'aplicación."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid ""
"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:37
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid ""
"If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included."
@@ -276,31 +278,31 @@ msgstr ""
"Si en ye verdadero, nomás s'amostrarán en o selector finestras de l'aria de "
"treballo actual. D'atra man, s'incluirán todas as finestras."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid "Attach modal dialog to the parent window"
msgstr "Acoplar un dialogo modal a la finestra pai"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid ""
"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:40
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
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:41
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
msgid "Workspaces are managed dynamically"
msgstr "As arias de treballo se chestionan dinámicamente"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
msgid "Workspaces only on primary monitor"
msgstr "Arias de treballo solament en a pantalla prencipal"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"Retardo en cambiar o foco d'o churi dica que o puntero deixa de mover-se"
@@ -309,12 +311,12 @@ msgstr ""
msgid "Network Login"
msgstr "Encetar sesión en o rete"
#: ../js/extensionPrefs/main.js:122
#: ../js/extensionPrefs/main.js:123
#, 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:154
#: ../js/extensionPrefs/main.js:155
msgid "GNOME Shell Extensions"
msgstr "Extensions de GNOME Shell"
@@ -325,39 +327,39 @@ msgstr "Extensions de GNOME Shell"
msgid "Cancel"
msgstr "Cancelar"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217
msgid "Next"
msgstr "Siguient"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Desbloquiar"
#: ../js/gdm/authPrompt.js:213
#: ../js/gdm/authPrompt.js:215
msgctxt "button"
msgid "Sign In"
msgstr "Encetar sesión"
#: ../js/gdm/loginDialog.js:281
#: ../js/gdm/loginDialog.js:280
msgid "Choose Session"
msgstr "Esleyir a sesión"
#: ../js/gdm/loginDialog.js:431
#: ../js/gdm/loginDialog.js:420
msgid "Not listed?"
msgstr "No ye en a lista?"
#: ../js/gdm/loginDialog.js:847
#: ../js/gdm/loginDialog.js:829
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(eix., usuario u %s)"
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
#: ../js/gdm/loginDialog.js:834 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Nombre d'usuario: "
msgstr "Nombre d'usuario:"
#: ../js/gdm/loginDialog.js:1180
#: ../js/gdm/loginDialog.js:1169
msgid "Login Window"
msgstr "Finestra d'inicio de sesión"
@@ -450,31 +452,31 @@ msgstr "%d de %B de %Y, %l%M %"
msgid "Web Authentication Redirect"
msgstr "Rendrecera ta autentiación web"
#: ../js/ui/appDisplay.js:789
#: ../js/ui/appDisplay.js:792
msgid "Frequently used applications will appear here"
msgstr "As aplicaciones usadas freqüentment amaneixerán aquí"
#: ../js/ui/appDisplay.js:909
#: ../js/ui/appDisplay.js:912
msgid "Frequent"
msgstr "Freqüent"
#: ../js/ui/appDisplay.js:916
#: ../js/ui/appDisplay.js:919
msgid "All"
msgstr "Todas"
#: ../js/ui/appDisplay.js:1845
#: ../js/ui/appDisplay.js:1850
msgid "New Window"
msgstr "Finestra nueva"
#: ../js/ui/appDisplay.js:1873 ../js/ui/dash.js:289
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291
msgid "Remove from Favorites"
msgstr "Sacar d'os favoritos"
#: ../js/ui/appDisplay.js:1879
#: ../js/ui/appDisplay.js:1884
msgid "Add to Favorites"
msgstr "Anyadir a os favoritos"
#: ../js/ui/appDisplay.js:1889
#: ../js/ui/appDisplay.js:1894
msgid "Show Details"
msgstr "Amostrar detalles"
@@ -488,19 +490,15 @@ 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
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
#: ../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
msgid "Change Background…"
msgstr "Cambiar o fondo…"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#: ../js/ui/calendar.js:53
msgctxt "calendar-no-work"
@@ -553,53 +551,54 @@ msgctxt "grid saturday"
msgid "S"
msgstr "S"
#: ../js/ui/calendar.js:564
#: ../js/ui/calendar.js:563
msgid "Previous month"
msgstr "Mes anterior"
#: ../js/ui/calendar.js:574
#: ../js/ui/calendar.js:573
msgid "Next month"
msgstr "Mes siguient"
#: ../js/ui/calendar.js:781
#: ../js/ui/calendar.js:780
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:1187
#: ../js/ui/calendar.js:1182
msgctxt "event list time"
msgid "All Day"
msgstr "Tot o diya"
#: ../js/ui/calendar.js:1289
#: ../js/ui/calendar.js:1288
msgid "Clear section"
msgstr "Limpiar a sección"
#: ../js/ui/calendar.js:1516
#: ../js/ui/calendar.js:1515
msgid "Events"
msgstr "Eventos"
#: ../js/ui/calendar.js:1525
#: ../js/ui/calendar.js:1524
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %d de %B"
#: ../js/ui/calendar.js:1529
#: ../js/ui/calendar.js:1528
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %d de %B de %Y"
#: ../js/ui/calendar.js:1614
#: ../js/ui/calendar.js:1613
msgid "Notifications"
msgstr "Notificacions"
#: ../js/ui/calendar.js:1765
#: ../js/ui/calendar.js:1764
#| msgid "Notifications"
msgid "No Notifications"
msgstr "No i hai notificacions"
#: ../js/ui/calendar.js:1768
#: ../js/ui/calendar.js:1767
msgid "No Events"
msgstr "No i hai eventos"
@@ -635,23 +634,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
@@ -662,8 +661,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\"."
@@ -674,7 +673,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
@@ -734,7 +733,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:757
#: ../js/ui/components/telepathyClient.js:768
#, javascript-format
msgid "%s is now known as %s"
msgstr "Agora %s se dice %s"
@@ -743,11 +742,11 @@ msgstr "Agora %s se dice %s"
msgid "Windows"
msgstr "Finestras"
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293
msgid "Show Applications"
msgstr "Amostrar aplicacions"
#: ../js/ui/dash.js:449
#: ../js/ui/dash.js:453
msgid "Dash"
msgstr "Tablero"
@@ -755,6 +754,7 @@ msgstr "Tablero"
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#: ../js/ui/dateMenu.js:73
#| msgid "%A %B %e, %Y"
msgid "%B %e %Y"
msgstr "%B %e %Y"
@@ -763,6 +763,7 @@ 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"
@@ -771,6 +772,7 @@ 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"
@@ -914,16 +916,17 @@ msgstr "Instalar"
msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Descargar y instalar \"%s\" dende extensions.gnome.org?"
#: ../js/ui/keyboard.js:747 ../js/ui/status/keyboard.js:713
#: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:580
msgid "Keyboard"
msgstr "Teclau"
#. translators: 'Hide' is a verb */
#: ../js/ui/legacyTray.js:66
#: ../js/ui/legacyTray.js:64
#| msgid "Hide Text"
msgid "Hide tray"
msgstr "Amagar servilla"
#: ../js/ui/legacyTray.js:107
#: ../js/ui/legacyTray.js:104
msgid "Status Icons"
msgstr "Iconos d'estau"
@@ -979,7 +982,7 @@ msgstr "Veyer fuent"
msgid "Web Page"
msgstr "Pachina web"
#: ../js/ui/messageTray.js:1486
#: ../js/ui/messageTray.js:2133
msgid "System Information"
msgstr "Informacion d'o sistema"
@@ -1021,7 +1024,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command"
msgstr "Introducir un comando"
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:120
msgid "Close"
msgstr "Trancar"
@@ -1049,27 +1052,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:365
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345
msgid "Lock"
msgstr "Blocar"
#: ../js/ui/screenShield.js:684
#: ../js/ui/screenShield.js:668
msgid "GNOME needs to lock the screen"
msgstr "GNOME ameneste blocar a pantalla"
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
#: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "No se podió blocar"
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
#: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272
msgid "Lock was blocked by an application"
msgstr "Una aplicación impidió o bloqueyo"
#: ../js/ui/search.js:617
#: ../js/ui/search.js:616
msgid "Searching…"
msgstr "Mirando…"
#: ../js/ui/search.js:619
#: ../js/ui/search.js:618
msgid "No results."
msgstr "No se troboron resultaus."
@@ -1133,11 +1136,11 @@ msgstr "Refuso de teclas"
msgid "Mouse Keys"
msgstr "Teclas d'o ratet"
#: ../js/ui/status/accessibility.js:167
#: ../js/ui/status/accessibility.js:144
msgid "High Contrast"
msgstr "Contraste alto"
#: ../js/ui/status/accessibility.js:202
#: ../js/ui/status/accessibility.js:193
msgid "Large Text"
msgstr "Texto gran"
@@ -1171,7 +1174,7 @@ msgstr "No connectau"
msgid "Brightness"
msgstr "Brilo"
#: ../js/ui/status/keyboard.js:736
#: ../js/ui/status/keyboard.js:603
msgid "Show Keyboard Layout"
msgstr "Amostrar a distribución d'o teclau"
@@ -1265,7 +1268,7 @@ msgstr "O modo avión ye enchegau"
#: ../js/ui/status/network.js:814
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"
@@ -1382,23 +1385,23 @@ msgstr "Modo avión"
msgid "On"
msgstr "Enchegau"
#: ../js/ui/status/system.js:337
#: ../js/ui/status/system.js:317
msgid "Switch User"
msgstr "Cambear d'usuario"
#: ../js/ui/status/system.js:342
#: ../js/ui/status/system.js:322
msgid "Log Out"
msgstr "Trancar sesion"
#: ../js/ui/status/system.js:361
#: ../js/ui/status/system.js:341
msgid "Orientation Lock"
msgstr "Bloqueyo d'Orientación"
#: ../js/ui/status/system.js:369
#: ../js/ui/status/system.js:349
msgid "Suspend"
msgstr "Suspender"
#: ../js/ui/status/system.js:372
#: ../js/ui/status/system.js:352
msgid "Power Off"
msgstr "Amortar"
@@ -1430,27 +1433,27 @@ msgstr "Aplicacions"
msgid "Search"
msgstr "Mirar"
#: ../js/ui/windowAttentionHandler.js:20
#: ../js/ui/windowAttentionHandler.js:19
#, javascript-format
msgid "“%s” is ready"
msgstr "\"%s\" ye parau"
#: ../js/ui/windowManager.js:63
#: ../js/ui/windowManager.js:65
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:82
#: ../js/ui/windowManager.js:84
msgid "Revert Settings"
msgstr "Revertir as opcions"
#: ../js/ui/windowManager.js:86
#: ../js/ui/windowManager.js:88
msgid "Keep Changes"
msgstr "Mantener os cambeos"
#: ../js/ui/windowManager.js:105
#: ../js/ui/windowManager.js:107
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -1459,7 +1462,7 @@ msgstr[1] "Os cambeos d'as opcions serán revertius en %d segundos"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#: ../js/ui/windowManager.js:660
#: ../js/ui/windowManager.js:599
#, javascript-format
msgid "%d x %d"
msgstr "%d x %d"
@@ -1496,48 +1499,14 @@ msgstr "Siempre veyible"
msgid "Always on Visible Workspace"
msgstr "Siempre en l'aria de treballo veyible"
#: ../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
#: ../js/ui/windowMenu.js:106
msgid "Move to Workspace Up"
msgstr "Mover ta l'aria de treballo d'alto"
#: ../js/ui/windowMenu.js:120
#: ../js/ui/windowMenu.js:111
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"
@@ -1592,11 +1561,11 @@ msgstr "Desconoxiu"
msgid "Failed to launch “%s”"
msgstr "Ha fallau en aventar \"%s\""
#: ../src/shell-keyring-prompt.c:742
#: ../src/shell-keyring-prompt.c:714
msgid "Passwords do not match."
msgstr "As claus de paso no coinciden."
#: ../src/shell-keyring-prompt.c:750
#: ../src/shell-keyring-prompt.c:722
msgid "Password cannot be blank"
msgstr "A clau de paso no puede estar vueda"
@@ -1834,6 +1803,14 @@ msgstr "L'usuario refusó o dialogo d'autenticación"
#~ msgid "The maximum accuracy level of location."
#~ 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), "
@@ -1845,8 +1822,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"
@@ -1991,6 +1968,7 @@ msgstr "L'usuario refusó o dialogo d'autenticación"
#~ msgid "Session…"
#~ msgstr "Sesión…"
#~| msgid "Power Off"
#~ msgid "Power"
#~ msgstr "Enerchía"
@@ -2154,9 +2132,11 @@ 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"
@@ -2169,9 +2149,11 @@ 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"
@@ -2181,6 +2163,7 @@ msgstr "L'usuario refusó o dialogo d'autenticación"
#~ msgid "Computer"
#~ msgstr "Equipo"
#~| msgid "Unknown"
#~ msgctxt "device"
#~ msgid "Unknown"
#~ msgstr "Desconoxiu"

530
po/ar.po

File diff suppressed because it is too large Load Diff

524
po/ca.po

File diff suppressed because it is too large Load Diff

514
po/cs.po

File diff suppressed because it is too large Load Diff

511
po/da.po

File diff suppressed because it is too large Load Diff

622
po/de.po

File diff suppressed because it is too large Load Diff

523
po/el.po

File diff suppressed because it is too large Load Diff

5538
po/es.po

File diff suppressed because it is too large Load Diff

1644
po/fa.po

File diff suppressed because it is too large Load Diff

633
po/fi.po

File diff suppressed because it is too large Load Diff

1107
po/fr.po

File diff suppressed because it is too large Load Diff

1066
po/fur.po

File diff suppressed because it is too large Load Diff

1703
po/ga.po

File diff suppressed because it is too large Load Diff

516
po/gl.po

File diff suppressed because it is too large Load Diff

561
po/he.po

File diff suppressed because it is too large Load Diff

542
po/hu.po

File diff suppressed because it is too large Load Diff

706
po/id.po

File diff suppressed because it is too large Load Diff

105
po/is.po
View File

@@ -7,8 +7,8 @@ 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-04-24 08:08+0000\n"
"PO-Revision-Date: 2015-04-24 13:39+0000\n"
"POT-Creation-Date: 2015-03-25 08:50+0000\n"
"PO-Revision-Date: 2015-04-27 15:22+0000\n"
"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
"Language: is\n"
@@ -266,12 +266,12 @@ msgstr ""
msgid "Network Login"
msgstr "Innskráning á neti"
#: ../js/extensionPrefs/main.js:122
#: ../js/extensionPrefs/main.js:123
#, javascript-format
msgid "There was an error loading the preferences dialog for %s:"
msgstr "Villa kom upp við ræsingu kjörstillingaglugga fyrir %s:"
#: ../js/extensionPrefs/main.js:154
#: ../js/extensionPrefs/main.js:155
msgid "GNOME Shell Extensions"
msgstr "GNOME Shell Extension skeljarviðbætur"
@@ -282,16 +282,16 @@ msgstr "GNOME Shell Extension skeljarviðbætur"
msgid "Cancel"
msgstr "Hætta við"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217
msgid "Next"
msgstr "Næsta"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Aflæsa"
#: ../js/gdm/authPrompt.js:213
#: ../js/gdm/authPrompt.js:215
msgctxt "button"
msgid "Sign In"
msgstr "Skrá inn"
@@ -407,31 +407,31 @@ msgstr "%d. %B %Y, kl. %H%M %p"
msgid "Web Authentication Redirect"
msgstr "Endurbeining á vefauðkenningu"
#: ../js/ui/appDisplay.js:788
#: ../js/ui/appDisplay.js:792
msgid "Frequently used applications will appear here"
msgstr "Oftast notuð forrit munu birtast hér"
#: ../js/ui/appDisplay.js:908
#: ../js/ui/appDisplay.js:912
msgid "Frequent"
msgstr "Algengt"
#: ../js/ui/appDisplay.js:915
#: ../js/ui/appDisplay.js:919
msgid "All"
msgstr "Allt"
#: ../js/ui/appDisplay.js:1844
#: ../js/ui/appDisplay.js:1850
msgid "New Window"
msgstr "Nýr gluggi"
#: ../js/ui/appDisplay.js:1872 ../js/ui/dash.js:289
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291
msgid "Remove from Favorites"
msgstr "Fjarlægja úr Eftirlæti"
#: ../js/ui/appDisplay.js:1878
#: ../js/ui/appDisplay.js:1884
msgid "Add to Favorites"
msgstr "Bæta í Eftirlæti"
#: ../js/ui/appDisplay.js:1888
#: ../js/ui/appDisplay.js:1894
msgid "Show Details"
msgstr "Sýna ítarlegri upplýsingar"
@@ -445,20 +445,15 @@ 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
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
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:337
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). */
#: ../js/ui/calendar.js:53
msgctxt "calendar-no-work"
@@ -526,7 +521,7 @@ 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
#: ../js/ui/calendar.js:1183
msgctxt "event list time"
msgid "All Day"
msgstr "Allan daginn"
@@ -695,7 +690,7 @@ msgstr "Æ, þetta virkaði ekki. Endilega reyndu aftur."
#. 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:728
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s er nú þekkt(ur) sem %s"
@@ -704,11 +699,11 @@ msgstr "%s er nú þekkt(ur) sem %s"
msgid "Windows"
msgstr "Gluggar"
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293
msgid "Show Applications"
msgstr "Sýna forrit"
#: ../js/ui/dash.js:449
#: ../js/ui/dash.js:453
msgid "Dash"
msgstr "Dash"
@@ -877,17 +872,17 @@ 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:718 ../js/ui/status/keyboard.js:713
#: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:724
msgid "Keyboard"
msgstr "Lyklaborð"
#. translators: 'Hide' is a verb */
#: ../js/ui/legacyTray.js:66
#: ../js/ui/legacyTray.js:64
#| msgid "Hide Text"
msgid "Hide tray"
msgstr "Fela kerfisbakka"
#: ../js/ui/legacyTray.js:107
#: ../js/ui/legacyTray.js:105
msgid "Status Icons"
msgstr "Táknmyndir fyrir stöðu"
@@ -943,7 +938,7 @@ msgstr "Skoða frumtexta"
msgid "Web Page"
msgstr "Vefsíða"
#: ../js/ui/messageTray.js:1496
#: ../js/ui/messageTray.js:1507
msgid "System Information"
msgstr "Kerfisupplýsingar"
@@ -985,7 +980,7 @@ msgstr ""
msgid "Enter a Command"
msgstr "Settu inn skipun"
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:153
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:120
msgid "Close"
msgstr "Loka"
@@ -1013,7 +1008,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d ný skilaboð"
msgstr[1] "%d ný skilaboð"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:342
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345
msgid "Lock"
msgstr "Læsa"
@@ -1029,11 +1024,11 @@ msgstr "Gat ekki læst skjá"
msgid "Lock was blocked by an application"
msgstr "Læsing var hindruð af öðru forriti"
#: ../js/ui/search.js:617
#: ../js/ui/search.js:616
msgid "Searching…"
msgstr "Leita..."
#: ../js/ui/search.js:619
#: ../js/ui/search.js:618
msgid "No results."
msgstr "Engar niðurstöður."
@@ -1097,11 +1092,11 @@ msgstr "Lyklaendurvarp"
msgid "Mouse Keys"
msgstr "Músarlyklar"
#: ../js/ui/status/accessibility.js:167
#: ../js/ui/status/accessibility.js:144
msgid "High Contrast"
msgstr "Mikil birtuskil"
#: ../js/ui/status/accessibility.js:202
#: ../js/ui/status/accessibility.js:193
msgid "Large Text"
msgstr "Stór texti"
@@ -1135,7 +1130,7 @@ msgstr "Ótengt"
msgid "Brightness"
msgstr "Birtustig"
#: ../js/ui/status/keyboard.js:736
#: ../js/ui/status/keyboard.js:747
msgid "Show Keyboard Layout"
msgstr "Birta lyklaborðsuppsetningu"
@@ -1346,23 +1341,23 @@ msgstr "Flugvélahamur"
msgid "On"
msgstr "Á"
#: ../js/ui/status/system.js:314
#: ../js/ui/status/system.js:317
msgid "Switch User"
msgstr "Skipta um notanda"
#: ../js/ui/status/system.js:319
#: ../js/ui/status/system.js:322
msgid "Log Out"
msgstr "Skrá út"
#: ../js/ui/status/system.js:338
#: ../js/ui/status/system.js:341
msgid "Orientation Lock"
msgstr "Stefnulás"
#: ../js/ui/status/system.js:346
#: ../js/ui/status/system.js:349
msgid "Suspend"
msgstr "Hvíla"
#: ../js/ui/status/system.js:349
#: ../js/ui/status/system.js:352
msgid "Power Off"
msgstr "Slökkva"
@@ -1423,7 +1418,7 @@ 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. */
#: ../js/ui/windowManager.js:613
#: ../js/ui/windowManager.js:599
#, javascript-format
msgid "%d x %d"
msgstr "%d x %d"
@@ -1468,24 +1463,6 @@ 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"

518
po/it.po

File diff suppressed because it is too large Load Diff

505
po/ja.po

File diff suppressed because it is too large Load Diff

519
po/kk.po

File diff suppressed because it is too large Load Diff

509
po/ko.po

File diff suppressed because it is too large Load Diff

543
po/lt.po

File diff suppressed because it is too large Load Diff

612
po/lv.po

File diff suppressed because it is too large Load Diff

486
po/nb.po

File diff suppressed because it is too large Load Diff

511
po/nl.po

File diff suppressed because it is too large Load Diff

4602
po/oc.po

File diff suppressed because it is too large Load Diff

558
po/pa.po

File diff suppressed because it is too large Load Diff

528
po/pl.po

File diff suppressed because it is too large Load Diff

1758
po/pt.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

513
po/ru.po

File diff suppressed because it is too large Load Diff

507
po/sk.po

File diff suppressed because it is too large Load Diff

168
po/sl.po
View File

@@ -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-07-08 08:07+0000\n"
"PO-Revision-Date: 2015-07-08 15:46+0100\n"
"POT-Creation-Date: 2015-03-15 08:36+0000\n"
"PO-Revision-Date: 2015-03-15 09:41+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: sl\n"
"Language: Slovenian\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.7.5\n"
"X-Generator: Poedit 1.5.4\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:122
#: ../js/extensionPrefs/main.js:123
#, 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:154
#: ../js/extensionPrefs/main.js:155
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:215
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217
msgid "Next"
msgstr "Naslednji"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Odkleni"
#: ../js/gdm/authPrompt.js:213
#: ../js/gdm/authPrompt.js:215
msgctxt "button"
msgid "Sign In"
msgstr "Prijava"
#: ../js/gdm/loginDialog.js:281
#: ../js/gdm/loginDialog.js:280
msgid "Choose Session"
msgstr "Izbor seje"
#: ../js/gdm/loginDialog.js:431
#: ../js/gdm/loginDialog.js:421
msgid "Not listed?"
msgstr "Ali je ni na seznamu?"
#: ../js/gdm/loginDialog.js:847
#: ../js/gdm/loginDialog.js:830
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(na primer, uporabnika ali %s)"
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
#: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Uporabniško ime: "
#: ../js/gdm/loginDialog.js:1180
#: ../js/gdm/loginDialog.js:1170
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:789
#: ../js/ui/appDisplay.js:792
msgid "Frequently used applications will appear here"
msgstr "Pogosto uporabljeni programi bodo prikazani tu"
#: ../js/ui/appDisplay.js:909
#: ../js/ui/appDisplay.js:912
msgid "Frequent"
msgstr "Pogosto"
#: ../js/ui/appDisplay.js:916
#: ../js/ui/appDisplay.js:919
msgid "All"
msgstr "Vse"
#: ../js/ui/appDisplay.js:1845
#: ../js/ui/appDisplay.js:1850
msgid "New Window"
msgstr "Novo okno"
#: ../js/ui/appDisplay.js:1873 ../js/ui/dash.js:289
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291
msgid "Remove from Favorites"
msgstr "Odstrani iz priljubljenih"
#: ../js/ui/appDisplay.js:1879
#: ../js/ui/appDisplay.js:1884
msgid "Add to Favorites"
msgstr "Dodaj med priljubljene"
#: ../js/ui/appDisplay.js:1889
#: ../js/ui/appDisplay.js:1894
msgid "Show Details"
msgstr "Pokaži besedilo"
@@ -481,19 +481,15 @@ 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
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
#: ../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
msgid "Change Background…"
msgstr "Spremeni ozadje ..."
#. 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"
@@ -546,53 +542,53 @@ msgctxt "grid saturday"
msgid "S"
msgstr "S"
#: ../js/ui/calendar.js:564
#: ../js/ui/calendar.js:563
msgid "Previous month"
msgstr "Predhodni mesec"
#: ../js/ui/calendar.js:574
#: ../js/ui/calendar.js:573
msgid "Next month"
msgstr "Naslednji mesec"
#: ../js/ui/calendar.js:781
#: ../js/ui/calendar.js:780
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:1187
#: ../js/ui/calendar.js:1182
msgctxt "event list time"
msgid "All Day"
msgstr "Celodnevno"
#: ../js/ui/calendar.js:1289
#: ../js/ui/calendar.js:1288
msgid "Clear section"
msgstr "Počisti odsek"
#: ../js/ui/calendar.js:1516
#: ../js/ui/calendar.js:1515
msgid "Events"
msgstr "Dogodki"
#: ../js/ui/calendar.js:1525
#: ../js/ui/calendar.js:1524
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %d. %m."
#: ../js/ui/calendar.js:1529
#: ../js/ui/calendar.js:1528
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %d %B %Y"
#: ../js/ui/calendar.js:1614
#: ../js/ui/calendar.js:1613
msgid "Notifications"
msgstr "Obvestila"
#: ../js/ui/calendar.js:1765
#: ../js/ui/calendar.js:1764
msgid "No Notifications"
msgstr "Ni obvestil"
#: ../js/ui/calendar.js:1768
#: ../js/ui/calendar.js:1767
msgid "No Events"
msgstr "Ni dogodkov"
@@ -728,7 +724,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:757
#: ../js/ui/components/telepathyClient.js:775
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s je sedaj znan kot v %s"
@@ -737,11 +733,11 @@ msgstr "%s je sedaj znan kot v %s"
msgid "Windows"
msgstr "Okna"
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293
msgid "Show Applications"
msgstr "Pokaži programe"
#: ../js/ui/dash.js:449
#: ../js/ui/dash.js:453
msgid "Dash"
msgstr "Pregledna plošča"
@@ -920,16 +916,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:747 ../js/ui/status/keyboard.js:713
#: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:580
msgid "Keyboard"
msgstr "Tipkovnica"
#. translators: 'Hide' is a verb */
#: ../js/ui/legacyTray.js:66
#: ../js/ui/legacyTray.js:64
msgid "Hide tray"
msgstr "Skrij sistemsko vrstico"
#: ../js/ui/legacyTray.js:107
#: ../js/ui/legacyTray.js:104
msgid "Status Icons"
msgstr "Ikone stanja"
@@ -985,7 +981,7 @@ msgstr "Poglej vir"
msgid "Web Page"
msgstr "Spletna stran"
#: ../js/ui/messageTray.js:1486
#: ../js/ui/messageTray.js:2133
msgid "System Information"
msgstr "Podrobnosti sistema"
@@ -1027,7 +1023,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command"
msgstr "Vnos ukaza"
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:120
msgid "Close"
msgstr "Zapri"
@@ -1059,27 +1055,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:365
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345
msgid "Lock"
msgstr "Zakleni"
#: ../js/ui/screenShield.js:684
#: ../js/ui/screenShield.js:668
msgid "GNOME needs to lock the screen"
msgstr "Zakleniti je treba zaslon"
#: ../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 "Zaklep ni mogoč"
#: ../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 "Zaklep je preprečil program"
#: ../js/ui/search.js:617
#: ../js/ui/search.js:616
msgid "Searching…"
msgstr "Iskanje ..."
#: ../js/ui/search.js:619
#: ../js/ui/search.js:618
msgid "No results."
msgstr "Ni najdenih zadetkov."
@@ -1143,11 +1139,11 @@ msgstr "Odskočne tipke"
msgid "Mouse Keys"
msgstr "Miškine tipke"
#: ../js/ui/status/accessibility.js:167
#: ../js/ui/status/accessibility.js:144
msgid "High Contrast"
msgstr "Visok kontrast"
#: ../js/ui/status/accessibility.js:202
#: ../js/ui/status/accessibility.js:193
msgid "Large Text"
msgstr "Veliko besedilo"
@@ -1183,7 +1179,7 @@ msgstr "Ni vzpostavljene povezave"
msgid "Brightness"
msgstr "Svetlost"
#: ../js/ui/status/keyboard.js:736
#: ../js/ui/status/keyboard.js:603
msgid "Show Keyboard Layout"
msgstr "Pokaži razporeditev tipkovnice"
@@ -1394,23 +1390,23 @@ msgstr "Način letala"
msgid "On"
msgstr "Povezano"
#: ../js/ui/status/system.js:337
#: ../js/ui/status/system.js:317
msgid "Switch User"
msgstr "Preklopi uporabnika"
#: ../js/ui/status/system.js:342
#: ../js/ui/status/system.js:322
msgid "Log Out"
msgstr "Odjava"
#: ../js/ui/status/system.js:361
#: ../js/ui/status/system.js:341
msgid "Orientation Lock"
msgstr "Zaklep položaja"
#: ../js/ui/status/system.js:369
#: ../js/ui/status/system.js:349
msgid "Suspend"
msgstr "Zaustavi"
#: ../js/ui/status/system.js:372
#: ../js/ui/status/system.js:352
msgid "Power Off"
msgstr "Izklop"
@@ -1442,27 +1438,27 @@ msgstr "Programi"
msgid "Search"
msgstr "Poišči"
#: ../js/ui/windowAttentionHandler.js:20
#: ../js/ui/windowAttentionHandler.js:19
#, javascript-format
msgid "“%s” is ready"
msgstr "“%s” storitev je pripravljena"
#: ../js/ui/windowManager.js:63
#: ../js/ui/windowManager.js:65
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:82
#: ../js/ui/windowManager.js:84
msgid "Revert Settings"
msgstr "Povrni nastavitve"
#: ../js/ui/windowManager.js:86
#: ../js/ui/windowManager.js:88
msgid "Keep Changes"
msgstr "Sledi spremembam"
#: ../js/ui/windowManager.js:105
#: ../js/ui/windowManager.js:107
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -1473,7 +1469,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:604
#: ../js/ui/windowManager.js:599
#, javascript-format
msgid "%d x %d"
msgstr "%d x %d"
@@ -1510,38 +1506,14 @@ msgstr "Vedno na vrhu"
msgid "Always on Visible Workspace"
msgstr "Vedno na dejavni delovni površini"
#: ../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
#: ../js/ui/windowMenu.js:106
msgid "Move to Workspace Up"
msgstr "Premakni na zgornjo delovno površino"
#: ../js/ui/windowMenu.js:120
#: ../js/ui/windowMenu.js:111
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 "
@@ -1598,11 +1570,11 @@ msgstr "Neznano"
msgid "Failed to launch “%s”"
msgstr "Zaganjanje “%s” je spodletelo"
#: ../src/shell-keyring-prompt.c:742
#: ../src/shell-keyring-prompt.c:714
msgid "Passwords do not match."
msgstr "Gesli se ne skladata."
#: ../src/shell-keyring-prompt.c:750
#: ../src/shell-keyring-prompt.c:722
msgid "Password cannot be blank"
msgstr "Geslo ne more biti prazno"

731
po/sr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

514
po/sv.po

File diff suppressed because it is too large Load Diff

163
po/tg.po
View File

@@ -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-06-24 20:04+0000\n"
"PO-Revision-Date: 2015-06-25 10:20+0500\n"
"POT-Creation-Date: 2015-03-13 20:44+0000\n"
"PO-Revision-Date: 2015-03-14 09:50+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.7.5\n"
"X-Generator: Poedit 1.6.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:122
#: ../js/extensionPrefs/main.js:123
#, javascript-format
msgid "There was an error loading the preferences dialog for %s:"
msgstr ""
"Ҳангоми боркунии равзанаи гуфтугӯи хусусиятҳо барои %s хатогие ба вуҷуд "
"омадааст:"
#: ../js/extensionPrefs/main.js:154
#: ../js/extensionPrefs/main.js:155
msgid "GNOME Shell Extensions"
msgstr "Пасвандҳои восити GNOME"
@@ -323,39 +323,39 @@ msgstr "Пасвандҳои восити GNOME"
msgid "Cancel"
msgstr "Бекор кардан"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217
msgid "Next"
msgstr "Навбатӣ"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Кушодан"
#: ../js/gdm/authPrompt.js:213
#: ../js/gdm/authPrompt.js:215
msgctxt "button"
msgid "Sign In"
msgstr "Ворид шудан"
#: ../js/gdm/loginDialog.js:281
#: ../js/gdm/loginDialog.js:280
msgid "Choose Session"
msgstr "Интихоби ҷаласа"
#: ../js/gdm/loginDialog.js:431
#: ../js/gdm/loginDialog.js:421
msgid "Not listed?"
msgstr "Вуҷуд надора?"
#: ../js/gdm/loginDialog.js:840
#: ../js/gdm/loginDialog.js:830
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(масалан, корбар ё %s)"
#: ../js/gdm/loginDialog.js:845 ../js/ui/components/networkAgent.js:271
#: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Номи корбар:"
#: ../js/gdm/loginDialog.js:1173
#: ../js/gdm/loginDialog.js:1170
msgid "Login Window"
msgstr "Равзанаи воридшавӣ"
@@ -448,31 +448,31 @@ msgstr "%B %d %Y, %l%M %p"
msgid "Web Authentication Redirect"
msgstr "Бозфиристодани санҷиши ҳаққонияти веб"
#: ../js/ui/appDisplay.js:788
#: ../js/ui/appDisplay.js:792
msgid "Frequently used applications will appear here"
msgstr "Барномаҳои бештар истифодашуда ин ҷо намоиш дода мешаванд"
#: ../js/ui/appDisplay.js:908
#: ../js/ui/appDisplay.js:912
msgid "Frequent"
msgstr "Роиҷ"
#: ../js/ui/appDisplay.js:915
#: ../js/ui/appDisplay.js:919
msgid "All"
msgstr "Ҳама"
#: ../js/ui/appDisplay.js:1844
#: ../js/ui/appDisplay.js:1850
msgid "New Window"
msgstr "Равзанаи нав"
#: ../js/ui/appDisplay.js:1872 ../js/ui/dash.js:289
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291
msgid "Remove from Favorites"
msgstr "Тоза кардан аз Баргузидаҳо"
#: ../js/ui/appDisplay.js:1878
#: ../js/ui/appDisplay.js:1884
msgid "Add to Favorites"
msgstr "Илова кардан ба Баргузидаҳо"
#: ../js/ui/appDisplay.js:1888
#: ../js/ui/appDisplay.js:1894
msgid "Show Details"
msgstr "Намоиш додани тафсилот"
@@ -486,19 +486,15 @@ msgstr "%s ба баргузидаҳои шумо илова шудааст."
msgid "%s has been removed from your favorites."
msgstr "%s аз баргузидаҳои шумо тоза шудааст."
#: ../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
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:337
msgid "Settings"
msgstr "Танзимот"
#: ../js/ui/backgroundMenu.js:21
msgid "Change Background…"
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"
@@ -551,53 +547,53 @@ msgctxt "grid saturday"
msgid "S"
msgstr "Ш"
#: ../js/ui/calendar.js:564
#: ../js/ui/calendar.js:563
msgid "Previous month"
msgstr "Моҳи қаблӣ"
#: ../js/ui/calendar.js:574
#: ../js/ui/calendar.js:573
msgid "Next month"
msgstr "Моҳи навбатӣ"
#: ../js/ui/calendar.js:781
#: ../js/ui/calendar.js:780
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:1187
#: ../js/ui/calendar.js:1182
msgctxt "event list time"
msgid "All Day"
msgstr "Тамоми рӯз"
#: ../js/ui/calendar.js:1289
#: ../js/ui/calendar.js:1288
msgid "Clear section"
msgstr "Пок кардани қисмат"
#: ../js/ui/calendar.js:1516
#: ../js/ui/calendar.js:1515
msgid "Events"
msgstr "Рӯйдодҳо"
#: ../js/ui/calendar.js:1525
#: ../js/ui/calendar.js:1524
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: ../js/ui/calendar.js:1529
#: ../js/ui/calendar.js:1528
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %B %d, %Y"
#: ../js/ui/calendar.js:1614
#: ../js/ui/calendar.js:1613
msgid "Notifications"
msgstr "Огоҳиҳо"
#: ../js/ui/calendar.js:1765
#: ../js/ui/calendar.js:1764
msgid "No Notifications"
msgstr "Ягон огоҳӣ нест"
#: ../js/ui/calendar.js:1768
#: ../js/ui/calendar.js:1767
msgid "No Events"
msgstr "Ягон рӯйдод нест"
@@ -733,7 +729,7 @@ msgstr "Мутаассифона, ин амал иҷро нашуд. Лутфа
#. 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:775
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s аллакой бо номи %s номида мешавад"
@@ -742,11 +738,11 @@ msgstr "%s аллакой бо номи %s номида мешавад"
msgid "Windows"
msgstr "Равзанаҳо"
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293
msgid "Show Applications"
msgstr "Намоиш додани барномаҳо"
#: ../js/ui/dash.js:449
#: ../js/ui/dash.js:453
msgid "Dash"
msgstr "Рах"
@@ -914,16 +910,17 @@ msgstr "Насб кардан"
msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "“%s”-ро аз extensions.gnome.org боргирӣ ва насб мекунед?"
#: ../js/ui/keyboard.js:747 ../js/ui/status/keyboard.js:713
#: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:580
msgid "Keyboard"
msgstr "Клавиатура"
#. translators: 'Hide' is a verb */
#: ../js/ui/legacyTray.js:66
#: ../js/ui/legacyTray.js:59
#| msgid "Hide Text"
msgid "Hide tray"
msgstr "Пинҳон кардани лавҳа"
#: ../js/ui/legacyTray.js:107
#: ../js/ui/legacyTray.js:91
msgid "Status Icons"
msgstr "Нишонаҳои вазъият"
@@ -979,7 +976,7 @@ msgstr "Намоиш додани манбаъ"
msgid "Web Page"
msgstr "Саҳифаи веб"
#: ../js/ui/messageTray.js:1486
#: ../js/ui/messageTray.js:2133
msgid "System Information"
msgstr "Маълумоти система"
@@ -1021,7 +1018,7 @@ msgstr "toggle-switch-us"
msgid "Enter a Command"
msgstr "Фармонеро ворид кунед"
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:120
msgid "Close"
msgstr "Пӯшидан"
@@ -1049,27 +1046,27 @@ msgid_plural "%d new notifications"
msgstr[0] "%d огоҳии нав"
msgstr[1] "%d огоҳии нав"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:365
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345
msgid "Lock"
msgstr "Қулф кардан"
#: ../js/ui/screenShield.js:684
#: ../js/ui/screenShield.js:668
msgid "GNOME needs to lock the screen"
msgstr "GNOME бояд экранро қулф кунад"
#: ../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 "Қулф карда намешавад"
#: ../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 "Қулф аз тарави барнома баста шудааст"
#: ../js/ui/search.js:617
#: ../js/ui/search.js:616
msgid "Searching…"
msgstr "Ҷустуҷӯ рафта истодааст..."
#: ../js/ui/search.js:619
#: ../js/ui/search.js:618
msgid "No results."
msgstr "Ягон натиҷа нест."
@@ -1133,11 +1130,11 @@ msgstr "Тугмаҳои ҷастухез"
msgid "Mouse Keys"
msgstr "Тугмаҳои муш"
#: ../js/ui/status/accessibility.js:167
#: ../js/ui/status/accessibility.js:144
msgid "High Contrast"
msgstr "Контрасти баланд"
#: ../js/ui/status/accessibility.js:202
#: ../js/ui/status/accessibility.js:193
msgid "Large Text"
msgstr "Матни бузург"
@@ -1171,7 +1168,7 @@ msgstr "Пайваст нашудааст"
msgid "Brightness"
msgstr "Дурахшонӣ"
#: ../js/ui/status/keyboard.js:736
#: ../js/ui/status/keyboard.js:603
msgid "Show Keyboard Layout"
msgstr "Намоиш додани тарҳбандии клавиатура"
@@ -1382,23 +1379,23 @@ msgstr "Ҳолати ҳавопаймо"
msgid "On"
msgstr "Фаъол"
#: ../js/ui/status/system.js:337
#: ../js/ui/status/system.js:317
msgid "Switch User"
msgstr "Таъвизи корбар"
#: ../js/ui/status/system.js:342
#: ../js/ui/status/system.js:322
msgid "Log Out"
msgstr "Баромад"
#: ../js/ui/status/system.js:361
#: ../js/ui/status/system.js:341
msgid "Orientation Lock"
msgstr "Қулфи самт"
#: ../js/ui/status/system.js:369
#: ../js/ui/status/system.js:349
msgid "Suspend"
msgstr "Таваққуф"
#: ../js/ui/status/system.js:372
#: ../js/ui/status/system.js:352
msgid "Power Off"
msgstr "Хомӯш кардан"
@@ -1459,7 +1456,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:605
#: ../js/ui/windowManager.js:599
#, javascript-format
msgid "%d x %d"
msgstr "%d x %d"
@@ -1496,38 +1493,14 @@ msgstr "Ҳамеша дар боло"
msgid "Always on Visible Workspace"
msgstr "Ҳамеша дар фазои кории намоён"
#: ../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
#: ../js/ui/windowMenu.js:106
msgid "Move to Workspace Up"
msgstr "Интиқол додан ба фазои кории боло"
#: ../js/ui/windowMenu.js:120
#: ../js/ui/windowMenu.js:111
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"
@@ -1571,21 +1544,21 @@ msgstr ""
msgid "List possible modes"
msgstr "Рӯйхати ҳолатҳои имконпазир"
#: ../src/shell-app.c:239
#: ../src/shell-app.c:247
msgctxt "program"
msgid "Unknown"
msgstr "Номаълум"
#: ../src/shell-app.c:480
#: ../src/shell-app.c:488
#, c-format
msgid "Failed to launch “%s”"
msgstr "Оғози “%s” қатъ шудааст"
#: ../src/shell-keyring-prompt.c:742
#: ../src/shell-keyring-prompt.c:714
msgid "Passwords do not match."
msgstr "Паролҳо мувофиқат намекунанд."
#: ../src/shell-keyring-prompt.c:750
#: ../src/shell-keyring-prompt.c:722
msgid "Password cannot be blank"
msgstr "Парол бояд холӣ набошад"
@@ -1814,7 +1787,7 @@ msgstr "Равзанаи гуфтугӯи санҷиши ҳакконият бо
#~ "маҳдудиятҳое, ки бо китобхонаи рамзгузорӣ таъин шудаанд, дарозтар мебошад"
#~ msgid "Internal error"
#~ msgstr "Хатои дохилӣ"
#~ msgstr "Хатогии дохилӣ"
#~ msgid "Unable to connect to %s"
#~ msgstr "Пайвастшавӣ ба %s имконнопазир аст"

530
po/tr.po

File diff suppressed because it is too large Load Diff

663
po/vi.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -64,6 +64,8 @@ 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 \
@@ -104,6 +106,7 @@ 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
@@ -130,6 +133,8 @@ 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 \

View File

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

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env perl
#!/usr/bin/perl
# Copyright © 2011 Red Hat, Inc
#

View File

@@ -42,11 +42,18 @@ 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_size_change (MetaPlugin *plugin,
static void gnome_shell_plugin_maximize (MetaPlugin *plugin,
MetaWindowActor *actor,
MetaSizeChange which_change,
MetaRectangle *old_rect,
MetaRectangle *new_rect);
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);
static void gnome_shell_plugin_map (MetaPlugin *plugin,
MetaWindowActor *actor);
static void gnome_shell_plugin_destroy (MetaPlugin *plugin,
@@ -127,7 +134,8 @@ 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->size_change = gnome_shell_plugin_size_change;
plugin_class->maximize = gnome_shell_plugin_maximize;
plugin_class->unmaximize = gnome_shell_plugin_unmaximize;
plugin_class->destroy = gnome_shell_plugin_destroy;
plugin_class->switch_workspace = gnome_shell_plugin_switch_workspace;
@@ -273,13 +281,27 @@ gnome_shell_plugin_unminimize (MetaPlugin *plugin,
}
static void
gnome_shell_plugin_size_change (MetaPlugin *plugin,
MetaWindowActor *actor,
MetaSizeChange which_change,
MetaRectangle *old_frame_rect,
MetaRectangle *old_buffer_rect)
gnome_shell_plugin_maximize (MetaPlugin *plugin,
MetaWindowActor *actor,
gint x,
gint y,
gint width,
gint height)
{
_shell_wm_size_change (get_shell_wm (), actor, which_change, old_frame_rect, 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);
}
static void

View File

@@ -176,15 +176,15 @@ gtk_menu_tracker_section_sync_separators (GtkMenuTrackerSection *section,
if (subsection)
{
gboolean section_could_have_separator;
gboolean could_have_separator;
section_could_have_separator = (section->with_separators && n_items > 0) || subsection->separator_label;
could_have_separator = (section->with_separators && n_items > 0) || subsection->separator_label;
/* Only pass the parent_model and parent_index in case they may be used to create the separator. */
n_items += gtk_menu_tracker_section_sync_separators (subsection, tracker, offset + n_items,
section_could_have_separator,
section_could_have_separator ? section->model : NULL,
section_could_have_separator ? i : 0);
could_have_separator,
could_have_separator ? section->model : NULL,
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 *menuitem;
GtkMenuTrackerItem *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);
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);
section->has_separator = TRUE;
}

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

View File

@@ -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,
const gchar *name,
gboolean fatal)
shell_dbus_acquire_name (GDBusProxy *bus,
guint32 request_name_flags,
guint32 *request_name_result,
gchar *name,
gboolean fatal)
{
GError *error = NULL;
GVariant *request_name_variant;
@@ -68,27 +68,25 @@ shell_dbus_acquire_name (GDBusProxy *bus,
NULL, /* cancellable */
&error)))
{
g_printerr ("failed to acquire %s: %s\n", name, error ? error->message : "");
g_clear_error (&error);
g_printerr ("failed to acquire %s: %s\n", name, error->message);
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,
const gchar *name,
gboolean fatal, ...) G_GNUC_NULL_TERMINATED;
shell_dbus_acquire_names (GDBusProxy *bus,
guint32 request_name_flags,
gchar *name,
gboolean fatal, ...) G_GNUC_NULL_TERMINATED;
static void
shell_dbus_acquire_names (GDBusProxy *bus,
guint32 request_name_flags,
const gchar *name,
gboolean fatal, ...)
shell_dbus_acquire_names (GDBusProxy *bus,
guint32 request_name_flags,
gchar *name,
gboolean fatal, ...)
{
va_list al;
guint32 request_name_result;
@@ -132,12 +130,6 @@ 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;
@@ -182,19 +174,18 @@ shell_prefs_init (void)
{
ShellGlobal *global = shell_global_get ();
GSettings *settings = shell_global_get_overrides_settings (global);
GSettingsSchema *schema;
char **keys, **k;
char **keys, **k, *schema_id;
if (!settings)
return;
g_object_get (G_OBJECT (settings), "settings-schema", &schema, NULL);
g_object_get (G_OBJECT (settings), "schema-id", &schema_id, NULL);
for (keys = k = g_settings_schema_list_keys (schema); *k; k++)
meta_prefs_override_preference_schema (*k, g_settings_schema_get_id (schema));
for (keys = k = g_settings_list_keys (settings); *k; k++)
meta_prefs_override_preference_schema (*k, schema_id);
g_strfreev (keys);
g_settings_schema_unref (schema);
g_free (schema_id);
}
static void
@@ -462,7 +453,7 @@ main (int argc, char **argv)
/* Initialize the global object */
if (session_mode == NULL)
session_mode = is_gdm_mode ? (char *)"gdm" : (char *)"user";
session_mode = is_gdm_mode ? "gdm" : "user";
_shell_global_init ("session-mode", session_mode, NULL);

View File

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

View File

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

View File

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

View File

@@ -491,9 +491,6 @@ 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;
}
}
@@ -702,7 +699,7 @@ static int
shell_app_get_last_user_time (ShellApp *app)
{
GSList *iter;
guint32 last_user_time;
int last_user_time;
last_user_time = 0;
@@ -712,7 +709,7 @@ shell_app_get_last_user_time (ShellApp *app)
last_user_time = MAX (last_user_time, meta_window_get_user_time (iter->data));
}
return (int)last_user_time;
return last_user_time;
}
/**
@@ -831,13 +828,10 @@ shell_app_sync_running_state (ShellApp *app)
{
g_return_if_fail (app->running_state != NULL);
if (app->state != SHELL_APP_STATE_STARTING)
{
if (app->running_state->interesting_windows == 0)
shell_app_state_transition (app, SHELL_APP_STATE_STOPPED);
else
shell_app_state_transition (app, SHELL_APP_STATE_RUNNING);
}
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);
}
@@ -1006,16 +1000,10 @@ _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->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);
}
if (app->running_state && app->running_state->windows == NULL)
g_clear_pointer (&app->running_state, unref_running_state);
g_signal_emit (app, shell_app_signals[WINDOWS_CHANGED], 0);
}

View File

@@ -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 (CLUTTER_ACTOR (window->priv->actor)))
if (CLUTTER_ACTOR_IS_REALIZED (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 (CLUTTER_ACTOR (actor)) &&
CLUTTER_ACTOR_IS_MAPPED (actor) &&
gtk_widget_get_visible (GTK_WIDGET (window)))
gtk_widget_map (GTK_WIDGET (window));
}

View File

@@ -172,7 +172,7 @@ shell_generic_container_get_focus_chain (StWidget *widget)
child != NULL;
child = 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))

View File

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

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