Compare commits

...

51 Commits

Author SHA1 Message Date
7a2d4959f2 Bump version to 3.25.2
Update NEWS.
2017-05-24 23:51:43 +02:00
6b3c9539f6 st: Fix doc comment
The trailing colon breaks recent versions of gtk-doc, so drop it.
2017-05-24 23:39:51 +02:00
7e7e3ec016 lookingGlass: Use standard icon names for GC icon
Commit b929320d4 added a toolbar item to force garbage collection,
however it won't be visible for most users, as it uses a non-standard
legacy icon name (the default icon theme dropped it as far back as 2009).

https://bugzilla.gnome.org/show_bug.cgi?id=782982
2017-05-24 23:39:51 +02:00
83fb34608c windowManager: Add animations for maximize and unmaximize
The fullscreen animation code is now generic enough to handle any
size change animations, so stop limiting it to (un)fullscreen to
get animations on (un)maximize as well.

https://bugzilla.gnome.org/show_bug.cgi?id=766685
2017-05-24 21:10:28 +02:00
a72f0604dc windowManager: Rename functions and variables
Stop using the word 'fullscreen' since the code is also
going to be used for maximize and tile actions.

https://bugzilla.gnome.org/show_bug.cgi?id=766685
2017-05-24 21:10:28 +02:00
4dfad536a3 windowManager: Use sourceRect for consistency
Now that we always pass the old frame rect, we can use that
instead of picking up the dimensions of the clone actor.

https://bugzilla.gnome.org/show_bug.cgi?id=766685
2017-05-24 21:10:28 +02:00
0dca5e513b windowManager: Generalize translation values
Currently, the translation values are set with the assumption that
one of the actors represents a fullscreen window. In order to
generalize it for any size change transition, we can simply swap
the monitor rect with the source or target rect as appropriate,
and translate the actor from the target to the source position by
subtracting the former and adding the latter.

https://bugzilla.gnome.org/show_bug.cgi?id=766685
2017-05-24 21:10:28 +02:00
7090592477 windowManager: Rename variable
Since there is already targetRect that represents where the
window is going to move, rename oldRect to sourceRect to
represent from where the window is moving.

https://bugzilla.gnome.org/show_bug.cgi?id=766685
2017-05-24 21:10:28 +02:00
63f2fdd1a4 build: Use #!/bin/sh instead of #!/bin/bash
There is no bashism in autogen.sh now.

https://bugzilla.gnome.org/show_bug.cgi?id=780215
2017-05-24 22:08:33 +08:00
e94de67bd2 switcherPopup: Ignore implicit enter events when the popup is mapped
If the popup happens to be mapped beneath the pointer, mutter will now
emit an implicit enter notify event (i.e. not caused by pointer motion).
In this case the switcherPopup still goes and selects the item, which
results in too sensitive alt-tab menus if the pointer happens to be in
the wrong place.

Make highlighting rely on motion events instead, so it always involves
user interaction when triggered by the pointer.

https://bugzilla.gnome.org/show_bug.cgi?id=755164
2017-05-23 18:38:35 +02:00
817ff52414 util: Always use 12h format if requested
Whether we show times in 12h format currently depends on:
 - the 'clock-format' desktop setting
 - the locale support for AM/PM

This was consist with other GNOME components, however both the
WallClock[0] and the Date+Time Settings panel[1] dropped the
second check after GDateTime started supporting AM/PM independently
from the locale, so we should follow suite.

[0] https://git.gnome.org/browse/gnome-desktop/commit?id=226fe725ef2cb2
[1] https://git.gnome.org/browse/gnome-control-center/commit?id=85cd910af

https://bugzilla.gnome.org/show_bug.cgi?id=782930
2017-05-22 15:41:29 +02:00
a55599a239 Switch to stable libsecret API
Most of the libsecret API was declared stable in 0.18 and the stable API
now provides everything we need, so switch from libsecret-unstable to
libsecret-1.

https://bugzilla.gnome.org/show_bug.cgi?id=782637
2017-05-21 04:49:11 +02:00
94114d82ff Update Turkish translation
(cherry picked from commit e7ad9d7217)
2017-05-20 03:52:11 +00:00
7cc88f96c4 theme: Update sass submodule 2017-05-19 19:02:32 +02:00
447bf55e45 panel: Add transparency when free-floating
The solid black top bar we currently use works well for maximized
or tiled windows, as it puts focus on the application content by
blending into the monitor bezel. However it also visually reduces
the screen space, which is particularly noticeable when no window
is located nearby. Having the top bar blend with the background is
a better option in that case, so track window positions and add
some transparency when the top bar is free-floating.

https://bugzilla.gnome.org/show_bug.cgi?id=747163
2017-05-19 18:58:40 +02:00
9d53a7700a tests: Update markup test for function moved to messageList
https://bugzilla.gnome.org/show_bug.cgi?id=782802
2017-05-19 08:30:04 -04:00
51145a3d41 Update Serbian Latin translation
(cherry picked from commit 4c1467196e)
2017-05-18 21:56:33 +00:00
1297315cc2 Update Serbian translation 2017-05-18 21:54:51 +00:00
b859a7f763 Update German translation
(cherry picked from commit 946ff3b380)
2017-05-18 18:55:55 +00:00
41baf0fc74 keyboard: Drop dbus naming semantics from Set[Entry|Cursor]Location
Those functions don't proxy dbus method calls anymore, so just drop the
uppercase 'S'.

https://bugzilla.gnome.org/show_bug.cgi?id=777342
2017-05-15 14:50:02 +02:00
c324395ee6 keyboard: Remove Show/Hide calls
And merge with the "internal" show/hide() ones. Those functions don't
proxy dbus method calls anymore, so it makes no sense to expose these.
Also, the timestamp is no longer needed as there is a single source for
these events.

https://bugzilla.gnome.org/show_bug.cgi?id=777342
2017-05-15 14:50:02 +02:00
aecd1c126a keyboard: Avoid runtime dependency on the Caribou daemon
The caribou daemon only gives us focus tracking, which is almost 1:1 with
our own FocusCaretTracker implementation. This means we can entirely
replace the Caribou daemon inside gnome-shell, reducing the Caribou
dependency to just libcaribou, and more specifically the
CaribouKeyboardModel we pull the keyboard models from.

As we still need underneath a CaribouDisplayAdapter to drive the keyboard,
reuse the wayland one, which has been renamed to make it look generic, plus
it will use the virtual input device API from mutter/clutter.

https://bugzilla.gnome.org/show_bug.cgi?id=777342
2017-05-15 14:50:02 +02:00
9b7304488e Fix bashism in autogen.sh
https://bugzilla.gnome.org/show_bug.cgi?id=780215
2017-05-11 15:54:16 +02:00
6362b3d057 dateMenu: Fix a runtime warning
GJS now warns about excess parameters, so wrap the queue_relayout()
into an anonymous function instead of using it directly as signal
handler.
2017-05-11 15:20:10 +02:00
0142fae742 search: copy result to clipboard if requested
Some search providers such as GNOME Characters want to copy search
results to clipboard.  However, on Wayland, clipboards are only
accessible from applications that have a visible surface on display.

This patch allows a search provider to request the shell to copy a
search result to clipboard when 'clipboardText' is included in the meta
of the result.

https://bugzilla.gnome.org/show_bug.cgi?id=775099
2017-05-11 11:11:22 +02:00
73680e2433 popupMenu: Change the position of the icon in PopupImageMenuItem
We are moving the icon to be added before the text instead of after,
which is consistent with other menu items in other popup menus, such
as the ones in the system indicator's popup menu.

https://bugzilla.gnome.org/show_bug.cgi?id=782166
2017-05-09 18:32:23 +01:00
e38c26894b popupMenu: Allow specifying an icon on PopupMenuBase.addAction()
This allows passing an optional icon parameter to addAction()
so that a PopupImageMenuItem instance is created instead of a
PopupMenuItem if an icon is specified.

https://bugzilla.gnome.org/show_bug.cgi?id=782166
2017-05-09 18:32:23 +01:00
28ca96064b popupMenu: Accept either an icon name or a GIcon on PopupImageMenuItem
Add an extra check to setIcon() so that either a GIcon or an string
with the icon's name is handlded, so that we can create menu items
in different ways (e.g. by passing a GIcon created from a resource).

https://bugzilla.gnome.org/show_bug.cgi?id=782166
2017-05-09 18:32:23 +01:00
be95a63a03 Update Catalan translation 2017-05-07 21:31:02 +02:00
2a3a5dfc0b theme: Use font-relative width for prompts
The usual expectation when selecting large fonts is for content to
be bigger, not that less content is displayed. While not always
possible, there's no reason not to scale modal dialogues with the
font size.

https://bugzilla.gnome.org/show_bug.cgi?id=782000
2017-05-05 11:27:29 +02:00
94a0ae1ec3 entry: Fix *-icon-clicked handler
Commit ffe4eaf00d broke the handler by fetching the instance private
from the wrong actor - as we don't use the ::primary-icon-clicked signal,
and the ::secondary-icon-clicked signal still works by accident, nobody
noticed until now ...

https://bugzilla.gnome.org/show_bug.cgi?id=782190
2017-05-05 00:38:54 +02:00
44fb014a0d Bump version to 3.25.1
Update NEWS.
2017-04-27 18:30:05 +02:00
8007f4dda3 docs: Fix typo 2017-04-27 18:30:05 +02:00
ff425d1db7 extensionSystem: handle reloading broken extensions
Some extensions out there may fail to reload. When that happens,
we need to catch any exceptions so that we don't leave things in
a broken state that could lead to leaving extensions enabled in
the screen shield.

https://bugzilla.gnome.org/show_bug.cgi?id=781728
2017-04-25 17:47:08 +02:00
9a65f20d91 Update Arabic translation 2017-04-24 16:40:38 +02:00
0770383f78 Fix to Catalan translation 2017-04-22 22:07:28 +02:00
06fdf2fdc8 extensionPrefs: Avoid a runtime warning
Since 5b3fb024be, the main window is only shown when not launched
with a valid UUID. As GtkDialog isn't meant to be used standalone,
we currently trigger a (harmless but annoying) warning in case
the main window isn't shown; we can avoid the warning by setting
up the preference dialog manually instead of using the GtkDialog
convenience class.

https://bugzilla.gnome.org/show_bug.cgi?id=781545
2017-04-20 19:18:23 +02:00
7a20683728 extensionPrefs: Fix enum member name 2017-04-20 17:35:35 +02:00
8e443a2aff WeatherClient: set enabled providers after setting a valid location
So far, the GWeatherInfo was given the enabled weather providers
as a parameter, at construction time. Because of the way in
which libgweather was designed, setting the providers right from
the beginning enabled libgweather to use them internally in order
to update its state. Updating the internal state is only relevant
when there is a valid location set, which is not guaranteed at the
time when the GWeatherInfo object is constructed.

In order to fix this, enable no providers at construction time and
only set valid providers after setting a valid location.

https://bugzilla.gnome.org/show_bug.cgi?id=780404
2017-04-19 20:41:35 +03:00
fcbb942e24 loginDialog: Fix session button can be clicked
When session menu button is hidden, button can be clicked and show popup
menu.

https://bugzilla.gnome.org/show_bug.cgi?id=781482
2017-04-19 10:27:41 -04:00
1508d76d32 build: Require bash for pushd
If using sh, there's no pushd. Make autogen.sh execute with bash instead.
2017-04-15 00:00:54 -07:00
ef9dee2a05 Update Serbian translation 2017-04-13 00:09:44 +00:00
2714d8d0ce Update Italian translation
(cherry picked from commit 635bdea284)
2017-04-11 06:41:37 +00:00
243dae14ea background: Fix file check
The _animationFile property was removed in commit 8a4c862633 ...
2017-04-11 02:43:07 +02:00
2cce1b9ea0 appFavorites: Rename gnome-music.desktop
Recently Music gained a flatpak manifest inside the repo in bug 779905.
However that requires the desktop file to be properly named like
DBUS addresses are.

This patch renames the old Music desktop file to the new one.

https://bugzilla.gnome.org/show_bug.cgi?id=780157
2017-04-09 11:04:40 +02:00
89f4e983d6 Update Croatian translation
(cherry picked from commit c526413119)
2017-04-08 15:16:44 +00:00
f680cf6050 Update Greek translation 2017-04-08 15:07:01 +00:00
4cd4678194 Add ShowMonitorLabels2 D-Bus API
Add a new D-Bus method for setting the monitor labels. This new method
takes connector names instead of output ids for associating with actual
monitors.

https://bugzilla.gnome.org/show_bug.cgi?id=777732
2017-04-07 22:30:35 +08:00
082bc20bb9 shell-global: Get UI scaling factor from mutter
Let mutter determine the UI scale, while taking things like monitor
layout mode into consideration.

https://bugzilla.gnome.org/show_bug.cgi?id=777732
2017-04-07 22:30:35 +08:00
32ea7d763a Don't set clutters 'window-scaling-factor' property
It doesn't exist anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=777732
2017-04-07 22:30:35 +08:00
44e80f4c46 st-texture-cache: Plug some pixbuf refcount leaks on async operations
When extracting the sliced image, the GTask grants data ownership on
g_task_propagate_*, so the pixbuf list must be properly freed. On async
load, we just left a dangling reference when returning on the async
task.

https://bugzilla.gnome.org/show_bug.cgi?id=642652
2017-04-07 14:17:59 +02:00
41 changed files with 2943 additions and 2140 deletions

48
NEWS

@ -1,3 +1,51 @@
3.25.2
======
* Fix StEntry::primary-icon-clicked emission [Florian; #782190]
* Add an optional icon parameter to PopupMenu.addAction() [Mario; #782166]
* Allow search providers to include clipboard text with results [Daiki; #775099]
* Reduce dependency on Caribou [Carlos; #777342]
* Add transparency to top bar when free floating [Alessandro; #747163]
* Animate maximize/unmaximize operations [Alessandro; #766685]
* Misc. bug fixes [Florian, Matthias, Jeremy, Michael, Carlos, Lan; #782000,
#780215, #782802, #782637, #782930, #755164, #780215, #782982]
Contributors:
Jeremy Bicha, Michael Biebl, Alessandro Bono, Carlos Garnacho, Ting-Wei Lan,
Matthias Liertzer, Florian Müllner, Mario Sanchez Prada, Daiki Ueno
Translations:
Jordi Mas [ca], Christian Stadelmann [de], Милош Поповић [sr],
Милош Поповић [sr@latin], Furkan Ahmet Kara [tr]
3.25.1
======
* Close Wifi selection dialog on lock [Florian; #780054]
* Fix DND over window previews in overview [Florian; #737166]
* Do not lock the screen when disabled by lockdown settings [Florian; #780212]
* Follow GNOME Weather's location permissions [Florian; #780252]
* Fix portals that require a new window to be loaded [Catalin; #759044]
* Fix restricting menus to screen height on HiDPI displays [Cosimo; #753305]
* Misc. bug fixes and cleanups [Florian, Cosimo, Bastien, Catalin, Carlos G.,
Jonas, Carlos S., Xiaoguang, Rares, Emilio; #780063, #780321, #780381,
#780453, #758873, #780606, #642652, #777732, #780157, #781482, #780404,
#781545, #781728]
Contributors:
Jonas Ådahl, Cosimo Cecchi, Philip Chimento, Carlos Garnacho, Catalin Iacob,
Florian Müllner, Bastien Nocera, Emilio Pozuelo Monfort, Carlos Soriano,
Rares Visalom, Xiaoguang Wang
Translations:
Marek Cernocky [cs], Piotr Drąg [pl], Anders Jonsson [sv], Stas Solovey [ru],
Rafael Fontenelle [pt_BR], Baurzhan Muftakhidinov [kk], Daniel Korostil [uk],
Kukuh Syafaat [id], Milo Casagrande [it], Jiri Grönroos [fi],
Daniel Mustieles [es], Balázs Úr [hu], Guillaume Bernard [fr],
Changwoo Ryu [ko], Mario Blättermann [de], Fran Dieguez [gl],
Dušan Kazik [sk], Yuras Shumovich [be], Fabio Tomat [fur],
Kjartan Maraas [nb], Aurimas Černius [lt], Trần Ngọc Quân [vi],
Rūdolfs Mazurs [lv], Γιάννης Κουτσούκος [el], gogo [hr], Марко Костић [sr],
Jordi Mas [ca], Khaled Hosny [ar]
3.24.0 3.24.0
====== ======

@ -4,7 +4,9 @@
srcdir=`dirname $0` srcdir=`dirname $0`
test -z "$srcdir" && srcdir=. test -z "$srcdir" && srcdir=.
pushd $srcdir olddir="$(pwd)"
cd "${srcdir}"
(test -f configure.ac \ (test -f configure.ac \
&& test -d src) || { && test -d src) || {
@ -26,8 +28,8 @@ gtkdocize --copy || exit 1
intltoolize --force --copy --automake || exit 1 intltoolize --force --copy --automake || exit 1
autoreconf --verbose --force --install || exit 1 autoreconf --verbose --force --install || exit 1
popd cd "${olddir}"
if [ "$NOCONFIGURE" = "" ]; then if [ "$NOCONFIGURE" = "" ]; then
$srcdir/configure "$@" || exit 1 "${srcdir}/configure" "$@" || exit 1
fi fi

@ -1,5 +1,5 @@
AC_PREREQ(2.63) AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.24.0],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) AC_INIT([gnome-shell],[3.25.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AX_IS_RELEASE([git-directory]) AX_IS_RELEASE([git-directory])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
@ -85,9 +85,9 @@ AC_MSG_RESULT($enable_systemd)
GOBJECT_INTROSPECTION_MIN_VERSION=1.49.1 GOBJECT_INTROSPECTION_MIN_VERSION=1.49.1
GJS_MIN_VERSION=1.47.0 GJS_MIN_VERSION=1.47.0
MUTTER_MIN_VERSION=3.24.0 MUTTER_MIN_VERSION=3.25.2
GTK_MIN_VERSION=3.15.0 GTK_MIN_VERSION=3.15.0
GIO_MIN_VERSION=2.45.3 GIO_MIN_VERSION=2.53.0
LIBECAL_MIN_VERSION=3.5.3 LIBECAL_MIN_VERSION=3.5.3
LIBEDATASERVER_MIN_VERSION=3.17.2 LIBEDATASERVER_MIN_VERSION=3.17.2
POLKIT_MIN_VERSION=0.100 POLKIT_MIN_VERSION=0.100
@ -190,7 +190,7 @@ if test "x$enable_networkmanager" != "xno"; then
[libnm-glib [libnm-glib
libnm-util >= $NETWORKMANAGER_MIN_VERSION libnm-util >= $NETWORKMANAGER_MIN_VERSION
libnm-gtk >= $NETWORKMANAGER_MIN_VERSION libnm-gtk >= $NETWORKMANAGER_MIN_VERSION
libsecret-unstable], libsecret-1 >= 0.18],
[have_networkmanager=yes], [have_networkmanager=yes],
[have_networkmanager=no]) [have_networkmanager=no])

@ -300,7 +300,7 @@ StScrollBar {
padding-bottom: 6px; } padding-bottom: 6px; }
.mount-question-dialog-subject { .mount-question-dialog-subject {
max-width: 500px; } max-width: 34em; }
.show-processes-dialog-subject:rtl, .show-processes-dialog-subject:rtl,
.mount-question-dialog-subject:rtl { .mount-question-dialog-subject:rtl {
@ -345,7 +345,7 @@ StScrollBar {
/* Password or Authentication Dialog */ /* Password or Authentication Dialog */
.prompt-dialog { .prompt-dialog {
width: 500px; width: 34em;
border: 3px solid rgba(238, 238, 236, 0.2); } border: 3px solid rgba(238, 238, 236, 0.2); }
.prompt-dialog-main-layout { .prompt-dialog-main-layout {
@ -669,7 +669,9 @@ StScrollBar {
/* TOP BAR */ /* TOP BAR */
#panel { #panel {
background-color: black; background-color: rgba(0, 0, 0, 0.2);
/* transition from solid to transparent */
transition-duration: 500ms;
font-weight: bold; font-weight: bold;
height: 1.86em; } height: 1.86em; }
#panel.unlock-screen, #panel.login-screen, #panel.lock-screen { #panel.unlock-screen, #panel.login-screen, #panel.lock-screen {
@ -678,7 +680,7 @@ StScrollBar {
spacing: 4px; } spacing: 4px; }
#panel .panel-corner { #panel .panel-corner {
-panel-corner-radius: 6px; -panel-corner-radius: 6px;
-panel-corner-background-color: black; -panel-corner-background-color: rgba(0, 0, 0, 0.2);
-panel-corner-border-width: 2px; -panel-corner-border-width: 2px;
-panel-corner-border-color: transparent; } -panel-corner-border-color: transparent; }
#panel .panel-corner:active, #panel .panel-corner:overview, #panel .panel-corner:focus { #panel .panel-corner:active, #panel .panel-corner:overview, #panel .panel-corner:focus {
@ -691,14 +693,24 @@ StScrollBar {
-natural-hpadding: 12px; -natural-hpadding: 12px;
-minimum-hpadding: 6px; -minimum-hpadding: 6px;
font-weight: bold; font-weight: bold;
color: #ccc; color: #eee;
text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.9);
transition-duration: 100ms; } transition-duration: 100ms; }
#panel .panel-button .app-menu-icon { #panel .panel-button .app-menu-icon {
-st-icon-style: symbolic; -st-icon-style: symbolic;
margin-left: 4px; margin-left: 4px;
margin-right: 4px; } margin-right: 4px; }
#panel .panel-button .system-status-icon,
#panel .panel-button .app-menu-icon > StIcon,
#panel .panel-button .popup-menu-arrow {
icon-shadow: 0px 0px 2px rgba(0, 0, 0, 0.9); }
#panel .panel-button:hover { #panel .panel-button:hover {
color: white; } color: white;
text-shadow: 0px 0px 8px black; }
#panel .panel-button:hover .system-status-icon,
#panel .panel-button:hover .app-menu-icon > StIcon,
#panel .panel-button:hover .popup-menu-arrow {
icon-shadow: 0px 0px 8px black; }
#panel .panel-button:active, #panel .panel-button:overview, #panel .panel-button:focus, #panel .panel-button:checked { #panel .panel-button:active, #panel .panel-button:overview, #panel .panel-button:focus, #panel .panel-button:checked {
background-color: rgba(0, 0, 0, 0.01); background-color: rgba(0, 0, 0, 0.01);
box-shadow: inset 0 -2px 0px #256ab1; box-shadow: inset 0 -2px 0px #256ab1;
@ -719,6 +731,21 @@ StScrollBar {
spacing: 0; } spacing: 0; }
#panel .screencast-indicator { #panel .screencast-indicator {
color: #f57900; } color: #f57900; }
#panel.solid {
background-color: black;
/* transition from transparent to solid */
transition-duration: 300ms; }
#panel.solid .panel-corner {
-panel-corner-background-color: black; }
#panel.solid .panel-button {
color: #ccc;
text-shadow: none; }
#panel.solid .panel-button:hover {
color: white; }
#panel.solid .system-status-icon,
#panel.solid .app-menu-icon > StIcon,
#panel.solid .popup-menu-arrow {
icon-shadow: none; }
#calendarArea { #calendarArea {
padding: 0.75em 1.0em; } padding: 0.75em 1.0em; }
@ -1010,9 +1037,9 @@ StScrollBar {
/* NETWORK DIALOGS */ /* NETWORK DIALOGS */
.nm-dialog { .nm-dialog {
max-height: 500px; max-height: 34em;
min-height: 450px; min-height: 31em;
min-width: 470px; } min-width: 32em; }
.nm-dialog-content { .nm-dialog-content {
spacing: 20px; spacing: 20px;

@ -300,7 +300,7 @@ StScrollBar {
padding-bottom: 6px; } padding-bottom: 6px; }
.mount-question-dialog-subject { .mount-question-dialog-subject {
max-width: 500px; } max-width: 34em; }
.show-processes-dialog-subject:rtl, .show-processes-dialog-subject:rtl,
.mount-question-dialog-subject:rtl { .mount-question-dialog-subject:rtl {
@ -345,7 +345,7 @@ StScrollBar {
/* Password or Authentication Dialog */ /* Password or Authentication Dialog */
.prompt-dialog { .prompt-dialog {
width: 500px; width: 34em;
border: 3px solid rgba(238, 238, 236, 0.2); } border: 3px solid rgba(238, 238, 236, 0.2); }
.prompt-dialog-main-layout { .prompt-dialog-main-layout {
@ -669,7 +669,9 @@ StScrollBar {
/* TOP BAR */ /* TOP BAR */
#panel { #panel {
background-color: black; background-color: rgba(0, 0, 0, 0.2);
/* transition from solid to transparent */
transition-duration: 500ms;
font-weight: bold; font-weight: bold;
height: 1.86em; } height: 1.86em; }
#panel.unlock-screen, #panel.login-screen, #panel.lock-screen { #panel.unlock-screen, #panel.login-screen, #panel.lock-screen {
@ -678,7 +680,7 @@ StScrollBar {
spacing: 4px; } spacing: 4px; }
#panel .panel-corner { #panel .panel-corner {
-panel-corner-radius: 6px; -panel-corner-radius: 6px;
-panel-corner-background-color: black; -panel-corner-background-color: rgba(0, 0, 0, 0.2);
-panel-corner-border-width: 2px; -panel-corner-border-width: 2px;
-panel-corner-border-color: transparent; } -panel-corner-border-color: transparent; }
#panel .panel-corner:active, #panel .panel-corner:overview, #panel .panel-corner:focus { #panel .panel-corner:active, #panel .panel-corner:overview, #panel .panel-corner:focus {
@ -691,14 +693,24 @@ StScrollBar {
-natural-hpadding: 12px; -natural-hpadding: 12px;
-minimum-hpadding: 6px; -minimum-hpadding: 6px;
font-weight: bold; font-weight: bold;
color: #ccc; color: #eee;
text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.9);
transition-duration: 100ms; } transition-duration: 100ms; }
#panel .panel-button .app-menu-icon { #panel .panel-button .app-menu-icon {
-st-icon-style: symbolic; -st-icon-style: symbolic;
margin-left: 4px; margin-left: 4px;
margin-right: 4px; } margin-right: 4px; }
#panel .panel-button .system-status-icon,
#panel .panel-button .app-menu-icon > StIcon,
#panel .panel-button .popup-menu-arrow {
icon-shadow: 0px 0px 2px rgba(0, 0, 0, 0.9); }
#panel .panel-button:hover { #panel .panel-button:hover {
color: white; } color: white;
text-shadow: 0px 0px 8px black; }
#panel .panel-button:hover .system-status-icon,
#panel .panel-button:hover .app-menu-icon > StIcon,
#panel .panel-button:hover .popup-menu-arrow {
icon-shadow: 0px 0px 8px black; }
#panel .panel-button:active, #panel .panel-button:overview, #panel .panel-button:focus, #panel .panel-button:checked { #panel .panel-button:active, #panel .panel-button:overview, #panel .panel-button:focus, #panel .panel-button:checked {
background-color: rgba(0, 0, 0, 0.01); background-color: rgba(0, 0, 0, 0.01);
box-shadow: inset 0 -2px 0px #256ab1; box-shadow: inset 0 -2px 0px #256ab1;
@ -719,6 +731,21 @@ StScrollBar {
spacing: 0; } spacing: 0; }
#panel .screencast-indicator { #panel .screencast-indicator {
color: #f57900; } color: #f57900; }
#panel.solid {
background-color: black;
/* transition from transparent to solid */
transition-duration: 300ms; }
#panel.solid .panel-corner {
-panel-corner-background-color: black; }
#panel.solid .panel-button {
color: #ccc;
text-shadow: none; }
#panel.solid .panel-button:hover {
color: white; }
#panel.solid .system-status-icon,
#panel.solid .app-menu-icon > StIcon,
#panel.solid .popup-menu-arrow {
icon-shadow: none; }
#calendarArea { #calendarArea {
padding: 0.75em 1.0em; } padding: 0.75em 1.0em; }
@ -1010,9 +1037,9 @@ StScrollBar {
/* NETWORK DIALOGS */ /* NETWORK DIALOGS */
.nm-dialog { .nm-dialog {
max-height: 500px; max-height: 34em;
min-height: 450px; min-height: 31em;
min-width: 470px; } min-width: 32em; }
.nm-dialog-content { .nm-dialog-content {
spacing: 20px; spacing: 20px;

@ -125,7 +125,7 @@ EXTRA_DIST +=
# Files not to distribute # Files not to distribute
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types # for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt # for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
DISTCLEANFILES = $(DOC_MODULES).types DISTCLEANFILES = $(DOC_MODULE).types
# Comment this out if you want 'make check' to test you doc status # Comment this out if you want 'make check' to test you doc status
# and run some sanity checks # and run some sanity checks

@ -5,6 +5,7 @@ const GLib = imports.gi.GLib;
const GObject = imports.gi.GObject; const GObject = imports.gi.GObject;
const Gio = imports.gi.Gio; const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk; const Gtk = imports.gi.Gtk;
const Gdk = imports.gi.Gdk;
const Pango = imports.gi.Pango; const Pango = imports.gi.Pango;
const Format = imports.format; const Format = imports.format;
@ -92,9 +93,11 @@ const Application = new Lang.Class({
widget = this._buildErrorUI(extension, e); widget = this._buildErrorUI(extension, e);
} }
let dialog = new Gtk.Dialog({ use_header_bar: true, let dialog = new Gtk.Window({ modal: !this._skipMainWindow,
modal: true, type_hint: Gdk.WindowTypeHint.DIALOG });
title: extension.metadata.name }); dialog.set_titlebar(new Gtk.HeaderBar({ show_close_button: true,
title: extension.metadata.name,
visible: true }));
if (this._skipMainWindow) { if (this._skipMainWindow) {
this.application.add_window(dialog); this.application.add_window(dialog);
@ -107,7 +110,7 @@ const Application = new Lang.Class({
} }
dialog.set_default_size(600, 400); dialog.set_default_size(600, 400);
dialog.get_content_area().add(widget); dialog.add(widget);
dialog.show(); dialog.show();
}, },
@ -154,7 +157,7 @@ const Application = new Lang.Class({
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' }); this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
this._settings.bind('disable-user-extensions', killSwitch, 'active', this._settings.bind('disable-user-extensions', killSwitch, 'active',
Gio.SettingsBindFlags.BIND_DEFAULT | Gio.SettingsBindFlags.DEFAULT |
Gio.SettingsBindFlags.INVERT_BOOLEAN); Gio.SettingsBindFlags.INVERT_BOOLEAN);
let scroll = new Gtk.ScrolledWindow({ hscrollbar_policy: Gtk.PolicyType.NEVER }); let scroll = new Gtk.ScrolledWindow({ hscrollbar_policy: Gtk.PolicyType.NEVER });

@ -775,10 +775,12 @@ const LoginDialog = new Lang.Class({
}, },
_onPrompted: function() { _onPrompted: function() {
this._sessionMenuButton.updateSensitivity(true); if (this._shouldShowSessionMenuButton()) {
this._sessionMenuButton.updateSensitivity(true);
if (this._shouldShowSessionMenuButton())
this._authPrompt.setActorInDefaultButtonWell(this._sessionMenuButton.actor); this._authPrompt.setActorInDefaultButtonWell(this._sessionMenuButton.actor);
} else {
this._sessionMenuButton.updateSensitivity(false);
}
this._showPrompt(); this._showPrompt();
}, },
@ -881,6 +883,7 @@ const LoginDialog = new Lang.Class({
})); }));
this._updateCancelButton(); this._updateCancelButton();
this._sessionMenuButton.updateSensitivity(false);
this._authPrompt.updateSensitivity(true); this._authPrompt.updateSensitivity(true);
this._showPrompt(); this._showPrompt();
}, },

@ -218,11 +218,10 @@ function formatTime(time, params) {
if (_desktopSettings == null) if (_desktopSettings == null)
_desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' }); _desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' });
let clockFormat = _desktopSettings.get_string('clock-format'); let clockFormat = _desktopSettings.get_string('clock-format');
let hasAmPm = date.format('%p') != '';
params = Params.parse(params, { timeOnly: false }); params = Params.parse(params, { timeOnly: false });
if (clockFormat == '24h' || !hasAmPm) { if (clockFormat == '24h') {
// Show only the time if date is on today // Show only the time if date is on today
if (daysAgo < 1 || params.timeOnly) if (daysAgo < 1 || params.timeOnly)
/* Translators: Time in 24h format */ /* Translators: Time in 24h format */

@ -54,10 +54,11 @@ const WeatherClient = new Lang.Class({
this._world = GWeather.Location.get_world(); this._world = GWeather.Location.get_world();
let providers = GWeather.Provider.METAR | this._providers = GWeather.Provider.METAR |
GWeather.Provider.YR_NO | GWeather.Provider.YR_NO |
GWeather.Provider.OWM; GWeather.Provider.OWM;
this._weatherInfo = new GWeather.Info({ enabled_providers: providers });
this._weatherInfo = new GWeather.Info({ enabled_providers: 0 });
this._weatherInfo.connect_after('updated', () => { this._weatherInfo.connect_after('updated', () => {
this._lastUpdate = GLib.DateTime.new_now_local(); this._lastUpdate = GLib.DateTime.new_now_local();
this.emit('changed'); this.emit('changed');
@ -141,6 +142,8 @@ const WeatherClient = new Lang.Class({
this._weatherInfo.set_location(location); this._weatherInfo.set_location(location);
this._locationValid = (location != null); this._locationValid = (location != null);
this._weatherInfo.set_enabled_providers(location ? this._providers : 0);
if (location) if (location)
this._loadInfo(); this._loadInfo();
else else

@ -6,6 +6,7 @@ const Signals = imports.signals;
const Main = imports.ui.main; const Main = imports.ui.main;
// In alphabetical order
const RENAMED_DESKTOP_IDS = { const RENAMED_DESKTOP_IDS = {
'baobab.desktop': 'org.gnome.baobab.desktop', 'baobab.desktop': 'org.gnome.baobab.desktop',
'cheese.desktop': 'org.gnome.Cheese.desktop', 'cheese.desktop': 'org.gnome.Cheese.desktop',
@ -27,6 +28,7 @@ const RENAMED_DESKTOP_IDS = {
'gnome-documents.desktop': 'org.gnome.Documents.desktop', 'gnome-documents.desktop': 'org.gnome.Documents.desktop',
'gnome-font-viewer.desktop': 'org.gnome.font-viewer.desktop', 'gnome-font-viewer.desktop': 'org.gnome.font-viewer.desktop',
'gnome-nibbles.desktop': 'org.gnome.Nibbles.desktop', 'gnome-nibbles.desktop': 'org.gnome.Nibbles.desktop',
'gnome-music.desktop': 'org.gnome.Music.desktop',
'gnome-photos.desktop': 'org.gnome.Photos.desktop', 'gnome-photos.desktop': 'org.gnome.Photos.desktop',
'gnome-screenshot.desktop': 'org.gnome.Screenshot.desktop', 'gnome-screenshot.desktop': 'org.gnome.Screenshot.desktop',
'gnome-software.desktop': 'org.gnome.Software.desktop', 'gnome-software.desktop': 'org.gnome.Software.desktop',

@ -166,7 +166,8 @@ const BackgroundCache = new Lang.Class({
settingsSchema: null, settingsSchema: null,
onLoaded: null }); onLoaded: null });
if (this._animations[params.settingsSchema] && _fileEqual0(this._animationFile, params.file)) { let animation = this._animations[params.settingsSchema];
if (animation && _fileEqual0(animation.file, params.file)) {
if (params.onLoaded) { if (params.onLoaded) {
let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() {
params.onLoaded(this._animations[params.settingsSchema]); params.onLoaded(this._animations[params.settingsSchema]);
@ -177,7 +178,7 @@ const BackgroundCache = new Lang.Class({
return; return;
} }
let animation = new Animation({ file: params.file }); animation = new Animation({ file: params.file });
animation.load(Lang.bind(this, function() { animation.load(Lang.bind(this, function() {
this._animations[params.settingsSchema] = animation; this._animations[params.settingsSchema] = animation;

@ -370,8 +370,7 @@ const IndicatorPad = new Lang.Class({
_init: function(actor) { _init: function(actor) {
this._source = actor; this._source = actor;
this._source.connect('notify::visible', this._source.connect('notify::visible', () => { this.queue_relayout(); });
Lang.bind(this, this.queue_relayout));
this.parent(); this.parent();
}, },

@ -282,12 +282,20 @@ function _onVersionValidationChanged() {
// temporarily disable them all // temporarily disable them all
enabledExtensions = []; enabledExtensions = [];
for (let uuid in ExtensionUtils.extensions) for (let uuid in ExtensionUtils.extensions)
reloadExtension(ExtensionUtils.extensions[uuid]); try {
reloadExtension(ExtensionUtils.extensions[uuid]);
} catch(e) {
logExtensionError(uuid, e);
}
enabledExtensions = getEnabledExtensions(); enabledExtensions = getEnabledExtensions();
if (Main.sessionMode.allowExtensions) { if (Main.sessionMode.allowExtensions) {
enabledExtensions.forEach(function(uuid) { enabledExtensions.forEach(function(uuid) {
enableExtension(uuid); try {
enableExtension(uuid);
} catch(e) {
logExtensionError(uuid, e);
}
}); });
} }
} }

@ -1,5 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
const FocusCaretTracker = imports.ui.focusCaretTracker;
const Atspi = imports.gi.Atspi;
const Caribou = imports.gi.Caribou; const Caribou = imports.gi.Caribou;
const Clutter = imports.gi.Clutter; const Clutter = imports.gi.Clutter;
const Gdk = imports.gi.Gdk; const Gdk = imports.gi.Gdk;
@ -25,42 +27,6 @@ const KEYBOARD_TYPE = 'keyboard-type';
const A11Y_APPLICATIONS_SCHEMA = 'org.gnome.desktop.a11y.applications'; const A11Y_APPLICATIONS_SCHEMA = 'org.gnome.desktop.a11y.applications';
const SHOW_KEYBOARD = 'screen-keyboard-enabled'; const SHOW_KEYBOARD = 'screen-keyboard-enabled';
const CARIBOU_BUS_NAME = 'org.gnome.Caribou.Daemon';
const CARIBOU_OBJECT_PATH = '/org/gnome/Caribou/Daemon';
const CaribouKeyboardIface = '<node> \
<interface name="org.gnome.Caribou.Keyboard"> \
<method name="Show"> \
<arg type="u" direction="in" /> \
</method> \
<method name="Hide"> \
<arg type="u" direction="in" /> \
</method> \
<method name="SetCursorLocation"> \
<arg type="i" direction="in" /> \
<arg type="i" direction="in" /> \
<arg type="i" direction="in" /> \
<arg type="i" direction="in" /> \
</method> \
<method name="SetEntryLocation"> \
<arg type="i" direction="in" /> \
<arg type="i" direction="in" /> \
<arg type="i" direction="in" /> \
<arg type="i" direction="in" /> \
</method> \
<property name="Name" access="read" type="s" /> \
</interface> \
</node>';
const CaribouDaemonIface = '<node> \
<interface name="org.gnome.Caribou.Daemon"> \
<method name="Run" /> \
<method name="Quit" /> \
</interface> \
</node>';
const CaribouDaemonProxy = Gio.DBusProxy.makeProxyWrapper(CaribouDaemonIface);
const Key = new Lang.Class({ const Key = new Lang.Class({
Name: 'Key', Name: 'Key',
@ -188,18 +154,19 @@ const Key = new Lang.Class({
Signals.addSignalMethods(Key.prototype); Signals.addSignalMethods(Key.prototype);
const Keyboard = new Lang.Class({ const Keyboard = new Lang.Class({
// HACK: we can't set Name, because it collides with Name dbus property Name: 'Keyboard',
// Name: 'Keyboard',
_init: function () { _init: function () {
this._impl = Gio.DBusExportedObject.wrapJSObject(CaribouKeyboardIface, this);
this._impl.export(Gio.DBus.session, '/org/gnome/Caribou/Keyboard');
this.actor = null; this.actor = null;
this._focusInTray = false; this._focusInTray = false;
this._focusInExtendedKeys = false; this._focusInExtendedKeys = false;
this._timestamp = global.display.get_current_time_roundtrip(); this._focusCaretTracker = new FocusCaretTracker.FocusCaretTracker();
this._focusCaretTracker.connect('focus-changed', Lang.bind(this, this._onFocusChanged));
this._focusCaretTracker.connect('caret-moved', Lang.bind(this, this._onCaretMoved));
this._currentAccessible = null;
this._caretTrackingEnabled = false;
this._updateCaretPositionId = 0;
this._keyboardSettings = new Gio.Settings({ schema_id: KEYBOARD_SCHEMA }); this._keyboardSettings = new Gio.Settings({ schema_id: KEYBOARD_SCHEMA });
this._keyboardSettings.connect('changed', Lang.bind(this, this._sync)); this._keyboardSettings.connect('changed', Lang.bind(this, this._sync));
@ -208,9 +175,7 @@ const Keyboard = new Lang.Class({
this._daemonProxy = null; this._daemonProxy = null;
this._lastDeviceId = null; this._lastDeviceId = null;
if (Meta.is_wayland_compositor() && Caribou.DisplayAdapter.set_default(new LocalAdapter());
Caribou.DisplayAdapter.set_default)
Caribou.DisplayAdapter.set_default(new ShellWaylandAdapter());
Meta.get_backend().connect('last-device-changed', Lang.bind(this, Meta.get_backend().connect('last-device-changed', Lang.bind(this,
function (backend, deviceId) { function (backend, deviceId) {
@ -240,6 +205,93 @@ const Keyboard = new Lang.Class({
this._redraw(); this._redraw();
}, },
_setCaretTrackerEnabled: function (enabled) {
if (this._caretTrackingEnabled == enabled)
return;
this._caretTrackingEnabled = enabled;
if (enabled) {
this._focusCaretTracker.registerFocusListener();
this._focusCaretTracker.registerCaretListener();
} else {
this._focusCaretTracker.deregisterFocusListener();
this._focusCaretTracker.deregisterCaretListener();
}
},
_updateCaretPosition: function (accessible) {
if (this._updateCaretPositionId)
GLib.source_remove(this._updateCaretPositionId);
this._updateCaretPositionId = GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, Lang.bind(this, function() {
this._updateCaretPositionId = 0;
let currentWindow = global.screen.get_display().focus_window;
if (!currentWindow)
return GLib.SOURCE_REMOVE;
let windowRect = currentWindow.get_frame_rect();
let text = accessible.get_text_iface();
let component = accessible.get_component_iface();
try {
let caretOffset = text.get_caret_offset();
let caretRect = text.get_character_extents(caretOffset, Atspi.CoordType.WINDOW);
let focusRect = component.get_extents(Atspi.CoordType.WINDOW);
caretRect.x += windowRect.x;
caretRect.y += windowRect.y;
focusRect.x += windowRect.x;
focusRect.y += windowRect.y;
if (caretRect.width == 0 && caretRect.height == 0)
caretRect = focusRect;
this.setEntryLocation(focusRect.x, focusRect.y, focusRect.width, focusRect.height);
this.setCursorLocation(caretRect.x, caretRect.y, caretRect.width, caretRect.height);
} catch (e) {
log('Error updating caret position for OSK: ' + e.message);
}
return GLib.SOURCE_REMOVE;
}));
GLib.Source.set_name_by_id(this._updateCaretPositionId, '[gnome-shell] this._updateCaretPosition');
},
_focusIsTextEntry: function (accessible) {
try {
let role = accessible.get_role();
let stateSet = accessible.get_state_set();
return stateSet.contains(Atspi.StateType.EDITABLE) || role == Atspi.Role.TERMINAL;
} catch (e) {
log('Error determining accessible role: ' + e.message);
return false;
}
},
_onFocusChanged: function (caretTracker, event) {
let accessible = event.source;
if (!this._focusIsTextEntry(accessible))
return;
let focused = event.detail1 != 0;
if (focused) {
this._currentAccessible = accessible;
this._updateCaretPosition(accessible);
this.show(Main.layoutManager.focusIndex);
} else if (this._currentAccessible == accessible) {
this._currentAccessible = null;
this.hide();
}
},
_onCaretMoved: function (caretTracker, event) {
let accessible = event.source;
if (this._currentAccessible == accessible)
this._updateCaretPosition(accessible);
},
_lastDeviceIsTouchscreen: function () { _lastDeviceIsTouchscreen: function () {
if (!this._lastDeviceId) if (!this._lastDeviceId)
return false; return false;
@ -262,6 +314,8 @@ const Keyboard = new Lang.Class({
this._keyboard.keyboard_type == this._keyboardSettings.get_string(KEYBOARD_TYPE)) this._keyboard.keyboard_type == this._keyboardSettings.get_string(KEYBOARD_TYPE))
return; return;
this._setCaretTrackerEnabled(this._enableKeyboard);
if (this._keyboard) if (this._keyboard)
this._destroyKeyboard(); this._destroyKeyboard();
@ -297,23 +351,6 @@ const Keyboard = new Lang.Class({
}, },
_setupKeyboard: function() { _setupKeyboard: function() {
if (!this._daemonProxy) {
this._daemonProxy = new CaribouDaemonProxy(Gio.DBus.session, CARIBOU_BUS_NAME,
CARIBOU_OBJECT_PATH,
Lang.bind(this, function(proxy, error) {
if (error) {
log(error.message);
return;
}
}));
}
this._daemonProxy.RunRemote(function (result, error) {
if (error) {
log(error.message);
return;
}
});
this.actor = new St.BoxLayout({ name: 'keyboard', vertical: true, reactive: true }); this.actor = new St.BoxLayout({ name: 'keyboard', vertical: true, reactive: true });
Main.layoutManager.keyboardBox.add_actor(this.actor); Main.layoutManager.keyboardBox.add_actor(this.actor);
Main.layoutManager.trackChrome(this.actor); Main.layoutManager.trackChrome(this.actor);
@ -359,17 +396,17 @@ const Keyboard = new Lang.Class({
let time = global.get_current_time(); let time = global.get_current_time();
if (!(focus instanceof Clutter.Text)) { if (!(focus instanceof Clutter.Text)) {
this.Hide(time); this.hide();
return; return;
} }
if (!this._showIdleId) { if (!this._showIdleId) {
this._showIdleId = GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, this._showIdleId = GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE,
Lang.bind(this, function() { Lang.bind(this, function() {
this.Show(time); this.show(Main.layoutManager.focusIndex);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._showIdleId, '[gnome-shell] this.Show'); GLib.Source.set_name_by_id(this._showIdleId, '[gnome-shell] this.show');
} }
}, },
@ -581,6 +618,10 @@ const Keyboard = new Lang.Class({
}, },
show: function (monitor) { show: function (monitor) {
if (!this._enableKeyboard)
return;
this._clearShowIdle();
this._keyboardRequested = true; this._keyboardRequested = true;
if (this._keyboardVisible) { if (this._keyboardVisible) {
@ -613,6 +654,10 @@ const Keyboard = new Lang.Class({
}, },
hide: function () { hide: function () {
if (!this._enableKeyboard)
return;
this._clearShowIdle();
this._keyboardRequested = false; this._keyboardRequested = false;
if (!this._keyboardVisible) if (!this._keyboardVisible)
@ -664,20 +709,6 @@ const Keyboard = new Lang.Class({
this._moveTemporarily(); this._moveTemporarily();
}, },
// _compareTimestamp:
//
// Compare two timestamps taking into account
// CURRENT_TIME (0)
_compareTimestamp: function(one, two) {
if (one == two)
return 0;
if (one == Clutter.CURRENT_TIME)
return 1;
if (two == Clutter.CURRENT_TIME)
return -1;
return one - two;
},
_clearShowIdle: function() { _clearShowIdle: function() {
if (!this._showIdleId) if (!this._showIdleId)
return; return;
@ -685,52 +716,19 @@ const Keyboard = new Lang.Class({
this._showIdleId = 0; this._showIdleId = 0;
}, },
// D-Bus methods setCursorLocation: function(x, y, w, h) {
Show: function(timestamp) {
if (!this._enableKeyboard)
return;
if (this._compareTimestamp(timestamp, this._timestamp) < 0)
return;
this._clearShowIdle();
if (timestamp != Clutter.CURRENT_TIME)
this._timestamp = timestamp;
this.show(Main.layoutManager.focusIndex);
},
Hide: function(timestamp) {
if (!this._enableKeyboard)
return;
if (this._compareTimestamp(timestamp, this._timestamp) < 0)
return;
this._clearShowIdle();
if (timestamp != Clutter.CURRENT_TIME)
this._timestamp = timestamp;
this.hide();
},
SetCursorLocation: function(x, y, w, h) {
if (!this._enableKeyboard) if (!this._enableKeyboard)
return; return;
// this._setLocation(x, y); // this._setLocation(x, y);
}, },
SetEntryLocation: function(x, y, w, h) { setEntryLocation: function(x, y, w, h) {
if (!this._enableKeyboard) if (!this._enableKeyboard)
return; return;
// this._setLocation(x, y); // this._setLocation(x, y);
}, },
get Name() {
return 'gnome-shell';
}
}); });
const KeyboardSource = new Lang.Class({ const KeyboardSource = new Lang.Class({
@ -754,8 +752,8 @@ const KeyboardSource = new Lang.Class({
} }
}); });
const ShellWaylandAdapter = new Lang.Class({ const LocalAdapter = new Lang.Class({
Name: 'ShellWaylandAdapter', Name: 'LocalAdapter',
Extends: Caribou.XAdapter, Extends: Caribou.XAdapter,
_init: function () { _init: function () {

@ -833,19 +833,19 @@ const LookingGlass = new Lang.Class({
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;
})); }));
let gcIcon = new St.Icon({ icon_name: 'gnome-fs-trash-full', let gcIcon = new St.Icon({ icon_name: 'user-trash-full',
icon_size: 24 }); icon_size: 24 });
toolbar.add_actor(gcIcon); toolbar.add_actor(gcIcon);
gcIcon.reactive = true; gcIcon.reactive = true;
gcIcon.connect('button-press-event', Lang.bind(this, function () { gcIcon.connect('button-press-event', Lang.bind(this, function () {
gcIcon.icon_name = 'gnome-fs-trash-empty'; gcIcon.icon_name = 'user-trash';
System.gc(); System.gc();
this._timeoutId = Mainloop.timeout_add(500, Lang.bind(this, function () { this._timeoutId = Mainloop.timeout_add(500, Lang.bind(this, function () {
gcIcon.icon_name = 'gnome-fs-trash-full'; gcIcon.icon_name = 'user-trash-full';
this._timeoutId = 0; this._timeoutId = 0;
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] gcIcon.icon_name = \'gnome-fs-trash-full\''); GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] gcIcon.icon_name = \'user-trash-full\'');
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
})); }));

@ -120,6 +120,25 @@ const OsdMonitorLabeler = new Lang.Class({
} }
}, },
show2: function(client, params) {
if (!this._trackClient(client))
return;
this._reset();
for (let connector in params) {
let monitor = this._monitorManager.get_monitor_for_connector(connector);
if (monitor == -1)
continue;
this._monitorLabels.get(monitor).push(params[connector].deep_unpack());
}
for (let [monitor, labels] of this._monitorLabels.entries()) {
labels.sort();
this._osdLabels.push(new OsdMonitorLabel(monitor, labels.join(' ')));
}
},
hide: function(client) { hide: function(client) {
if (!this._untrackClient(client)) if (!this._untrackClient(client))
return; return;

@ -801,9 +801,11 @@ const Panel = new Lang.Class({
Main.overview.connect('showing', Lang.bind(this, function () { Main.overview.connect('showing', Lang.bind(this, function () {
this.actor.add_style_pseudo_class('overview'); this.actor.add_style_pseudo_class('overview');
this._updateSolidStyle();
})); }));
Main.overview.connect('hiding', Lang.bind(this, function () { Main.overview.connect('hiding', Lang.bind(this, function () {
this.actor.remove_style_pseudo_class('overview'); this.actor.remove_style_pseudo_class('overview');
this._updateSolidStyle();
})); }));
Main.layoutManager.panelBox.add(this.actor); Main.layoutManager.panelBox.add(this.actor);
@ -811,9 +813,26 @@ const Panel = new Lang.Class({
{ sortGroup: CtrlAltTab.SortGroup.TOP }); { sortGroup: CtrlAltTab.SortGroup.TOP });
Main.sessionMode.connect('updated', Lang.bind(this, this._updatePanel)); Main.sessionMode.connect('updated', Lang.bind(this, this._updatePanel));
this._trackedWindows = new Map();
global.window_group.connect('actor-added', Lang.bind(this, this._onWindowActorAdded));
global.window_group.connect('actor-removed', Lang.bind(this, this._onWindowActorRemoved));
global.window_manager.connect('switch-workspace', Lang.bind(this, this._updateSolidStyle));
this._updatePanel(); this._updatePanel();
}, },
_onWindowActorAdded: function(container, metaWindowActor) {
let signalId = metaWindowActor.connect('allocation-changed', Lang.bind(this, this._updateSolidStyle));
this._trackedWindows.set(metaWindowActor, signalId);
},
_onWindowActorRemoved: function(container, metaWindowActor) {
metaWindowActor.disconnect(this._trackedWindows.get(metaWindowActor));
this._trackedWindows.delete(metaWindowActor);
this._updateSolidStyle();
},
_getPreferredWidth: function(actor, forHeight, alloc) { _getPreferredWidth: function(actor, forHeight, alloc) {
alloc.min_size = -1; alloc.min_size = -1;
alloc.natural_size = Main.layoutManager.primaryMonitor.width; alloc.natural_size = Main.layoutManager.primaryMonitor.width;
@ -1012,6 +1031,36 @@ const Panel = new Lang.Class({
} }
}, },
_updateSolidStyle: function() {
if (this.actor.has_style_pseudo_class('overview') || !Main.sessionMode.hasWindows) {
this._removeStyleClassName('solid');
return;
}
/* Get all the windows in the active workspace that are in the primary monitor and visible */
let activeWorkspace = global.screen.get_active_workspace();
let windows = activeWorkspace.list_windows().filter(function(metaWindow) {
return metaWindow.is_on_primary_monitor() &&
metaWindow.showing_on_its_workspace() &&
metaWindow.get_window_type() != Meta.WindowType.DESKTOP;
});
/* Check if at least one window is near enough to the panel */
let [, panelTop] = this.actor.get_transformed_position();
let panelBottom = panelTop + this.actor.get_height();
let scale = St.ThemeContext.get_for_stage(global.stage).scale_factor;
let isNearEnough = windows.some(Lang.bind(this, function(metaWindow) {
let verticalPosition = metaWindow.get_frame_rect().y;
return verticalPosition < panelBottom + 5 * scale;
}));
if (isNearEnough)
this._addStyleClassName('solid');
else
this._removeStyleClassName('solid');
},
_hideIndicators: function() { _hideIndicators: function() {
for (let role in PANEL_ITEM_IMPLEMENTATIONS) { for (let role in PANEL_ITEM_IMPLEMENTATIONS) {
let indicator = this.statusArea[role]; let indicator = this.statusArea[role];

@ -2,6 +2,8 @@
const Clutter = imports.gi.Clutter; const Clutter = imports.gi.Clutter;
const Gtk = imports.gi.Gtk; const Gtk = imports.gi.Gtk;
const Gio = imports.gi.Gio;
const GObject = imports.gi.GObject;
const Lang = imports.lang; const Lang = imports.lang;
const Shell = imports.gi.Shell; const Shell = imports.gi.Shell;
const Signals = imports.signals; const Signals = imports.signals;
@ -389,20 +391,24 @@ const PopupImageMenuItem = new Lang.Class({
Name: 'PopupImageMenuItem', Name: 'PopupImageMenuItem',
Extends: PopupBaseMenuItem, Extends: PopupBaseMenuItem,
_init: function (text, iconName, params) { _init: function (text, icon, params) {
this.parent(params); this.parent(params);
this.label = new St.Label({ text: text });
this.actor.add_child(this.label);
this._icon = new St.Icon({ style_class: 'popup-menu-icon' }); this._icon = new St.Icon({ style_class: 'popup-menu-icon' });
this.actor.add_child(this._icon, { align: St.Align.END }); this.actor.add_child(this._icon, { align: St.Align.END });
this.label = new St.Label({ text: text });
this.actor.add_child(this.label);
this.actor.label_actor = this.label; this.actor.label_actor = this.label;
this.setIcon(iconName); this.setIcon(icon);
}, },
setIcon: function(name) { setIcon: function(icon) {
this._icon.icon_name = name; // The 'icon' parameter can be either a Gio.Icon or a string.
if (GObject.type_is_a(icon, Gio.Icon))
this._icon.gicon = icon;
else
this._icon.icon_name = icon;
} }
}); });
@ -461,8 +467,13 @@ const PopupMenuBase = new Lang.Class({
this._setSettingsVisibility(Main.sessionMode.allowSettings); this._setSettingsVisibility(Main.sessionMode.allowSettings);
}, },
addAction: function(title, callback) { addAction: function(title, callback, icon) {
let menuItem = new PopupMenuItem(title); let menuItem;
if (icon != undefined)
menuItem = new PopupImageMenuItem(title, icon);
else
menuItem = new PopupMenuItem(title);
this.addMenuItem(menuItem); this.addMenuItem(menuItem);
menuItem.connect('activate', Lang.bind(this, function (menuItem, event) { menuItem.connect('activate', Lang.bind(this, function (menuItem, event) {
callback(event); callback(event);

@ -278,7 +278,8 @@ const RemoteSearchProvider = new Lang.Class({
name: metas[i]['name'], name: metas[i]['name'],
description: metas[i]['description'], description: metas[i]['description'],
createIcon: Lang.bind(this, createIcon: Lang.bind(this,
this.createIcon, metas[i]) }); this.createIcon, metas[i]),
clipboardText: metas[i]['clipboardText'] });
} }
callback(resultMetas); callback(resultMetas);
}, },

@ -152,6 +152,8 @@ const SearchResultsBase = new Lang.Class({
this._resultDisplays = {}; this._resultDisplays = {};
this._clipboard = St.Clipboard.get_default();
this._cancellable = new Gio.Cancellable(); this._cancellable = new Gio.Cancellable();
}, },
@ -181,6 +183,8 @@ const SearchResultsBase = new Lang.Class({
_activateResult: function(result, id) { _activateResult: function(result, id) {
this.provider.activateResult(id, this._terms); this.provider.activateResult(id, this._terms);
if (result.metaInfo.clipboardText)
this._clipboard.set_text(St.ClipboardType.CLIPBOARD, result.metaInfo.clipboardText);
Main.overview.toggle(); Main.overview.toggle();
}, },

@ -28,6 +28,9 @@ const GnomeShellIface = '<node> \
<method name="ShowMonitorLabels"> \ <method name="ShowMonitorLabels"> \
<arg type="a{uv}" direction="in" name="params" /> \ <arg type="a{uv}" direction="in" name="params" /> \
</method> \ </method> \
<method name="ShowMonitorLabels2"> \
<arg type="a{sv}" direction="in" name="params" /> \
</method> \
<method name="HideMonitorLabels" /> \ <method name="HideMonitorLabels" /> \
<method name="FocusApp"> \ <method name="FocusApp"> \
<arg type="s" direction="in" name="id"/> \ <arg type="s" direction="in" name="id"/> \
@ -250,6 +253,12 @@ const GnomeShell = new Lang.Class({
Main.osdMonitorLabeler.show(sender, dict); Main.osdMonitorLabeler.show(sender, dict);
}, },
ShowMonitorLabels2Async: function(params, invocation) {
let sender = invocation.get_sender();
let [dict] = params;
Main.osdMonitorLabeler.show2(sender, dict);
},
HideMonitorLabelsAsync: function(params, invocation) { HideMonitorLabelsAsync: function(params, invocation) {
let sender = invocation.get_sender(); let sender = invocation.get_sender();
Main.osdMonitorLabeler.hide(sender); Main.osdMonitorLabeler.hide(sender);

@ -385,7 +385,7 @@ const SwitcherList = new Lang.Class({
let n = this._items.length; let n = this._items.length;
bbox.connect('clicked', Lang.bind(this, function() { this._onItemClicked(n); })); bbox.connect('clicked', Lang.bind(this, function() { this._onItemClicked(n); }));
bbox.connect('enter-event', Lang.bind(this, function() { this._onItemEnter(n); })); bbox.connect('motion-event', Lang.bind(this, function() { return this._onItemEnter(n); }));
bbox.label_actor = label; bbox.label_actor = label;
@ -399,7 +399,11 @@ const SwitcherList = new Lang.Class({
}, },
_onItemEnter: function (index) { _onItemEnter: function (index) {
this._itemEntered(index); // Avoid reentrancy
if (index != this._currentItemEntered) {
this._currentItemEntered = index;
this._itemEntered(index);
}
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
}, },

@ -1313,15 +1313,13 @@ const WindowManager = new Lang.Class({
return; return;
} }
if ((whichChange == Meta.SizeChange.FULLSCREEN || if (oldFrameRect.width > 0 && oldFrameRect.height > 0)
whichChange == Meta.SizeChange.UNFULLSCREEN) && this._prepareAnimationInfo(shellwm, actor, oldFrameRect, whichChange);
oldFrameRect.width > 0 && oldFrameRect.height > 0)
this._fullscreenAnimation(shellwm, actor, oldFrameRect, whichChange);
else else
shellwm.completed_size_change(actor); shellwm.completed_size_change(actor);
}, },
_fullscreenAnimation: function(shellwm, actor, oldFrameRect, change) { _prepareAnimationInfo: function(shellwm, actor, oldFrameRect, change) {
// Position a clone of the window on top of the old position, // Position a clone of the window on top of the old position,
// while actor updates are frozen. // while actor updates are frozen.
let actorContent = Shell.util_get_content_for_window_actor(actor, oldFrameRect); let actorContent = Shell.util_get_content_for_window_actor(actor, oldFrameRect);
@ -1331,26 +1329,25 @@ const WindowManager = new Lang.Class({
actorClone.set_size(oldFrameRect.width, oldFrameRect.height); actorClone.set_size(oldFrameRect.width, oldFrameRect.height);
Main.uiGroup.add_actor(actorClone); Main.uiGroup.add_actor(actorClone);
let rect = change == Meta.SizeChange.FULLSCREEN ? oldFrameRect : null; if (this._clearAnimationInfo(actor))
if (this._clearFullscreenInfo(actor))
this._shellwm.completed_size_change(actor); this._shellwm.completed_size_change(actor);
actor.__fullscreenInfo = { clone: actorClone, actor.__animationInfo = { clone: actorClone,
oldRect: rect }; oldRect: oldFrameRect };
}, },
_sizeChangedWindow: function(shellwm, actor) { _sizeChangedWindow: function(shellwm, actor) {
if (!actor.__fullscreenInfo) if (!actor.__animationInfo)
return; return;
if (this._resizing.indexOf(actor) != -1) if (this._resizing.indexOf(actor) != -1)
return; return;
let actorClone = actor.__fullscreenInfo.clone; let actorClone = actor.__animationInfo.clone;
let targetRect = actor.meta_window.get_frame_rect(); let targetRect = actor.meta_window.get_frame_rect();
let sourceRect = actor.__animationInfo.oldRect;
let scaleX = targetRect.width / actorClone.width; let scaleX = targetRect.width / sourceRect.width;
let scaleY = targetRect.height / actorClone.height; let scaleY = targetRect.height / sourceRect.height;
this._resizing.push(actor); this._resizing.push(actor);
@ -1365,15 +1362,8 @@ const WindowManager = new Lang.Class({
transition: 'easeOutQuad' transition: 'easeOutQuad'
}); });
let monitor = Main.layoutManager.monitors[actor.meta_window.get_monitor()]; actor.translation_x = -targetRect.x + sourceRect.x;
let oldRect = actor.__fullscreenInfo.oldRect; actor.translation_y = -targetRect.y + sourceRect.y;
if (oldRect) {
actor.translation_x = oldRect.x - monitor.x;
actor.translation_y = oldRect.y - monitor.y;
} else {
actor.translation_x = -(targetRect.x - monitor.x);
actor.translation_y = -(targetRect.y - monitor.y);
}
// Now set scale the actor to size it as the clone. // Now set scale the actor to size it as the clone.
actor.scale_x = 1 / scaleX; actor.scale_x = 1 / scaleX;
@ -1401,10 +1391,10 @@ const WindowManager = new Lang.Class({
shellwm.completed_size_change(actor); shellwm.completed_size_change(actor);
}, },
_clearFullscreenInfo: function(actor) { _clearAnimationInfo: function(actor) {
if (actor.__fullscreenInfo) { if (actor.__animationInfo) {
actor.__fullscreenInfo.clone.destroy(); actor.__animationInfo.clone.destroy();
delete actor.__fullscreenInfo; delete actor.__animationInfo;
return true; return true;
} }
return false; return false;
@ -1417,13 +1407,13 @@ const WindowManager = new Lang.Class({
actor.scale_y = 1.0; actor.scale_y = 1.0;
actor.translation_x = 0; actor.translation_x = 0;
actor.translation_y = 0; actor.translation_y = 0;
this._clearFullscreenInfo(actor); this._clearAnimationInfo(actor);
} }
}, },
_sizeChangeWindowOverwritten: function(shellwm, actor) { _sizeChangeWindowOverwritten: function(shellwm, actor) {
if (this._removeEffect(this._resizing, actor)) if (this._removeEffect(this._resizing, actor))
this._clearFullscreenInfo(actor); this._clearAnimationInfo(actor);
}, },
_hasAttachedDialogs: function(window, ignoreWindow) { _hasAttachedDialogs: function(window, ignoreWindow) {

1301
po/ar.po

File diff suppressed because it is too large Load Diff

489
po/ca.po

File diff suppressed because it is too large Load Diff

@ -22,7 +22,7 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-20 18:14+0000\n" "POT-Creation-Date: 2017-05-04 22:42+0000\n"
"PO-Revision-Date: 2017-03-21 19:33+0100\n" "PO-Revision-Date: 2017-03-21 19:33+0100\n"
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n" "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n" "Language-Team: Deutsch <gnome-de@gnome.org>\n"
@ -58,7 +58,7 @@ msgid "Open the application menu"
msgstr "Das Anwendungsmenü öffnen" msgstr "Das Anwendungsmenü öffnen"
#: data/gnome-shell-extension-prefs.desktop.in.in:4 #: data/gnome-shell-extension-prefs.desktop.in.in:4
#: js/extensionPrefs/main.js:149 #: js/extensionPrefs/main.js:152
msgid "Shell Extensions" msgid "Shell Extensions"
msgstr "Shell-Erweiterungen" msgstr "Shell-Erweiterungen"
@ -347,7 +347,7 @@ msgstr "Netzwerkanmeldung"
msgid "network-workgroup" msgid "network-workgroup"
msgstr "network-workgroup" msgstr "network-workgroup"
#: js/extensionPrefs/main.js:117 #: js/extensionPrefs/main.js:120
#, javascript-format #, javascript-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
msgstr "Beim Laden des Einstellungsdialogs für %s ist ein Fehler aufgetreten:" msgstr "Beim Laden des Einstellungsdialogs für %s ist ein Fehler aufgetreten:"
@ -433,7 +433,7 @@ msgstr "Ausführung von »%s« ist gescheitert:"
#: js/misc/util.js:180 #: js/misc/util.js:180
msgid "Just now" msgid "Just now"
msgstr "Genau jetzt" msgstr "Gerade eben"
#: js/misc/util.js:182 #: js/misc/util.js:182
#, javascript-format #, javascript-format
@ -553,11 +553,11 @@ msgid "%B %d %Y, %l%M %p"
msgstr "%e. %B %Y, %H:%M" msgstr "%e. %B %Y, %H:%M"
#. TRANSLATORS: this is the title of the wifi captive portal login window #. TRANSLATORS: this is the title of the wifi captive portal login window
#: js/portalHelper/main.js:67 #: js/portalHelper/main.js:66
msgid "Hotspot Login" msgid "Hotspot Login"
msgstr "Hotspot-Anmeldung" msgstr "Hotspot-Anmeldung"
#: js/portalHelper/main.js:113 #: js/portalHelper/main.js:112
msgid "" msgid ""
"Your connection to this hotspot login is not secure. Passwords or other " "Your connection to this hotspot login is not secure. Passwords or other "
"information you enter on this page can be viewed by people nearby." "information you enter on this page can be viewed by people nearby."
@ -847,7 +847,7 @@ msgstr "Passwort der mobilen Breitbandverbindung"
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "Es wird ein Passwort benötigt, um sich mit »%s« zu verbinden." msgstr "Es wird ein Passwort benötigt, um sich mit »%s« zu verbinden."
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1755 #: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1759
msgid "Network Manager" msgid "Network Manager"
msgstr "Netzwerk-Verwaltung" msgstr "Netzwerk-Verwaltung"
@ -879,7 +879,7 @@ msgstr ""
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s heißt jetzt %s" msgstr "%s heißt jetzt %s"
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:178 #: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:179
msgid "Windows" msgid "Windows"
msgstr "Fenster" msgstr "Fenster"
@ -1459,7 +1459,7 @@ msgstr "Einschalten"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181 #: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
#: js/ui/status/network.js:367 js/ui/status/network.js:1310 #: js/ui/status/network.js:367 js/ui/status/network.js:1310
#: js/ui/status/network.js:1425 js/ui/status/nightLight.js:47 #: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117 #: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
msgid "Turn Off" msgid "Turn Off"
msgstr "Ausschalten" msgstr "Ausschalten"
@ -1662,62 +1662,62 @@ msgstr "Hotspot %s eingeschaltet"
msgid "%s Not Connected" msgid "%s Not Connected"
msgstr "%s nicht verbunden" msgstr "%s nicht verbunden"
#: js/ui/status/network.js:1442 #: js/ui/status/network.js:1446
msgid "connecting…" msgid "connecting…"
msgstr "Verbindungsaufbau …" msgstr "Verbindungsaufbau …"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1445 #: js/ui/status/network.js:1449
msgid "authentication required" msgid "authentication required"
msgstr "Anmeldung erforderlich" msgstr "Anmeldung erforderlich"
#: js/ui/status/network.js:1447 #: js/ui/status/network.js:1451
msgid "connection failed" msgid "connection failed"
msgstr "Verbindung gescheitert" msgstr "Verbindung gescheitert"
#: js/ui/status/network.js:1513 js/ui/status/network.js:1608 #: js/ui/status/network.js:1517 js/ui/status/network.js:1612
#: js/ui/status/rfkill.js:93 #: js/ui/status/rfkill.js:93
msgid "Network Settings" msgid "Network Settings"
msgstr "Netzwerkeinstellungen" msgstr "Netzwerkeinstellungen"
#: js/ui/status/network.js:1515 #: js/ui/status/network.js:1519
msgid "VPN Settings" msgid "VPN Settings"
msgstr "VPN-Einstellungen" msgstr "VPN-Einstellungen"
#: js/ui/status/network.js:1534 #: js/ui/status/network.js:1538
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: js/ui/status/network.js:1544 #: js/ui/status/network.js:1548
msgid "VPN Off" msgid "VPN Off"
msgstr "VPN ausgeschaltet" msgstr "VPN ausgeschaltet"
#: js/ui/status/network.js:1639 #: js/ui/status/network.js:1643
#, javascript-format #, javascript-format
msgid "%s Wired Connection" msgid "%s Wired Connection"
msgid_plural "%s Wired Connections" msgid_plural "%s Wired Connections"
msgstr[0] "%s Kabelverbindung" msgstr[0] "%s Kabelverbindung"
msgstr[1] "%s Kabelverbindungen" msgstr[1] "%s Kabelverbindungen"
#: js/ui/status/network.js:1643 #: js/ui/status/network.js:1647
#, javascript-format #, javascript-format
msgid "%s Wi-Fi Connection" msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections" msgid_plural "%s Wi-Fi Connections"
msgstr[0] "%s Funknetzwerkverbindung" msgstr[0] "%s Funknetzwerkverbindung"
msgstr[1] "%s Funknetzwerkverbindungen" msgstr[1] "%s Funknetzwerkverbindungen"
#: js/ui/status/network.js:1647 #: js/ui/status/network.js:1651
#, javascript-format #, javascript-format
msgid "%s Modem Connection" msgid "%s Modem Connection"
msgid_plural "%s Modem Connections" msgid_plural "%s Modem Connections"
msgstr[0] "%s Modem-Verbindung" msgstr[0] "%s Modem-Verbindung"
msgstr[1] "%s Modem-Verbindungen" msgstr[1] "%s Modem-Verbindungen"
#: js/ui/status/network.js:1794 #: js/ui/status/network.js:1798
msgid "Connection failed" msgid "Connection failed"
msgstr "Verbindung gescheitert" msgstr "Verbindung gescheitert"
#: js/ui/status/network.js:1795 #: js/ui/status/network.js:1799
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Aktivierung der Netzwerkverbindung ist gescheitert" msgstr "Aktivierung der Netzwerkverbindung ist gescheitert"
@ -1815,11 +1815,11 @@ msgstr "Als anderer Benutzer anmelden"
msgid "Unlock Window" msgid "Unlock Window"
msgstr "Fenster entsperren" msgstr "Fenster entsperren"
#: js/ui/viewSelector.js:182 #: js/ui/viewSelector.js:183
msgid "Applications" msgid "Applications"
msgstr "Anwendungen" msgstr "Anwendungen"
#: js/ui/viewSelector.js:186 #: js/ui/viewSelector.js:187
msgid "Search" msgid "Search"
msgstr "Suchen" msgstr "Suchen"

830
po/el.po

File diff suppressed because it is too large Load Diff

777
po/hr.po

File diff suppressed because it is too large Load Diff

@ -12,8 +12,8 @@ msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-20 18:14+0000\n" "POT-Creation-Date: 2017-04-07 12:28+0000\n"
"PO-Revision-Date: 2017-03-21 08:58+0100\n" "PO-Revision-Date: 2017-04-11 08:40+0200\n"
"Last-Translator: Milo Casagrande <milo@milo.name>\n" "Last-Translator: Milo Casagrande <milo@milo.name>\n"
"Language-Team: Italiano <gnome-it-list@gnome.org>\n" "Language-Team: Italiano <gnome-it-list@gnome.org>\n"
"Language: it\n" "Language: it\n"
@ -63,12 +63,12 @@ msgstr "GNOME Shell"
#: data/org.gnome.Shell.desktop.in.in:5 #: data/org.gnome.Shell.desktop.in.in:5
msgid "Window management and application launching" msgid "Window management and application launching"
msgstr "Gestisce finestre e avvia applicazioni" msgstr "Gestione finestre e avvio applicazioni"
#: data/org.gnome.shell.gschema.xml.in:6 #: data/org.gnome.shell.gschema.xml.in:6
msgid "Enable internal tools useful for developers and testers from Alt-F2" msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "" msgstr ""
"Abilita gli strumenti interni utili a sviluppatori e beta-tester attraverso " "Abilita gli strumenti interni utili a sviluppatori e collaudatori attraverso "
"Alt-F2" "Alt-F2"
#: data/org.gnome.shell.gschema.xml.in:9 #: data/org.gnome.shell.gschema.xml.in:9
@ -110,7 +110,8 @@ msgstr ""
#: data/org.gnome.shell.gschema.xml.in:34 #: data/org.gnome.shell.gschema.xml.in:34
msgid "Disables the validation of extension version compatibility" msgid "Disables the validation of extension version compatibility"
msgstr "Disabilità convalida compatibilità versione estesioni" msgstr ""
"Disabilita la convalida della compatibilità con le versioni delle estensioni"
#: data/org.gnome.shell.gschema.xml.in:35 #: data/org.gnome.shell.gschema.xml.in:35
msgid "" msgid ""
@ -550,11 +551,11 @@ msgid "%B %d %Y, %l%M %p"
msgstr "%d %B %Y, %I%M %p" msgstr "%d %B %Y, %I%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login window #. TRANSLATORS: this is the title of the wifi captive portal login window
#: js/portalHelper/main.js:67 #: js/portalHelper/main.js:66
msgid "Hotspot Login" msgid "Hotspot Login"
msgstr "Accesso hotspot" msgstr "Accesso hotspot"
#: js/portalHelper/main.js:113 #: js/portalHelper/main.js:112
msgid "" msgid ""
"Your connection to this hotspot login is not secure. Passwords or other " "Your connection to this hotspot login is not secure. Passwords or other "
"information you enter on this page can be viewed by people nearby." "information you enter on this page can be viewed by people nearby."
@ -845,7 +846,7 @@ msgstr "Password rete mobile"
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "È richiesta una password per connettersi a «%s»." msgstr "È richiesta una password per connettersi a «%s»."
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1755 #: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1759
msgid "Network Manager" msgid "Network Manager"
msgstr "Gestore reti" msgstr "Gestore reti"
@ -876,7 +877,7 @@ msgstr "Errore nell'autenticazione. Provare di nuovo."
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s ha cambiato nome in %s" msgstr "%s ha cambiato nome in %s"
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:178 #: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:179
msgid "Windows" msgid "Windows"
msgstr "Finestre" msgstr "Finestre"
@ -1094,8 +1095,8 @@ msgstr ""
#: js/ui/endSessionDialog.js:361 #: js/ui/endSessionDialog.js:361
msgid "Running on battery power: please plug in before installing updates." msgid "Running on battery power: please plug in before installing updates."
msgstr "" msgstr ""
"In funzione con batteria: collegare l'alimentazione prima di installare gli " "Alimentazione da batteria: collegare alla rete elettrica prima di installare "
"aggiornamenti." "gli aggiornamenti."
#: js/ui/endSessionDialog.js:378 #: js/ui/endSessionDialog.js:378
msgid "Some applications are busy or have unsaved work." msgid "Some applications are busy or have unsaved work."
@ -1453,11 +1454,11 @@ msgstr "On"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310 #: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
msgid "Turn On" msgid "Turn On"
msgstr "Attiva" msgstr "Accendi"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181 #: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
#: js/ui/status/network.js:367 js/ui/status/network.js:1310 #: js/ui/status/network.js:367 js/ui/status/network.js:1310
#: js/ui/status/network.js:1425 js/ui/status/nightLight.js:47 #: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117 #: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
msgid "Turn Off" msgid "Turn Off"
msgstr "Spegni" msgstr "Spegni"
@ -1599,15 +1600,15 @@ msgstr "Connetti a Internet"
#: js/ui/status/network.js:844 #: js/ui/status/network.js:844
msgid "Airplane Mode is On" msgid "Airplane Mode is On"
msgstr "La modalità aereo è attiva" msgstr "La modalità aereo è accesa"
#: js/ui/status/network.js:845 #: js/ui/status/network.js:845
msgid "Wi-Fi is disabled when airplane mode is on." msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Il Wi-Fi è disabilitato quando la modalità aereo è attiva" msgstr "Il Wi-Fi è disabilitato quando la modalità aereo è accesa."
#: js/ui/status/network.js:846 #: js/ui/status/network.js:846
msgid "Turn Off Airplane Mode" msgid "Turn Off Airplane Mode"
msgstr "Disattiva modalità aereo" msgstr "Spegni modalità aereo"
#: js/ui/status/network.js:855 #: js/ui/status/network.js:855
msgid "Wi-Fi is Off" msgid "Wi-Fi is Off"
@ -1615,11 +1616,11 @@ msgstr "Il Wi-Fi è spento"
#: js/ui/status/network.js:856 #: js/ui/status/network.js:856
msgid "Wi-Fi needs to be turned on in order to connect to a network." msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "È necessario attivare il Wi-Fi per potersi connettere a una rete." msgstr "È necessario accendere il Wi-Fi per potersi connettere a una rete."
#: js/ui/status/network.js:857 #: js/ui/status/network.js:857
msgid "Turn On Wi-Fi" msgid "Turn On Wi-Fi"
msgstr "Attiva Wi-Fi" msgstr "Accendi Wi-Fi"
#: js/ui/status/network.js:882 #: js/ui/status/network.js:882
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
@ -1635,7 +1636,7 @@ msgstr "Nessuna rete"
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115 #: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "Usare l'interruttore hardware per disattivare" msgstr "Usare l'interruttore hardware per spegnere"
#: js/ui/status/network.js:1202 #: js/ui/status/network.js:1202
msgid "Select Network" msgid "Select Network"
@ -1657,62 +1658,62 @@ msgstr "Hotspot %s attivo"
msgid "%s Not Connected" msgid "%s Not Connected"
msgstr "%s non collegato" msgstr "%s non collegato"
#: js/ui/status/network.js:1442 #: js/ui/status/network.js:1446
msgid "connecting…" msgid "connecting…"
msgstr "connessione…" msgstr "connessione…"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1445 #: js/ui/status/network.js:1449
msgid "authentication required" msgid "authentication required"
msgstr "richiesta autenticazione" msgstr "richiesta autenticazione"
#: js/ui/status/network.js:1447 #: js/ui/status/network.js:1451
msgid "connection failed" msgid "connection failed"
msgstr "connessione non riuscita" msgstr "connessione non riuscita"
#: js/ui/status/network.js:1513 js/ui/status/network.js:1608 #: js/ui/status/network.js:1517 js/ui/status/network.js:1612
#: js/ui/status/rfkill.js:93 #: js/ui/status/rfkill.js:93
msgid "Network Settings" msgid "Network Settings"
msgstr "Impostazioni rete" msgstr "Impostazioni rete"
#: js/ui/status/network.js:1515 #: js/ui/status/network.js:1519
msgid "VPN Settings" msgid "VPN Settings"
msgstr "Impostazioni VPN" msgstr "Impostazioni VPN"
#: js/ui/status/network.js:1534 #: js/ui/status/network.js:1538
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: js/ui/status/network.js:1544 #: js/ui/status/network.js:1548
msgid "VPN Off" msgid "VPN Off"
msgstr "VPN spento" msgstr "VPN spenta"
#: js/ui/status/network.js:1639 #: js/ui/status/network.js:1643
#, javascript-format #, javascript-format
msgid "%s Wired Connection" msgid "%s Wired Connection"
msgid_plural "%s Wired Connections" msgid_plural "%s Wired Connections"
msgstr[0] "%s connessione via cavo" msgstr[0] "%s connessione via cavo"
msgstr[1] "%s connessioni via cavo" msgstr[1] "%s connessioni via cavo"
#: js/ui/status/network.js:1643 #: js/ui/status/network.js:1647
#, javascript-format #, javascript-format
msgid "%s Wi-Fi Connection" msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections" msgid_plural "%s Wi-Fi Connections"
msgstr[0] "%s connessione Wi-Fi" msgstr[0] "%s connessione Wi-Fi"
msgstr[1] "%s connessioni Wi-Fi" msgstr[1] "%s connessioni Wi-Fi"
#: js/ui/status/network.js:1647 #: js/ui/status/network.js:1651
#, javascript-format #, javascript-format
msgid "%s Modem Connection" msgid "%s Modem Connection"
msgid_plural "%s Modem Connections" msgid_plural "%s Modem Connections"
msgstr[0] "%s connessione modem" msgstr[0] "%s connessione modem"
msgstr[1] "%s connessioni modem" msgstr[1] "%s connessioni modem"
#: js/ui/status/network.js:1794 #: js/ui/status/network.js:1798
msgid "Connection failed" msgid "Connection failed"
msgstr "Connessione non riuscita" msgstr "Connessione non riuscita"
#: js/ui/status/network.js:1795 #: js/ui/status/network.js:1799
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Attivazione della connessione di rete non riuscita" msgstr "Attivazione della connessione di rete non riuscita"
@ -1769,7 +1770,7 @@ msgstr "%d%%"
#. changing the menu contents. #. changing the menu contents.
#: js/ui/status/rfkill.js:88 #: js/ui/status/rfkill.js:88
msgid "Airplane Mode On" msgid "Airplane Mode On"
msgstr "Modalità aereo attiva" msgstr "Modalità aereo accesa"
#: js/ui/status/system.js:378 #: js/ui/status/system.js:378
msgid "Switch User" msgid "Switch User"
@ -1811,11 +1812,11 @@ msgstr "Accedi come altro utente"
msgid "Unlock Window" msgid "Unlock Window"
msgstr "Sblocca finestra" msgstr "Sblocca finestra"
#: js/ui/viewSelector.js:182 #: js/ui/viewSelector.js:183
msgid "Applications" msgid "Applications"
msgstr "Applicazioni" msgstr "Applicazioni"
#: js/ui/viewSelector.js:186 #: js/ui/viewSelector.js:187
msgid "Search" msgid "Search"
msgstr "Cerca" msgstr "Cerca"
@ -1959,7 +1960,7 @@ msgstr "Modalità usata da GDM per la schermata d'accesso"
#: src/main.c:384 #: src/main.c:384
msgid "Use a specific mode, e.g. “gdm” for login screen" msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Usa una modalità specifica, p.e. \"gdm\" per la schermata di accesso" msgstr "Usa una modalità specifica, p.e. «gdm» per la schermata di accesso"
#: src/main.c:390 #: src/main.c:390
msgid "List possible modes" msgid "List possible modes"

234
po/sr.po

@ -11,17 +11,19 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-03 11:37+0000\n" "POT-Creation-Date: 2017-05-18 18:56+0000\n"
"PO-Revision-Date: 2017-03-05 05:41+0200\n" "PO-Revision-Date: 2017-05-18 22:42+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n" "Last-Translator: Марко М. Костић <marko.m.kostic@gmail.com>\n"
"Language-Team: Serbian <gnom@prevod.org>\n" "Language-Team: Serbian <gnom@prevod.org>\n"
"Language: sr\n" "Language: sr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : " "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n"
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
"X-Generator: Poedit 2.0.2\n"
"X-Poedit-Bookmarks: -1,167,-1,-1,-1,-1,-1,-1,-1,-1\n"
#: data/50-gnome-shell-system.xml:6 #: data/50-gnome-shell-system.xml:6
msgid "System" msgid "System"
@ -48,7 +50,7 @@ msgid "Open the application menu"
msgstr "Отворите изборник програма" msgstr "Отворите изборник програма"
#: data/gnome-shell-extension-prefs.desktop.in.in:4 #: data/gnome-shell-extension-prefs.desktop.in.in:4
#: js/extensionPrefs/main.js:149 #: js/extensionPrefs/main.js:152
msgid "Shell Extensions" msgid "Shell Extensions"
msgstr "Проширења шкољке" msgstr "Проширења шкољке"
@ -326,7 +328,7 @@ msgstr "Мрежна пријава"
msgid "network-workgroup" msgid "network-workgroup"
msgstr "network-workgroup" msgstr "network-workgroup"
#: js/extensionPrefs/main.js:117 #: js/extensionPrefs/main.js:120
#, javascript-format #, javascript-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
msgstr "Дошло је до грешке при учитавању прозорчета поставки за „%s“:" msgstr "Дошло је до грешке при учитавању прозорчета поставки за „%s“:"
@ -334,7 +336,7 @@ msgstr "Дошло је до грешке при учитавању прозор
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71 #: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179 #: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195 #: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:939 #: js/ui/shellMountOperation.js:399 js/ui/status/network.js:947
msgid "Cancel" msgid "Cancel"
msgstr "Откажи" msgstr "Откажи"
@ -382,7 +384,7 @@ msgstr "Корисник: "
msgid "Login Window" msgid "Login Window"
msgstr "Прозор за пријављивање" msgstr "Прозор за пријављивање"
#: js/gdm/util.js:341 #: js/gdm/util.js:342
msgid "Authentication error" msgid "Authentication error"
msgstr "Грешка потврђивања идентитета" msgstr "Грешка потврђивања идентитета"
@ -391,7 +393,7 @@ msgstr "Грешка потврђивања идентитета"
#. as a cue to display our own message. #. as a cue to display our own message.
#. Translators: this message is shown below the password entry field #. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead #. to indicate the user can swipe their finger instead
#: js/gdm/util.js:473 #: js/gdm/util.js:474
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(или превуците прст)" msgstr "(или превуците прст)"
@ -433,7 +435,6 @@ msgstr[2] "Пре %d сати"
msgstr[3] "Пре један сат" msgstr[3] "Пре један сат"
#: js/misc/util.js:188 #: js/misc/util.js:188
#| msgid "Yesterday, %H%M"
msgid "Yesterday" msgid "Yesterday"
msgstr "Јуче" msgstr "Јуче"
@ -544,11 +545,11 @@ msgid "%B %d %Y, %l%M %p"
msgstr "%d .%B %Y., %l%M %p" msgstr "%d .%B %Y., %l%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login window #. TRANSLATORS: this is the title of the wifi captive portal login window
#: js/portalHelper/main.js:67 #: js/portalHelper/main.js:66
msgid "Hotspot Login" msgid "Hotspot Login"
msgstr "Пријава на врућу тачку" msgstr "Пријава на врућу тачку"
#: js/portalHelper/main.js:113 #: js/portalHelper/main.js:112
msgid "" msgid ""
"Your connection to this hotspot login is not secure. Passwords or other " "Your connection to this hotspot login is not secure. Passwords or other "
"information you enter on this page can be viewed by people nearby." "information you enter on this page can be viewed by people nearby."
@ -558,11 +559,11 @@ msgstr ""
#. No support for non-modal system dialogs, so ignore the option #. No support for non-modal system dialogs, so ignore the option
#. let modal = options['modal'] || true; #. let modal = options['modal'] || true;
#: js/ui/accessDialog.js:62 js/ui/status/location.js:427 #: js/ui/accessDialog.js:62 js/ui/status/location.js:405
msgid "Deny Access" msgid "Deny Access"
msgstr "Забрани приступ" msgstr "Забрани приступ"
#: js/ui/accessDialog.js:63 js/ui/status/location.js:430 #: js/ui/accessDialog.js:63 js/ui/status/location.js:408
msgid "Grant Access" msgid "Grant Access"
msgstr "Дозволи приступ" msgstr "Дозволи приступ"
@ -762,7 +763,7 @@ msgid "Type again:"
msgstr "Упишите поново:" msgstr "Упишите поново:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272 #: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272
#: js/ui/status/network.js:366 js/ui/status/network.js:942 #: js/ui/status/network.js:366 js/ui/status/network.js:950
msgid "Connect" msgid "Connect"
msgstr "Повежи се" msgstr "Повежи се"
@ -836,7 +837,7 @@ msgstr "Лозинка мобилне широкопојасне мреже"
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "Потребна је лозинка за повезивање на „%s“." msgstr "Потребна је лозинка за повезивање на „%s“."
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1747 #: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1759
msgid "Network Manager" msgid "Network Manager"
msgstr "Управник мреже" msgstr "Управник мреже"
@ -862,12 +863,12 @@ msgstr "Погрешили сте! Покушајте поново."
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. #. IM name.
#: js/ui/components/telepathyClient.js:767 #: js/ui/components/telepathyClient.js:799
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "„%s“ је сада познат као „%s“" msgstr "„%s“ је сада познат као „%s“"
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:178 #: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:179
msgid "Windows" msgid "Windows"
msgstr "Прозори" msgstr "Прозори"
@ -933,24 +934,27 @@ msgstr "%s, затим %s касније."
#: js/ui/dateMenu.js:293 #: js/ui/dateMenu.js:293
#, javascript-format #, javascript-format
msgid "%s, then %s, followed by %s later." msgid "%s, then %s, followed by %s later."
msgstr "%s, затим %s, касније праћено %s." msgstr "%s, затим %s, а касније %s."
#: js/ui/dateMenu.js:300 #: js/ui/dateMenu.js:300
#| msgid "Searching…" msgid "Select a location…"
msgstr "Изаберите место…"
#: js/ui/dateMenu.js:303
msgid "Loading…" msgid "Loading…"
msgstr "Учитавам…" msgstr "Учитавам…"
#. Translators: %s is a temperature with unit, e.g. "23℃" #. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:306 #: js/ui/dateMenu.js:309
#, javascript-format #, javascript-format
msgid "Feels like %s." msgid "Feels like %s."
msgstr "Осећа се као %s." msgstr "Осећа се као %s."
#: js/ui/dateMenu.js:309 #: js/ui/dateMenu.js:312
msgid "Go online for weather information" msgid "Go online for weather information"
msgstr "Идите на мрежу за податке о временској прогнози." msgstr "Идите на мрежу за податке о временској прогнози."
#: js/ui/dateMenu.js:311 #: js/ui/dateMenu.js:314
msgid "Weather information is currently unavailable" msgid "Weather information is currently unavailable"
msgstr "Подаци о временској прогнози тренутно нису доступни." msgstr "Подаци о временској прогнози тренутно нису доступни."
@ -1135,51 +1139,51 @@ msgstr "Сакриј касету"
msgid "Status Icons" msgid "Status Icons"
msgstr "Иконице стања" msgstr "Иконице стања"
#: js/ui/lookingGlass.js:643 #: js/ui/lookingGlass.js:642
msgid "No extensions installed" msgid "No extensions installed"
msgstr "Нису инсталирана проширења" msgstr "Нису инсталирана проширења"
#. Translators: argument is an extension UUID. #. Translators: argument is an extension UUID.
#: js/ui/lookingGlass.js:697 #: js/ui/lookingGlass.js:696
#, javascript-format #, javascript-format
msgid "%s has not emitted any errors." msgid "%s has not emitted any errors."
msgstr "%s није објавио никакве грешке." msgstr "%s није објавио никакве грешке."
#: js/ui/lookingGlass.js:703 #: js/ui/lookingGlass.js:702
msgid "Hide Errors" msgid "Hide Errors"
msgstr "Сакриј грешке" msgstr "Сакриј грешке"
#: js/ui/lookingGlass.js:707 js/ui/lookingGlass.js:767 #: js/ui/lookingGlass.js:706 js/ui/lookingGlass.js:766
msgid "Show Errors" msgid "Show Errors"
msgstr "Прикажите грешке" msgstr "Прикажите грешке"
#: js/ui/lookingGlass.js:716 #: js/ui/lookingGlass.js:715
msgid "Enabled" msgid "Enabled"
msgstr "Укључено" msgstr "Укључено"
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: js/ui/lookingGlass.js:719 src/gvc/gvc-mixer-control.c:1866 #: js/ui/lookingGlass.js:718 src/gvc/gvc-mixer-control.c:1866
msgid "Disabled" msgid "Disabled"
msgstr "Искључено" msgstr "Искључено"
#: js/ui/lookingGlass.js:721 #: js/ui/lookingGlass.js:720
msgid "Error" msgid "Error"
msgstr "Грешка" msgstr "Грешка"
#: js/ui/lookingGlass.js:723 #: js/ui/lookingGlass.js:722
msgid "Out of date" msgid "Out of date"
msgstr "Изван датума" msgstr "Изван датума"
#: js/ui/lookingGlass.js:725 #: js/ui/lookingGlass.js:724
msgid "Downloading" msgid "Downloading"
msgstr "Преузимам" msgstr "Преузимам"
#: js/ui/lookingGlass.js:749 #: js/ui/lookingGlass.js:748
msgid "View Source" msgid "View Source"
msgstr "Прикажи код" msgstr "Прикажи код"
#: js/ui/lookingGlass.js:758 #: js/ui/lookingGlass.js:757
msgid "Web Page" msgid "Web Page"
msgstr "Веб страница" msgstr "Веб страница"
@ -1213,47 +1217,47 @@ msgstr "Преглед"
msgid "Type to search…" msgid "Type to search…"
msgstr "Упишите текст за претрагу…" msgstr "Упишите текст за претрагу…"
#: js/ui/padOsd.js:37 #: js/ui/padOsd.js:103
msgid "New shortcut…" msgid "New shortcut…"
msgstr "Нова пречица…" msgstr "Нова пречица…"
#: js/ui/padOsd.js:86 #: js/ui/padOsd.js:152
msgid "Application defined" msgid "Application defined"
msgstr "Дефинисани програм" msgstr "Дефинисани програм"
#: js/ui/padOsd.js:87 #: js/ui/padOsd.js:153
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Прикажи помоћ на екрану" msgstr "Прикажи помоћ на екрану"
#: js/ui/padOsd.js:88 #: js/ui/padOsd.js:154
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Промени монитор" msgstr "Промени монитор"
#: js/ui/padOsd.js:89 #: js/ui/padOsd.js:155
msgid "Assign keystroke" msgid "Assign keystroke"
msgstr "Додели тастер" msgstr "Додели тастер"
#: js/ui/padOsd.js:143 #: js/ui/padOsd.js:209
msgid "Done" msgid "Done"
msgstr "Готово" msgstr "Готово"
#: js/ui/padOsd.js:597 #: js/ui/padOsd.js:698
msgid "Edit…" msgid "Edit…"
msgstr "Уреди…" msgstr "Уреди…"
#: js/ui/padOsd.js:610 js/ui/padOsd.js:665 #: js/ui/padOsd.js:738 js/ui/padOsd.js:800
msgid "None" msgid "None"
msgstr "Ништа" msgstr "Ништа"
#: js/ui/padOsd.js:648 #: js/ui/padOsd.js:783
msgid "Press a button to configure" msgid "Press a button to configure"
msgstr "Притисните дугме да подесите" msgstr "Притисните дугме да подесите"
#: js/ui/padOsd.js:649 #: js/ui/padOsd.js:784
msgid "Press Esc to exit" msgid "Press Esc to exit"
msgstr "Притисните „Есц“ да изађете" msgstr "Притисните „Есц“ да изађете"
#: js/ui/padOsd.js:652 #: js/ui/padOsd.js:787
msgid "Press any key to exit" msgid "Press any key to exit"
msgstr "Притисните неки тастер да изађете" msgstr "Притисните неки тастер да изађете"
@ -1289,7 +1293,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command" msgid "Enter a Command"
msgstr "Унесите наредбу" msgstr "Унесите наредбу"
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:162 #: js/ui/runDialog.js:111 js/ui/windowMenu.js:160
msgid "Close" msgid "Close"
msgstr "Затвори" msgstr "Затвори"
@ -1303,11 +1307,11 @@ msgstr "Поновно покрећем…"
#. Translators: This is a time format for a date in #. Translators: This is a time format for a date in
#. long format #. long format
#: js/ui/screenShield.js:85 #: js/ui/screenShield.js:88
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d. %B" msgstr "%A, %d. %B"
#: js/ui/screenShield.js:144 #: js/ui/screenShield.js:147
#, javascript-format #, javascript-format
msgid "%d new message" msgid "%d new message"
msgid_plural "%d new messages" msgid_plural "%d new messages"
@ -1316,7 +1320,7 @@ msgstr[1] "%d нове поруке"
msgstr[2] "%d нових порука" msgstr[2] "%d нових порука"
msgstr[3] "%d нова порука" msgstr[3] "%d нова порука"
#: js/ui/screenShield.js:146 #: js/ui/screenShield.js:149
#, javascript-format #, javascript-format
msgid "%d new notification" msgid "%d new notification"
msgid_plural "%d new notifications" msgid_plural "%d new notifications"
@ -1325,11 +1329,11 @@ msgstr[1] "%d нова обавештења"
msgstr[2] "%d нових обавештења" msgstr[2] "%d нових обавештења"
msgstr[3] "%d ново обавештење" msgstr[3] "%d ново обавештење"
#: js/ui/screenShield.js:449 js/ui/status/system.js:409 #: js/ui/screenShield.js:452 js/ui/status/system.js:409
msgid "Lock" msgid "Lock"
msgstr "Закључај" msgstr "Закључај"
#: js/ui/screenShield.js:707 #: js/ui/screenShield.js:715
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "Гном мора да закључа екран" msgstr "Гном мора да закључа екран"
@ -1340,19 +1344,19 @@ msgstr "Гном мора да закључа екран"
#. #.
#. XXX: another option is to kick the user into the gdm login #. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs #. screen, where we're not affected by grabs
#: js/ui/screenShield.js:828 js/ui/screenShield.js:1295 #: js/ui/screenShield.js:836 js/ui/screenShield.js:1308
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Не могу да закључам" msgstr "Не могу да закључам"
#: js/ui/screenShield.js:829 js/ui/screenShield.js:1296 #: js/ui/screenShield.js:837 js/ui/screenShield.js:1309
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Неки програм је блокирао закључавање" msgstr "Неки програм је блокирао закључавање"
#: js/ui/search.js:617 #: js/ui/search.js:621
msgid "Searching…" msgid "Searching…"
msgstr "Тражим…" msgstr "Тражим…"
#: js/ui/search.js:619 #: js/ui/search.js:623
msgid "No results." msgid "No results."
msgstr "Нема одговарајућих резултата." msgstr "Нема одговарајућих резултата."
@ -1450,13 +1454,13 @@ msgstr "Искљ."
msgid "On" msgid "On"
msgstr "Укљ." msgstr "Укљ."
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1302 #: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
msgid "Turn On" msgid "Turn On"
msgstr "Укључи" msgstr "Укључи"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181 #: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
#: js/ui/status/network.js:367 js/ui/status/network.js:1302 #: js/ui/status/network.js:367 js/ui/status/network.js:1310
#: js/ui/status/network.js:1417 js/ui/status/nightLight.js:47 #: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117 #: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
msgid "Turn Off" msgid "Turn Off"
msgstr "Искључи" msgstr "Искључи"
@ -1469,37 +1473,37 @@ msgstr "Осветљеност"
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Покажи распоред тастатуре" msgstr "Покажи распоред тастатуре"
#: js/ui/status/location.js:107 js/ui/status/location.js:215 #: js/ui/status/location.js:88 js/ui/status/location.js:196
msgid "Location Enabled" msgid "Location Enabled"
msgstr "Одређивање места укључено" msgstr "Одређивање места укључено"
#: js/ui/status/location.js:108 js/ui/status/location.js:216 #: js/ui/status/location.js:89 js/ui/status/location.js:197
msgid "Disable" msgid "Disable"
msgstr "Искључи" msgstr "Искључи"
#: js/ui/status/location.js:109 #: js/ui/status/location.js:90
msgid "Privacy Settings" msgid "Privacy Settings"
msgstr "Подешавања приватности" msgstr "Подешавања приватности"
#: js/ui/status/location.js:214 #: js/ui/status/location.js:195
msgid "Location In Use" msgid "Location In Use"
msgstr "Одређивање места се користи" msgstr "Одређивање места се користи"
#: js/ui/status/location.js:218 #: js/ui/status/location.js:199
msgid "Location Disabled" msgid "Location Disabled"
msgstr "Одређивање места искључено" msgstr "Одређивање места искључено"
#: js/ui/status/location.js:219 #: js/ui/status/location.js:200
msgid "Enable" msgid "Enable"
msgstr "Укључи" msgstr "Укључи"
#. Translators: %s is an application name #. Translators: %s is an application name
#: js/ui/status/location.js:436 #: js/ui/status/location.js:414
#, javascript-format #, javascript-format
msgid "Give %s access to your location?" msgid "Give %s access to your location?"
msgstr "Да ли да „%s“ дам приступ вашем месту?" msgstr "Да ли да „%s“ дам приступ вашем месту?"
#: js/ui/status/location.js:438 #: js/ui/status/location.js:416
msgid "Location access can be changed at any time from the privacy settings." msgid "Location access can be changed at any time from the privacy settings."
msgstr "" msgstr ""
"Приступ месту можете да измените у било које време у подешавањима " "Приступ месту можете да измените у било које време у подешавањима "
@ -1510,7 +1514,7 @@ msgid "<unknown>"
msgstr "<непознато>" msgstr "<непознато>"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:465 js/ui/status/network.js:1331 #: js/ui/status/network.js:465 js/ui/status/network.js:1339
#, javascript-format #, javascript-format
msgid "%s Off" msgid "%s Off"
msgstr "%s искључено" msgstr "%s искључено"
@ -1536,7 +1540,7 @@ msgid "%s Disconnecting"
msgstr "%s прекидање везе у току" msgstr "%s прекидање везе у току"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:483 js/ui/status/network.js:1323 #: js/ui/status/network.js:483 js/ui/status/network.js:1331
#, javascript-format #, javascript-format
msgid "%s Connecting" msgid "%s Connecting"
msgstr "%s повезивање у току" msgstr "%s повезивање у току"
@ -1576,7 +1580,7 @@ msgid "Mobile Broadband Settings"
msgstr "Подешавања мобилне широкопојасне везе" msgstr "Подешавања мобилне широкопојасне везе"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:602 js/ui/status/network.js:1328 #: js/ui/status/network.js:602 js/ui/status/network.js:1336
#, javascript-format #, javascript-format
msgid "%s Hardware Disabled" msgid "%s Hardware Disabled"
msgstr "%s уређај искључен" msgstr "%s уређај искључен"
@ -1592,97 +1596,97 @@ msgstr "%s искључено"
msgid "Connect to Internet" msgid "Connect to Internet"
msgstr "Повежи се на Интернет" msgstr "Повежи се на Интернет"
#: js/ui/status/network.js:836 #: js/ui/status/network.js:844
msgid "Airplane Mode is On" msgid "Airplane Mode is On"
msgstr "Авионски режим рада је укључен" msgstr "Авионски режим рада је укључен"
#: js/ui/status/network.js:837 #: js/ui/status/network.js:845
msgid "Wi-Fi is disabled when airplane mode is on." msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Бежична веза је искључена када је укључен авионски режим рада." msgstr "Бежична веза је искључена када је укључен авионски режим рада."
#: js/ui/status/network.js:838 #: js/ui/status/network.js:846
msgid "Turn Off Airplane Mode" msgid "Turn Off Airplane Mode"
msgstr "Искључи авионски режим рада" msgstr "Искључи авионски режим рада"
#: js/ui/status/network.js:847 #: js/ui/status/network.js:855
msgid "Wi-Fi is Off" msgid "Wi-Fi is Off"
msgstr "Бежична веза је искључена" msgstr "Бежична веза је искључена"
#: js/ui/status/network.js:848 #: js/ui/status/network.js:856
msgid "Wi-Fi needs to be turned on in order to connect to a network." msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Бежична веза треба бити укључена да бисте се повезали на мрежу." msgstr "Бежична веза треба бити укључена да бисте се повезали на мрежу."
#: js/ui/status/network.js:849 #: js/ui/status/network.js:857
msgid "Turn On Wi-Fi" msgid "Turn On Wi-Fi"
msgstr "Укључи бежичну везу" msgstr "Укључи бежичну везу"
#: js/ui/status/network.js:874 #: js/ui/status/network.js:882
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Бежичне мреже" msgstr "Бежичне мреже"
#: js/ui/status/network.js:876 #: js/ui/status/network.js:884
msgid "Select a network" msgid "Select a network"
msgstr "Изаберите мрежу" msgstr "Изаберите мрежу"
#: js/ui/status/network.js:906 #: js/ui/status/network.js:914
msgid "No Networks" msgid "No Networks"
msgstr "Нема мрежа" msgstr "Нема мрежа"
#: js/ui/status/network.js:927 js/ui/status/rfkill.js:115 #: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "Користи физички прекидач за искључивање" msgstr "Користи физички прекидач за искључивање"
#: js/ui/status/network.js:1194 #: js/ui/status/network.js:1202
msgid "Select Network" msgid "Select Network"
msgstr "Изабери мрежу" msgstr "Изабери мрежу"
#: js/ui/status/network.js:1200 #: js/ui/status/network.js:1208
msgid "Wi-Fi Settings" msgid "Wi-Fi Settings"
msgstr "Подешавања бежичне везе" msgstr "Подешавања бежичне везе"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:1319 #: js/ui/status/network.js:1327
#, javascript-format #, javascript-format
msgid "%s Hotspot Active" msgid "%s Hotspot Active"
msgstr "%s хотспот укључен" msgstr "%s хотспот укључен"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:1334 #: js/ui/status/network.js:1342
#, javascript-format #, javascript-format
msgid "%s Not Connected" msgid "%s Not Connected"
msgstr "%s неповезано" msgstr "%s неповезано"
#: js/ui/status/network.js:1434 #: js/ui/status/network.js:1446
msgid "connecting…" msgid "connecting…"
msgstr "повезујем се…" msgstr "повезујем се…"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1437 #: js/ui/status/network.js:1449
msgid "authentication required" msgid "authentication required"
msgstr "потребна је пријава" msgstr "потребна је пријава"
#: js/ui/status/network.js:1439 #: js/ui/status/network.js:1451
msgid "connection failed" msgid "connection failed"
msgstr "повезивање није успело" msgstr "повезивање није успело"
#: js/ui/status/network.js:1505 js/ui/status/network.js:1600 #: js/ui/status/network.js:1517 js/ui/status/network.js:1612
#: js/ui/status/rfkill.js:93 #: js/ui/status/rfkill.js:93
msgid "Network Settings" msgid "Network Settings"
msgstr "Подешавања мреже" msgstr "Подешавања мреже"
#: js/ui/status/network.js:1507 #: js/ui/status/network.js:1519
msgid "VPN Settings" msgid "VPN Settings"
msgstr "ВПН подешавања" msgstr "ВПН подешавања"
#: js/ui/status/network.js:1526 #: js/ui/status/network.js:1538
msgid "VPN" msgid "VPN"
msgstr "ВПН" msgstr "ВПН"
#: js/ui/status/network.js:1536 #: js/ui/status/network.js:1548
msgid "VPN Off" msgid "VPN Off"
msgstr "Искључи ВПН" msgstr "Искључи ВПН"
#: js/ui/status/network.js:1631 #: js/ui/status/network.js:1643
#, javascript-format #, javascript-format
msgid "%s Wired Connection" msgid "%s Wired Connection"
msgid_plural "%s Wired Connections" msgid_plural "%s Wired Connections"
@ -1691,7 +1695,7 @@ msgstr[1] "%s жичане везе"
msgstr[2] "%s жичаних веза" msgstr[2] "%s жичаних веза"
msgstr[3] "%s жичана веза" msgstr[3] "%s жичана веза"
#: js/ui/status/network.js:1635 #: js/ui/status/network.js:1647
#, javascript-format #, javascript-format
msgid "%s Wi-Fi Connection" msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections" msgid_plural "%s Wi-Fi Connections"
@ -1700,7 +1704,7 @@ msgstr[1] "%s бежичне везе"
msgstr[2] "%s бежичних веза" msgstr[2] "%s бежичних веза"
msgstr[3] "%s бежична веза" msgstr[3] "%s бежична веза"
#: js/ui/status/network.js:1639 #: js/ui/status/network.js:1651
#, javascript-format #, javascript-format
msgid "%s Modem Connection" msgid "%s Modem Connection"
msgid_plural "%s Modem Connections" msgid_plural "%s Modem Connections"
@ -1709,11 +1713,11 @@ msgstr[1] "%s модемске везе"
msgstr[2] "%s модемских веза" msgstr[2] "%s модемских веза"
msgstr[3] "%s модемска веза" msgstr[3] "%s модемска веза"
#: js/ui/status/network.js:1786 #: js/ui/status/network.js:1798
msgid "Connection failed" msgid "Connection failed"
msgstr "Повезивање није успело" msgstr "Повезивање није успело"
#: js/ui/status/network.js:1787 #: js/ui/status/network.js:1799
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Активирање мрежне везе није успело" msgstr "Активирање мрежне везе није успело"
@ -1811,11 +1815,11 @@ msgstr "Пријавите се као други корисник"
msgid "Unlock Window" msgid "Unlock Window"
msgstr "Откључај прозор" msgstr "Откључај прозор"
#: js/ui/viewSelector.js:182 #: js/ui/viewSelector.js:183
msgid "Applications" msgid "Applications"
msgstr "Програми" msgstr "Програми"
#: js/ui/viewSelector.js:186 #: js/ui/viewSelector.js:187
msgid "Search" msgid "Search"
msgstr "Тражи" msgstr "Тражи"
@ -1824,22 +1828,22 @@ msgstr "Тражи"
msgid "“%s” is ready" msgid "“%s” is ready"
msgstr "„%s“ је спреман" msgstr "„%s“ је спреман"
#: js/ui/windowManager.js:83 #: js/ui/windowManager.js:84
msgid "Do you want to keep these display settings?" msgid "Do you want to keep these display settings?"
msgstr "Да ли желите да задржите ова подешавања екрана?" msgstr "Да ли желите да задржите ова подешавања екрана?"
#. Translators: this and the following message should be limited in lenght, #. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels. #. to avoid ellipsizing the labels.
#. #.
#: js/ui/windowManager.js:102 #: js/ui/windowManager.js:103
msgid "Revert Settings" msgid "Revert Settings"
msgstr "Врати подешавања" msgstr "Врати подешавања"
#: js/ui/windowManager.js:105 #: js/ui/windowManager.js:106
msgid "Keep Changes" msgid "Keep Changes"
msgstr "Задржи измене" msgstr "Задржи измене"
#: js/ui/windowManager.js:123 #: js/ui/windowManager.js:124
#, javascript-format #, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
@ -1850,7 +1854,7 @@ msgstr[3] "Измене подешавања ће бити враћене за %
#. Translators: This represents the size of a window. The first number is #. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. #. * the width of the window and the second is the height.
#: js/ui/windowManager.js:678 #: js/ui/windowManager.js:679
#, javascript-format #, javascript-format
msgid "%d × %d" msgid "%d × %d"
msgstr "%d × %d" msgstr "%d × %d"
@ -1887,35 +1891,35 @@ msgstr "Увек на врху"
msgid "Always on Visible Workspace" msgid "Always on Visible Workspace"
msgstr "Увек на приказаном радном простору" msgstr "Увек на приказаном радном простору"
#: js/ui/windowMenu.js:105 #: js/ui/windowMenu.js:103
msgid "Move to Workspace Left" msgid "Move to Workspace Left"
msgstr "Премести на леви радни простор" msgstr "Премести на леви радни простор"
#: js/ui/windowMenu.js:110 #: js/ui/windowMenu.js:108
msgid "Move to Workspace Right" msgid "Move to Workspace Right"
msgstr "Премести на десни радни простор" msgstr "Премести на десни радни простор"
#: js/ui/windowMenu.js:115 #: js/ui/windowMenu.js:113
msgid "Move to Workspace Up" msgid "Move to Workspace Up"
msgstr "Премести на радни простор горе" msgstr "Премести на радни простор горе"
#: js/ui/windowMenu.js:120 #: js/ui/windowMenu.js:118
msgid "Move to Workspace Down" msgid "Move to Workspace Down"
msgstr "Премести на радни простор доле" msgstr "Премести на радни простор доле"
#: js/ui/windowMenu.js:136 #: js/ui/windowMenu.js:134
msgid "Move to Monitor Up" msgid "Move to Monitor Up"
msgstr "Премести на горњи радни простор" msgstr "Премести на горњи радни простор"
#: js/ui/windowMenu.js:142 #: js/ui/windowMenu.js:140
msgid "Move to Monitor Down" msgid "Move to Monitor Down"
msgstr "Премести на доњи радни простор" msgstr "Премести на доњи радни простор"
#: js/ui/windowMenu.js:148 #: js/ui/windowMenu.js:146
msgid "Move to Monitor Left" msgid "Move to Monitor Left"
msgstr "Премести екран улево" msgstr "Премести екран улево"
#: js/ui/windowMenu.js:154 #: js/ui/windowMenu.js:152
msgid "Move to Monitor Right" msgid "Move to Monitor Right"
msgstr "Премести екран удесно" msgstr "Премести екран удесно"
@ -1954,19 +1958,19 @@ msgstr[3] "%u улаз"
msgid "System Sounds" msgid "System Sounds"
msgstr "Системски звуци" msgstr "Системски звуци"
#: src/main.c:381 #: src/main.c:372
msgid "Print version" msgid "Print version"
msgstr "Исписује издање" msgstr "Исписује издање"
#: src/main.c:387 #: src/main.c:378
msgid "Mode used by GDM for login screen" msgid "Mode used by GDM for login screen"
msgstr "Који режим користи ГДМ за екран пријављивања" msgstr "Који режим користи ГДМ за екран пријављивања"
#: src/main.c:393 #: src/main.c:384
msgid "Use a specific mode, e.g. “gdm” for login screen" msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Користи нарочит режим, нпр. „gdm“ за екран пријављивања" msgstr "Користи нарочит режим, нпр. „gdm“ за екран пријављивања"
#: src/main.c:399 #: src/main.c:390
msgid "List possible modes" msgid "List possible modes"
msgstr "Исписује могуће режиме" msgstr "Исписује могуће режиме"

@ -11,17 +11,19 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-03 11:37+0000\n" "POT-Creation-Date: 2017-05-18 18:56+0000\n"
"PO-Revision-Date: 2017-03-05 05:41+0200\n" "PO-Revision-Date: 2017-05-18 22:42+0200\n"
"Last-Translator: Miroslav Nikolić <miroslavnikolic@rocketmail.com>\n" "Last-Translator: Marko M. Kostić <marko.m.kostic@gmail.com>\n"
"Language-Team: Serbian <gnom@prevod.org>\n" "Language-Team: Serbian <gnom@prevod.org>\n"
"Language: sr\n" "Language: sr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : " "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n"
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
"X-Generator: Poedit 2.0.2\n"
"X-Poedit-Bookmarks: -1,167,-1,-1,-1,-1,-1,-1,-1,-1\n"
#: data/50-gnome-shell-system.xml:6 #: data/50-gnome-shell-system.xml:6
msgid "System" msgid "System"
@ -48,7 +50,7 @@ msgid "Open the application menu"
msgstr "Otvorite izbornik programa" msgstr "Otvorite izbornik programa"
#: data/gnome-shell-extension-prefs.desktop.in.in:4 #: data/gnome-shell-extension-prefs.desktop.in.in:4
#: js/extensionPrefs/main.js:149 #: js/extensionPrefs/main.js:152
msgid "Shell Extensions" msgid "Shell Extensions"
msgstr "Proširenja školjke" msgstr "Proširenja školjke"
@ -326,7 +328,7 @@ msgstr "Mrežna prijava"
msgid "network-workgroup" msgid "network-workgroup"
msgstr "network-workgroup" msgstr "network-workgroup"
#: js/extensionPrefs/main.js:117 #: js/extensionPrefs/main.js:120
#, javascript-format #, javascript-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
msgstr "Došlo je do greške pri učitavanju prozorčeta postavki za „%s“:" msgstr "Došlo je do greške pri učitavanju prozorčeta postavki za „%s“:"
@ -334,7 +336,7 @@ msgstr "Došlo je do greške pri učitavanju prozorčeta postavki za „%s“:"
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71 #: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179 #: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195 #: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:939 #: js/ui/shellMountOperation.js:399 js/ui/status/network.js:947
msgid "Cancel" msgid "Cancel"
msgstr "Otkaži" msgstr "Otkaži"
@ -382,7 +384,7 @@ msgstr "Korisnik: "
msgid "Login Window" msgid "Login Window"
msgstr "Prozor za prijavljivanje" msgstr "Prozor za prijavljivanje"
#: js/gdm/util.js:341 #: js/gdm/util.js:342
msgid "Authentication error" msgid "Authentication error"
msgstr "Greška potvrđivanja identiteta" msgstr "Greška potvrđivanja identiteta"
@ -391,7 +393,7 @@ msgstr "Greška potvrđivanja identiteta"
#. as a cue to display our own message. #. as a cue to display our own message.
#. Translators: this message is shown below the password entry field #. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead #. to indicate the user can swipe their finger instead
#: js/gdm/util.js:473 #: js/gdm/util.js:474
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(ili prevucite prst)" msgstr "(ili prevucite prst)"
@ -433,7 +435,6 @@ msgstr[2] "Pre %d sati"
msgstr[3] "Pre jedan sat" msgstr[3] "Pre jedan sat"
#: js/misc/util.js:188 #: js/misc/util.js:188
#| msgid "Yesterday, %H%M"
msgid "Yesterday" msgid "Yesterday"
msgstr "Juče" msgstr "Juče"
@ -544,11 +545,11 @@ msgid "%B %d %Y, %l%M %p"
msgstr "%d .%B %Y., %l%M %p" msgstr "%d .%B %Y., %l%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login window #. TRANSLATORS: this is the title of the wifi captive portal login window
#: js/portalHelper/main.js:67 #: js/portalHelper/main.js:66
msgid "Hotspot Login" msgid "Hotspot Login"
msgstr "Prijava na vruću tačku" msgstr "Prijava na vruću tačku"
#: js/portalHelper/main.js:113 #: js/portalHelper/main.js:112
msgid "" msgid ""
"Your connection to this hotspot login is not secure. Passwords or other " "Your connection to this hotspot login is not secure. Passwords or other "
"information you enter on this page can be viewed by people nearby." "information you enter on this page can be viewed by people nearby."
@ -558,11 +559,11 @@ msgstr ""
#. No support for non-modal system dialogs, so ignore the option #. No support for non-modal system dialogs, so ignore the option
#. let modal = options['modal'] || true; #. let modal = options['modal'] || true;
#: js/ui/accessDialog.js:62 js/ui/status/location.js:427 #: js/ui/accessDialog.js:62 js/ui/status/location.js:405
msgid "Deny Access" msgid "Deny Access"
msgstr "Zabrani pristup" msgstr "Zabrani pristup"
#: js/ui/accessDialog.js:63 js/ui/status/location.js:430 #: js/ui/accessDialog.js:63 js/ui/status/location.js:408
msgid "Grant Access" msgid "Grant Access"
msgstr "Dozvoli pristup" msgstr "Dozvoli pristup"
@ -762,7 +763,7 @@ msgid "Type again:"
msgstr "Upišite ponovo:" msgstr "Upišite ponovo:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272 #: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272
#: js/ui/status/network.js:366 js/ui/status/network.js:942 #: js/ui/status/network.js:366 js/ui/status/network.js:950
msgid "Connect" msgid "Connect"
msgstr "Poveži se" msgstr "Poveži se"
@ -836,7 +837,7 @@ msgstr "Lozinka mobilne širokopojasne mreže"
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "Potrebna je lozinka za povezivanje na „%s“." msgstr "Potrebna je lozinka za povezivanje na „%s“."
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1747 #: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1759
msgid "Network Manager" msgid "Network Manager"
msgstr "Upravnik mreže" msgstr "Upravnik mreže"
@ -862,12 +863,12 @@ msgstr "Pogrešili ste! Pokušajte ponovo."
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. #. IM name.
#: js/ui/components/telepathyClient.js:767 #: js/ui/components/telepathyClient.js:799
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "„%s“ je sada poznat kao „%s“" msgstr "„%s“ je sada poznat kao „%s“"
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:178 #: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:179
msgid "Windows" msgid "Windows"
msgstr "Prozori" msgstr "Prozori"
@ -933,24 +934,27 @@ msgstr "%s, zatim %s kasnije."
#: js/ui/dateMenu.js:293 #: js/ui/dateMenu.js:293
#, javascript-format #, javascript-format
msgid "%s, then %s, followed by %s later." msgid "%s, then %s, followed by %s later."
msgstr "%s, zatim %s, kasnije praćeno %s." msgstr "%s, zatim %s, a kasnije %s."
#: js/ui/dateMenu.js:300 #: js/ui/dateMenu.js:300
#| msgid "Searching…" msgid "Select a location…"
msgstr "Izaberite mesto…"
#: js/ui/dateMenu.js:303
msgid "Loading…" msgid "Loading…"
msgstr "Učitavam…" msgstr "Učitavam…"
#. Translators: %s is a temperature with unit, e.g. "23℃" #. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:306 #: js/ui/dateMenu.js:309
#, javascript-format #, javascript-format
msgid "Feels like %s." msgid "Feels like %s."
msgstr "Oseća se kao %s." msgstr "Oseća se kao %s."
#: js/ui/dateMenu.js:309 #: js/ui/dateMenu.js:312
msgid "Go online for weather information" msgid "Go online for weather information"
msgstr "Idite na mrežu za podatke o vremenskoj prognozi." msgstr "Idite na mrežu za podatke o vremenskoj prognozi."
#: js/ui/dateMenu.js:311 #: js/ui/dateMenu.js:314
msgid "Weather information is currently unavailable" msgid "Weather information is currently unavailable"
msgstr "Podaci o vremenskoj prognozi trenutno nisu dostupni." msgstr "Podaci o vremenskoj prognozi trenutno nisu dostupni."
@ -1135,51 +1139,51 @@ msgstr "Sakrij kasetu"
msgid "Status Icons" msgid "Status Icons"
msgstr "Ikonice stanja" msgstr "Ikonice stanja"
#: js/ui/lookingGlass.js:643 #: js/ui/lookingGlass.js:642
msgid "No extensions installed" msgid "No extensions installed"
msgstr "Nisu instalirana proširenja" msgstr "Nisu instalirana proširenja"
#. Translators: argument is an extension UUID. #. Translators: argument is an extension UUID.
#: js/ui/lookingGlass.js:697 #: js/ui/lookingGlass.js:696
#, javascript-format #, javascript-format
msgid "%s has not emitted any errors." msgid "%s has not emitted any errors."
msgstr "%s nije objavio nikakve greške." msgstr "%s nije objavio nikakve greške."
#: js/ui/lookingGlass.js:703 #: js/ui/lookingGlass.js:702
msgid "Hide Errors" msgid "Hide Errors"
msgstr "Sakrij greške" msgstr "Sakrij greške"
#: js/ui/lookingGlass.js:707 js/ui/lookingGlass.js:767 #: js/ui/lookingGlass.js:706 js/ui/lookingGlass.js:766
msgid "Show Errors" msgid "Show Errors"
msgstr "Prikažite greške" msgstr "Prikažite greške"
#: js/ui/lookingGlass.js:716 #: js/ui/lookingGlass.js:715
msgid "Enabled" msgid "Enabled"
msgstr "Uključeno" msgstr "Uključeno"
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: js/ui/lookingGlass.js:719 src/gvc/gvc-mixer-control.c:1866 #: js/ui/lookingGlass.js:718 src/gvc/gvc-mixer-control.c:1866
msgid "Disabled" msgid "Disabled"
msgstr "Isključeno" msgstr "Isključeno"
#: js/ui/lookingGlass.js:721 #: js/ui/lookingGlass.js:720
msgid "Error" msgid "Error"
msgstr "Greška" msgstr "Greška"
#: js/ui/lookingGlass.js:723 #: js/ui/lookingGlass.js:722
msgid "Out of date" msgid "Out of date"
msgstr "Izvan datuma" msgstr "Izvan datuma"
#: js/ui/lookingGlass.js:725 #: js/ui/lookingGlass.js:724
msgid "Downloading" msgid "Downloading"
msgstr "Preuzimam" msgstr "Preuzimam"
#: js/ui/lookingGlass.js:749 #: js/ui/lookingGlass.js:748
msgid "View Source" msgid "View Source"
msgstr "Prikaži kod" msgstr "Prikaži kod"
#: js/ui/lookingGlass.js:758 #: js/ui/lookingGlass.js:757
msgid "Web Page" msgid "Web Page"
msgstr "Veb stranica" msgstr "Veb stranica"
@ -1213,47 +1217,47 @@ msgstr "Pregled"
msgid "Type to search…" msgid "Type to search…"
msgstr "Upišite tekst za pretragu…" msgstr "Upišite tekst za pretragu…"
#: js/ui/padOsd.js:37 #: js/ui/padOsd.js:103
msgid "New shortcut…" msgid "New shortcut…"
msgstr "Nova prečica…" msgstr "Nova prečica…"
#: js/ui/padOsd.js:86 #: js/ui/padOsd.js:152
msgid "Application defined" msgid "Application defined"
msgstr "Definisani program" msgstr "Definisani program"
#: js/ui/padOsd.js:87 #: js/ui/padOsd.js:153
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Prikaži pomoć na ekranu" msgstr "Prikaži pomoć na ekranu"
#: js/ui/padOsd.js:88 #: js/ui/padOsd.js:154
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Promeni monitor" msgstr "Promeni monitor"
#: js/ui/padOsd.js:89 #: js/ui/padOsd.js:155
msgid "Assign keystroke" msgid "Assign keystroke"
msgstr "Dodeli taster" msgstr "Dodeli taster"
#: js/ui/padOsd.js:143 #: js/ui/padOsd.js:209
msgid "Done" msgid "Done"
msgstr "Gotovo" msgstr "Gotovo"
#: js/ui/padOsd.js:597 #: js/ui/padOsd.js:698
msgid "Edit…" msgid "Edit…"
msgstr "Uredi…" msgstr "Uredi…"
#: js/ui/padOsd.js:610 js/ui/padOsd.js:665 #: js/ui/padOsd.js:738 js/ui/padOsd.js:800
msgid "None" msgid "None"
msgstr "Ništa" msgstr "Ništa"
#: js/ui/padOsd.js:648 #: js/ui/padOsd.js:783
msgid "Press a button to configure" msgid "Press a button to configure"
msgstr "Pritisnite dugme da podesite" msgstr "Pritisnite dugme da podesite"
#: js/ui/padOsd.js:649 #: js/ui/padOsd.js:784
msgid "Press Esc to exit" msgid "Press Esc to exit"
msgstr "Pritisnite „Esc“ da izađete" msgstr "Pritisnite „Esc“ da izađete"
#: js/ui/padOsd.js:652 #: js/ui/padOsd.js:787
msgid "Press any key to exit" msgid "Press any key to exit"
msgstr "Pritisnite neki taster da izađete" msgstr "Pritisnite neki taster da izađete"
@ -1289,7 +1293,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command" msgid "Enter a Command"
msgstr "Unesite naredbu" msgstr "Unesite naredbu"
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:162 #: js/ui/runDialog.js:111 js/ui/windowMenu.js:160
msgid "Close" msgid "Close"
msgstr "Zatvori" msgstr "Zatvori"
@ -1303,11 +1307,11 @@ msgstr "Ponovno pokrećem…"
#. Translators: This is a time format for a date in #. Translators: This is a time format for a date in
#. long format #. long format
#: js/ui/screenShield.js:85 #: js/ui/screenShield.js:88
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d. %B" msgstr "%A, %d. %B"
#: js/ui/screenShield.js:144 #: js/ui/screenShield.js:147
#, javascript-format #, javascript-format
msgid "%d new message" msgid "%d new message"
msgid_plural "%d new messages" msgid_plural "%d new messages"
@ -1316,7 +1320,7 @@ msgstr[1] "%d nove poruke"
msgstr[2] "%d novih poruka" msgstr[2] "%d novih poruka"
msgstr[3] "%d nova poruka" msgstr[3] "%d nova poruka"
#: js/ui/screenShield.js:146 #: js/ui/screenShield.js:149
#, javascript-format #, javascript-format
msgid "%d new notification" msgid "%d new notification"
msgid_plural "%d new notifications" msgid_plural "%d new notifications"
@ -1325,11 +1329,11 @@ msgstr[1] "%d nova obaveštenja"
msgstr[2] "%d novih obaveštenja" msgstr[2] "%d novih obaveštenja"
msgstr[3] "%d novo obaveštenje" msgstr[3] "%d novo obaveštenje"
#: js/ui/screenShield.js:449 js/ui/status/system.js:409 #: js/ui/screenShield.js:452 js/ui/status/system.js:409
msgid "Lock" msgid "Lock"
msgstr "Zaključaj" msgstr "Zaključaj"
#: js/ui/screenShield.js:707 #: js/ui/screenShield.js:715
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "Gnom mora da zaključa ekran" msgstr "Gnom mora da zaključa ekran"
@ -1340,19 +1344,19 @@ msgstr "Gnom mora da zaključa ekran"
#. #.
#. XXX: another option is to kick the user into the gdm login #. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs #. screen, where we're not affected by grabs
#: js/ui/screenShield.js:828 js/ui/screenShield.js:1295 #: js/ui/screenShield.js:836 js/ui/screenShield.js:1308
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Ne mogu da zaključam" msgstr "Ne mogu da zaključam"
#: js/ui/screenShield.js:829 js/ui/screenShield.js:1296 #: js/ui/screenShield.js:837 js/ui/screenShield.js:1309
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Neki program je blokirao zaključavanje" msgstr "Neki program je blokirao zaključavanje"
#: js/ui/search.js:617 #: js/ui/search.js:621
msgid "Searching…" msgid "Searching…"
msgstr "Tražim…" msgstr "Tražim…"
#: js/ui/search.js:619 #: js/ui/search.js:623
msgid "No results." msgid "No results."
msgstr "Nema odgovarajućih rezultata." msgstr "Nema odgovarajućih rezultata."
@ -1450,13 +1454,13 @@ msgstr "Isklj."
msgid "On" msgid "On"
msgstr "Uklj." msgstr "Uklj."
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1302 #: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
msgid "Turn On" msgid "Turn On"
msgstr "Uključi" msgstr "Uključi"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181 #: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
#: js/ui/status/network.js:367 js/ui/status/network.js:1302 #: js/ui/status/network.js:367 js/ui/status/network.js:1310
#: js/ui/status/network.js:1417 js/ui/status/nightLight.js:47 #: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117 #: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
msgid "Turn Off" msgid "Turn Off"
msgstr "Isključi" msgstr "Isključi"
@ -1469,37 +1473,37 @@ msgstr "Osvetljenost"
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Pokaži raspored tastature" msgstr "Pokaži raspored tastature"
#: js/ui/status/location.js:107 js/ui/status/location.js:215 #: js/ui/status/location.js:88 js/ui/status/location.js:196
msgid "Location Enabled" msgid "Location Enabled"
msgstr "Određivanje mesta uključeno" msgstr "Određivanje mesta uključeno"
#: js/ui/status/location.js:108 js/ui/status/location.js:216 #: js/ui/status/location.js:89 js/ui/status/location.js:197
msgid "Disable" msgid "Disable"
msgstr "Isključi" msgstr "Isključi"
#: js/ui/status/location.js:109 #: js/ui/status/location.js:90
msgid "Privacy Settings" msgid "Privacy Settings"
msgstr "Podešavanja privatnosti" msgstr "Podešavanja privatnosti"
#: js/ui/status/location.js:214 #: js/ui/status/location.js:195
msgid "Location In Use" msgid "Location In Use"
msgstr "Određivanje mesta se koristi" msgstr "Određivanje mesta se koristi"
#: js/ui/status/location.js:218 #: js/ui/status/location.js:199
msgid "Location Disabled" msgid "Location Disabled"
msgstr "Određivanje mesta isključeno" msgstr "Određivanje mesta isključeno"
#: js/ui/status/location.js:219 #: js/ui/status/location.js:200
msgid "Enable" msgid "Enable"
msgstr "Uključi" msgstr "Uključi"
#. Translators: %s is an application name #. Translators: %s is an application name
#: js/ui/status/location.js:436 #: js/ui/status/location.js:414
#, javascript-format #, javascript-format
msgid "Give %s access to your location?" msgid "Give %s access to your location?"
msgstr "Da li da „%s“ dam pristup vašem mestu?" msgstr "Da li da „%s“ dam pristup vašem mestu?"
#: js/ui/status/location.js:438 #: js/ui/status/location.js:416
msgid "Location access can be changed at any time from the privacy settings." msgid "Location access can be changed at any time from the privacy settings."
msgstr "" msgstr ""
"Pristup mestu možete da izmenite u bilo koje vreme u podešavanjima " "Pristup mestu možete da izmenite u bilo koje vreme u podešavanjima "
@ -1510,7 +1514,7 @@ msgid "<unknown>"
msgstr "<nepoznato>" msgstr "<nepoznato>"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:465 js/ui/status/network.js:1331 #: js/ui/status/network.js:465 js/ui/status/network.js:1339
#, javascript-format #, javascript-format
msgid "%s Off" msgid "%s Off"
msgstr "%s isključeno" msgstr "%s isključeno"
@ -1536,7 +1540,7 @@ msgid "%s Disconnecting"
msgstr "%s prekidanje veze u toku" msgstr "%s prekidanje veze u toku"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:483 js/ui/status/network.js:1323 #: js/ui/status/network.js:483 js/ui/status/network.js:1331
#, javascript-format #, javascript-format
msgid "%s Connecting" msgid "%s Connecting"
msgstr "%s povezivanje u toku" msgstr "%s povezivanje u toku"
@ -1576,7 +1580,7 @@ msgid "Mobile Broadband Settings"
msgstr "Podešavanja mobilne širokopojasne veze" msgstr "Podešavanja mobilne širokopojasne veze"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:602 js/ui/status/network.js:1328 #: js/ui/status/network.js:602 js/ui/status/network.js:1336
#, javascript-format #, javascript-format
msgid "%s Hardware Disabled" msgid "%s Hardware Disabled"
msgstr "%s uređaj isključen" msgstr "%s uređaj isključen"
@ -1592,97 +1596,97 @@ msgstr "%s isključeno"
msgid "Connect to Internet" msgid "Connect to Internet"
msgstr "Poveži se na Internet" msgstr "Poveži se na Internet"
#: js/ui/status/network.js:836 #: js/ui/status/network.js:844
msgid "Airplane Mode is On" msgid "Airplane Mode is On"
msgstr "Avionski režim rada je uključen" msgstr "Avionski režim rada je uključen"
#: js/ui/status/network.js:837 #: js/ui/status/network.js:845
msgid "Wi-Fi is disabled when airplane mode is on." msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Bežična veza je isključena kada je uključen avionski režim rada." msgstr "Bežična veza je isključena kada je uključen avionski režim rada."
#: js/ui/status/network.js:838 #: js/ui/status/network.js:846
msgid "Turn Off Airplane Mode" msgid "Turn Off Airplane Mode"
msgstr "Isključi avionski režim rada" msgstr "Isključi avionski režim rada"
#: js/ui/status/network.js:847 #: js/ui/status/network.js:855
msgid "Wi-Fi is Off" msgid "Wi-Fi is Off"
msgstr "Bežična veza je isključena" msgstr "Bežična veza je isključena"
#: js/ui/status/network.js:848 #: js/ui/status/network.js:856
msgid "Wi-Fi needs to be turned on in order to connect to a network." msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Bežična veza treba biti uključena da biste se povezali na mrežu." msgstr "Bežična veza treba biti uključena da biste se povezali na mrežu."
#: js/ui/status/network.js:849 #: js/ui/status/network.js:857
msgid "Turn On Wi-Fi" msgid "Turn On Wi-Fi"
msgstr "Uključi bežičnu vezu" msgstr "Uključi bežičnu vezu"
#: js/ui/status/network.js:874 #: js/ui/status/network.js:882
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Bežične mreže" msgstr "Bežične mreže"
#: js/ui/status/network.js:876 #: js/ui/status/network.js:884
msgid "Select a network" msgid "Select a network"
msgstr "Izaberite mrežu" msgstr "Izaberite mrežu"
#: js/ui/status/network.js:906 #: js/ui/status/network.js:914
msgid "No Networks" msgid "No Networks"
msgstr "Nema mreža" msgstr "Nema mreža"
#: js/ui/status/network.js:927 js/ui/status/rfkill.js:115 #: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "Koristi fizički prekidač za isključivanje" msgstr "Koristi fizički prekidač za isključivanje"
#: js/ui/status/network.js:1194 #: js/ui/status/network.js:1202
msgid "Select Network" msgid "Select Network"
msgstr "Izaberi mrežu" msgstr "Izaberi mrežu"
#: js/ui/status/network.js:1200 #: js/ui/status/network.js:1208
msgid "Wi-Fi Settings" msgid "Wi-Fi Settings"
msgstr "Podešavanja bežične veze" msgstr "Podešavanja bežične veze"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:1319 #: js/ui/status/network.js:1327
#, javascript-format #, javascript-format
msgid "%s Hotspot Active" msgid "%s Hotspot Active"
msgstr "%s hotspot uključen" msgstr "%s hotspot uključen"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:1334 #: js/ui/status/network.js:1342
#, javascript-format #, javascript-format
msgid "%s Not Connected" msgid "%s Not Connected"
msgstr "%s nepovezano" msgstr "%s nepovezano"
#: js/ui/status/network.js:1434 #: js/ui/status/network.js:1446
msgid "connecting…" msgid "connecting…"
msgstr "povezujem se…" msgstr "povezujem se…"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1437 #: js/ui/status/network.js:1449
msgid "authentication required" msgid "authentication required"
msgstr "potrebna je prijava" msgstr "potrebna je prijava"
#: js/ui/status/network.js:1439 #: js/ui/status/network.js:1451
msgid "connection failed" msgid "connection failed"
msgstr "povezivanje nije uspelo" msgstr "povezivanje nije uspelo"
#: js/ui/status/network.js:1505 js/ui/status/network.js:1600 #: js/ui/status/network.js:1517 js/ui/status/network.js:1612
#: js/ui/status/rfkill.js:93 #: js/ui/status/rfkill.js:93
msgid "Network Settings" msgid "Network Settings"
msgstr "Podešavanja mreže" msgstr "Podešavanja mreže"
#: js/ui/status/network.js:1507 #: js/ui/status/network.js:1519
msgid "VPN Settings" msgid "VPN Settings"
msgstr "VPN podešavanja" msgstr "VPN podešavanja"
#: js/ui/status/network.js:1526 #: js/ui/status/network.js:1538
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: js/ui/status/network.js:1536 #: js/ui/status/network.js:1548
msgid "VPN Off" msgid "VPN Off"
msgstr "Isključi VPN" msgstr "Isključi VPN"
#: js/ui/status/network.js:1631 #: js/ui/status/network.js:1643
#, javascript-format #, javascript-format
msgid "%s Wired Connection" msgid "%s Wired Connection"
msgid_plural "%s Wired Connections" msgid_plural "%s Wired Connections"
@ -1691,7 +1695,7 @@ msgstr[1] "%s žičane veze"
msgstr[2] "%s žičanih veza" msgstr[2] "%s žičanih veza"
msgstr[3] "%s žičana veza" msgstr[3] "%s žičana veza"
#: js/ui/status/network.js:1635 #: js/ui/status/network.js:1647
#, javascript-format #, javascript-format
msgid "%s Wi-Fi Connection" msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections" msgid_plural "%s Wi-Fi Connections"
@ -1700,7 +1704,7 @@ msgstr[1] "%s bežične veze"
msgstr[2] "%s bežičnih veza" msgstr[2] "%s bežičnih veza"
msgstr[3] "%s bežična veza" msgstr[3] "%s bežična veza"
#: js/ui/status/network.js:1639 #: js/ui/status/network.js:1651
#, javascript-format #, javascript-format
msgid "%s Modem Connection" msgid "%s Modem Connection"
msgid_plural "%s Modem Connections" msgid_plural "%s Modem Connections"
@ -1709,11 +1713,11 @@ msgstr[1] "%s modemske veze"
msgstr[2] "%s modemskih veza" msgstr[2] "%s modemskih veza"
msgstr[3] "%s modemska veza" msgstr[3] "%s modemska veza"
#: js/ui/status/network.js:1786 #: js/ui/status/network.js:1798
msgid "Connection failed" msgid "Connection failed"
msgstr "Povezivanje nije uspelo" msgstr "Povezivanje nije uspelo"
#: js/ui/status/network.js:1787 #: js/ui/status/network.js:1799
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Aktiviranje mrežne veze nije uspelo" msgstr "Aktiviranje mrežne veze nije uspelo"
@ -1811,11 +1815,11 @@ msgstr "Prijavite se kao drugi korisnik"
msgid "Unlock Window" msgid "Unlock Window"
msgstr "Otključaj prozor" msgstr "Otključaj prozor"
#: js/ui/viewSelector.js:182 #: js/ui/viewSelector.js:183
msgid "Applications" msgid "Applications"
msgstr "Programi" msgstr "Programi"
#: js/ui/viewSelector.js:186 #: js/ui/viewSelector.js:187
msgid "Search" msgid "Search"
msgstr "Traži" msgstr "Traži"
@ -1824,22 +1828,22 @@ msgstr "Traži"
msgid "“%s” is ready" msgid "“%s” is ready"
msgstr "„%s“ je spreman" msgstr "„%s“ je spreman"
#: js/ui/windowManager.js:83 #: js/ui/windowManager.js:84
msgid "Do you want to keep these display settings?" msgid "Do you want to keep these display settings?"
msgstr "Da li želite da zadržite ova podešavanja ekrana?" msgstr "Da li želite da zadržite ova podešavanja ekrana?"
#. Translators: this and the following message should be limited in lenght, #. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels. #. to avoid ellipsizing the labels.
#. #.
#: js/ui/windowManager.js:102 #: js/ui/windowManager.js:103
msgid "Revert Settings" msgid "Revert Settings"
msgstr "Vrati podešavanja" msgstr "Vrati podešavanja"
#: js/ui/windowManager.js:105 #: js/ui/windowManager.js:106
msgid "Keep Changes" msgid "Keep Changes"
msgstr "Zadrži izmene" msgstr "Zadrži izmene"
#: js/ui/windowManager.js:123 #: js/ui/windowManager.js:124
#, javascript-format #, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
@ -1850,7 +1854,7 @@ msgstr[3] "Izmene podešavanja će biti vraćene za %d sekundu"
#. Translators: This represents the size of a window. The first number is #. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. #. * the width of the window and the second is the height.
#: js/ui/windowManager.js:678 #: js/ui/windowManager.js:679
#, javascript-format #, javascript-format
msgid "%d × %d" msgid "%d × %d"
msgstr "%d × %d" msgstr "%d × %d"
@ -1887,35 +1891,35 @@ msgstr "Uvek na vrhu"
msgid "Always on Visible Workspace" msgid "Always on Visible Workspace"
msgstr "Uvek na prikazanom radnom prostoru" msgstr "Uvek na prikazanom radnom prostoru"
#: js/ui/windowMenu.js:105 #: js/ui/windowMenu.js:103
msgid "Move to Workspace Left" msgid "Move to Workspace Left"
msgstr "Premesti na levi radni prostor" msgstr "Premesti na levi radni prostor"
#: js/ui/windowMenu.js:110 #: js/ui/windowMenu.js:108
msgid "Move to Workspace Right" msgid "Move to Workspace Right"
msgstr "Premesti na desni radni prostor" msgstr "Premesti na desni radni prostor"
#: js/ui/windowMenu.js:115 #: js/ui/windowMenu.js:113
msgid "Move to Workspace Up" msgid "Move to Workspace Up"
msgstr "Premesti na radni prostor gore" msgstr "Premesti na radni prostor gore"
#: js/ui/windowMenu.js:120 #: js/ui/windowMenu.js:118
msgid "Move to Workspace Down" msgid "Move to Workspace Down"
msgstr "Premesti na radni prostor dole" msgstr "Premesti na radni prostor dole"
#: js/ui/windowMenu.js:136 #: js/ui/windowMenu.js:134
msgid "Move to Monitor Up" msgid "Move to Monitor Up"
msgstr "Premesti na gornji radni prostor" msgstr "Premesti na gornji radni prostor"
#: js/ui/windowMenu.js:142 #: js/ui/windowMenu.js:140
msgid "Move to Monitor Down" msgid "Move to Monitor Down"
msgstr "Premesti na donji radni prostor" msgstr "Premesti na donji radni prostor"
#: js/ui/windowMenu.js:148 #: js/ui/windowMenu.js:146
msgid "Move to Monitor Left" msgid "Move to Monitor Left"
msgstr "Premesti ekran ulevo" msgstr "Premesti ekran ulevo"
#: js/ui/windowMenu.js:154 #: js/ui/windowMenu.js:152
msgid "Move to Monitor Right" msgid "Move to Monitor Right"
msgstr "Premesti ekran udesno" msgstr "Premesti ekran udesno"
@ -1954,19 +1958,19 @@ msgstr[3] "%u ulaz"
msgid "System Sounds" msgid "System Sounds"
msgstr "Sistemski zvuci" msgstr "Sistemski zvuci"
#: src/main.c:381 #: src/main.c:372
msgid "Print version" msgid "Print version"
msgstr "Ispisuje izdanje" msgstr "Ispisuje izdanje"
#: src/main.c:387 #: src/main.c:378
msgid "Mode used by GDM for login screen" msgid "Mode used by GDM for login screen"
msgstr "Koji režim koristi GDM za ekran prijavljivanja" msgstr "Koji režim koristi GDM za ekran prijavljivanja"
#: src/main.c:393 #: src/main.c:384
msgid "Use a specific mode, e.g. “gdm” for login screen" msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Koristi naročit režim, npr. „gdm“ za ekran prijavljivanja" msgstr "Koristi naročit režim, npr. „gdm“ za ekran prijavljivanja"
#: src/main.c:399 #: src/main.c:390
msgid "List possible modes" msgid "List possible modes"
msgstr "Ispisuje moguće režime" msgstr "Ispisuje moguće režime"

397
po/tr.po

@ -9,22 +9,23 @@
# Gökhan Gurbetoğlu <ggurbet@gmail.com>, 2014. # Gökhan Gurbetoğlu <ggurbet@gmail.com>, 2014.
# Muhammet Kara <muhammetk@gmail.com>, 2011, 2012, 2013, 2014, 2015, 2016. # Muhammet Kara <muhammetk@gmail.com>, 2011, 2012, 2013, 2014, 2015, 2016.
# Emin Tufan Çetin <etcetin@gmail.com>, 2017. # Emin Tufan Çetin <etcetin@gmail.com>, 2017.
# Furkan Ahmet Kara <furkanahmetkara.fk@gmail.com>, 2017.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-27 19:03+0000\n" "POT-Creation-Date: 2017-05-11 09:41+0000\n"
"PO-Revision-Date: 2017-02-28 10:06+0300\n" "PO-Revision-Date: 2017-05-16 03:31+0300\n"
"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n" "Last-Translator: Furkan Ahmet Kara <furkanahmetkara.fk@gmail.com>\n"
"Language-Team: Türkçe <gnome-turk@gnome.org>\n" "Language-Team: Türkçe <gnome-turk@gnome.org>\n"
"Language: tr\n" "Language: tr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.8.9\n" "X-Generator: Gtranslator 2.91.7\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
#: data/50-gnome-shell-system.xml:6 #: data/50-gnome-shell-system.xml:6
@ -52,7 +53,7 @@ msgid "Open the application menu"
msgstr "Uygulama menüsünü aç" msgstr "Uygulama menüsünü aç"
#: data/gnome-shell-extension-prefs.desktop.in.in:4 #: data/gnome-shell-extension-prefs.desktop.in.in:4
#: js/extensionPrefs/main.js:149 #: js/extensionPrefs/main.js:152
msgid "Shell Extensions" msgid "Shell Extensions"
msgstr "Kabuk Uzantıları" msgstr "Kabuk Uzantıları"
@ -339,7 +340,7 @@ msgstr "Ağ Girişi"
msgid "network-workgroup" msgid "network-workgroup"
msgstr "network-workgroup" msgstr "network-workgroup"
#: js/extensionPrefs/main.js:117 #: js/extensionPrefs/main.js:120
#, javascript-format #, javascript-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
msgstr "%s için tercihler iletişim penceresi yüklenirken hata oluştu:" msgstr "%s için tercihler iletişim penceresi yüklenirken hata oluştu:"
@ -347,7 +348,7 @@ msgstr "%s için tercihler iletişim penceresi yüklenirken hata oluştu:"
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71 #: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179 #: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195 #: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:939 #: js/ui/shellMountOperation.js:399 js/ui/status/network.js:947
msgid "Cancel" msgid "Cancel"
msgstr "İptal" msgstr "İptal"
@ -395,7 +396,7 @@ msgstr "Kullanıcı Adı: "
msgid "Login Window" msgid "Login Window"
msgstr "Oturum Açma Penceresi" msgstr "Oturum Açma Penceresi"
#: js/gdm/util.js:341 #: js/gdm/util.js:342
msgid "Authentication error" msgid "Authentication error"
msgstr "Kimlik doğrulama hatası" msgstr "Kimlik doğrulama hatası"
@ -404,40 +405,85 @@ msgstr "Kimlik doğrulama hatası"
#. as a cue to display our own message. #. as a cue to display our own message.
#. Translators: this message is shown below the password entry field #. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead #. to indicate the user can swipe their finger instead
#: js/gdm/util.js:473 #: js/gdm/util.js:474
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(ya da parmak izi okutun)" msgstr "(ya da parmak izi okutun)"
#: js/misc/util.js:121 #: js/misc/util.js:122
msgid "Command not found" msgid "Command not found"
msgstr "Komut bulunamadı" msgstr "Komut bulunamadı"
#. Replace "Error invoking GLib.shell_parse_argv: " with #. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer #. something nicer
#: js/misc/util.js:154 #: js/misc/util.js:155
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "Komut işlenemedi:" msgstr "Komut işlenemedi:"
#: js/misc/util.js:162 #: js/misc/util.js:163
#, javascript-format #, javascript-format
msgid "Execution of “%s” failed:" msgid "Execution of “%s” failed:"
msgstr "“%s” çalıştırılması başarısız:" msgstr "“%s” çalıştırılması başarısız:"
#. Translators: Time in 24h format #: js/misc/util.js:180
msgid "Just now"
msgstr "Şimdi"
#: js/misc/util.js:182
#, javascript-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d dakika önce"
#: js/misc/util.js:185
#, javascript-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d saat önce"
#: js/misc/util.js:188
#| msgid "Yesterday, %H%M"
msgid "Yesterday"
msgstr "Dün"
#: js/misc/util.js:190
#, javascript-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d gün önce"
#: js/misc/util.js:193 #: js/misc/util.js:193
#, javascript-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d hafta önce"
#: js/misc/util.js:196
#, javascript-format
msgid "%d month ago"
msgid_plural "%d months ago"
msgstr[0] "%d ay önce"
#: js/misc/util.js:198
#, javascript-format
msgid "%d year ago"
msgid_plural "%d years ago"
msgstr[0] "%d yıl önce"
#. Translators: Time in 24h format
#: js/misc/util.js:229
msgid "%H%M" msgid "%H%M"
msgstr "%H%M" msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" #. time string in 24h format. i.e. "Yesterday, 14:30"
#: js/misc/util.js:199 #: js/misc/util.js:235
#, no-c-format #, no-c-format
msgid "Yesterday, %H%M" msgid "Yesterday, %H%M"
msgstr "Dün, %H%M" msgstr "Dün, %H%M"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" #. string in 24h format. i.e. "Monday, 14:30"
#: js/misc/util.js:205 #: js/misc/util.js:241
#, no-c-format #, no-c-format
msgid "%A, %H%M" msgid "%A, %H%M"
msgstr "%A, %H%M" msgstr "%A, %H%M"
@ -445,7 +491,7 @@ msgstr "%A, %H%M"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 24h format. #. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" #. i.e. "May 25, 14:30"
#: js/misc/util.js:211 #: js/misc/util.js:247
#, no-c-format #, no-c-format
msgid "%B %d, %H%M" msgid "%B %d, %H%M"
msgstr "%d %B, %H%M" msgstr "%d %B, %H%M"
@ -453,26 +499,26 @@ msgstr "%d %B, %H%M"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format. #. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" #. i.e. "May 25 2012, 14:30"
#: js/misc/util.js:217 #: js/misc/util.js:253
#, no-c-format #, no-c-format
msgid "%B %d %Y, %H%M" msgid "%B %d %Y, %H%M"
msgstr "%d %B %Y, %H%M" msgstr "%d %B %Y, %H%M"
#. Translators: Time in 12h format #. Translators: Time in 12h format
#: js/misc/util.js:222 #: js/misc/util.js:258
msgid "%l%M %p" msgid "%l%M %p"
msgstr "%l%M %p" msgstr "%l%M %p"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" #. time string in 12h format. i.e. "Yesterday, 2:30 pm"
#: js/misc/util.js:228 #: js/misc/util.js:264
#, no-c-format #, no-c-format
msgid "Yesterday, %l%M %p" msgid "Yesterday, %l%M %p"
msgstr "Dün, %l%M %p" msgstr "Dün, %l%M %p"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" #. string in 12h format. i.e. "Monday, 2:30 pm"
#: js/misc/util.js:234 #: js/misc/util.js:270
#, no-c-format #, no-c-format
msgid "%A, %l%M %p" msgid "%A, %l%M %p"
msgstr "%A, %l%M %p" msgstr "%A, %l%M %p"
@ -480,7 +526,7 @@ msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 12h format. #. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" #. i.e. "May 25, 2:30 pm"
#: js/misc/util.js:240 #: js/misc/util.js:276
#, no-c-format #, no-c-format
msgid "%B %d, %l%M %p" msgid "%B %d, %l%M %p"
msgstr "%d %B, %l%M %p" msgstr "%d %B, %l%M %p"
@ -488,17 +534,17 @@ msgstr "%d %B, %l%M %p"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format. #. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm" #. i.e. "May 25 2012, 2:30 pm"
#: js/misc/util.js:246 #: js/misc/util.js:282
#, no-c-format #, no-c-format
msgid "%B %d %Y, %l%M %p" msgid "%B %d %Y, %l%M %p"
msgstr "%d %B %Y, %l%M %p" msgstr "%d %B %Y, %l%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login window #. TRANSLATORS: this is the title of the wifi captive portal login window
#: js/portalHelper/main.js:67 #: js/portalHelper/main.js:66
msgid "Hotspot Login" msgid "Hotspot Login"
msgstr "Erişim Noktası Girişi" msgstr "Erişim Noktası Girişi"
#: js/portalHelper/main.js:113 #: js/portalHelper/main.js:112
msgid "" msgid ""
"Your connection to this hotspot login is not secure. Passwords or other " "Your connection to this hotspot login is not secure. Passwords or other "
"information you enter on this page can be viewed by people nearby." "information you enter on this page can be viewed by people nearby."
@ -509,11 +555,11 @@ msgstr ""
#. No support for non-modal system dialogs, so ignore the option #. No support for non-modal system dialogs, so ignore the option
#. let modal = options['modal'] || true; #. let modal = options['modal'] || true;
#: js/ui/accessDialog.js:62 js/ui/status/location.js:427 #: js/ui/accessDialog.js:62 js/ui/status/location.js:405
msgid "Deny Access" msgid "Deny Access"
msgstr "Erişimi Reddet" msgstr "Erişimi Reddet"
#: js/ui/accessDialog.js:63 js/ui/status/location.js:430 #: js/ui/accessDialog.js:63 js/ui/status/location.js:408
msgid "Grant Access" msgid "Grant Access"
msgstr "Erişime İzin Ver" msgstr "Erişime İzin Ver"
@ -664,37 +710,33 @@ msgstr "%V. Hafta"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * Keep it short, best if you can use less then 10 characters
#. #.
#: js/ui/calendar.js:721 #: js/ui/calendar.js:729
msgctxt "event list time" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Tüm Gün" msgstr "Tüm Gün"
#: js/ui/calendar.js:836 #: js/ui/calendar.js:862
msgid "Events"
msgstr "Olaylar"
#: js/ui/calendar.js:845
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d %B" msgstr "%A, %d %B"
#: js/ui/calendar.js:849 #: js/ui/calendar.js:866
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %d %B, %Y" msgstr "%A, %d %B, %Y"
#: js/ui/calendar.js:931 #: js/ui/calendar.js:1086
msgid "Notifications"
msgstr "Bildirimler"
#: js/ui/calendar.js:1082
msgid "No Notifications" msgid "No Notifications"
msgstr "Bildirim Yok" msgstr "Bildirim Yok"
#: js/ui/calendar.js:1085 #: js/ui/calendar.js:1089
msgid "No Events" msgid "No Events"
msgstr "Olay Yok" msgstr "Olay Yok"
#: js/ui/calendar.js:1117
msgid "Clear All"
msgstr "Tümünü Temizle"
#: js/ui/components/automountManager.js:91 #: js/ui/components/automountManager.js:91
msgid "External drive connected" msgid "External drive connected"
msgstr "Harici sürücü bağlandı" msgstr "Harici sürücü bağlandı"
@ -717,7 +759,7 @@ msgid "Type again:"
msgstr "Terkar yazın:" msgstr "Terkar yazın:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272 #: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272
#: js/ui/status/network.js:366 js/ui/status/network.js:942 #: js/ui/status/network.js:366 js/ui/status/network.js:950
msgid "Connect" msgid "Connect"
msgstr "Bağlan" msgstr "Bağlan"
@ -792,7 +834,7 @@ msgstr "Mobil geniş bant ağ parolası"
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "“%s”e bağlanmak için parola gerekli." msgstr "“%s”e bağlanmak için parola gerekli."
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1747 #: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1759
msgid "Network Manager" msgid "Network Manager"
msgstr "Ağ Yöneticisi" msgstr "Ağ Yöneticisi"
@ -818,12 +860,12 @@ msgstr "Üzgünüm ama işe yaramadı. Lütfen yeniden deneyin."
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. #. IM name.
#: js/ui/components/telepathyClient.js:765 #: js/ui/components/telepathyClient.js:799
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s, şimdi %s olarak biliniyor" msgstr "%s, şimdi %s olarak biliniyor"
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:178 #: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:179
msgid "Windows" msgid "Windows"
msgstr "Pencereler" msgstr "Pencereler"
@ -840,7 +882,7 @@ msgstr "Konsol"
#. Translators: This is the date format to use when the calendar popup is #. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. #.
#: js/ui/dateMenu.js:73 #: js/ui/dateMenu.js:75
msgid "%B %e %Y" msgid "%B %e %Y"
msgstr "%e %B %Y" msgstr "%e %B %Y"
@ -848,18 +890,71 @@ msgstr "%e %B %Y"
#. * below the time in the shell; it should combine the weekday and the #. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015". #. * date, e.g. "Tuesday February 17 2015".
#. #.
#: js/ui/dateMenu.js:80 #: js/ui/dateMenu.js:82
msgid "%A %B %e %Y" msgid "%A %B %e %Y"
msgstr "%e %B %Y %A" msgstr "%e %B %Y %A"
#: js/ui/dateMenu.js:142 #: js/ui/dateMenu.js:144
msgid "Add world clocks…" msgid "Add world clocks…"
msgstr "Dünya saatlerini ekle…" msgstr "Dünya saatlerini ekle…"
#: js/ui/dateMenu.js:143 #: js/ui/dateMenu.js:145
msgid "World Clocks" msgid "World Clocks"
msgstr "Dünya Saatleri" msgstr "Dünya Saatleri"
#: js/ui/dateMenu.js:224
msgid "Weather"
msgstr "Hava Durumu"
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:281
#, javascript-format
msgid "%s all day."
msgstr "Gün boyu %s."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:287
#, javascript-format
msgid "%s, then %s later."
msgstr "%s, daha sonra %s."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:293
#, javascript-format
msgid "%s, then %s, followed by %s later."
msgstr "%s, daha sonra %s, ardından %s."
#: js/ui/dateMenu.js:300
msgid "Select a location…"
msgstr "Bir konum seç…"
#: js/ui/dateMenu.js:303
msgid "Loading…"
msgstr "Yükleniyor…"
#. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:309
#, javascript-format
msgid "Feels like %s."
msgstr "Hissedilen %s."
#: js/ui/dateMenu.js:312
msgid "Go online for weather information"
msgstr "Hava durumu bilgisi için çevrim içi olun"
#: js/ui/dateMenu.js:314
msgid "Weather information is currently unavailable"
msgstr "Hava durumu bilgisi şu anda kullanılabilir değil\t"
#: js/ui/endSessionDialog.js:64 #: js/ui/endSessionDialog.js:64
#, javascript-format #, javascript-format
msgctxt "title" msgctxt "title"
@ -1024,74 +1119,66 @@ msgstr "Tepsiyi gizle"
msgid "Status Icons" msgid "Status Icons"
msgstr "Durum Simgeleri" msgstr "Durum Simgeleri"
#: js/ui/lookingGlass.js:643 #: js/ui/lookingGlass.js:642
msgid "No extensions installed" msgid "No extensions installed"
msgstr "Herhangi bir uzantı kurulu değil" msgstr "Herhangi bir uzantı kurulu değil"
#. Translators: argument is an extension UUID. #. Translators: argument is an extension UUID.
#: js/ui/lookingGlass.js:697 #: js/ui/lookingGlass.js:696
#, javascript-format #, javascript-format
msgid "%s has not emitted any errors." msgid "%s has not emitted any errors."
msgstr "%s, herhangi bir hata vermedi." msgstr "%s, herhangi bir hata vermedi."
#: js/ui/lookingGlass.js:703 #: js/ui/lookingGlass.js:702
msgid "Hide Errors" msgid "Hide Errors"
msgstr "Hataları Gizle" msgstr "Hataları Gizle"
#: js/ui/lookingGlass.js:707 js/ui/lookingGlass.js:767 #: js/ui/lookingGlass.js:706 js/ui/lookingGlass.js:766
msgid "Show Errors" msgid "Show Errors"
msgstr "Hataları Göster" msgstr "Hataları Göster"
#: js/ui/lookingGlass.js:716 #: js/ui/lookingGlass.js:715
msgid "Enabled" msgid "Enabled"
msgstr "Etkin" msgstr "Etkin"
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: js/ui/lookingGlass.js:719 src/gvc/gvc-mixer-control.c:1866 #: js/ui/lookingGlass.js:718 src/gvc/gvc-mixer-control.c:1866
msgid "Disabled" msgid "Disabled"
msgstr "Devre dışı" msgstr "Devre dışı"
#: js/ui/lookingGlass.js:721 #: js/ui/lookingGlass.js:720
msgid "Error" msgid "Error"
msgstr "Hata" msgstr "Hata"
#: js/ui/lookingGlass.js:723 #: js/ui/lookingGlass.js:722
msgid "Out of date" msgid "Out of date"
msgstr "Güncel değil" msgstr "Güncel değil"
#: js/ui/lookingGlass.js:725 #: js/ui/lookingGlass.js:724
msgid "Downloading" msgid "Downloading"
msgstr "İndiriliyor" msgstr "İndiriliyor"
#: js/ui/lookingGlass.js:749 #: js/ui/lookingGlass.js:748
msgid "View Source" msgid "View Source"
msgstr "Kaynağı Görüntüle" msgstr "Kaynağı Görüntüle"
#: js/ui/lookingGlass.js:758 #: js/ui/lookingGlass.js:757
msgid "Web Page" msgid "Web Page"
msgstr "Web Sayfası" msgstr "Web Sayfası"
#: js/ui/messageList.js:543 #: js/ui/messageTray.js:1493
msgid "Clear section"
msgstr "Bölümü temizle"
#: js/ui/messageTray.js:1486
msgid "System Information" msgid "System Information"
msgstr "Sistem Bilgisi" msgstr "Sistem Bilgisi"
#: js/ui/mpris.js:194 #: js/ui/mpris.js:211
msgid "Unknown artist" msgid "Unknown artist"
msgstr "Bilinmeyen sanatçı" msgstr "Bilinmeyen sanatçı"
#: js/ui/mpris.js:195 #: js/ui/mpris.js:212
msgid "Unknown title" msgid "Unknown title"
msgstr "Bilinmeyen başlık" msgstr "Bilinmeyen başlık"
#: js/ui/mpris.js:217
msgid "Media"
msgstr "Ortam"
#: js/ui/overview.js:84 #: js/ui/overview.js:84
msgid "Undo" msgid "Undo"
msgstr "Geri Al" msgstr "Geri Al"
@ -1110,47 +1197,47 @@ msgstr "Genel Görünüm"
msgid "Type to search…" msgid "Type to search…"
msgstr "Aramak için buraya yazın..." msgstr "Aramak için buraya yazın..."
#: js/ui/padOsd.js:37 #: js/ui/padOsd.js:103
msgid "New shortcut…" msgid "New shortcut…"
msgstr "Yeni kısayol…" msgstr "Yeni kısayol…"
#: js/ui/padOsd.js:86 #: js/ui/padOsd.js:152
msgid "Application defined" msgid "Application defined"
msgstr "Uygulama tanımlı" msgstr "Uygulama tanımlı"
#: js/ui/padOsd.js:87 #: js/ui/padOsd.js:153
msgid "Show on-screen help" msgid "Show on-screen help"
msgstr "Ekranda yardımı göster" msgstr "Ekranda yardımı göster"
#: js/ui/padOsd.js:88 #: js/ui/padOsd.js:154
msgid "Switch monitor" msgid "Switch monitor"
msgstr "Monitör değiştir" msgstr "Monitör değiştir"
#: js/ui/padOsd.js:89 #: js/ui/padOsd.js:155
msgid "Assign keystroke" msgid "Assign keystroke"
msgstr "Tuş vuruşu ata" msgstr "Tuş vuruşu ata"
#: js/ui/padOsd.js:143 #: js/ui/padOsd.js:209
msgid "Done" msgid "Done"
msgstr "Bitti" msgstr "Bitti"
#: js/ui/padOsd.js:597 #: js/ui/padOsd.js:698
msgid "Edit…" msgid "Edit…"
msgstr "Düzenle…" msgstr "Düzenle…"
#: js/ui/padOsd.js:610 js/ui/padOsd.js:665 #: js/ui/padOsd.js:738 js/ui/padOsd.js:800
msgid "None" msgid "None"
msgstr "Yok" msgstr "Yok"
#: js/ui/padOsd.js:648 #: js/ui/padOsd.js:783
msgid "Press a button to configure" msgid "Press a button to configure"
msgstr "Yapılandırmak için bir düğmeye basın" msgstr "Yapılandırmak için bir düğmeye basın"
#: js/ui/padOsd.js:649 #: js/ui/padOsd.js:784
msgid "Press Esc to exit" msgid "Press Esc to exit"
msgstr "Çıkmak için Esc'ye basın" msgstr "Çıkmak için Esc'ye basın"
#: js/ui/padOsd.js:652 #: js/ui/padOsd.js:787
msgid "Press any key to exit" msgid "Press any key to exit"
msgstr "Çıkmak için herhangi bir tuşa basın" msgstr "Çıkmak için herhangi bir tuşa basın"
@ -1186,7 +1273,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command" msgid "Enter a Command"
msgstr "Komut Gir" msgstr "Komut Gir"
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:162 #: js/ui/runDialog.js:111 js/ui/windowMenu.js:160
msgid "Close" msgid "Close"
msgstr "Kapat" msgstr "Kapat"
@ -1200,27 +1287,27 @@ msgstr "Yeniden başlatılıyor..."
#. Translators: This is a time format for a date in #. Translators: This is a time format for a date in
#. long format #. long format
#: js/ui/screenShield.js:85 #: js/ui/screenShield.js:88
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%d %B %A" msgstr "%d %B %A"
#: js/ui/screenShield.js:144 #: js/ui/screenShield.js:147
#, javascript-format #, javascript-format
msgid "%d new message" msgid "%d new message"
msgid_plural "%d new messages" msgid_plural "%d new messages"
msgstr[0] "%d yeni ileti" msgstr[0] "%d yeni ileti"
#: js/ui/screenShield.js:146 #: js/ui/screenShield.js:149
#, javascript-format #, javascript-format
msgid "%d new notification" msgid "%d new notification"
msgid_plural "%d new notifications" msgid_plural "%d new notifications"
msgstr[0] "%d yeni bildirim" msgstr[0] "%d yeni bildirim"
#: js/ui/screenShield.js:449 js/ui/status/system.js:409 #: js/ui/screenShield.js:452 js/ui/status/system.js:409
msgid "Lock" msgid "Lock"
msgstr "Kilitle" msgstr "Kilitle"
#: js/ui/screenShield.js:707 #: js/ui/screenShield.js:715
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "GNOME'un ekranı kilitlemesi gerekiyor" msgstr "GNOME'un ekranı kilitlemesi gerekiyor"
@ -1231,19 +1318,19 @@ msgstr "GNOME'un ekranı kilitlemesi gerekiyor"
#. #.
#. XXX: another option is to kick the user into the gdm login #. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs #. screen, where we're not affected by grabs
#: js/ui/screenShield.js:828 js/ui/screenShield.js:1295 #: js/ui/screenShield.js:836 js/ui/screenShield.js:1308
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Kilitlenemedi" msgstr "Kilitlenemedi"
#: js/ui/screenShield.js:829 js/ui/screenShield.js:1296 #: js/ui/screenShield.js:837 js/ui/screenShield.js:1309
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Kilitleme bir uygulama tarafından engellendi" msgstr "Kilitleme bir uygulama tarafından engellendi"
#: js/ui/search.js:617 #: js/ui/search.js:621
msgid "Searching…" msgid "Searching…"
msgstr "Aranıyor…" msgstr "Aranıyor…"
#: js/ui/search.js:619 #: js/ui/search.js:623
msgid "No results." msgid "No results."
msgstr "Sonuç yok." msgstr "Sonuç yok."
@ -1338,13 +1425,13 @@ msgstr "Kapalı"
msgid "On" msgid "On"
msgstr "Açık" msgstr "Açık"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1302 #: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
msgid "Turn On" msgid "Turn On"
msgstr "Aç" msgstr "Aç"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181 #: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
#: js/ui/status/network.js:367 js/ui/status/network.js:1302 #: js/ui/status/network.js:367 js/ui/status/network.js:1310
#: js/ui/status/network.js:1417 js/ui/status/nightLight.js:47 #: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117 #: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
msgid "Turn Off" msgid "Turn Off"
msgstr "Kapat" msgstr "Kapat"
@ -1357,37 +1444,37 @@ msgstr "Parlaklık"
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Klavye Düzenini Göster" msgstr "Klavye Düzenini Göster"
#: js/ui/status/location.js:107 js/ui/status/location.js:215 #: js/ui/status/location.js:88 js/ui/status/location.js:196
msgid "Location Enabled" msgid "Location Enabled"
msgstr "Konum Etkinleştirildi" msgstr "Konum Etkinleştirildi"
#: js/ui/status/location.js:108 js/ui/status/location.js:216 #: js/ui/status/location.js:89 js/ui/status/location.js:197
msgid "Disable" msgid "Disable"
msgstr "Devre Dışı Bırak" msgstr "Devre Dışı Bırak"
#: js/ui/status/location.js:109 #: js/ui/status/location.js:90
msgid "Privacy Settings" msgid "Privacy Settings"
msgstr "Gizlilik Ayarları" msgstr "Gizlilik Ayarları"
#: js/ui/status/location.js:214 #: js/ui/status/location.js:195
msgid "Location In Use" msgid "Location In Use"
msgstr "Konum Kullanımda" msgstr "Konum Kullanımda"
#: js/ui/status/location.js:218 #: js/ui/status/location.js:199
msgid "Location Disabled" msgid "Location Disabled"
msgstr "Konum Devre Dışı" msgstr "Konum Devre Dışı"
#: js/ui/status/location.js:219 #: js/ui/status/location.js:200
msgid "Enable" msgid "Enable"
msgstr "Etkinleştir" msgstr "Etkinleştir"
#. Translators: %s is an application name #. Translators: %s is an application name
#: js/ui/status/location.js:436 #: js/ui/status/location.js:414
#, javascript-format #, javascript-format
msgid "Give %s access to your location?" msgid "Give %s access to your location?"
msgstr "%s uygulaması konumunuza erişebilsin mi?" msgstr "%s uygulaması konumunuza erişebilsin mi?"
#: js/ui/status/location.js:438 #: js/ui/status/location.js:416
msgid "Location access can be changed at any time from the privacy settings." msgid "Location access can be changed at any time from the privacy settings."
msgstr "Konum erişimi, gizlilik ayarlarından her zaman değiştirilebilir." msgstr "Konum erişimi, gizlilik ayarlarından her zaman değiştirilebilir."
@ -1396,7 +1483,7 @@ msgid "<unknown>"
msgstr "<bilinmeyen>" msgstr "<bilinmeyen>"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:465 js/ui/status/network.js:1331 #: js/ui/status/network.js:465 js/ui/status/network.js:1339
#, javascript-format #, javascript-format
msgid "%s Off" msgid "%s Off"
msgstr "%s Kapalı" msgstr "%s Kapalı"
@ -1422,7 +1509,7 @@ msgid "%s Disconnecting"
msgstr "%s Bağlantısı Kesiliyor" msgstr "%s Bağlantısı Kesiliyor"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:483 js/ui/status/network.js:1323 #: js/ui/status/network.js:483 js/ui/status/network.js:1331
#, javascript-format #, javascript-format
msgid "%s Connecting" msgid "%s Connecting"
msgstr "%s Bağlanıyor" msgstr "%s Bağlanıyor"
@ -1462,7 +1549,7 @@ msgid "Mobile Broadband Settings"
msgstr "Mobil Geniş Bant Ayarları" msgstr "Mobil Geniş Bant Ayarları"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:602 js/ui/status/network.js:1328 #: js/ui/status/network.js:602 js/ui/status/network.js:1336
#, javascript-format #, javascript-format
msgid "%s Hardware Disabled" msgid "%s Hardware Disabled"
msgstr "%s Donanımı Devre Dışı" msgstr "%s Donanımı Devre Dışı"
@ -1478,119 +1565,119 @@ msgstr "%s Devre Dışı"
msgid "Connect to Internet" msgid "Connect to Internet"
msgstr "İnternet'e Bağlan" msgstr "İnternet'e Bağlan"
#: js/ui/status/network.js:836 #: js/ui/status/network.js:844
msgid "Airplane Mode is On" msgid "Airplane Mode is On"
msgstr "Uçak Kipi Açık" msgstr "Uçak Kipi Açık"
#: js/ui/status/network.js:837 #: js/ui/status/network.js:845
msgid "Wi-Fi is disabled when airplane mode is on." msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Uçak kipi açıldığında kablosuz ağ devre dışı kalır." msgstr "Uçak kipi açıldığında kablosuz ağ devre dışı kalır."
#: js/ui/status/network.js:838 #: js/ui/status/network.js:846
msgid "Turn Off Airplane Mode" msgid "Turn Off Airplane Mode"
msgstr "Uçak Kipini Kapat" msgstr "Uçak Kipini Kapat"
#: js/ui/status/network.js:847 #: js/ui/status/network.js:855
msgid "Wi-Fi is Off" msgid "Wi-Fi is Off"
msgstr "Kablosuz Ağ Kapalı" msgstr "Kablosuz Ağ Kapalı"
#: js/ui/status/network.js:848 #: js/ui/status/network.js:856
msgid "Wi-Fi needs to be turned on in order to connect to a network." msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Bir ağa bağlanmak için kablosuz ağın açık olması gerekir." msgstr "Bir ağa bağlanmak için kablosuz ağın açık olması gerekir."
#: js/ui/status/network.js:849 #: js/ui/status/network.js:857
msgid "Turn On Wi-Fi" msgid "Turn On Wi-Fi"
msgstr "Kablosuz Ağı Aç" msgstr "Kablosuz Ağı Aç"
#: js/ui/status/network.js:874 #: js/ui/status/network.js:882
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Kablosuz Ağlar" msgstr "Kablosuz Ağlar"
#: js/ui/status/network.js:876 #: js/ui/status/network.js:884
msgid "Select a network" msgid "Select a network"
msgstr "Bir ağ seçin" msgstr "Bir ağ seçin"
#: js/ui/status/network.js:906 #: js/ui/status/network.js:914
msgid "No Networks" msgid "No Networks"
msgstr "Ağ Yok" msgstr "Ağ Yok"
#: js/ui/status/network.js:927 js/ui/status/rfkill.js:115 #: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "Kapatmak için donanım anahtarını kullanın." msgstr "Kapatmak için donanım anahtarını kullanın."
#: js/ui/status/network.js:1194 #: js/ui/status/network.js:1202
msgid "Select Network" msgid "Select Network"
msgstr "Ağ Seç" msgstr "Ağ Seç"
#: js/ui/status/network.js:1200 #: js/ui/status/network.js:1208
msgid "Wi-Fi Settings" msgid "Wi-Fi Settings"
msgstr "Kablosuz Ağ Ayarları" msgstr "Kablosuz Ağ Ayarları"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:1319 #: js/ui/status/network.js:1327
#, javascript-format #, javascript-format
msgid "%s Hotspot Active" msgid "%s Hotspot Active"
msgstr "%s Erişim Noktası Etkin" msgstr "%s Erişim Noktası Etkin"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:1334 #: js/ui/status/network.js:1342
#, javascript-format #, javascript-format
msgid "%s Not Connected" msgid "%s Not Connected"
msgstr "%s Bağlı Değil" msgstr "%s Bağlı Değil"
#: js/ui/status/network.js:1434 #: js/ui/status/network.js:1446
msgid "connecting…" msgid "connecting…"
msgstr "bağlanıyor…" msgstr "bağlanıyor…"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1437 #: js/ui/status/network.js:1449
msgid "authentication required" msgid "authentication required"
msgstr "kimlik doğrulaması gerekli" msgstr "kimlik doğrulaması gerekli"
#: js/ui/status/network.js:1439 #: js/ui/status/network.js:1451
msgid "connection failed" msgid "connection failed"
msgstr "bağlantı başarısız" msgstr "bağlantı başarısız"
#: js/ui/status/network.js:1505 js/ui/status/network.js:1600 #: js/ui/status/network.js:1517 js/ui/status/network.js:1612
#: js/ui/status/rfkill.js:93 #: js/ui/status/rfkill.js:93
msgid "Network Settings" msgid "Network Settings"
msgstr "Ağ Ayarları" msgstr "Ağ Ayarları"
#: js/ui/status/network.js:1507 #: js/ui/status/network.js:1519
msgid "VPN Settings" msgid "VPN Settings"
msgstr "VPN Ayarları" msgstr "VPN Ayarları"
#: js/ui/status/network.js:1526 #: js/ui/status/network.js:1538
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: js/ui/status/network.js:1536 #: js/ui/status/network.js:1548
msgid "VPN Off" msgid "VPN Off"
msgstr "VPN Kapalı" msgstr "VPN Kapalı"
#: js/ui/status/network.js:1631 #: js/ui/status/network.js:1643
#, javascript-format #, javascript-format
msgid "%s Wired Connection" msgid "%s Wired Connection"
msgid_plural "%s Wired Connections" msgid_plural "%s Wired Connections"
msgstr[0] "%s Kablolu Bağlantı" msgstr[0] "%s Kablolu Bağlantı"
#: js/ui/status/network.js:1635 #: js/ui/status/network.js:1647
#, javascript-format #, javascript-format
msgid "%s Wi-Fi Connection" msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections" msgid_plural "%s Wi-Fi Connections"
msgstr[0] "%s Kablosuz Ağ Bağlantısı" msgstr[0] "%s Kablosuz Ağ Bağlantısı"
#: js/ui/status/network.js:1639 #: js/ui/status/network.js:1651
#, javascript-format #, javascript-format
msgid "%s Modem Connection" msgid "%s Modem Connection"
msgid_plural "%s Modem Connections" msgid_plural "%s Modem Connections"
msgstr[0] "%s Modem Bağlantısı" msgstr[0] "%s Modem Bağlantısı"
#: js/ui/status/network.js:1786 #: js/ui/status/network.js:1798
msgid "Connection failed" msgid "Connection failed"
msgstr "Bağlantı başarısız oldu" msgstr "Bağlantı başarısız oldu"
#: js/ui/status/network.js:1787 #: js/ui/status/network.js:1799
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Ağ bağlantısının etkinleştirilmesi başarısız oldu" msgstr "Ağ bağlantısının etkinleştirilmesi başarısız oldu"
@ -1688,11 +1775,11 @@ msgstr "Başka kullanıcı olarak oturum aç"
msgid "Unlock Window" msgid "Unlock Window"
msgstr "Kilit Açma Penceresi" msgstr "Kilit Açma Penceresi"
#: js/ui/viewSelector.js:182 #: js/ui/viewSelector.js:183
msgid "Applications" msgid "Applications"
msgstr "Uygulamalar" msgstr "Uygulamalar"
#: js/ui/viewSelector.js:186 #: js/ui/viewSelector.js:187
msgid "Search" msgid "Search"
msgstr "Ara" msgstr "Ara"
@ -1701,22 +1788,22 @@ msgstr "Ara"
msgid "“%s” is ready" msgid "“%s” is ready"
msgstr "“%s” hazır" msgstr "“%s” hazır"
#: js/ui/windowManager.js:83 #: js/ui/windowManager.js:84
msgid "Do you want to keep these display settings?" msgid "Do you want to keep these display settings?"
msgstr "Bu görüntü ayarlarını saklamak istiyor musunuz?" msgstr "Bu görüntü ayarlarını saklamak istiyor musunuz?"
#. Translators: this and the following message should be limited in lenght, #. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels. #. to avoid ellipsizing the labels.
#. #.
#: js/ui/windowManager.js:102 #: js/ui/windowManager.js:103
msgid "Revert Settings" msgid "Revert Settings"
msgstr "Ayarları Eski Haline Getir" msgstr "Ayarları Eski Haline Getir"
#: js/ui/windowManager.js:105 #: js/ui/windowManager.js:106
msgid "Keep Changes" msgid "Keep Changes"
msgstr "Değişiklikleri Sakla" msgstr "Değişiklikleri Sakla"
#: js/ui/windowManager.js:123 #: js/ui/windowManager.js:124
#, javascript-format #, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
@ -1724,7 +1811,7 @@ msgstr[0] "Ayarlardaki değişiklikler %d saniye içinde eski haline döndürül
#. Translators: This represents the size of a window. The first number is #. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. #. * the width of the window and the second is the height.
#: js/ui/windowManager.js:678 #: js/ui/windowManager.js:679
#, javascript-format #, javascript-format
msgid "%d × %d" msgid "%d × %d"
msgstr "%d × %d" msgstr "%d × %d"
@ -1761,35 +1848,35 @@ msgstr "Her Zaman Üstte"
msgid "Always on Visible Workspace" msgid "Always on Visible Workspace"
msgstr "Her Zaman Görünür Çalışma Alanında" msgstr "Her Zaman Görünür Çalışma Alanında"
#: js/ui/windowMenu.js:105 #: js/ui/windowMenu.js:103
msgid "Move to Workspace Left" msgid "Move to Workspace Left"
msgstr "Soldaki Çalışma Alanına Taşı" msgstr "Soldaki Çalışma Alanına Taşı"
#: js/ui/windowMenu.js:110 #: js/ui/windowMenu.js:108
msgid "Move to Workspace Right" msgid "Move to Workspace Right"
msgstr "Sağdaki Çalışma Alanına Taşı" msgstr "Sağdaki Çalışma Alanına Taşı"
#: js/ui/windowMenu.js:115 #: js/ui/windowMenu.js:113
msgid "Move to Workspace Up" msgid "Move to Workspace Up"
msgstr "Üstteki Çalışma Alanına Taşı" msgstr "Üstteki Çalışma Alanına Taşı"
#: js/ui/windowMenu.js:120 #: js/ui/windowMenu.js:118
msgid "Move to Workspace Down" msgid "Move to Workspace Down"
msgstr "Alttaki Çalışma Alanına Taşı" msgstr "Alttaki Çalışma Alanına Taşı"
#: js/ui/windowMenu.js:136 #: js/ui/windowMenu.js:134
msgid "Move to Monitor Up" msgid "Move to Monitor Up"
msgstr "Üstteki Monitöre Taşı" msgstr "Üstteki Monitöre Taşı"
#: js/ui/windowMenu.js:142 #: js/ui/windowMenu.js:140
msgid "Move to Monitor Down" msgid "Move to Monitor Down"
msgstr "Alttaki Monitöre Taşı" msgstr "Alttaki Monitöre Taşı"
#: js/ui/windowMenu.js:148 #: js/ui/windowMenu.js:146
msgid "Move to Monitor Left" msgid "Move to Monitor Left"
msgstr "Soldaki Monitöre Taşı" msgstr "Soldaki Monitöre Taşı"
#: js/ui/windowMenu.js:154 #: js/ui/windowMenu.js:152
msgid "Move to Monitor Right" msgid "Move to Monitor Right"
msgstr "Sağdaki Monitöre Taşı" msgstr "Sağdaki Monitöre Taşı"
@ -1822,19 +1909,19 @@ msgstr[0] "%u Girdi"
msgid "System Sounds" msgid "System Sounds"
msgstr "Sistem Sesleri" msgstr "Sistem Sesleri"
#: src/main.c:381 #: src/main.c:372
msgid "Print version" msgid "Print version"
msgstr "Sürümü yazdır" msgstr "Sürümü yazdır"
#: src/main.c:387 #: src/main.c:378
msgid "Mode used by GDM for login screen" msgid "Mode used by GDM for login screen"
msgstr "Oturum açma ekranında GDM tarafından kullanılan kip" msgstr "Oturum açma ekranında GDM tarafından kullanılan kip"
#: src/main.c:393 #: src/main.c:384
msgid "Use a specific mode, e.g. “gdm” for login screen" msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Oturum açma ekranı için -“gdm” gibi- özel bir kip kullan" msgstr "Oturum açma ekranı için -“gdm” gibi- özel bir kip kullan"
#: src/main.c:399 #: src/main.c:390
msgid "List possible modes" msgid "List possible modes"
msgstr "Mevcut kipleri listele" msgstr "Mevcut kipleri listele"
@ -1860,6 +1947,18 @@ msgstr "Parola boş bırakılamaz"
msgid "Authentication dialog was dismissed by the user" msgid "Authentication dialog was dismissed by the user"
msgstr "Kimlik doğrulama penceresi kullanıcı tarafından kapatıldı" msgstr "Kimlik doğrulama penceresi kullanıcı tarafından kapatıldı"
#~ msgid "Events"
#~ msgstr "Olaylar"
#~ msgid "Notifications"
#~ msgstr "Bildirimler"
#~ msgid "Clear section"
#~ msgstr "Bölümü temizle"
#~ msgid "Media"
#~ msgstr "Ortam"
#~ msgid "GNOME Shell Extension Preferences" #~ msgid "GNOME Shell Extension Preferences"
#~ msgstr "GNOME Kabuğu Eklenti Tercihleri" #~ msgstr "GNOME Kabuğu Eklenti Tercihleri"

@ -68,7 +68,6 @@ main(int argc, char **argv)
if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS) if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
return 1; return 1;
g_object_set (clutter_settings_get_default (), "window-scaling-factor", 1, NULL);
gdk_x11_display_set_window_scale (gdk_display_get_default (), 1); gdk_x11_display_set_window_scale (gdk_display_get_default (), 1);
context = g_option_context_new (NULL); context = g_option_context_new (NULL);

@ -22,6 +22,7 @@
#include <gdk/gdkx.h> #include <gdk/gdkx.h>
#include <gio/gio.h> #include <gio/gio.h>
#include <girepository.h> #include <girepository.h>
#include <meta/meta-backend.h>
#include <meta/display.h> #include <meta/display.h>
#include <meta/util.h> #include <meta/util.h>
#include <meta/meta-shaped-texture.h> #include <meta/meta-shaped-texture.h>
@ -833,35 +834,38 @@ global_stage_after_swap (gpointer data)
return TRUE; return TRUE;
} }
static void static void
update_scale_factor (GtkSettings *settings, update_scaling_factor (ShellGlobal *global,
GParamSpec *pspec, MetaBackend *backend)
gpointer data)
{ {
ShellGlobal *global = SHELL_GLOBAL (data);
ClutterStage *stage = CLUTTER_STAGE (global->stage); ClutterStage *stage = CLUTTER_STAGE (global->stage);
StThemeContext *context = st_theme_context_get_for_stage (stage); StThemeContext *context = st_theme_context_get_for_stage (stage);
GValue value = G_VALUE_INIT; int scaling_factor;
g_value_init (&value, G_TYPE_INT); scaling_factor = meta_backend_get_ui_scaling_factor (backend);
if (gdk_screen_get_setting (global->gdk_screen, "gdk-window-scaling-factor", &value))
g_object_set (context, "scale-factor", scaling_factor, NULL);
if (meta_is_wayland_compositor ())
{ {
g_object_set (context, "scale-factor", g_value_get_int (&value), NULL); GtkSettings *settings = gtk_settings_get_default ();
if (meta_is_wayland_compositor ()) int xft_dpi;
{
int xft_dpi;
g_object_get (settings, "gtk-xft-dpi", &xft_dpi, NULL);
g_object_set (clutter_settings_get_default (), "font-dpi", xft_dpi, NULL); g_object_get (settings, "gtk-xft-dpi", &xft_dpi, NULL);
} g_object_set (clutter_settings_get_default (), "font-dpi", xft_dpi, NULL);
} }
/* Make sure clutter and gdk scaling stays disabled */ /* Make sure clutter and gdk scaling stays disabled */
g_object_set (clutter_settings_get_default (), "window-scaling-factor", 1, NULL);
gdk_x11_display_set_window_scale (gdk_display_get_default (), 1); gdk_x11_display_set_window_scale (gdk_display_get_default (), 1);
} }
static void
ui_scaling_factor_changed (MetaBackend *backend,
ShellGlobal *global)
{
update_scaling_factor (global, backend);
}
/* This is an IBus workaround. The flow of events with IBus is that every time /* This is an IBus workaround. The flow of events with IBus is that every time
* it gets gets a key event, it: * it gets gets a key event, it:
* *
@ -965,6 +969,8 @@ void
_shell_global_set_plugin (ShellGlobal *global, _shell_global_set_plugin (ShellGlobal *global,
MetaPlugin *plugin) MetaPlugin *plugin)
{ {
MetaBackend *backend;
g_return_if_fail (SHELL_IS_GLOBAL (global)); g_return_if_fail (SHELL_IS_GLOBAL (global));
g_return_if_fail (global->plugin == NULL); g_return_if_fail (global->plugin == NULL);
@ -1045,18 +1051,15 @@ _shell_global_set_plugin (ShellGlobal *global,
g_signal_connect (global->meta_display, "notify::focus-window", g_signal_connect (global->meta_display, "notify::focus-window",
G_CALLBACK (focus_window_changed), global); G_CALLBACK (focus_window_changed), global);
/* gdk-window-scaling-factor is not exported to gtk-settings backend = meta_get_backend ();
* because it is handled inside gdk, so we use gtk-xft-dpi instead g_signal_connect (backend, "ui-scaling-factor-changed",
* which also changes when the scale factor changes. G_CALLBACK (ui_scaling_factor_changed), global);
*/
g_signal_connect (gtk_settings_get_default (), "notify::gtk-xft-dpi",
G_CALLBACK (update_scale_factor), global);
gdk_event_handler_set (gnome_shell_gdk_event_handler, global, NULL); gdk_event_handler_set (gnome_shell_gdk_event_handler, global, NULL);
global->focus_manager = st_focus_manager_get_for_stage (global->stage); global->focus_manager = st_focus_manager_get_for_stage (global->stage);
update_scale_factor (gtk_settings_get_default (), NULL, global); update_scaling_factor (global, meta_get_backend ());
} }
GjsContext * GjsContext *

@ -23,8 +23,6 @@
#include <string.h> #include <string.h>
#include <dbus/dbus-glib.h> #include <dbus/dbus-glib.h>
/* For use of unstable features in libsecret, until they stabilize */
#define SECRET_API_SUBJECT_TO_CHANGE
#include <libsecret/secret.h> #include <libsecret/secret.h>
#include "shell-network-agent.h" #include "shell-network-agent.h"

@ -1142,7 +1142,7 @@ _st_entry_icon_press_cb (ClutterActor *actor,
ClutterButtonEvent *event, ClutterButtonEvent *event,
StEntry *entry) StEntry *entry)
{ {
StEntryPrivate *priv = ST_ENTRY_PRIV (actor); StEntryPrivate *priv = ST_ENTRY_PRIV (entry);
if (actor == priv->primary_icon) if (actor == priv->primary_icon)
g_signal_emit (entry, entry_signals[PRIMARY_ICON_CLICKED], 0); g_signal_emit (entry, entry_signals[PRIMARY_ICON_CLICKED], 0);

@ -180,7 +180,7 @@ st_shadow_get_box (StShadow *shadow,
} }
/** /**
* SECTION:st-shadow-helper: * SECTION: st-shadow-helper
* *
* An helper for implementing a drop shadow on a actor. * An helper for implementing a drop shadow on a actor.
* The actor is expected to recreate the helper whenever its contents * The actor is expected to recreate the helper whenever its contents

@ -448,6 +448,8 @@ load_pixbuf_thread (GTask *result,
g_task_return_error (result, error); g_task_return_error (result, error);
else if (pixbuf) else if (pixbuf)
g_task_return_pointer (result, g_object_ref (pixbuf), g_object_unref); g_task_return_pointer (result, g_object_ref (pixbuf), g_object_unref);
g_clear_object (&pixbuf);
} }
static GdkPixbuf * static GdkPixbuf *
@ -1038,18 +1040,22 @@ on_sliced_image_loaded (GObject *source_object,
GObject *cache = source_object; GObject *cache = source_object;
AsyncImageData *data = (AsyncImageData *)user_data; AsyncImageData *data = (AsyncImageData *)user_data;
GTask *task = G_TASK (res); GTask *task = G_TASK (res);
GList *list; GList *list, *pixbufs;
if (g_task_had_error (task)) if (g_task_had_error (task))
return; return;
for (list = g_task_propagate_pointer (task, NULL); list; list = list->next) pixbufs = g_task_propagate_pointer (task, NULL);
for (list = pixbufs; list; list = list->next)
{ {
ClutterActor *actor = load_from_pixbuf (GDK_PIXBUF (list->data)); ClutterActor *actor = load_from_pixbuf (GDK_PIXBUF (list->data));
clutter_actor_hide (actor); clutter_actor_hide (actor);
clutter_actor_add_child (data->actor, actor); clutter_actor_add_child (data->actor, actor);
} }
g_list_free_full (pixbufs, g_object_unref);
if (data->load_callback != NULL) if (data->load_callback != NULL)
data->load_callback (cache, data->load_callback_data); data->load_callback (cache, data->load_callback_data);
} }
@ -1057,12 +1063,7 @@ on_sliced_image_loaded (GObject *source_object,
static void static void
free_glist_unref_gobjects (gpointer p) free_glist_unref_gobjects (gpointer p)
{ {
GList *list = p; g_list_free_full (p, g_object_unref);
GList *iter;
for (iter = list; iter; iter = iter->next)
g_object_unref (iter->data);
g_list_free (list);
} }
static void static void

@ -1,6 +1,6 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
// Test cases for Calendar markup parsing // Test cases for MessageList markup parsing
const JsUnit = imports.jsUnit; const JsUnit = imports.jsUnit;
const Pango = imports.gi.Pango; const Pango = imports.gi.Pango;
@ -8,7 +8,7 @@ const Pango = imports.gi.Pango;
const Environment = imports.ui.environment; const Environment = imports.ui.environment;
Environment.init(); Environment.init();
const Calendar = imports.ui.calendar; const MessageList = imports.ui.messageList;
// Assert that @input, assumed to be markup, gets "fixed" to @output, // Assert that @input, assumed to be markup, gets "fixed" to @output,
// which is valid markup. If @output is null, @input is expected to // which is valid markup. If @output is null, @input is expected to
@ -16,7 +16,7 @@ const Calendar = imports.ui.calendar;
function assertConverts(input, output) { function assertConverts(input, output) {
if (!output) if (!output)
output = input; output = input;
let fixed = Calendar._fixMarkup(input, true); let fixed = MessageList._fixMarkup(input, true);
JsUnit.assertEquals(output, fixed); JsUnit.assertEquals(output, fixed);
let parsed = false; let parsed = false;
@ -30,7 +30,7 @@ function assertConverts(input, output) {
// Assert that @input, assumed to be plain text, gets escaped to @output, // Assert that @input, assumed to be plain text, gets escaped to @output,
// which is valid markup. // which is valid markup.
function assertEscapes(input, output) { function assertEscapes(input, output) {
let fixed = Calendar._fixMarkup(input, false); let fixed = MessageList._fixMarkup(input, false);
JsUnit.assertEquals(output, fixed); JsUnit.assertEquals(output, fixed);
let parsed = false; let parsed = false;