Compare commits

...

163 Commits

Author SHA1 Message Date
39f974358c Check error of g_dbus_proxy_new_sync call
Otherwise errors pile up and we crash later on.
2015-09-24 13:31:07 -04:00
0fb98606ef shell_dbus_acquire_name: Don't leak the result
The GVariant returned by g_dbus_proxy_call_sync must be
freed with g_variant_unref, to prevent a leak.
2015-09-24 13:19:17 -04:00
dd0d5a757c shell_dbus_acquire_name: Don't leak error
If fatal is not set, we return from this function in the error
case. Don't leak the GError if that happens.
2015-09-24 13:19:11 -04:00
0bbb226faf shell_dbus_acquire_name: Don't assume error is set
In rare cases (mostly when the bus connection is going away),
g_dbus_proxy_call_sync can return NULL without setting an error.
Don't crash in this case.
2015-09-24 13:19:04 -04:00
35b38d5cb2 Updated Vietnamese translation
Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
2015-09-24 15:16:45 +07:00
09e8a437d4 Update Arabic translation 2015-09-23 23:53:04 +02:00
d2bedcc182 build: Replace deprecated GNOME_COMPILE_WARNINGS macro 2015-09-23 21:32:50 +02:00
84eda6e459 st: Don't avoid parameter list
Meh, C ...
2015-09-23 21:32:50 +02:00
f5e7530fc7 st: Add default case to switch statements 2015-09-23 21:32:50 +02:00
f983b34784 st: Handle all possible enum values in switch statements 2015-09-23 21:32:50 +02:00
36bbe64898 st: Fix constness in assignment 2015-09-23 21:32:50 +02:00
627a393ed6 st: Don't mix declarations and code 2015-09-23 21:32:50 +02:00
a025b151ef st: Don't shadow existing variables 2015-09-23 21:32:50 +02:00
18b6f13395 st: Fix signed-unsigned comparisons 2015-09-23 21:32:50 +02:00
051413550f st: Don't duplicate declarations from G_DEFINE_TYPE 2015-09-23 21:32:50 +02:00
3e10574736 shell: Add default case to switch statements
... to shut up a compiler warning.
2015-09-23 21:32:50 +02:00
9a3041004b shell: Don't shadow existing variables 2015-09-23 21:32:50 +02:00
87f71b8ce1 shell: Don't mix declarations and code 2015-09-23 21:32:50 +02:00
825146f1e3 shell: Fix signed-unsigned comparisons 2015-09-23 21:32:50 +02:00
52995416fd shell: Don't avoid parameter list
Meh, C ...
2015-09-23 21:32:50 +02:00
6c43d0247a main: Fix constness mismatches 2015-09-23 21:32:49 +02:00
9aa98d9f0c menutracker: Don't shadow existing variables 2015-09-23 21:32:49 +02:00
c3a29d6df1 theme-node: Rewrite switch statement
Some compilers warn about unhandled enum values in switch statements,
so don't use one where only two out of 21 possible values make sense.
2015-09-23 21:32:49 +02:00
82f84416a9 recorder: Rewrite switch statement
Avoid compiler warnings about unhandled enum values by using a
regular if-else statement.
2015-09-23 21:32:49 +02:00
9dd3162dbe recorder-src: Rewrite switch statement
Avoid compiler warnings about unhandled enum values by using a
regular if-else statement.
2015-09-23 21:32:49 +02:00
7ef519756a Update gvc submodule 2015-09-23 21:32:49 +02:00
3bbe74d1c1 popupMenu: Set ImageMenuItem's label-actor
While we don't use image menu items ourselves, extensions might,
so make sure they are accessible out of the box.
Spotted by Jay Strict.
2015-09-23 14:20:38 +02:00
409f6718b8 calendar: Disconnect all Notification signals on NotificationMessage destruction
The destroy signal handler is kept connected despite the NotificationMessage
being destroyed, which leaves dangling NotificationMessage objects that will
be mass destroyed when the Notification object these depend upon is finally
destroyed.

Depending on the amount of accumulated NotificationMessages, this may lead
to temporary freezes or other more funky issues when recursion limits are
hit.

https://bugzilla.gnome.org/show_bug.cgi?id=755425
2015-09-22 18:16:16 +02:00
9c0e179080 Updated Serbian Latin translation 2015-09-22 11:49:36 +00:00
b3b278d41f Updated Serbian translation 2015-09-22 11:48:55 +00:00
0f466dbafb Bump version to 3.18.0
Update NEWS.
2015-09-21 22:22:18 +02:00
fbb4a9a3a6 Updated Latvian translation 2015-09-20 22:01:15 +03:00
8ddae5cd71 Updated Swedish translation 2015-09-20 17:28:59 +00:00
b0915c7b60 Updated Brazilian Portuguese translation 2015-09-20 14:01:58 +00:00
831bb4e334 Updated Indonesian translation 2015-09-19 12:35:20 +00:00
4e025506fa Updated Irish translation 2015-09-18 10:43:04 -06:00
abccf451bf Updated Danish translation 2015-09-18 17:05:37 +02:00
14954117c0 Updated Indonesian translation 2015-09-17 01:19:59 +00:00
629f408fe5 Bump version to 3.17.92
Update NEWS.
2015-09-16 17:20:30 +02:00
86c6ab3c01 Updated Italian translation 2015-09-15 11:34:41 +00:00
4a6ff94701 Updated Czech translation 2015-09-14 16:04:24 +02:00
e480b08d58 Updated Japanese translation 2015-09-14 00:20:39 +09:00
caf53861d1 Updated Kazakh translation 2015-09-12 16:08:38 +00:00
d0480648ba Updated Persian translation 2015-09-11 23:55:57 +04:30
eb8cfe799f Finnish translation update 2015-09-10 18:46:33 +03:00
b9f2541880 Updated Norwegian bokmål translation. 2015-09-07 19:31:59 +02:00
bde9b08bfe Updated Norwegian bokmål translation. 2015-09-07 19:29:28 +02:00
8a4c862633 background: fix a race condition when loading several animations
When loading several animations at the same time, the last call
overrides the result for all of them.

This commit caches all animations separately based on the source's
schemas.

https://bugzilla.gnome.org/show_bug.cgi?id=741453
2015-09-07 06:51:42 +02:00
785c90f4b8 background: fix indentation 2015-09-07 06:49:55 +02:00
dd6a11e4c7 Updated German translation 2015-09-05 19:42:18 +00:00
64e9503adb Updated Korean translation 2015-09-06 02:06:45 +09:00
36c885bf34 style: Update from sass 2015-09-04 19:15:42 +02:00
ad7cde805d style: Update high-contrast theme
This was missed in fa0e54edbb ...
2015-09-04 18:56:11 +02:00
2c2c67f4dc Fix accidental gnome-shell-sass downgrade
... from commit 030a22d795.
2015-09-04 18:46:11 +02:00
cc4f8dfab0 Updated Kazakh translation 2015-09-04 15:51:16 +00:00
0fb13608c5 Bump version to 3.17.91
Update NEWS.
2015-09-03 15:54:26 +02:00
09dbe17da0 loginDialog: Limit user list to the available height
We currently will always allocate the user list's preferred size, so it
will grow indefinitely and never scroll; limit the height instead to
get the desired scrolling behavior when necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=754525
2015-09-03 15:45:39 +02:00
fdd347c9aa po: Update French translation (remove "à large bande") 2015-09-01 11:11:38 +02:00
572095515b Updated French translation 2015-09-01 08:17:16 +00:00
f2d4aa0822 authPrompt: hide/stop spinner after verfiication completes
When the user successfully types their password, we should hide
the spinner from the button well right away, so it doesn't
consume resources until reset (which may happen significantly later
if the user is vt switched away)

https://bugzilla.gnome.org/show_bug.cgi?id=753891
2015-08-31 15:24:27 -04:00
030a22d795 authPrompt: stop spinner after its hidden
The code previously tried to stop spinner after it was hidden, but
due to an incorrect check was only stoppig it after it was shown.

Also, it was only stopping after hiding due to an animation, and
failing to stop it in the non-animated case.

This left the spinner hidden and running while VT switched away
from the login screen, only stopping when the auth prompt was
reset when switching back.

https://bugzilla.gnome.org/show_bug.cgi?id=753891
2015-08-31 15:19:26 -04:00
c70afcdb44 Updated Hungarian translation 2015-08-31 17:42:42 +00:00
526d6c03b8 Updated Hebrew translation 2015-08-30 21:17:10 +03:00
261b55300d Punjabi Translation updated 2015-08-30 09:28:47 -05:00
e13bfd9a17 Updated Greek translation 2015-08-30 12:04:22 +03:00
e096d18bac Updated Hebrew translation 2015-08-27 23:49:12 +03:00
9460f0e4f3 Updated Dutch translation Master 3.18 2015-08-26 16:45:43 +02:00
e6591f52ac Updated Galician translations 2015-08-26 00:34:43 +02:00
07e3d1fd5c Updated Galician translations 2015-08-26 00:10:39 +02:00
1fbc6b24c8 Updated Turkish translation 2015-08-25 20:05:27 +00:00
982777be94 Updated Chinese (Taiwan) translation 2015-08-25 13:00:33 +00:00
6610a34ad0 Updated Spanish translation 2015-08-25 11:30:58 +02:00
bfa8a0441a Updated Spanish translation 2015-08-25 11:05:27 +02:00
7723622ec7 Updated Portuguese translation 2015-08-25 05:18:36 +00:00
6bcc8c70ef Updated Polish translation 2015-08-24 15:32:49 +02:00
d114d5f95a Fixes to Catalan translation 2015-08-21 18:25:30 +02:00
b5c734da42 Updated Slovak translation 2015-08-21 08:43:23 +00:00
2077bb94c1 Updated Russian translation 2015-08-20 19:58:12 +00:00
65a4ee7fb4 Updated Lithuanian translation 2015-08-20 22:37:07 +03:00
debf293298 Update Catalan translation 2015-08-20 19:25:14 +02:00
a0df3e7d1e network: Unify capitalization in newly changed strings
After fa0e54edbb some strings were inconsistent.
2015-08-20 17:07:46 +02:00
0d67c2d164 Updated Slovak translation 2015-08-20 12:29:10 +00:00
682bd7b622 Bump version to 3.17.90
Update NEWS.
2015-08-20 13:53:36 +02:00
fa0e54edbb status: Refine system status menu
* switch to a one-column layout (and adjust strings/widths
   accordingly
 * remove separator before system menu
 * add link to account settings to user submenu for consistency

https://bugzilla.gnome.org/show_bug.cgi?id=751377
2015-08-20 13:53:36 +02:00
5a0b209663 build: Bump EDS requirement to 3.17.2
In conjunction with 444fa2e0ab
2015-08-11 16:58:22 +02:00
7e8859fd0e Updated Brazilian Portuguese translation 2015-08-10 23:32:43 +00:00
444fa2e0ab calendar-server: Adjust to EDS service version bump 2015-08-10 17:30:38 +02:00
a31455b921 Updated Turkish translation 2015-08-09 17:03:20 +00:00
ac0213a516 viewSelector: Make the compose key focus the search entry
This way composed characters can be used to start searches.

https://bugzilla.gnome.org/show_bug.cgi?id=753320
2015-08-07 15:34:34 +02:00
45a6e2c305 viewSelector: Make backspace focus the search entry
Commit fb0cf64536 regressed this because
there's no unicode character for backspace.

https://bugzilla.gnome.org/show_bug.cgi?id=753319
2015-08-07 15:34:34 +02:00
11cbd396c0 calendar: Tweak message list style
* make icons smaller
 * use small font size in body
 * add some spacing between secondary item and title

https://bugzilla.gnome.org/show_bug.cgi?id=749958
2015-08-05 17:34:11 +02:00
a343445cd2 calendar: Vertically center message icon rather than top-align it
... as requested by the designers.

https://bugzilla.gnome.org/show_bug.cgi?id=749958
2015-08-05 17:33:19 +02:00
be3d62487c calendar: Minor cleanup
Add a constant for the icon size used in message list entries rather
than hardcoding it twice.

https://bugzilla.gnome.org/show_bug.cgi?id=749958
2015-08-05 17:33:19 +02:00
58905bd01a telepathyClient: Use protocol-specific policy
Since commit 79c04c93e4, we launch Polari instead of Empathy when
activating a chat notification for an IRC channel. It therefore makes
sense to follow Polari's notification policy for those notifications
rather than Empathy's.

https://bugzilla.gnome.org/show_bug.cgi?id=752881
2015-08-05 17:22:10 +02:00
08506eac2d gdm: clear user verifier when finished with it
We only need the user verifier for the purpose of user verification.
Once it's complete we should clear it so it doesn't get in the way
later.

This fixes a bug introduced in commit 3c8c5a5570 that leads to the
user session crashing when the login screen is reactivated.

https://bugzilla.gnome.org/show_bug.cgi?id=753181
2015-08-05 09:40:17 -04:00
02c6b0374d gdm: make user list fade-in on vt switch more reliable
We fade out the authentication prompt when a user successfully
logs into a user session. We reset it and fade it back in when
the user switches back to the login screen VT.

The problem is, we only fade it back in if the auth prompt status is
VERIFICATION_SUCCEEDED.  It's possible for it to be NOT_VERIFYING
if the authprompt gets reset for some other reason in the interim.

This commit changes the check to be more precise. We now only skip
the fade-in, if we're already faded in, and we only skip the reset if
we're already reset.

https://bugzilla.gnome.org/show_bug.cgi?id=753181
2015-08-05 09:40:15 -04:00
0722c06275 modalDialog: Match gtk+ buttons style
Follow the design we have in gtk+ for buttons dialogs,
which are at the bottom and they expand full width, having
the same amount of space for each one.

Also, since this removes any space for non-button widgets
in the button area, move the spinner present in the auth prompt
dialog next to the password entry.

https://bugzilla.gnome.org/show_bug.cgi?id=746108
2015-08-05 14:44:47 +02:00
17a4044d97 data: Revert accidental submodule change 2015-08-05 14:24:42 +02:00
27a7194634 spinner: use a 60fps spinner
- sync with gtk+ and provide a fluid spinner

https://bugzilla.gnome.org/show_bug.cgi?id=753064
2015-08-05 13:44:32 +02:00
d73f560bcc Update Catalan translation 2015-08-02 22:43:05 +02:00
e92f43b83e shell: Fix C99'ism 2015-07-31 20:26:47 +02:00
fed79ce4e6 appDisplay: Handle non-UTF8 filename encodings more gracefully
It may be 2015, but users still stumble upon the occasional .desktop
file that uses a filename encoding other than UTF-8. We currently
fail quite spectacularly in that case by not displaying any apps at
all - handle this case more gracefully, by only filtering out the
offending apps.

https://bugzilla.gnome.org/show_bug.cgi?id=651503
2015-07-31 16:52:42 +02:00
fc45cf03bf windowMenu: Use CHECK ornament rather than DOT
The dot suggests a radio action, while the items are actually toggles;
in the app menu we use checkmarks in that case, so do the same here.
2015-07-30 18:11:43 +02:00
efde11a0f3 theme: Make menu ornament slightly wider
The existing width works well enough for a narrow character like the dot,
but doesn't leave any whitespace for a wider one like the checkmark.

https://bugzilla.gnome.org/show_bug.cgi?id=741366
2015-07-30 17:31:33 +02:00
fb951ff9b5 Updated Norwegian bokmål translation. 2015-07-30 11:36:32 +02:00
f5865e895e magnifier: Avoid caret/focus viewport changes while the pointer moves
If there's a caret or focus move we should delay it until the pointer
is stationary for a little while so as to avoid jittery and spurious
viewport movements.

https://bugzilla.gnome.org/show_bug.cgi?id=752138
2015-07-27 18:04:44 +02:00
b8c2d4c6c7 Updated Czech translation 2015-07-24 22:04:34 +02:00
778ad49ab4 authPrompt: allow cancellation before verification starts
The user should be allowed to cancel if verification hasn't
started yet and they're typing in their username. This
commit changes the authPrompt cancel function to not
ignore such requests.

https://bugzilla.gnome.org/show_bug.cgi?id=752739
2015-07-24 09:44:24 -04:00
fe7dd1305f authPrompt: don't allow next if entry is empty
Normally the user isn't allowed to proceed passed
the username question until they've filled it in.
To ensure this, the authprompt code desensitizes
the next button when the number of characters change to
zero.

Unfortunately it fails to desensitize the next button
up front when the entry starts out empty.

This commit addresses that bug.

https://bugzilla.gnome.org/show_bug.cgi?id=752739
2015-07-24 09:44:23 -04:00
378a3df5ea authPrompt: set next button to next when asking for username
If the next button ever gets set to Sign In, it won't
get reset to next until the next question asked by pam.

This commit ensures it gets reset to Next when asking
for the username.

https://bugzilla.gnome.org/show_bug.cgi?id=752739
2015-07-24 09:44:21 -04:00
e63b81d69c keyboard: Don't watch D-Bus services we won't use
ff1b76f4c7 made gnome-shell stop looking
at the org.gnome.SettingsDaemon.Cursor service's property values, but we
still monitored the service itself.

https://bugzilla.gnome.org/show_bug.cgi?id=752779
2015-07-23 15:07:10 +02:00
c2fa2cdd8a Bump version to 3.17.4
Update NEWS.
2015-07-23 12:48:58 +02:00
6f215427f8 overview: Move comment 2015-07-23 12:43:28 +02:00
67ed4e0570 overview: Remove unused variable 2015-07-23 12:42:45 +02:00
8a15178557 Update Aragonese translation 2015-07-23 12:16:58 +02:00
f3ecfab378 windowManager: Add TouchpadWorkspaceSwitchAction
This object (not really a Clutter.GestureAction) sets up a captured-event
handler, which exclusively looks for 4 finger touchpad swipes, emitting
an ::activated signal under the same terms than WorkspaceSwitchAction.

https://bugzilla.gnome.org/show_bug.cgi?id=752250
2015-07-22 21:19:51 +02:00
804563d5b2 windowManager: refactor WorkspaceSwitchAction callback into separate function
This will be used by the touchpad-specific "action" too, so put it in a
shared place.

https://bugzilla.gnome.org/show_bug.cgi?id=752250
2015-07-22 21:19:33 +02:00
c3e5d983b9 st: Replace deprecated key symbols 2015-07-22 16:00:56 +02:00
d21edcfed5 st: Replace deprecated macros 2015-07-22 16:00:55 +02:00
9b69a45eee Update gvc submodule to the latest commit from master
This avoids unnecessary calls to match_card_port_with_existing_device()
when connecting to a bluetooth device from the shell's top panel.

https://bugzilla.gnome.org/show_bug.cgi?id=752675
2015-07-21 16:11:01 +01:00
7424ee755a shell-app: Stay consistent about application states
When the last interesting window of an app-backed window is removed,
we'll transition it back to STOPPED, but we transition the state and
send out the signal before we clear the running state.

This means that any listeners to the state-changed signal might
encounter a window-backed app that has a running state, but no
windows. If they call, e.g. shell_app_get_name, while in this state,
they'll encounter an assertion fail.
2015-07-16 17:09:39 -07:00
ff664fd1d8 shell-app: Track the starting state correctly
Apps that are starting might have uninteresting windows like splash
screens pop up and then go away (like LibreOffice), even when
startup-notification hasn't completed yet. In those cases, we don't
want to transition the app back to stopped -- it should remain in
the running state.
2015-07-16 15:21:57 -07:00
fd3f03580d gdm: unconditionally cancel auth user verifier on reset
We currently only cancel the user verifier on reset if
verifying, but that means we don't properly cancel it when
asking for a username at the Not Listed screen.

The object already handles getting called when there is
nothing to cancel, so just cancel it unconditionally.

https://bugzilla.gnome.org/show_bug.cgi?id=752438
2015-07-16 09:41:39 -04:00
a09150846a Updated Hebrew translation 2015-07-16 13:29:05 +03:00
f2a9c55637 Fix translator comment
https://bugzilla.gnome.org/show_bug.cgi?id=659969
2015-07-15 22:43:23 +02:00
eaa3f83e46 Add translator comment
https://bugzilla.gnome.org/show_bug.cgi?id=659969
2015-07-15 12:37:37 +02:00
e786cc1454 Updated Spanish translation 2015-07-13 10:35:40 +02:00
cd0c632fcb theme: make app icons less fuzzy
- force 16x16px
- re-render SASS brings in some changes from
  gnome-shell-sass

https://bugzilla.gnome.org/show_bug.cgi?id=747932
2015-07-08 18:09:46 +02:00
d5f248cb82 Updated Slovenian translation 2015-07-08 15:47:02 +02:00
6a800abe06 Updated Friulian translation 2015-07-06 13:13:04 +00:00
fe265554a7 windowManager: Connect to size-changed signal
Whoops, forgot this one.
2015-07-05 23:10:51 -07:00
7305466765 Adapt to new size-change API
We don't implement any maximize transitions (yet??), but we still have
the skeleton there. Let's keep it up to date.
2015-07-05 23:09:24 -07:00
9ac55a98f1 Updated Portuguese translation 2015-07-04 05:40:46 +00:00
a1149fb6ad build: Bump GIO requirement
... for g_settings_schema_list_keys().

https://bugzilla.gnome.org/show_bug.cgi?id=751921
2015-07-03 22:42:37 +02:00
dfc4cc4aaf windowManager: Handle missing overrides settings
shell_global_get_overrides_settings() may return %NULL in case of
custom shell modes (i.e. not the default and classic ones); while
this is not officially encouraged, we should still handle it rather
than throw an error.

https://bugzilla.gnome.org/show_bug.cgi?id=751921
2015-07-03 22:25:29 +02:00
ef7541291b Updated German translation 2015-07-03 17:25:53 +00:00
248a3e6b7e Bump version to 3.17.3
Update NEWS.
2015-07-02 14:07:14 +02:00
6b1e381750 windowAttentionHandler: Fix whitespace 2015-07-01 19:14:13 +02:00
feaf6108f9 windowAttentionHandler: Allow extensions to disconnect the signal
That way extensions can easily disable / remove the "is ready"
notification.

https://bugzilla.gnome.org/show_bug.cgi?id=748846
2015-07-01 19:04:21 +02:00
9ad104585d Updated Portuguese translation 2015-06-29 22:26:47 +00:00
7c44af3616 osdMonitorLabeler: avoid tweening the labels
The control center will call this method when the configuration dialog
for a display opens/closes, which will cause the same labels to quickly
fade out and in again, looking like it's flickering.

This commit fixes the issue by removing the tweens altogether.

https://bugzilla.gnome.org/show_bug.cgi?id=751599
2015-06-29 14:57:03 -07:00
0599bf41b0 Updated Slovak translation 2015-06-29 10:41:59 +00:00
eac303f84c 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-06-26 19:21:46 +02:00
7bdd1c625c 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:09:17 +02:00
0003760fd9 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-25 16:04:14 -04:00
eafb8c8e38 Updated Tajik translation 2015-06-25 05:43:44 +00:00
60c8105559 Updated Russian translation 2015-06-23 21:29:03 +00:00
54626c6f7e Updated Hungarian translation 2015-06-23 11:13:06 +00:00
cca528a630 windowMenu: Reinstate left/right window movement
The menu items to move a window to the left/right workspaces were
removed when the window menu was implemented in GNOME Shell.  This
is OK for the default vertical layout but not for alternatives.

https://bugzilla.gnome.org/show_bug.cgi?id=751344
2015-06-22 17:57:01 -07:00
530193a3a2 windowManager: Replace deprecated g_settings_list_keys() 2015-06-19 14:05:32 +02:00
52e3149040 main: Replace deprecated g_settings_list_keys() 2015-06-19 14:05:32 +02:00
ad297ea9dc main: Fix a memory leak
We are pointlessly calling g_settings_list_keys() twice, without
freeing the result from the first call.
2015-06-19 14:05:32 +02:00
2015fc97dc shell-recorder-src: rework queue handling
Use our own locking and queue instead of async_queue.
Implement unlock and unlock_stop to make the create function return
FLUSHING. This is important to be able to pause the pipeline after some
error occured in the pipeline.
Implement start/stop to clear the queue and its state.
2015-06-16 09:03:30 +02:00
35889a0f7d Update configure.ac to check for libsystemd
https://bugzilla.gnome.org/show_bug.cgi?id=751016
2015-06-15 22:02:54 +02:00
dcd84a4b53 Updated German translation 2015-06-13 18:07:18 +00:00
01374989b1 messageTray: Remove _fixMarkup() function
Commit 053e54f944 copied it to calendar, and since commit 15e42c4d5,
the original is no longer used.
2015-06-11 14:41:34 +02:00
f300462003 tests: Remove format test
The format() function was moved to gjs a long time ago.
2015-06-11 14:33:21 +02:00
1e4da1b99c Updated Russian translation 2015-06-09 23:10:55 +00:00
e1de6cb98d Updated Turkish translation 2015-06-09 17:11:52 +00:00
59a18c4ead ShellKeyringPrompt: Strip out mnemonics indicators from labels
Currently GNOME Shell doesn't support mnemonics and prompters may
send labels with it.

Remove the mnemonics indicator for now.

Signed-off-by: Stef Walter <stefw@redhat.com>
 * Fixed style issue

https://bugzilla.gnome.org/show_bug.cgi?id=750465
2015-06-09 11:45:47 +02:00
b881e4b62a Updated Greek translation 2015-06-08 10:36:16 +03:00
7060ae077b Updated Swedish translation 2015-06-05 09:33:07 +00:00
a7b0910566 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:57:55 +02:00
112 changed files with 18799 additions and 14381 deletions

87
NEWS
View File

@ -1,3 +1,90 @@
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
======
* Handle touch events in OSK on wayland [Rui; #750287]
* Reinstate left/right movement to window menu [Ron; #751344]
* Allow extensions to disable "Window is ready" notification [Adel; #748846]
* Misc. bug fixes [Watson, Michael, Ray, Rui, Florian, Cosimo; #750465,
#751016, #751517, #750714, #751541, #751599]
Contributors:
Michael Biebl, Cosimo Cecchi, Adel Gadllah, Rui Matos, Florian Müllner,
Ray Strode, Wim Taymans, Ron Yorston, Watson Yuuma Sato
Translations:
Sebastian Rasmussen [sv], Dimitris Spingos [el], Muhammet Kara [tr],
Stas Solovey [ru], Benjamin Steinwender [de], Balázs Úr [hu],
Victor Ibragimov [tg], Dušan Kazik [sk], Pedro Albuquerque [pt]
3.17.2
======
* Remove StTable widget [Florian; #703833]

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 98 KiB

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

View File

@ -535,6 +535,9 @@ const LoginDialog = new Lang.Class({
let centerX = dialogBox.x1 + (dialogBox.x2 - dialogBox.x1) / 2;
let centerY = dialogBox.y1 + (dialogBox.y2 - dialogBox.y1) / 2;
natWidth = Math.min(natWidth, dialogBox.x2 - dialogBox.x1);
natHeight = Math.min(natHeight, dialogBox.y2 - dialogBox.y1);
actorBox.x1 = Math.floor(centerX - natWidth / 2);
actorBox.y1 = Math.floor(centerY - natHeight / 2);
actorBox.x2 = actorBox.x1 + natWidth;
@ -584,7 +587,14 @@ const LoginDialog = new Lang.Class({
// try a different layout, or if we have what extra space we
// can hand out
if (bannerAllocation) {
let leftOverYSpace = dialogHeight - bannerHeight - authPromptHeight - logoHeight;
let bannerSpace;
if (authPromptAllocation)
bannerSpace = authPromptAllocation.y1 - bannerAllocation.y1;
else
bannerSpace = 0;
let leftOverYSpace = bannerSpace - bannerHeight;
if (leftOverYSpace > 0) {
// First figure out how much left over space is up top
@ -867,7 +877,7 @@ const LoginDialog = new Lang.Class({
},
_loginScreenSessionActivated: function() {
if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.VERIFICATION_SUCCEEDED)
if (this.actor.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
return;
Tweener.addTween(this.actor,
@ -884,7 +894,8 @@ const LoginDialog = new Lang.Class({
},
onUpdateScope: this,
onComplete: function() {
this._authPrompt.reset();
if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
this._authPrompt.reset();
},
onCompleteScope: this });
},

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 = 100;
const ANIMATED_ICON_UPDATE_TIMEOUT = 14;
const Animation = new Lang.Class({
Name: 'Animation',

View File

@ -500,6 +500,11 @@ 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();
@ -753,7 +758,8 @@ const AllView = new Lang.Class({
let fadeOffset = Math.min(this._grid.topPadding,
this._grid.bottomPadding);
this._scrollView.update_fade_effect(fadeOffset, 0);
this._scrollView.get_effect('fade').fade_edges = true;
if (fadeOffset > 0)
this._scrollView.get_effect('fade').fade_edges = true;
if (this._availWidth != availWidth || this._availHeight != availHeight || oldNPages != this._grid.nPages()) {
this._adjustment.value = 0;
@ -1060,7 +1066,7 @@ const AppSearchProvider = new Lang.Class({
getInitialResultSet: function(terms, callback, cancellable) {
let query = terms.join(' ');
let groups = Gio.DesktopAppInfo.search(query);
let groups = Shell.AppSystem.search(query);
let usage = Shell.AppUsage.get_default();
let results = [];
groups.forEach(function(group) {
@ -1289,7 +1295,10 @@ const FolderIcon = new Lang.Class({
if (!_listsIntersect(folderCategories, appCategories))
return;
addAppId(appInfo.get_id());
try {
addAppId(appInfo.get_id()); // catch invalid file encodings
} catch(e) {
}
});
this.actor.visible = this.view.getAllItems().length > 0;

View File

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

View File

@ -24,6 +24,8 @@ const MSECS_IN_DAY = 24 * 60 * 60 * 1000;
const SHOW_WEEKDATE_KEY = 'show-weekdate';
const ELLIPSIS_CHAR = '\u2026';
const MESSAGE_ICON_SIZE = 32;
const MESSAGE_ANIMATION_TIME = 0.1;
const DEFAULT_EXPAND_LINES = 6;
@ -976,7 +978,6 @@ const Message = new Lang.Class({
this._iconBin = new St.Bin({ style_class: 'message-icon-bin',
y_expand: true,
visible: false });
this._iconBin.set_y_align(Clutter.ActorAlign.START);
hbox.add_actor(this._iconBin);
let contentBox = new St.BoxLayout({ style_class: 'message-content',
@ -1229,7 +1230,7 @@ const NotificationMessage = new Lang.Class({
this._closed = true;
this.notification.destroy(MessageTray.NotificationDestroyedReason.DISMISSED);
}));
notification.connect('destroy', Lang.bind(this,
this._destroyId = notification.connect('destroy', Lang.bind(this,
function() {
if (!this._closed)
this.close();
@ -1240,9 +1241,10 @@ const NotificationMessage = new Lang.Class({
_getIcon: function() {
if (this.notification.gicon)
return new St.Icon({ gicon: this.notification.gicon, icon_size: 48 });
return new St.Icon({ gicon: this.notification.gicon,
icon_size: MESSAGE_ICON_SIZE });
else
return this.notification.source.createIcon(48);
return this.notification.source.createIcon(MESSAGE_ICON_SIZE);
},
_onUpdated: function(n, clear) {
@ -1260,6 +1262,10 @@ 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,9 +9,15 @@ const Gio = imports.gi.Gio;
const GObject = imports.gi.GObject;
const Gcr = imports.gi.Gcr;
const Animation = imports.ui.animation;
const ModalDialog = imports.ui.modalDialog;
const ShellEntry = imports.ui.shellEntry;
const CheckBox = imports.ui.checkBox;
const Tweener = imports.ui.tweener;
const WORK_SPINNER_ICON_SIZE = 16;
const WORK_SPINNER_ANIMATION_DELAY = 1.0;
const WORK_SPINNER_ANIMATION_TIME = 0.3;
const KeyringDialog = new Lang.Class({
Name: 'KeyringDialog',
@ -58,27 +64,47 @@ const KeyringDialog = new Lang.Class({
{ y_fill: true,
y_align: St.Align.START });
this._workSpinner = null;
this._controlTable = null;
this._cancelButton = this.addButton({ label: '',
action: Lang.bind(this, this._onCancelButton),
key: Clutter.Escape },
{ expand: true, x_fill: false, x_align: St.Align.START });
this.placeSpinner({ expand: false,
x_fill: false,
y_fill: false,
x_align: St.Align.END,
y_align: St.Align.MIDDLE });
key: Clutter.Escape });
this._continueButton = this.addButton({ label: '',
action: Lang.bind(this, this._onContinueButton),
default: true },
{ expand: false, x_fill: false, x_align: St.Align.END });
default: true });
this.prompt.bind_property('cancel-label', this._cancelButton, 'label', GObject.BindingFlags.SYNC_CREATE);
this.prompt.bind_property('continue-label', this._continueButton, 'label', GObject.BindingFlags.SYNC_CREATE);
},
_setWorking: function(working) {
if (!this._workSpinner)
return;
Tweener.removeTweens(this._workSpinner.actor);
if (working) {
this._workSpinner.play();
Tweener.addTween(this._workSpinner.actor,
{ opacity: 255,
delay: WORK_SPINNER_ANIMATION_DELAY,
time: WORK_SPINNER_ANIMATION_TIME,
transition: 'linear'
});
} else {
Tweener.addTween(this._workSpinner.actor,
{ opacity: 0,
time: WORK_SPINNER_ANIMATION_TIME,
transition: 'linear',
onCompleteScope: this,
onComplete: function() {
if (this._workSpinner)
this._workSpinner.stop();
}
});
}
},
_buildControlTable: function() {
let layout = new Clutter.GridLayout({ orientation: Clutter.Orientation.VERTICAL });
let table = new St.Widget({ style_class: 'keyring-dialog-control-table',
@ -101,15 +127,22 @@ const KeyringDialog = new Lang.Class({
ShellEntry.addContextMenu(this._passwordEntry, { isPassword: true });
this._passwordEntry.clutter_text.connect('activate', Lang.bind(this, this._onPasswordActivate));
let spinnerIcon = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg');
this._workSpinner = new Animation.AnimatedIcon(spinnerIcon, WORK_SPINNER_ICON_SIZE);
this._workSpinner.actor.opacity = 0;
if (rtl) {
layout.attach(this._passwordEntry, 0, row, 1, 1);
layout.attach(label, 1, row, 1, 1);
layout.attach(this._workSpinner.actor, 0, row, 1, 1);
layout.attach(this._passwordEntry, 1, row, 1, 1);
layout.attach(label, 2, row, 1, 1);
} else {
layout.attach(label, 0, row, 1, 1);
layout.attach(this._passwordEntry, 1, row, 1, 1);
layout.attach(this._workSpinner.actor, 2, row, 1, 1);
}
row++;
} else {
this._workSpinner = null;
this._passwordEntry = null;
}
@ -178,7 +211,7 @@ const KeyringDialog = new Lang.Class({
this._continueButton.can_focus = sensitive;
this._continueButton.reactive = sensitive;
this.setWorking(!sensitive);
this._setWorking(!sensitive);
},
_ensureOpen: function() {

View File

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

View File

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

View File

@ -24,9 +24,6 @@ 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';
@ -114,6 +111,35 @@ const Key = new Lang.Class({
key.release();
return Clutter.EVENT_PROPAGATE;
}));
button.connect('touch-event', Lang.bind(this,
function (actor, event) {
let device = event.get_device();
let sequence = event.get_event_sequence();
// We only handle touch events here on wayland. On X11
// we do get emulated pointer events, which already works
// for single-touch cases. Besides, the X11 passive touch grab
// set up by Mutter will make us see first the touch events
// and later the pointer events, so it will look like two
// unrelated series of events, we want to avoid double handling
// in these cases.
if (!Meta.is_wayland_compositor())
return Clutter.EVENT_PROPAGATE;
if (!this._touchPressed &&
event.type() == Clutter.EventType.TOUCH_BEGIN) {
device.sequence_grab(sequence, actor);
this._touchPressed = true;
key.press();
} else if (this._touchPressed &&
event.type() == Clutter.EventType.TOUCH_END &&
device.sequence_get_grabbed_actor(sequence) == actor) {
device.sequence_ungrab(sequence);
this._touchPressed = false;
key.release();
}
return Clutter.EVENT_PROPAGATE;
}));
return button;
},
@ -178,9 +204,6 @@ 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

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

View File

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

View File

@ -15,8 +15,7 @@ const OsdMonitorLabel = new Lang.Class({
Name: 'OsdMonitorLabel',
_init: function(monitor, label) {
this._actor = new St.Widget({ opacity: 0,
x_expand: true,
this._actor = new St.Widget({ x_expand: true,
y_expand: true });
this._monitor = monitor;
@ -34,10 +33,6 @@ const OsdMonitorLabel = new Lang.Class({
this._position();
Meta.disable_unredirect_for_screen(global.screen);
Tweener.addTween(this._actor,
{ opacity: 255,
time: FADE_TIME,
transition: 'easeOutQuad' });
},
_position: function() {
@ -52,15 +47,8 @@ const OsdMonitorLabel = new Lang.Class({
},
destroy: function() {
Tweener.addTween(this._actor,
{ opacity: 0,
time: FADE_TIME,
transition: 'easeOutQuad',
onComplete: Lang.bind(this, function() {
this._actor.destroy();
Meta.enable_unredirect_for_screen(global.screen);
})
});
this._actor.destroy();
Meta.enable_unredirect_for_screen(global.screen);
}
});

View File

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

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 = 24;
const APP_MENU_ICON_MARGIN = 2;
const PANEL_ICON_SIZE = 16;
const APP_MENU_ICON_MARGIN = 0;
const BUTTON_DND_ACTIVATION_TIMEOUT = 250;
const SPINNER_ANIMATION_TIME = 0.2;
const SPINNER_ANIMATION_TIME = 1.0;
// To make sure the panel corners blend nicely with the panel,
// we draw background and borders the same way, e.g. drawing
@ -697,7 +697,6 @@ const AggregateMenu = new Lang.Class({
this.menu.addMenuItem(this._location.menu);
this.menu.addMenuItem(this._rfkill.menu);
this.menu.addMenuItem(this._power.menu);
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.menu.addMenuItem(this._system.menu);
},
});

View File

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

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

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

View File

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

View File

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

View File

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

View File

@ -251,8 +251,14 @@ 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');
}
},
@ -344,6 +350,9 @@ const Indicator = new Lang.Class({
this._switchUserSubMenu.menu.addMenuItem(item);
this._logoutItem = item;
this._switchUserSubMenu.menu.addSettingsAction(_("Account Settings"),
'gnome-user-accounts-panel.desktop');
this._user.connect('notify::is-loaded', Lang.bind(this, this._updateSwitchUserSubMenu));
this._user.connect('changed', Lang.bind(this, this._updateSwitchUserSubMenu));

View File

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

View File

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

View File

@ -19,8 +19,6 @@ const Tweener = imports.ui.tweener;
const WindowMenu = imports.ui.windowMenu;
const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings';
const MAXIMIZE_WINDOW_ANIMATION_TIME = 0.15;
const UNMAXIMIZE_WINDOW_ANIMATION_TIME = 0.15;
const MINIMIZE_WINDOW_ANIMATION_TIME = 0.2;
const SHOW_WINDOW_ANIMATION_TIME = 0.15;
const DIALOG_SHOW_WINDOW_ANIMATION_TIME = 0.1;
@ -83,12 +81,10 @@ const DisplayChangeDialog = new Lang.Class({
*/
this._cancelButton = this.addButton({ label: _("Revert Settings"),
action: Lang.bind(this, this._onFailure),
key: Clutter.Escape },
{ expand: true, x_fill: false, x_align: St.Align.START });
key: Clutter.Escape });
this._okButton = this.addButton({ label: _("Keep Changes"),
action: Lang.bind(this, this._onSuccess),
default: true },
{ expand: false, x_fill: false, x_align: St.Align.END });
default: true });
this._timeoutId = Mainloop.timeout_add(ONE_SECOND, Lang.bind(this, this._tick));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._tick');
@ -217,7 +213,8 @@ const WorkspaceTracker = new Lang.Class({
_getWorkspaceSettings: function() {
let settings = global.get_overrides_settings();
if (settings.list_keys().indexOf('dynamic-workspaces') > -1)
if (settings &&
settings.settings_schema.list_keys().indexOf('dynamic-workspaces') > -1)
return settings;
return new Gio.Settings({ schema_id: 'org.gnome.mutter' });
},
@ -478,6 +475,62 @@ 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,
@ -623,8 +676,6 @@ const WindowManager = new Lang.Class({
this._minimizing = [];
this._unminimizing = [];
this._maximizing = [];
this._unmaximizing = [];
this._mapping = [];
this._destroying = [];
this._movingWindow = null;
@ -639,8 +690,6 @@ 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);
}));
@ -651,8 +700,7 @@ const WindowManager = new Lang.Class({
this._shellwm.connect('show-window-menu', Lang.bind(this, this._showWindowMenu));
this._shellwm.connect('minimize', Lang.bind(this, this._minimizeWindow));
this._shellwm.connect('unminimize', Lang.bind(this, this._unminimizeWindow));
this._shellwm.connect('maximize', Lang.bind(this, this._maximizeWindow));
this._shellwm.connect('unmaximize', Lang.bind(this, this._unmaximizeWindow));
this._shellwm.connect('size-change', Lang.bind(this, this._sizeChangeWindow));
this._shellwm.connect('map', Lang.bind(this, this._mapWindow));
this._shellwm.connect('destroy', Lang.bind(this, this._destroyWindow));
this._shellwm.connect('filter-keybinding', Lang.bind(this, this._filterKeybinding));
@ -872,15 +920,22 @@ const WindowManager = new Lang.Class({
false, -1, 1);
let gesture = new WorkspaceSwitchAction();
gesture.connect('activated', Lang.bind(this, function(action, direction) {
let newWs = global.screen.get_active_workspace().get_neighbor(direction);
this.actionMoveWorkspace(newWs);
}));
gesture.connect('activated', Lang.bind(this, this._actionSwitchWorkspace));
global.stage.add_action(gesture);
// This is not a normal Clutter.GestureAction, doesn't need add_action()
gesture = new TouchpadWorkspaceSwitchAction(global.stage);
gesture.connect('activated', Lang.bind(this, this._actionSwitchWorkspace));
gesture = new AppSwitchAction();
gesture.connect('activated', Lang.bind(this, this._switchApp));
global.stage.add_action(gesture);
},
_actionSwitchWorkspace: function(action, direction) {
let newWs = global.screen.get_active_workspace().get_neighbor(direction);
this.actionMoveWorkspace(newWs);
},
_lookupIndex: function (windows, metaWindow) {
@ -1162,22 +1217,8 @@ const WindowManager = new Lang.Class({
}
},
_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) {
_sizeChangeWindow : function(shellwm, actor, whichChange, oldFrameRect, oldBufferRect) {
shellwm.completed_size_change(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.DOT);
item.setOrnament(PopupMenu.Ornament.CHECK);
if (window.get_maximized() == Meta.MaximizeFlags.BOTH ||
type == Meta.WindowType.DOCK ||
type == Meta.WindowType.DESKTOP ||
@ -93,7 +93,7 @@ const WindowMenu = new Lang.Class({
window.stick();
}));
if (isSticky)
item.setOrnament(PopupMenu.Ornament.DOT);
item.setOrnament(PopupMenu.Ornament.CHECK);
if (window.is_always_on_all_workspaces())
item.setSensitive(false);
@ -101,13 +101,22 @@ const WindowMenu = new Lang.Class({
if (!isSticky) {
let workspace = window.get_workspace();
let idx = workspace.index();
if (idx > 0) {
if (workspace != workspace.get_neighbor(Meta.MotionDirection.LEFT)) {
this.addAction(_("Move to Workspace Left"), Lang.bind(this, function(event) {
window.change_workspace(workspace.get_neighbor(Meta.MotionDirection.LEFT));
}));
}
if (workspace != workspace.get_neighbor(Meta.MotionDirection.RIGHT)) {
this.addAction(_("Move to Workspace Right"), Lang.bind(this, function(event) {
window.change_workspace(workspace.get_neighbor(Meta.MotionDirection.RIGHT));
}));
}
if (workspace != workspace.get_neighbor(Meta.MotionDirection.UP)) {
this.addAction(_("Move to Workspace Up"), Lang.bind(this, function(event) {
window.change_workspace(workspace.get_neighbor(Meta.MotionDirection.UP));
}));
}
if (idx < nWorkspaces) {
if (workspace != workspace.get_neighbor(Meta.MotionDirection.DOWN)) {
this.addAction(_("Move to Workspace Down"), Lang.bind(this, function(event) {
window.change_workspace(workspace.get_neighbor(Meta.MotionDirection.DOWN));
}));

297
po/an.po
View File

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

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

453
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

620
po/de.po

File diff suppressed because it is too large Load Diff

521
po/el.po

File diff suppressed because it is too large Load Diff

5560
po/es.po

File diff suppressed because it is too large Load Diff

1650
po/fa.po

File diff suppressed because it is too large Load Diff

631
po/fi.po

File diff suppressed because it is too large Load Diff

1105
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

1669
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

495
po/he.po

File diff suppressed because it is too large Load Diff

491
po/hu.po

File diff suppressed because it is too large Load Diff

704
po/id.po

File diff suppressed because it is too large Load Diff

518
po/it.po

File diff suppressed because it is too large Load Diff

503
po/ja.po

File diff suppressed because it is too large Load Diff

517
po/kk.po

File diff suppressed because it is too large Load Diff

507
po/ko.po

File diff suppressed because it is too large Load Diff

541
po/lt.po

File diff suppressed because it is too large Load Diff

610
po/lv.po

File diff suppressed because it is too large Load Diff

424
po/nb.po
View File

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

509
po/nl.po

File diff suppressed because it is too large Load Diff

556
po/pa.po

File diff suppressed because it is too large Load Diff

534
po/pl.po

File diff suppressed because it is too large Load Diff

837
po/pt.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

511
po/ru.po

File diff suppressed because it is too large Load Diff

459
po/sk.po
View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-05-13 08:05+0000\n"
"PO-Revision-Date: 2015-05-13 10:52+0100\n"
"POT-Creation-Date: 2015-08-21 08:12+0000\n"
"PO-Revision-Date: 2015-08-21 10:43+0200\n"
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
"Language: sk\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-DamnedLies-Scope: partial\n"
"X-Generator: Poedit 1.7.5\n"
"X-Generator: Poedit 1.8.4\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
@ -120,135 +120,136 @@ msgid "History for command (Alt-F2) dialog"
msgstr "História dialógového okna príkazov (Alt-F2)"
# * https://live.gnome.org/GnomeShell/LookingGlass
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
#. Translators: looking glass is a debugger and inspector tool, see https://live.gnome.org/GnomeShell/LookingGlass
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "History for the looking glass dialog"
msgstr "História dialógového okna integrovaného odlaďovača"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "Always show the 'Log out' menu item in the user menu."
msgstr "Vždy zobraziť položku „Odhlásiť sa“ v ponuke používateľa."
# description
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "This key overrides the automatic hiding of the 'Log out' menu item in single-user, single-session situations."
msgstr "Tento kľúč preváži automatické skrývanie položky „Odhlásiť sa“ v situáciách s jedným používateľom alebo jednou reláciou."
# summary
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Whether to remember password for mounting encrypted or remote filesystems"
msgstr "Určiť, či bude zapamätané heslo pre pripojenie zašifrovaných alebo prenosných súborových systémov"
# description
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "The shell will request a password when an encrypted device or a remote filesystem is mounted. If the password can be saved for future use a 'Remember Password' checkbox will be present. This key sets the default state of the checkbox."
msgstr "Shell bude po pripojení zašifrovaného alebo prenosného súborového systému požadovať heslo. Ak bude možné toto heslo uložiť pre neskoršie použitie, zobrazí sa zaškrtávacie pole „Zapamätať heslo“. Tento kľúč nastaví predvolený stav zaškrtávacieho poľa."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Show the week date in the calendar"
msgstr "Zobraziť čísla týždňov v kalendári"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "If true, display the ISO week date in the calendar."
msgstr "Ak je true, zobrazí v kalendári poradie dní v týždni podľa štandardu ISO."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to open the application menu"
msgstr "Klávesová skratka na otvorenie ponuky aplikácií"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Keybinding to open the application menu."
msgstr "Klávesová skratka na otvorenie ponuky aplikácií."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“ v prehľade aktivít."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to open the overview"
msgstr "Klávesová skratka na otvorenie prehľadu"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "Keybinding to open the Activities Overview."
msgstr "Klávesová skratka na otvorenie prehľadu aktivít."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
msgid "Keybinding to toggle the visibility of the notification list"
msgstr "Klávesová skratka na prepnutie viditeľnosti zoznamu s oznámeniami"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
msgid "Keybinding to toggle the visibility of the notification list."
msgstr "Klávesová skratka na prepnutie viditeľnosti zoznamu s oznámeniami."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "Keybinding to focus the active notification"
msgstr "Klávesová skratka na zameranie aktívnych oznámení"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid "Keybinding to focus the active notification."
msgstr "Klávesová skratka, s ktorou sa zamerá na aktívne oznámenia."
# summary
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid "Keybinding that pauses and resumes all running tweens, for debugging purposes"
msgstr "Klávesová skratka, ktorá pozastaví a znovu spustí všetky animácie(tween), pre ladiace účely"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
msgid "Which keyboard to use"
msgstr "Ktorú klávesnicu používať"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid "The type of keyboard to use."
msgstr "Typ klávesnice, ktorá sa má používať."
# summary
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
msgid "Limit switcher to current workspace."
msgstr "Obmedziť prepínač na aktuálny pracovný priestor."
# desc
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "If true, only applications that have windows on the current workspace are shown in the switcher. Otherwise, all applications are included."
msgstr "Ak je true, iba aplikácie, ktoré majú okná na aktuálnom pracovnom priestore budú zobrazené v prepínači. Inak budú zahrnuté všetky aplikácie."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid "The application icon mode."
msgstr "Režim ikonizácie aplikácií."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid "Configures how the windows are shown in the switcher. Valid possibilities are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' (shows only the application icon) or 'both'."
msgstr "Konfiguruje, ako sa majú zobraziť okná v prepínači. Platné možnosti sú „thumbnail-only“ (zobrazí miniatúru okna), „app-icon-only“ (zobrazí iba ikonu aplikácie) alebo „both“ (zobrazí oboje)."
# desc
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid "If true, only windows from the current workspace are shown in the switcher. Otherwise, all windows are included."
msgstr "Ak je true, iba okná z aktuálneho pracovného priestoru budú zobrazené v prepínači. Inak budú zahrnuté všetky okná."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Attach modal dialog to the parent window"
msgstr "Pripojiť modálne dialógové okno k rodičovskému oknu"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
msgid "This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr "Tento kľúč preváži kľúč v org.gnome.mutter po spustení Shellu prostredia GNOME."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "Povoliť natiahnutie k okraju pri pustení okien na okrajoch obrazovky"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
msgid "Workspaces are managed dynamically"
msgstr "Pracovné priestory sú spravované dynamicky"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
msgid "Workspaces only on primary monitor"
msgstr "Pracovné priestory sú iba na primárnom monitore"
# summary
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Oneskoriť pohyb zamerania v režime myši, až kým sa ukazovateľ nezastaví"
@ -265,11 +266,11 @@ msgstr "Vyskytla sa chyba pri načítavaní dialógového okna nastavení pre %s
msgid "GNOME Shell Extensions"
msgstr "Rozšírenia pre Shell prostredia GNOME"
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145 ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 ../js/ui/status/network.js:916
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145 ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452 ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 ../js/ui/status/network.js:916
msgid "Cancel"
msgstr "Zrušiť"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215 ../js/gdm/authPrompt.js:435
msgid "Next"
msgstr "Ďalej"
@ -292,16 +293,16 @@ msgstr "Vybrať reláciu"
msgid "Not listed?"
msgstr "Nie ste v zozname?"
#: ../js/gdm/loginDialog.js:840
#: ../js/gdm/loginDialog.js:847
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(napr., používateľ alebo %s)"
#: ../js/gdm/loginDialog.js:845 ../js/ui/components/networkAgent.js:271 ../js/ui/components/networkAgent.js:289
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271 ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Používateľské meno: "
#: ../js/gdm/loginDialog.js:1173
#: ../js/gdm/loginDialog.js:1181
msgid "Login Window"
msgstr "Prihlasovacie okno"
@ -400,31 +401,31 @@ msgstr "%d. %B %Y, %l:%M %p"
msgid "Web Authentication Redirect"
msgstr "Presmerovanie webového overenia totožnosti"
#: ../js/ui/appDisplay.js:788
#: ../js/ui/appDisplay.js:794
msgid "Frequently used applications will appear here"
msgstr "Tu sa objavia často používané aplikácie"
#: ../js/ui/appDisplay.js:908
#: ../js/ui/appDisplay.js:914
msgid "Frequent"
msgstr "Často používané"
#: ../js/ui/appDisplay.js:915
#: ../js/ui/appDisplay.js:921
msgid "All"
msgstr "Všetky"
#: ../js/ui/appDisplay.js:1844
#: ../js/ui/appDisplay.js:1853
msgid "New Window"
msgstr "Nové okno"
#: ../js/ui/appDisplay.js:1872 ../js/ui/dash.js:289
#: ../js/ui/appDisplay.js:1881 ../js/ui/dash.js:289
msgid "Remove from Favorites"
msgstr "Odstrániť z obľúbených"
#: ../js/ui/appDisplay.js:1878
#: ../js/ui/appDisplay.js:1887
msgid "Add to Favorites"
msgstr "Pridať do obľúbených"
#: ../js/ui/appDisplay.js:1888
#: ../js/ui/appDisplay.js:1897
msgid "Show Details"
msgstr "Zobraziť podrobnosti"
@ -446,12 +447,12 @@ msgstr "Zmeniť pozadie…"
msgid "Display Settings"
msgstr "Nastavenia displeja"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650 ../js/ui/status/system.js:334
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "Nastavenia"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#: ../js/ui/calendar.js:53
#: ../js/ui/calendar.js:55
msgctxt "calendar-no-work"
msgid "06"
msgstr "06"
@ -464,94 +465,94 @@ msgstr "06"
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#: ../js/ui/calendar.js:82
#: ../js/ui/calendar.js:84
msgctxt "grid sunday"
msgid "S"
msgstr "N"
#. Translators: Calendar grid abbreviation for Monday */
#: ../js/ui/calendar.js:84
#: ../js/ui/calendar.js:86
msgctxt "grid monday"
msgid "M"
msgstr "P"
#. Translators: Calendar grid abbreviation for Tuesday */
#: ../js/ui/calendar.js:86
#: ../js/ui/calendar.js:88
msgctxt "grid tuesday"
msgid "T"
msgstr "U"
#. Translators: Calendar grid abbreviation for Wednesday */
#: ../js/ui/calendar.js:88
#: ../js/ui/calendar.js:90
msgctxt "grid wednesday"
msgid "W"
msgstr "S"
#. Translators: Calendar grid abbreviation for Thursday */
#: ../js/ui/calendar.js:90
#: ../js/ui/calendar.js:92
msgctxt "grid thursday"
msgid "T"
msgstr "Š"
#. Translators: Calendar grid abbreviation for Friday */
#: ../js/ui/calendar.js:92
#: ../js/ui/calendar.js:94
msgctxt "grid friday"
msgid "F"
msgstr "P"
#. Translators: Calendar grid abbreviation for Saturday */
#: ../js/ui/calendar.js:94
#: ../js/ui/calendar.js:96
msgctxt "grid saturday"
msgid "S"
msgstr "S"
#: ../js/ui/calendar.js:564
#: ../js/ui/calendar.js:566
msgid "Previous month"
msgstr "Predchádzajúci mesiac"
#: ../js/ui/calendar.js:574
#: ../js/ui/calendar.js:576
msgid "Next month"
msgstr "Nasledujúci mesiac"
#: ../js/ui/calendar.js:781
#: ../js/ui/calendar.js:783
msgid "Week %V"
msgstr "%V. týždeň"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#. */
#: ../js/ui/calendar.js:1187
#: ../js/ui/calendar.js:1188
msgctxt "event list time"
msgid "All Day"
msgstr "Celý deň"
#: ../js/ui/calendar.js:1289
#: ../js/ui/calendar.js:1291
msgid "Clear section"
msgstr "Vymazať úsek"
#: ../js/ui/calendar.js:1516
#: ../js/ui/calendar.js:1518
msgid "Events"
msgstr "Udalosti"
#: ../js/ui/calendar.js:1525
#: ../js/ui/calendar.js:1527
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %e. %B"
#: ../js/ui/calendar.js:1529
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %e. %B %Y"
#: ../js/ui/calendar.js:1614
#: ../js/ui/calendar.js:1616
msgid "Notifications"
msgstr "Oznámenia"
#: ../js/ui/calendar.js:1765
#: ../js/ui/calendar.js:1767
msgid "No Notifications"
msgstr "Žiadne oznámenia"
#: ../js/ui/calendar.js:1768
#: ../js/ui/calendar.js:1770
msgid "No Events"
msgstr "Žiadne udalosti"
@ -569,15 +570,15 @@ msgstr "Externá jednotka bola odpojená"
msgid "Open with %s"
msgstr "Otvoriť pomocou programu %s"
#: ../js/ui/components/keyring.js:94 ../js/ui/components/polkitAgent.js:285
#: ../js/ui/components/keyring.js:120 ../js/ui/components/polkitAgent.js:315
msgid "Password:"
msgstr "Heslo:"
#: ../js/ui/components/keyring.js:120
#: ../js/ui/components/keyring.js:153
msgid "Type again:"
msgstr "Zadajte znovu:"
#: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277 ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
#: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:269 ../js/ui/status/network.js:352 ../js/ui/status/network.js:919
msgid "Connect"
msgstr "Pripojiť"
@ -643,20 +644,20 @@ msgstr "Heslo k mobilnej širokopásmovej sieti"
msgid "A password is required to connect to “%s”."
msgstr "Na pripojenie k „%s“ sa požaduje heslo."
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1657
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1658
msgid "Network Manager"
msgstr "Správca siete"
#: ../js/ui/components/polkitAgent.js:54
#: ../js/ui/components/polkitAgent.js:60
msgid "Authentication Required"
msgstr "Požaduje sa overenie totožnosti"
# PŠ: ináč toto je riadna hlúposť, keďže sa pýta heslo používateľa "root"
#: ../js/ui/components/polkitAgent.js:96
#: ../js/ui/components/polkitAgent.js:102
msgid "Administrator"
msgstr "Správca"
#: ../js/ui/components/polkitAgent.js:175
#: ../js/ui/components/polkitAgent.js:182
msgid "Authenticate"
msgstr "Overiť totožnosť"
@ -664,13 +665,13 @@ msgstr "Overiť totožnosť"
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance. */
#: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again."
msgstr "Prepáčte, ale nezabralo to. Skúste to, prosím, 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:759
#, javascript-format
msgid "%s is now known as %s"
msgstr "Kontakt %s odteraz vystupuje ako %s"
@ -850,7 +851,7 @@ msgstr "Inštalovať"
msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Stiahnuť a nainštalovať „%s“ z extensions.gnome.org?"
#: ../js/ui/keyboard.js:718 ../js/ui/status/keyboard.js:713
#: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:713
msgid "Keyboard"
msgstr "Klávesnica"
@ -881,15 +882,13 @@ msgstr "Skryť chyby"
msgid "Show Errors"
msgstr "Zobraziť chyby"
#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ../js/ui/status/location.js:176
#: ../js/ui/lookingGlass.js:716
msgid "Enabled"
msgstr "Povolené"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled"
msgstr "Zakázané"
@ -914,7 +913,7 @@ msgstr "Zobraziť zdroj"
msgid "Web Page"
msgstr "Webová stránka"
#: ../js/ui/messageTray.js:1504
#: ../js/ui/messageTray.js:1486
msgid "System Information"
msgstr "Informácie o systéme"
@ -922,7 +921,7 @@ msgstr "Informácie o systéme"
msgid "Undo"
msgstr "Vrátiť"
#: ../js/ui/overview.js:124
#: ../js/ui/overview.js:117
msgid "Overview"
msgstr "Prehľad"
@ -931,7 +930,7 @@ msgstr "Prehľad"
#. in the search entry when no search is
#. active; it should not exceed ~30
#. characters. */
#: ../js/ui/overview.js:246
#: ../js/ui/overview.js:244
msgid "Type to search…"
msgstr "Zadajte text na vyhľadanie…"
@ -945,7 +944,7 @@ msgstr "Ukončiť"
msgid "Activities"
msgstr "Aktivity"
#: ../js/ui/panel.js:755
#: ../js/ui/panel.js:754
msgid "Top Bar"
msgstr "Horná lišta"
@ -957,7 +956,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command"
msgstr "Zadajte príkaz"
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:153
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
msgid "Close"
msgstr "Zavrieť"
@ -990,19 +989,19 @@ msgstr[0] "%d nové oznámenie"
msgstr[1] "%d nové oznámenia"
msgstr[2] "%d nových oznámení"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:342
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
msgid "Lock"
msgstr "Uzamknúť"
#: ../js/ui/screenShield.js:668
#: ../js/ui/screenShield.js:684
msgid "GNOME needs to lock the screen"
msgstr "Prostredie GNOME vyžaduje uzamknutie obrazovky"
#: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "Nepodarilo sa uzamknúť obrazovku"
#: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
msgid "Lock was blocked by an application"
msgstr "Uzamknutie bolo zablokované aplikáciou"
@ -1085,11 +1084,7 @@ msgstr "Vysoký kontrast"
msgid "Large Text"
msgstr "Veľký text"
#: ../js/ui/status/bluetooth.js:49
msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178 ../js/ui/status/network.js:360 ../js/ui/status/network.js:1282 ../js/ui/status/network.js:1393 ../js/ui/status/rfkill.js:91 ../js/ui/status/rfkill.js:118
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178 ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279 ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90 ../js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Vypnúť"
@ -1097,17 +1092,18 @@ msgstr "Vypnúť"
msgid "Bluetooth Settings"
msgstr "Nastavenia Bluetooth"
#: ../js/ui/status/bluetooth.js:104
#. Translators: this is the number of connected bluetooth devices */
#: ../js/ui/status/bluetooth.js:105
#, javascript-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d pripojené zariadenie"
msgstr[1] "%d pripojené zariadenia"
msgstr[2] "%d pripojených zariadení"
msgid "%d Connected"
msgid_plural "%d Connected"
msgstr[0] "%d pripojené"
msgstr[1] "%d pripojené"
msgstr[2] "%d pripojených"
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1310
msgid "Not Connected"
msgstr "Nepripojené"
#: ../js/ui/status/bluetooth.js:107
msgid "Not In Use"
msgstr "Nepoužíva sa"
#: ../js/ui/status/brightness.js:44
msgid "Brightness"
@ -1118,11 +1114,11 @@ msgstr "Jas"
msgid "Show Keyboard Layout"
msgstr "Zobraziť rozloženie klávesnice"
#: ../js/ui/status/location.js:65
msgid "Location"
msgstr "Poloha"
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
msgid "Location Enabled"
msgstr "Poloha povolená"
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:177
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
msgid "Disable"
msgstr "Zakázať"
@ -1131,10 +1127,14 @@ msgid "Privacy Settings"
msgstr "Nastavenia súkromia"
#: ../js/ui/status/location.js:176
msgid "In Use"
msgstr "Používa sa"
msgid "Location In Use"
msgstr "Poloha sa používa"
#: ../js/ui/status/location.js:180
msgid "Location Disabled"
msgstr "Poloha zakázaná"
#: ../js/ui/status/location.js:181
msgid "Enable"
msgstr "Povoliť"
@ -1143,61 +1143,84 @@ msgstr "Povoliť"
msgid "<unknown>"
msgstr "<neznáme>"
# DK: pripojenie, zariadenie
#: ../js/ui/status/network.js:457 ../js/ui/status/network.js:1308 ../js/ui/status/network.js:1512
msgid "Off"
msgstr "Vypnuté"
#. Translators: %s is a network identifier */
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
#, javascript-format
msgid "%s Off"
msgstr "%s vypnuté"
#: ../js/ui/status/network.js:459
msgid "Connected"
msgstr "Pripojené"
#. Translators: %s is a network identifier */
#: ../js/ui/status/network.js:454
#, javascript-format
msgid "%s Connected"
msgstr "%s pripojené"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:463
msgid "Unmanaged"
msgstr "Nespravované"
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier */
#: ../js/ui/status/network.js:459
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s nespravované"
#: ../js/ui/status/network.js:465
msgid "Disconnecting"
msgstr "Odpája sa"
#. Translators: %s is a network identifier */
#: ../js/ui/status/network.js:462
#, javascript-format
msgid "%s Disconnecting"
msgstr "Odpája sa %s"
#: ../js/ui/status/network.js:471 ../js/ui/status/network.js:1302
msgid "Connecting"
msgstr "Pripája sa"
#. Translators: %s is a network identifier */
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
#, javascript-format
msgid "%s Connecting"
msgstr "Pripája sa %s"
#. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:474
msgid "Authentication required"
msgstr "Požaduje sa overenie totožnosti"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier */
#: ../js/ui/status/network.js:472
#, javascript-format
msgid "%s Requires Authentication"
msgstr "%s vyžaduje overenie totožnosti"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */
#: ../js/ui/status/network.js:482
msgid "Firmware missing"
msgstr "Chýba firmvér"
#. module, which is missing; %s is a network identifier */
#: ../js/ui/status/network.js:480
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "Chýba firmvér pre %s"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:486
msgid "Unavailable"
msgstr "Nedostupné"
#. is disabled by rfkill, or it has no coverage; %s is a network identifier */
#: ../js/ui/status/network.js:484
#, javascript-format
msgid "%s Unavailable"
msgstr "%s nedostupné"
#: ../js/ui/status/network.js:488 ../js/ui/status/network.js:1696
msgid "Connection failed"
msgstr "Pripojenie zlyhalo"
#. Translators: %s is a network identifier */
#: ../js/ui/status/network.js:487
#, javascript-format
msgid "%s Connection Failed"
msgstr "Pripojenie %s zlyhalo"
#: ../js/ui/status/network.js:504
#: ../js/ui/status/network.js:503
msgid "Wired Settings"
msgstr "Nastavenia drôtovej siete"
#: ../js/ui/status/network.js:546 ../js/ui/status/network.js:624
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624
msgid "Mobile Broadband Settings"
msgstr "Nastavenia mobilnej širokopásmovej siete"
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1306
msgid "Hardware Disabled"
msgstr "Hardvér zakázaný"
#. Translators: %s is a network identifier */
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "Hardvér %s zakázaný"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier */
#: ../js/ui/status/network.js:592
#, javascript-format
msgid "%s Disabled"
msgstr "%s zakázané"
#: ../js/ui/status/network.js:632
msgid "Use as Internet connection"
@ -1239,53 +1262,69 @@ msgstr "Vyberte sieť"
msgid "No Networks"
msgstr "Žiadne siete"
#: ../js/ui/status/network.js:904 ../js/ui/status/rfkill.js:116
#: ../js/ui/status/network.js:904 ../js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Na vypnutie použite hardvérový prepínač"
# item menu
#: ../js/ui/status/network.js:1174
#: ../js/ui/status/network.js:1171
msgid "Select Network"
msgstr "Vybrať sieť"
#: ../js/ui/status/network.js:1180
#: ../js/ui/status/network.js:1177
msgid "Wi-Fi Settings"
msgstr "Nastavenia siete Wi-Fi"
#: ../js/ui/status/network.js:1282
#: ../js/ui/status/network.js:1279
msgid "Turn On"
msgstr "Zapnúť"
#: ../js/ui/status/network.js:1299
msgid "Hotspot Active"
msgstr "Hotspot aktívny"
#. Translators: %s is a network identifier */
#: ../js/ui/status/network.js:1296
#, javascript-format
msgid "%s Hotspot Active"
msgstr "Hotspot %s aktívny"
#: ../js/ui/status/network.js:1410
#. Translators: %s is a network identifier */
#: ../js/ui/status/network.js:1311
#, javascript-format
msgid "%s Not Connected"
msgstr "%s nepripojené"
#: ../js/ui/status/network.js:1411
msgid "connecting..."
msgstr "pripája sa…"
#. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:1413
#: ../js/ui/status/network.js:1414
msgid "authentication required"
msgstr "požaduje sa overenie totožnosti"
#: ../js/ui/status/network.js:1415
#: ../js/ui/status/network.js:1416
msgid "connection failed"
msgstr "pripojenie zlyhalo"
#: ../js/ui/status/network.js:1481 ../js/ui/status/rfkill.js:94
#: ../js/ui/status/network.js:1482 ../js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Nastavenia siete"
#: ../js/ui/status/network.js:1483
#: ../js/ui/status/network.js:1484
msgid "VPN Settings"
msgstr "Nastavenia VPN"
#: ../js/ui/status/network.js:1502
#: ../js/ui/status/network.js:1503
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1513
msgid "VPN Off"
msgstr "Pripojenie VPN vypnuté"
#: ../js/ui/status/network.js:1697
msgid "Connection failed"
msgstr "Pripojenie zlyhalo"
#: ../js/ui/status/network.js:1698
msgid "Activation of network connection failed"
msgstr "Aktivácia pripojenia k sieti zlyhala"
@ -1311,41 +1350,32 @@ msgstr "%d:%02d Zostáva (%d%%)"
msgid "%d%02d Until Full (%d%%)"
msgstr "%d:%02d Do plného nabitia (%d%%)"
#: ../js/ui/status/power.js:119
msgid "UPS"
msgstr "Záložný zdroj UPS"
#: ../js/ui/status/power.js:121
msgid "Battery"
msgstr "Batéria"
#: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode"
msgstr "Režim v lietadle"
msgid "Airplane Mode On"
msgstr "Režim v lietadle zapnutý"
# režim v lietadle
#: ../js/ui/status/rfkill.js:90
msgid "On"
msgstr "Zapnutý"
#: ../js/ui/status/system.js:314
#: ../js/ui/status/system.js:343
msgid "Switch User"
msgstr "Prepnúť používateľa"
#: ../js/ui/status/system.js:319
#: ../js/ui/status/system.js:348
msgid "Log Out"
msgstr "Odhlásiť sa"
#: ../js/ui/status/system.js:353
msgid "Account Settings"
msgstr "Nastavenia účtu"
# action button
#: ../js/ui/status/system.js:338
#: ../js/ui/status/system.js:370
msgid "Orientation Lock"
msgstr "Uzamknutie orientácie"
#: ../js/ui/status/system.js:346
#: ../js/ui/status/system.js:378
msgid "Suspend"
msgstr "Uspať"
#: ../js/ui/status/system.js:349
#: ../js/ui/status/system.js:381
msgid "Power Off"
msgstr "Vypnúť"
@ -1379,27 +1409,27 @@ msgstr "Hľadať"
# %s je totiž titulok okna
# informacna bublina
#: ../js/ui/windowAttentionHandler.js:19
#: ../js/ui/windowAttentionHandler.js:20
#, javascript-format
msgid "“%s” is ready"
msgstr "Program „%s“ je pripravený"
#: ../js/ui/windowManager.js:65
#: ../js/ui/windowManager.js:63
msgid "Do you want to keep these display settings?"
msgstr "Chcete ponechať tieto nastavenia displeja?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#. */
#: ../js/ui/windowManager.js:84
#: ../js/ui/windowManager.js:82
msgid "Revert Settings"
msgstr "Vrátiť nastavenia"
#: ../js/ui/windowManager.js:88
#: ../js/ui/windowManager.js:85
msgid "Keep Changes"
msgstr "Uchovať zmeny"
#: ../js/ui/windowManager.js:107
#: ../js/ui/windowManager.js:103
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@ -1409,7 +1439,7 @@ msgstr[2] "Zmeny nastavení budú vrátené za %d sekúnd"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#: ../js/ui/windowManager.js:613
#: ../js/ui/windowManager.js:658
#, javascript-format
msgid "%d x %d"
msgstr "%d x %d"
@ -1444,29 +1474,37 @@ msgstr "Vždy navrchu"
#: ../js/ui/windowMenu.js:89
msgid "Always on Visible Workspace"
msgstr "Vždy vo viditeľnom priestore"
msgstr "Vždy vo viditeľnom pracovnom priestore"
#: ../js/ui/windowMenu.js:106
#: ../js/ui/windowMenu.js:105
msgid "Move to Workspace Left"
msgstr "Presunúť do ľavého pracovného priestoru"
#: ../js/ui/windowMenu.js:110
msgid "Move to Workspace Right"
msgstr "Presunúť do pravého pracovného priestoru"
#: ../js/ui/windowMenu.js:115
msgid "Move to Workspace Up"
msgstr "Presunúť do vyššieho priestoru"
msgstr "Presunúť do vyššieho pracovného priestoru"
#: ../js/ui/windowMenu.js:111
#: ../js/ui/windowMenu.js:120
msgid "Move to Workspace Down"
msgstr "Presunúť do nižšieho priestoru"
msgstr "Presunúť do nižšieho pracovného priestoru"
#: ../js/ui/windowMenu.js:127
#: ../js/ui/windowMenu.js:136
msgid "Move to Monitor Up"
msgstr "Presunúť na monitor vyššie"
#: ../js/ui/windowMenu.js:133
#: ../js/ui/windowMenu.js:142
msgid "Move to Monitor Down"
msgstr "Presunúť na monitor nižšie"
#: ../js/ui/windowMenu.js:139
#: ../js/ui/windowMenu.js:148
msgid "Move to Monitor Left"
msgstr "Presunúť na monitor vľavo"
#: ../js/ui/windowMenu.js:145
#: ../js/ui/windowMenu.js:154
msgid "Move to Monitor Right"
msgstr "Presunúť na monitor vpravo"
@ -1524,11 +1562,11 @@ msgstr "Neznámy"
msgid "Failed to launch “%s”"
msgstr "Zlyhalo spustenie „%s“"
#: ../src/shell-keyring-prompt.c:714
#: ../src/shell-keyring-prompt.c:742
msgid "Passwords do not match."
msgstr "Heslá sa nezhodujú."
#: ../src/shell-keyring-prompt.c:722
#: ../src/shell-keyring-prompt.c:750
msgid "Password cannot be blank"
msgstr "Heslo nemôže byť prázdne"
@ -1537,6 +1575,35 @@ msgstr "Heslo nemôže byť prázdne"
msgid "Authentication dialog was dismissed by the user"
msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
#~ msgid "Bluetooth"
#~ msgstr "Bluetooth"
#~ msgid "%d Connected Device"
#~ msgid_plural "%d Connected Devices"
#~ msgstr[0] "%d pripojené zariadenie"
#~ msgstr[1] "%d pripojené zariadenia"
#~ msgstr[2] "%d pripojených zariadení"
# DK: pripojenie, zariadenie
#~ msgid "Off"
#~ msgstr "Vypnuté"
#~ msgid "Authentication required"
#~ msgstr "Požaduje sa overenie totožnosti"
#~ msgid "UPS"
#~ msgstr "Záložný zdroj UPS"
#~ msgid "Battery"
#~ msgstr "Batéria"
#~ msgid "Airplane Mode"
#~ msgstr "Režim v lietadle"
# režim v lietadle
#~ msgid "On"
#~ msgstr "Zapnutý"
#~ msgctxt "event list time"
#~ msgid "%H%M"
#~ msgstr "%H%M"

View File

@ -9,8 +9,8 @@ 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-05-10 08:30+0000\n"
"PO-Revision-Date: 2015-05-10 20:54+0100\n"
"POT-Creation-Date: 2015-07-08 08:07+0000\n"
"PO-Revision-Date: 2015-07-08 15:46+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: sl\n"
@ -340,17 +340,17 @@ msgstr "Izbor seje"
msgid "Not listed?"
msgstr "Ali je ni na seznamu?"
#: ../js/gdm/loginDialog.js:840
#: ../js/gdm/loginDialog.js:847
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(na primer, uporabnika ali %s)"
#: ../js/gdm/loginDialog.js:845 ../js/ui/components/networkAgent.js:271
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Uporabniško ime: "
#: ../js/gdm/loginDialog.js:1173
#: ../js/gdm/loginDialog.js:1180
msgid "Login Window"
msgstr "Prijavno okno"
@ -443,31 +443,31 @@ msgstr "%B %d %Y, %l%M %p"
msgid "Web Authentication Redirect"
msgstr "Preusmeritev spletnega overjanja"
#: ../js/ui/appDisplay.js:788
#: ../js/ui/appDisplay.js:789
msgid "Frequently used applications will appear here"
msgstr "Pogosto uporabljeni programi bodo prikazani tu"
#: ../js/ui/appDisplay.js:908
#: ../js/ui/appDisplay.js:909
msgid "Frequent"
msgstr "Pogosto"
#: ../js/ui/appDisplay.js:915
#: ../js/ui/appDisplay.js:916
msgid "All"
msgstr "Vse"
#: ../js/ui/appDisplay.js:1844
#: ../js/ui/appDisplay.js:1845
msgid "New Window"
msgstr "Novo okno"
#: ../js/ui/appDisplay.js:1872 ../js/ui/dash.js:289
#: ../js/ui/appDisplay.js:1873 ../js/ui/dash.js:289
msgid "Remove from Favorites"
msgstr "Odstrani iz priljubljenih"
#: ../js/ui/appDisplay.js:1878
#: ../js/ui/appDisplay.js:1879
msgid "Add to Favorites"
msgstr "Dodaj med priljubljene"
#: ../js/ui/appDisplay.js:1888
#: ../js/ui/appDisplay.js:1889
msgid "Show Details"
msgstr "Pokaži besedilo"
@ -490,7 +490,7 @@ msgid "Display Settings"
msgstr "Nastavitve zaslona"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:334
#: ../js/ui/status/system.js:357
msgid "Settings"
msgstr "Nastavitve"
@ -920,7 +920,7 @@ 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:718 ../js/ui/status/keyboard.js:713
#: ../js/ui/keyboard.js:747 ../js/ui/status/keyboard.js:713
msgid "Keyboard"
msgstr "Tipkovnica"
@ -985,7 +985,7 @@ msgstr "Poglej vir"
msgid "Web Page"
msgstr "Spletna stran"
#: ../js/ui/messageTray.js:1504
#: ../js/ui/messageTray.js:1486
msgid "System Information"
msgstr "Podrobnosti sistema"
@ -1027,7 +1027,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command"
msgstr "Vnos ukaza"
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:153
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
msgid "Close"
msgstr "Zapri"
@ -1059,19 +1059,19 @@ 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:342
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:365
msgid "Lock"
msgstr "Zakleni"
#: ../js/ui/screenShield.js:668
#: ../js/ui/screenShield.js:684
msgid "GNOME needs to lock the screen"
msgstr "Zakleniti je treba zaslon"
#: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "Zaklep ni mogoč"
#: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
msgid "Lock was blocked by an application"
msgstr "Zaklep je preprečil program"
@ -1394,23 +1394,23 @@ msgstr "Način letala"
msgid "On"
msgstr "Povezano"
#: ../js/ui/status/system.js:314
#: ../js/ui/status/system.js:337
msgid "Switch User"
msgstr "Preklopi uporabnika"
#: ../js/ui/status/system.js:319
#: ../js/ui/status/system.js:342
msgid "Log Out"
msgstr "Odjava"
#: ../js/ui/status/system.js:338
#: ../js/ui/status/system.js:361
msgid "Orientation Lock"
msgstr "Zaklep položaja"
#: ../js/ui/status/system.js:346
#: ../js/ui/status/system.js:369
msgid "Suspend"
msgstr "Zaustavi"
#: ../js/ui/status/system.js:349
#: ../js/ui/status/system.js:372
msgid "Power Off"
msgstr "Izklop"
@ -1442,27 +1442,27 @@ msgstr "Programi"
msgid "Search"
msgstr "Poišči"
#: ../js/ui/windowAttentionHandler.js:19
#: ../js/ui/windowAttentionHandler.js:20
#, javascript-format
msgid "“%s” is ready"
msgstr "“%s” storitev je pripravljena"
#: ../js/ui/windowManager.js:65
#: ../js/ui/windowManager.js:63
msgid "Do you want to keep these display settings?"
msgstr "Ali želite ohraniti te nastavitve zaslona?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#. */
#: ../js/ui/windowManager.js:84
#: ../js/ui/windowManager.js:82
msgid "Revert Settings"
msgstr "Povrni nastavitve"
#: ../js/ui/windowManager.js:88
#: ../js/ui/windowManager.js:86
msgid "Keep Changes"
msgstr "Sledi spremembam"
#: ../js/ui/windowManager.js:107
#: ../js/ui/windowManager.js:105
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@ -1473,7 +1473,7 @@ msgstr[3] "Spremembe nastavitev bodo povrnjene v %d sekundah."
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#: ../js/ui/windowManager.js:613
#: ../js/ui/windowManager.js:604
#, javascript-format
msgid "%d x %d"
msgstr "%d x %d"
@ -1510,27 +1510,35 @@ msgstr "Vedno na vrhu"
msgid "Always on Visible Workspace"
msgstr "Vedno na dejavni delovni površini"
#: ../js/ui/windowMenu.js:106
#: ../js/ui/windowMenu.js:105
msgid "Move to Workspace Left"
msgstr "Premakni na delovno površino na levi"
#: ../js/ui/windowMenu.js:110
msgid "Move to Workspace Right"
msgstr "Premakni na delovno površino na desni"
#: ../js/ui/windowMenu.js:115
msgid "Move to Workspace Up"
msgstr "Premakni na zgornjo delovno površino"
#: ../js/ui/windowMenu.js:111
#: ../js/ui/windowMenu.js:120
msgid "Move to Workspace Down"
msgstr "Premakni na spodnjo delovno površino"
#: ../js/ui/windowMenu.js:127
#: ../js/ui/windowMenu.js:136
msgid "Move to Monitor Up"
msgstr "\t"
#: ../js/ui/windowMenu.js:133
#: ../js/ui/windowMenu.js:142
msgid "Move to Monitor Down"
msgstr "Premakni na zaslon spodaj"
#: ../js/ui/windowMenu.js:139
#: ../js/ui/windowMenu.js:148
msgid "Move to Monitor Left"
msgstr "Premakni na zaslon levo"
#: ../js/ui/windowMenu.js:145
#: ../js/ui/windowMenu.js:154
msgid "Move to Monitor Right"
msgstr "Premakni na zaslon desno"
@ -1590,11 +1598,11 @@ msgstr "Neznano"
msgid "Failed to launch “%s”"
msgstr "Zaganjanje “%s” je spodletelo"
#: ../src/shell-keyring-prompt.c:714
#: ../src/shell-keyring-prompt.c:742
msgid "Passwords do not match."
msgstr "Gesli se ne skladata."
#: ../src/shell-keyring-prompt.c:722
#: ../src/shell-keyring-prompt.c:750
msgid "Password cannot be blank"
msgstr "Geslo ne more biti prazno"

729
po/sr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

512
po/sv.po

File diff suppressed because it is too large Load Diff

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-05-04 19:54+0000\n"
"PO-Revision-Date: 2015-05-05 09:50+0500\n"
"POT-Creation-Date: 2015-06-24 20:04+0000\n"
"PO-Revision-Date: 2015-06-25 10:20+0500\n"
"Last-Translator: Victor Ibragimov <victor.ibragimov@gmail.com>\n"
"Language-Team: \n"
"Language: tg\n"
@ -495,7 +495,7 @@ msgid "Display Settings"
msgstr "Танзимоти дисплей"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:334
#: ../js/ui/status/system.js:357
msgid "Settings"
msgstr "Танзимот"
@ -914,7 +914,7 @@ msgstr "Насб кардан"
msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "“%s”-ро аз extensions.gnome.org боргирӣ ва насб мекунед?"
#: ../js/ui/keyboard.js:718 ../js/ui/status/keyboard.js:713
#: ../js/ui/keyboard.js:747 ../js/ui/status/keyboard.js:713
msgid "Keyboard"
msgstr "Клавиатура"
@ -979,7 +979,7 @@ msgstr "Намоиш додани манбаъ"
msgid "Web Page"
msgstr "Саҳифаи веб"
#: ../js/ui/messageTray.js:1504
#: ../js/ui/messageTray.js:1486
msgid "System Information"
msgstr "Маълумоти система"
@ -1021,7 +1021,7 @@ msgstr "toggle-switch-us"
msgid "Enter a Command"
msgstr "Фармонеро ворид кунед"
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:153
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
msgid "Close"
msgstr "Пӯшидан"
@ -1049,19 +1049,19 @@ msgid_plural "%d new notifications"
msgstr[0] "%d огоҳии нав"
msgstr[1] "%d огоҳии нав"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:342
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:365
msgid "Lock"
msgstr "Қулф кардан"
#: ../js/ui/screenShield.js:668
#: ../js/ui/screenShield.js:684
msgid "GNOME needs to lock the screen"
msgstr "GNOME бояд экранро қулф кунад"
#: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "Қулф карда намешавад"
#: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
msgid "Lock was blocked by an application"
msgstr "Қулф аз тарави барнома баста шудааст"
@ -1382,23 +1382,23 @@ msgstr "Ҳолати ҳавопаймо"
msgid "On"
msgstr "Фаъол"
#: ../js/ui/status/system.js:314
#: ../js/ui/status/system.js:337
msgid "Switch User"
msgstr "Таъвизи корбар"
#: ../js/ui/status/system.js:319
#: ../js/ui/status/system.js:342
msgid "Log Out"
msgstr "Баромад"
#: ../js/ui/status/system.js:338
#: ../js/ui/status/system.js:361
msgid "Orientation Lock"
msgstr "Қулфи самт"
#: ../js/ui/status/system.js:346
#: ../js/ui/status/system.js:369
msgid "Suspend"
msgstr "Таваққуф"
#: ../js/ui/status/system.js:349
#: ../js/ui/status/system.js:372
msgid "Power Off"
msgstr "Хомӯш кардан"
@ -1459,7 +1459,7 @@ msgstr[1] "Тағйироти танзимот баъд аз %d сония ба
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#: ../js/ui/windowManager.js:613
#: ../js/ui/windowManager.js:605
#, javascript-format
msgid "%d x %d"
msgstr "%d x %d"
@ -1496,27 +1496,35 @@ msgstr "Ҳамеша дар боло"
msgid "Always on Visible Workspace"
msgstr "Ҳамеша дар фазои кории намоён"
#: ../js/ui/windowMenu.js:106
#: ../js/ui/windowMenu.js:105
msgid "Move to Workspace Left"
msgstr "Интиқол додан ба фазои кории чап"
#: ../js/ui/windowMenu.js:110
msgid "Move to Workspace Right"
msgstr "Интиқол додан ба фазои кории рост"
#: ../js/ui/windowMenu.js:115
msgid "Move to Workspace Up"
msgstr "Интиқол додан ба фазои кории боло"
#: ../js/ui/windowMenu.js:111
#: ../js/ui/windowMenu.js:120
msgid "Move to Workspace Down"
msgstr "Интиқол додан ба фазои кории поён"
#: ../js/ui/windowMenu.js:127
#: ../js/ui/windowMenu.js:136
msgid "Move to Monitor Up"
msgstr "Интиқол ба канори болои монитор"
#: ../js/ui/windowMenu.js:133
#: ../js/ui/windowMenu.js:142
msgid "Move to Monitor Down"
msgstr "Интиқол ба канори поёни монитор"
#: ../js/ui/windowMenu.js:139
#: ../js/ui/windowMenu.js:148
msgid "Move to Monitor Left"
msgstr "Интиқол ба канори чапи монитор"
#: ../js/ui/windowMenu.js:145
#: ../js/ui/windowMenu.js:154
msgid "Move to Monitor Right"
msgstr "Интиқол ба канори рости монитор"
@ -1573,11 +1581,11 @@ msgstr "Номаълум"
msgid "Failed to launch “%s”"
msgstr "Оғози “%s” қатъ шудааст"
#: ../src/shell-keyring-prompt.c:714
#: ../src/shell-keyring-prompt.c:742
msgid "Passwords do not match."
msgstr "Паролҳо мувофиқат намекунанд."
#: ../src/shell-keyring-prompt.c:722
#: ../src/shell-keyring-prompt.c:750
msgid "Password cannot be blank"
msgstr "Парол бояд холӣ набошад"
@ -1806,7 +1814,7 @@ msgstr "Равзанаи гуфтугӯи санҷиши ҳакконият бо
#~ "маҳдудиятҳое, ки бо китобхонаи рамзгузорӣ таъин шудаанд, дарозтар мебошад"
#~ msgid "Internal error"
#~ msgstr "Хатогии дохилӣ"
#~ msgstr "Хатои дохилӣ"
#~ msgid "Unable to connect to %s"
#~ msgstr "Пайвастшавӣ ба %s имконнопазир аст"

528
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

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

View File

@ -42,18 +42,11 @@ static void gnome_shell_plugin_minimize (MetaPlugin *plugin,
MetaWindowActor *actor);
static void gnome_shell_plugin_unminimize (MetaPlugin *plugin,
MetaWindowActor *actor);
static void gnome_shell_plugin_maximize (MetaPlugin *plugin,
static void gnome_shell_plugin_size_change (MetaPlugin *plugin,
MetaWindowActor *actor,
gint x,
gint y,
gint width,
gint height);
static void gnome_shell_plugin_unmaximize (MetaPlugin *plugin,
MetaWindowActor *actor,
gint x,
gint y,
gint width,
gint height);
MetaSizeChange which_change,
MetaRectangle *old_rect,
MetaRectangle *new_rect);
static void gnome_shell_plugin_map (MetaPlugin *plugin,
MetaWindowActor *actor);
static void gnome_shell_plugin_destroy (MetaPlugin *plugin,
@ -134,8 +127,7 @@ gnome_shell_plugin_class_init (GnomeShellPluginClass *klass)
plugin_class->map = gnome_shell_plugin_map;
plugin_class->minimize = gnome_shell_plugin_minimize;
plugin_class->unminimize = gnome_shell_plugin_unminimize;
plugin_class->maximize = gnome_shell_plugin_maximize;
plugin_class->unmaximize = gnome_shell_plugin_unmaximize;
plugin_class->size_change = gnome_shell_plugin_size_change;
plugin_class->destroy = gnome_shell_plugin_destroy;
plugin_class->switch_workspace = gnome_shell_plugin_switch_workspace;
@ -281,27 +273,13 @@ gnome_shell_plugin_unminimize (MetaPlugin *plugin,
}
static void
gnome_shell_plugin_maximize (MetaPlugin *plugin,
MetaWindowActor *actor,
gint x,
gint y,
gint width,
gint height)
gnome_shell_plugin_size_change (MetaPlugin *plugin,
MetaWindowActor *actor,
MetaSizeChange which_change,
MetaRectangle *old_frame_rect,
MetaRectangle *old_buffer_rect)
{
_shell_wm_maximize (get_shell_wm (),
actor, x, y, width, height);
}
static void
gnome_shell_plugin_unmaximize (MetaPlugin *plugin,
MetaWindowActor *actor,
gint x,
gint y,
gint width,
gint height)
{
_shell_wm_unmaximize (get_shell_wm (),
actor, x, y, width, height);
_shell_wm_size_change (get_shell_wm (), actor, which_change, old_frame_rect, old_buffer_rect);
}
static void

View File

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

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

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

View File

@ -83,12 +83,18 @@ scan_startup_wm_class_to_id (ShellAppSystem *self)
for (l = apps; l != NULL; l = l->next)
{
GAppInfo *info = l->data;
const char *startup_wm_class, *id;
const char *startup_wm_class, *id, *old_id;
id = g_app_info_get_id (info);
startup_wm_class = g_desktop_app_info_get_startup_wm_class (G_DESKTOP_APP_INFO (info));
if (startup_wm_class != NULL)
if (startup_wm_class == NULL)
continue;
/* In case multiple .desktop files set the same StartupWMClass, prefer
* the one where ID and StartupWMClass match */
old_id = g_hash_table_lookup (priv->startup_wm_class_to_id, startup_wm_class);
if (old_id == NULL || strcmp (id, startup_wm_class) == 0)
g_hash_table_insert (priv->startup_wm_class_to_id,
g_strdup (startup_wm_class), g_strdup (id));
}
@ -176,7 +182,7 @@ shell_app_system_finalize (GObject *object)
* Return Value: (transfer none): The global #ShellAppSystem singleton
*/
ShellAppSystem *
shell_app_system_get_default ()
shell_app_system_get_default (void)
{
static ShellAppSystem *instance = NULL;
@ -342,6 +348,9 @@ _shell_app_system_notify_app_state_changed (ShellAppSystem *self,
case SHELL_APP_STATE_STOPPED:
g_hash_table_remove (self->priv->running_apps, app);
break;
default:
g_warn_if_reached();
break;
}
g_signal_emit (self, signals[APP_STATE_CHANGED], 0, app);
}
@ -377,3 +386,28 @@ 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,5 +48,6 @@ 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 ()
shell_app_usage_get_default (void)
{
static ShellAppUsage *instance;

View File

@ -491,6 +491,9 @@ shell_app_activate_full (ShellApp *app,
case SHELL_APP_STATE_RUNNING:
shell_app_activate_window (app, NULL, timestamp);
break;
default:
g_assert_not_reached();
break;
}
}
@ -699,7 +702,7 @@ static int
shell_app_get_last_user_time (ShellApp *app)
{
GSList *iter;
int last_user_time;
guint32 last_user_time;
last_user_time = 0;
@ -709,7 +712,7 @@ shell_app_get_last_user_time (ShellApp *app)
last_user_time = MAX (last_user_time, meta_window_get_user_time (iter->data));
}
return last_user_time;
return (int)last_user_time;
}
/**
@ -828,10 +831,13 @@ shell_app_sync_running_state (ShellApp *app)
{
g_return_if_fail (app->running_state != NULL);
if (app->running_state->interesting_windows == 0)
shell_app_state_transition (app, SHELL_APP_STATE_STOPPED);
else if (app->state != SHELL_APP_STATE_STARTING)
shell_app_state_transition (app, SHELL_APP_STATE_RUNNING);
if (app->state != SHELL_APP_STATE_STARTING)
{
if (app->running_state->interesting_windows == 0)
shell_app_state_transition (app, SHELL_APP_STATE_STOPPED);
else
shell_app_state_transition (app, SHELL_APP_STATE_RUNNING);
}
}
@ -1000,10 +1006,16 @@ _shell_app_remove_window (ShellApp *app,
if (!meta_window_is_skip_taskbar (window))
app->running_state->interesting_windows--;
shell_app_sync_running_state (app);
if (app->running_state && app->running_state->windows == NULL)
g_clear_pointer (&app->running_state, unref_running_state);
if (app->running_state->windows == NULL)
{
g_clear_pointer (&app->running_state, unref_running_state);
shell_app_state_transition (app, SHELL_APP_STATE_STOPPED);
}
else
{
shell_app_sync_running_state (app);
}
g_signal_emit (app, shell_app_signals[WINDOWS_CHANGED], 0);
}

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 (window->priv->actor))
if (clutter_actor_is_realized (CLUTTER_ACTOR (window->priv->actor)))
gtk_widget_map (widget);
}
}
@ -166,7 +166,7 @@ _shell_embedded_window_set_actor (ShellEmbeddedWindow *window,
window->priv->actor = actor;
if (actor &&
CLUTTER_ACTOR_IS_MAPPED (actor) &&
clutter_actor_is_mapped (CLUTTER_ACTOR (actor)) &&
gtk_widget_get_visible (GTK_WIDGET (window)))
gtk_widget_map (GTK_WIDGET (window));
}

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,7 +68,6 @@ 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;

View File

@ -111,6 +111,34 @@ shell_keyring_prompt_init (ShellKeyringPrompt *self)
}
static gchar *
remove_mnemonics (const GValue *value)
{
const gchar mnemonic = '_';
gchar *stripped_label, *temp;
const gchar *label;
g_return_val_if_fail (value != NULL, NULL);
g_return_val_if_fail (G_VALUE_HOLDS_STRING (value), NULL);
label = g_value_get_string (value);
g_return_val_if_fail (label != NULL, NULL);
/* Stripped label will have the original label lenght at most */
stripped_label = temp = g_new (gchar, strlen(label) + 1);
g_assert (stripped_label != NULL);
while (*label != '\0')
{
if (*label == mnemonic)
label++;
*(temp++) = *(label++);
}
*temp = '\0';
return stripped_label;
}
static void
shell_keyring_prompt_set_property (GObject *obj,
guint prop_id,
@ -145,7 +173,7 @@ shell_keyring_prompt_set_property (GObject *obj,
break;
case PROP_CHOICE_LABEL:
g_free (self->choice_label);
self->choice_label = g_value_dup_string (value);
self->choice_label = remove_mnemonics (value);
if (!self->choice_label)
self->choice_label = g_strdup ("");
g_object_notify (obj, "choice-label");
@ -165,12 +193,12 @@ shell_keyring_prompt_set_property (GObject *obj,
break;
case PROP_CONTINUE_LABEL:
g_free (self->continue_label);
self->continue_label = g_value_dup_string (value);
self->continue_label = remove_mnemonics (value);
g_object_notify (obj, "continue-label");
break;
case PROP_CANCEL_LABEL:
g_free (self->cancel_label);
self->cancel_label = g_value_dup_string (value);
self->cancel_label = remove_mnemonics (value);
g_object_notify (obj, "cancel-label");
break;
case PROP_PASSWORD_ACTOR:

View File

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

View File

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

View File

@ -11,12 +11,15 @@ struct _ShellRecorderSrc
{
GstPushSrc parent;
GMutex mutex_data;
GMutex *mutex;
GMutex mutex;
GstCaps *caps;
GAsyncQueue *queue;
gboolean closed;
GMutex queue_lock;
GCond queue_cond;
GQueue *queue;
gboolean eos;
gboolean flushing;
guint memory_used;
guint memory_used_update_idle;
};
@ -32,9 +35,6 @@ enum {
PROP_MEMORY_USED
};
/* Special marker value once the source is closed */
#define RECORDER_QUEUE_END ((GstBuffer *)1)
#define shell_recorder_src_parent_class parent_class
G_DEFINE_TYPE(ShellRecorderSrc, shell_recorder_src, GST_TYPE_PUSH_SRC);
@ -44,9 +44,10 @@ shell_recorder_src_init (ShellRecorderSrc *src)
gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);
gst_base_src_set_live (GST_BASE_SRC (src), TRUE);
src->queue = g_async_queue_new ();
src->mutex = &src->mutex_data;
g_mutex_init (src->mutex);
src->queue = g_queue_new ();
g_mutex_init (&src->mutex);
g_mutex_init (&src->queue_lock);
g_cond_init (&src->queue_cond);
}
static gboolean
@ -54,9 +55,9 @@ shell_recorder_src_memory_used_update_idle (gpointer data)
{
ShellRecorderSrc *src = data;
g_mutex_lock (src->mutex);
g_mutex_lock (&src->mutex);
src->memory_used_update_idle = 0;
g_mutex_unlock (src->mutex);
g_mutex_unlock (&src->mutex);
g_object_notify (G_OBJECT (src), "memory-used");
@ -70,14 +71,14 @@ static void
shell_recorder_src_update_memory_used (ShellRecorderSrc *src,
int delta)
{
g_mutex_lock (src->mutex);
g_mutex_lock (&src->mutex);
src->memory_used += delta;
if (src->memory_used_update_idle == 0)
{
src->memory_used_update_idle = g_idle_add (shell_recorder_src_memory_used_update_idle, src);
g_source_set_name_by_id (src->memory_used_update_idle, "[gnome-shell] shell_recorder_src_memory_used_update_idle");
}
g_mutex_unlock (src->mutex);
g_mutex_unlock (&src->mutex);
}
/* _negotiate() is called when we have to decide on a format. We
@ -93,23 +94,79 @@ shell_recorder_src_negotiate (GstBaseSrc * base_src)
return result;
}
static gboolean
shell_recorder_src_unlock (GstBaseSrc * base_src)
{
ShellRecorderSrc *src = SHELL_RECORDER_SRC (base_src);
g_mutex_lock (&src->queue_lock);
src->flushing = TRUE;
g_cond_signal (&src->queue_cond);
g_mutex_unlock (&src->queue_lock);
return TRUE;
}
static gboolean
shell_recorder_src_unlock_stop (GstBaseSrc * base_src)
{
ShellRecorderSrc *src = SHELL_RECORDER_SRC (base_src);
g_mutex_lock (&src->queue_lock);
src->flushing = FALSE;
g_cond_signal (&src->queue_cond);
g_mutex_unlock (&src->queue_lock);
return TRUE;
}
static gboolean
shell_recorder_src_start (GstBaseSrc * base_src)
{
ShellRecorderSrc *src = SHELL_RECORDER_SRC (base_src);
g_mutex_lock (&src->queue_lock);
src->flushing = FALSE;
src->eos = FALSE;
g_cond_signal (&src->queue_cond);
g_mutex_unlock (&src->queue_lock);
return TRUE;
}
static gboolean
shell_recorder_src_stop (GstBaseSrc * base_src)
{
ShellRecorderSrc *src = SHELL_RECORDER_SRC (base_src);
g_mutex_lock (&src->queue_lock);
src->flushing = TRUE;
src->eos = FALSE;
g_queue_foreach (src->queue, (GFunc) gst_buffer_unref, NULL);
g_queue_clear (src->queue);
g_cond_signal (&src->queue_cond);
g_mutex_unlock (&src->queue_lock);
return TRUE;
}
static gboolean
shell_recorder_src_send_event (GstElement * element, GstEvent * event)
{
ShellRecorderSrc *src = SHELL_RECORDER_SRC (element);
gboolean res;
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_EOS:
if (GST_EVENT_TYPE (event) == GST_EVENT_EOS)
{
shell_recorder_src_close (src);
gst_event_unref (event);
res = TRUE;
break;
default:
}
else
{
res = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, send_event, (element,
event), FALSE);
break;
}
}
return res;
}
@ -123,17 +180,29 @@ shell_recorder_src_create (GstPushSrc *push_src,
ShellRecorderSrc *src = SHELL_RECORDER_SRC (push_src);
GstBuffer *buffer;
if (src->closed)
return GST_FLOW_EOS;
g_mutex_lock (&src->queue_lock);
while (TRUE) {
/* int the flushing state we just return FLUSHING */
if (src->flushing) {
g_mutex_unlock (&src->queue_lock);
return GST_FLOW_FLUSHING;
}
buffer = g_async_queue_pop (src->queue);
buffer = g_queue_pop_head (src->queue);
if (buffer == RECORDER_QUEUE_END)
{
/* Returning UNEXPECTED here will cause a EOS message to be sent */
src->closed = TRUE;
/* we have a buffer, exit the loop to handle it */
if (buffer != NULL)
break;
/* no buffer, check EOS */
if (src->eos) {
g_mutex_unlock (&src->queue_lock);
return GST_FLOW_EOS;
}
/* wait for something to happen and try again */
g_cond_wait (&src->queue_cond, &src->queue_lock);
}
g_mutex_unlock (&src->queue_lock);
shell_recorder_src_update_memory_used (src,
- (int)(gst_buffer_get_size(buffer) / 1024));
@ -176,9 +245,11 @@ shell_recorder_src_finalize (GObject *object)
g_source_remove (src->memory_used_update_idle);
shell_recorder_src_set_caps (src, NULL);
g_async_queue_unref (src->queue);
g_queue_free_full (src->queue, (GDestroyNotify) gst_buffer_unref);
g_mutex_clear (src->mutex);
g_mutex_clear (&src->mutex);
g_mutex_clear (&src->queue_lock);
g_cond_clear (&src->queue_cond);
G_OBJECT_CLASS (shell_recorder_src_parent_class)->finalize (object);
}
@ -216,9 +287,9 @@ shell_recorder_src_get_property (GObject *object,
gst_value_set_caps (value, src->caps);
break;
case PROP_MEMORY_USED:
g_mutex_lock (src->mutex);
g_mutex_lock (&src->mutex);
g_value_set_uint (value, src->memory_used);
g_mutex_unlock (src->mutex);
g_mutex_unlock (&src->mutex);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@ -270,6 +341,10 @@ shell_recorder_src_class_init (ShellRecorderSrcClass *klass)
element_class->send_event = shell_recorder_src_send_event;
base_src_class->negotiate = shell_recorder_src_negotiate;
base_src_class->unlock = shell_recorder_src_unlock;
base_src_class->unlock_stop = shell_recorder_src_unlock_stop;
base_src_class->start = shell_recorder_src_start;
base_src_class->stop = shell_recorder_src_stop;
push_src_class->create = shell_recorder_src_create;
}
@ -292,7 +367,10 @@ shell_recorder_src_add_buffer (ShellRecorderSrc *src,
shell_recorder_src_update_memory_used (src,
(int)(gst_buffer_get_size(buffer) / 1024));
g_async_queue_push (src->queue, gst_buffer_ref (buffer));
g_mutex_lock (&src->queue_lock);
g_queue_push_tail (src->queue, gst_buffer_ref (buffer));
g_cond_signal (&src->queue_cond);
g_mutex_unlock (&src->queue_lock);
}
/**
@ -305,10 +383,13 @@ void
shell_recorder_src_close (ShellRecorderSrc *src)
{
/* We can't send a message to the source immediately or buffers that haven't
* been pushed yet will be discarded. Instead stick a marker onto our own
* queue to send an event once everything has been pushed.
* been pushed yet will be discarded. Instead mark ourselves EOS, which will
* make us send an event once everything has been pushed.
*/
g_async_queue_push (src->queue, RECORDER_QUEUE_END);
g_mutex_lock (&src->queue_lock);
src->eos = TRUE;
g_cond_signal (&src->queue_cond);
g_mutex_unlock (&src->queue_lock);
}
static gboolean

View File

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

View File

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

View File

@ -84,7 +84,7 @@ shell_util_get_transformed_allocation (ClutterActor *actor,
*/
ClutterVertex v[4];
gfloat x_min, x_max, y_min, y_max;
gint i;
guint i;
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
@ -165,7 +165,7 @@ shell_util_format_date (const char *format,
*/
/* Copied from gtkcalendar.c */
int
shell_util_get_week_start ()
shell_util_get_week_start (void)
{
int week_start;
#ifdef HAVE__NL_TIME_FIRST_WEEKDAY

View File

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

View File

@ -12,18 +12,11 @@ void _shell_wm_minimize (ShellWM *wm,
MetaWindowActor *actor);
void _shell_wm_unminimize (ShellWM *wm,
MetaWindowActor *actor);
void _shell_wm_maximize (ShellWM *wm,
void _shell_wm_size_change(ShellWM *wm,
MetaWindowActor *actor,
gint x,
gint y,
gint width,
gint height);
void _shell_wm_unmaximize (ShellWM *wm,
MetaWindowActor *actor,
gint x,
gint y,
gint width,
gint height);
MetaSizeChange which_change,
MetaRectangle *old_rect,
MetaRectangle *new_rect);
void _shell_wm_map (ShellWM *wm,
MetaWindowActor *actor);
void _shell_wm_destroy (ShellWM *wm,

View File

@ -4,6 +4,7 @@
#include <string.h>
#include <meta/meta-enum-types.h>
#include <meta/keybindings.h>
#include "shell-wm-private.h"
@ -20,8 +21,7 @@ enum
{
MINIMIZE,
UNMINIMIZE,
MAXIMIZE,
UNMAXIMIZE,
SIZE_CHANGE,
MAP,
DESTROY,
SWITCH_WORKSPACE,
@ -74,22 +74,14 @@ shell_wm_class_init (ShellWMClass *klass)
NULL, NULL, NULL,
G_TYPE_NONE, 1,
META_TYPE_WINDOW_ACTOR);
shell_wm_signals[MAXIMIZE] =
g_signal_new ("maximize",
shell_wm_signals[SIZE_CHANGE] =
g_signal_new ("size-change",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 5,
META_TYPE_WINDOW_ACTOR, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT);
shell_wm_signals[UNMAXIMIZE] =
g_signal_new ("unmaximize",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 5,
META_TYPE_WINDOW_ACTOR, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT);
G_TYPE_NONE, 4,
META_TYPE_WINDOW_ACTOR, META_TYPE_SIZE_CHANGE, META_TYPE_RECTANGLE, META_TYPE_RECTANGLE);
shell_wm_signals[MAP] =
g_signal_new ("map",
G_TYPE_FROM_CLASS (klass),
@ -220,32 +212,11 @@ shell_wm_completed_unminimize (ShellWM *wm,
meta_plugin_unminimize_completed (wm->plugin, actor);
}
/**
* shell_wm_completed_maximize:
* @wm: the ShellWM
* @actor: the MetaWindowActor actor
*
* The plugin must call this when it has completed a window maximize effect.
**/
void
shell_wm_completed_maximize (ShellWM *wm,
MetaWindowActor *actor)
shell_wm_completed_size_change (ShellWM *wm,
MetaWindowActor *actor)
{
meta_plugin_maximize_completed (wm->plugin, actor);
}
/**
* shell_wm_completed_unmaximize:
* @wm: the ShellWM
* @actor: the MetaWindowActor actor
*
* The plugin must call this when it has completed a window unmaximize effect.
**/
void
shell_wm_completed_unmaximize (ShellWM *wm,
MetaWindowActor *actor)
{
meta_plugin_unmaximize_completed (wm->plugin, actor);
meta_plugin_size_change_completed (wm->plugin, actor);
}
/**
@ -359,25 +330,13 @@ _shell_wm_unminimize (ShellWM *wm,
}
void
_shell_wm_maximize (ShellWM *wm,
MetaWindowActor *actor,
int target_x,
int target_y,
int target_width,
int target_height)
_shell_wm_size_change (ShellWM *wm,
MetaWindowActor *actor,
MetaSizeChange which_change,
MetaRectangle *old_frame_rect,
MetaRectangle *old_buffer_rect)
{
g_signal_emit (wm, shell_wm_signals[MAXIMIZE], 0, actor, target_x, target_y, target_width, target_height);
}
void
_shell_wm_unmaximize (ShellWM *wm,
MetaWindowActor *actor,
int target_x,
int target_y,
int target_width,
int target_height)
{
g_signal_emit (wm, shell_wm_signals[UNMAXIMIZE], 0, actor, target_x, target_y, target_width, target_height);
g_signal_emit (wm, shell_wm_signals[SIZE_CHANGE], 0, actor, which_change, old_frame_rect, old_buffer_rect);
}
void

View File

@ -31,9 +31,7 @@ void shell_wm_completed_minimize (ShellWM *wm,
MetaWindowActor *actor);
void shell_wm_completed_unminimize (ShellWM *wm,
MetaWindowActor *actor);
void shell_wm_completed_maximize (ShellWM *wm,
MetaWindowActor *actor);
void shell_wm_completed_unmaximize (ShellWM *wm,
void shell_wm_completed_size_change (ShellWM *wm,
MetaWindowActor *actor);
void shell_wm_completed_map (ShellWM *wm,
MetaWindowActor *actor);

View File

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

View File

@ -801,9 +801,6 @@ struct _StButtonAccessibleClass
StWidgetAccessibleClass parent_class;
};
static void st_button_accessible_class_init (StButtonAccessibleClass *klass);
static void st_button_accessible_init (StButtonAccessible *button);
/* AtkObject */
static void st_button_accessible_initialize (AtkObject *obj,
gpointer data);

View File

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

View File

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

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