Compare commits
185 Commits
wip/fmuell
...
3.26.2
Author | SHA1 | Date | |
---|---|---|---|
6dd973be12 | |||
98be314e64 | |||
c0ef30d416 | |||
fd103ff703 | |||
49c144a64c | |||
2c2479581a | |||
f15650e060 | |||
78d58deb5a | |||
f4237a4ae7 | |||
40616015e5 | |||
43ec5280b4 | |||
5f8a511483 | |||
f036786d4a | |||
bf2a824fd1 | |||
d439456048 | |||
4543ca1620 | |||
7da5a76aaa | |||
0b02f757f8 | |||
1939e22c22 | |||
8143f734f8 | |||
156032a7ec | |||
5c37facc08 | |||
59fc26f821 | |||
9822c4c1d6 | |||
1510640067 | |||
15f0e05db4 | |||
e2ecae466b | |||
f453b3780f | |||
b5f5a594ba | |||
6321bbb773 | |||
3eb80dc6c0 | |||
023b50e7a7 | |||
9a7dbfba99 | |||
a7021f993d | |||
1ef8722c52 | |||
ce7ff27c0c | |||
de4c0bdca6 | |||
ab0e98dfdd | |||
2ae63691e9 | |||
9ecacdbded | |||
9d01828b5b | |||
7f381dd2fe | |||
fcdb73752e | |||
ec9b2cef7d | |||
18f36b68ee | |||
f88e963edf | |||
6ecbaac0a8 | |||
7015bb2ca9 | |||
703187e996 | |||
d86a4dc43b | |||
f5a28c2f24 | |||
9f0bb526f7 | |||
80151a7d64 | |||
5a414fff44 | |||
2d11b5cea0 | |||
ecddf1fffd | |||
90c55e1977 | |||
8331436ab3 | |||
289f982949 | |||
e914d11a5f | |||
e5ed0ab60f | |||
5ec0ad4e9c | |||
bddc2c0016 | |||
56f4ce37cd | |||
053b8da89c | |||
c9d5677c2f | |||
6ab9c56d05 | |||
e90d6dceab | |||
82435450b9 | |||
389091a05c | |||
d4a76429ae | |||
5068b275fa | |||
de694f47c8 | |||
31959cbb04 | |||
fa14b3b115 | |||
6fc5b0477b | |||
96e14dcbe7 | |||
6914f8fb32 | |||
24a8b12e8b | |||
5b39afc32f | |||
fa60c95639 | |||
f9e632e99b | |||
bb89c04611 | |||
729a17bd2d | |||
9dcffda3df | |||
1e4e33a183 | |||
82013d59ec | |||
d3e95735ec | |||
d8b6f2294a | |||
8af1d195d3 | |||
d82d862547 | |||
9cc143aaee | |||
9912d22901 | |||
62bb4f4db6 | |||
921b2a9c21 | |||
d40af89df6 | |||
29d37d4fd5 | |||
68854f6d0a | |||
7031d021f4 | |||
a02399eea4 | |||
accad67e1f | |||
d9631fe109 | |||
df8d797bc4 | |||
23b3476105 | |||
ddbdfa82f2 | |||
88cd943c3d | |||
e717779651 | |||
f7d6d1db72 | |||
06a758f903 | |||
3b81465d32 | |||
75574fbd6a | |||
fdaa01a00c | |||
d78d754d01 | |||
52f604757c | |||
595065b420 | |||
b4b1caf5a3 | |||
9c3b3320f8 | |||
7d95275076 | |||
e8a2c06e4e | |||
b35dfc8914 | |||
c899453800 | |||
2339351499 | |||
63bd6efae4 | |||
f2a9467f91 | |||
0ad9c51d9b | |||
b2b2f65214 | |||
b5d3c4e165 | |||
5c3de58279 | |||
093b73b616 | |||
5067ac1598 | |||
f794b6c522 | |||
709aa011aa | |||
ebda516aef | |||
7253c9b06a | |||
96c2db6c20 | |||
5dd861dff0 | |||
1532ac3726 | |||
c42f5e2b1e | |||
090063a1cc | |||
9fc6caeffb | |||
79eedd93ab | |||
d903978937 | |||
b8eeac6fcf | |||
5a621c57ef | |||
11e71845d2 | |||
7992d7c9b3 | |||
86995d724e | |||
b0d21c3a37 | |||
6d704cddea | |||
1518a778ed | |||
41c57695a8 | |||
44bb0f6a95 | |||
abe0ff4f62 | |||
4b1ba2c05c | |||
cf010cfd8f | |||
f96b0d43fa | |||
f1ee6c69d7 | |||
7f2101d2a0 | |||
6c472d8889 | |||
6816aea906 | |||
1218e68b93 | |||
b3b30f239d | |||
4fd5eee2c6 | |||
64bbad1bac | |||
8a911cdb5d | |||
2d849759c8 | |||
56c28fbb03 | |||
e39f4ec0d6 | |||
1095489cee | |||
d587ba712c | |||
1be5b67f45 | |||
b03e00dbee | |||
a93b262e8f | |||
e8e51c05d5 | |||
56a6073729 | |||
5723fccf32 | |||
31597c5a41 | |||
5eabb45ff4 | |||
62901cac58 | |||
508e3e518e | |||
c067b07185 | |||
814e9bbe96 | |||
619a69d53c | |||
7b60d36181 | |||
cdc9d2c26f |
18
.gitignore
vendored
18
.gitignore
vendored
@ -6,16 +6,8 @@
|
|||||||
ABOUT-NLS
|
ABOUT-NLS
|
||||||
ChangeLog
|
ChangeLog
|
||||||
INSTALL
|
INSTALL
|
||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
aclocal.m4
|
aclocal.m4
|
||||||
autom4te.cache
|
autom4te.cache
|
||||||
config.h
|
|
||||||
config.h.in
|
|
||||||
config.log
|
|
||||||
config.status
|
|
||||||
config
|
|
||||||
configure
|
|
||||||
data/org.gnome.Shell.desktop
|
data/org.gnome.Shell.desktop
|
||||||
data/org.gnome.Shell.desktop.in
|
data/org.gnome.Shell.desktop.in
|
||||||
data/gnome-shell-extension-prefs.desktop
|
data/gnome-shell-extension-prefs.desktop
|
||||||
@ -41,15 +33,9 @@ docs/reference/*/*.types
|
|||||||
docs/reference/*/html/
|
docs/reference/*/html/
|
||||||
docs/reference/*/xml/
|
docs/reference/*/xml/
|
||||||
docs/reference/shell/doc-gen-*
|
docs/reference/shell/doc-gen-*
|
||||||
gtk-doc.make
|
|
||||||
js/misc/config.js
|
js/misc/config.js
|
||||||
js/js-resources.c
|
js/js-resources.c
|
||||||
js/js-resources.h
|
js/js-resources.h
|
||||||
intltool-extract.in
|
|
||||||
intltool-merge.in
|
|
||||||
intltool-update.in
|
|
||||||
libtool
|
|
||||||
m4/
|
|
||||||
man/gnome-shell.1
|
man/gnome-shell.1
|
||||||
omf.make
|
omf.make
|
||||||
po/*.gmo
|
po/*.gmo
|
||||||
@ -58,7 +44,6 @@ po/*.header
|
|||||||
po/*.sed
|
po/*.sed
|
||||||
po/*.sin
|
po/*.sin
|
||||||
po/.intltool-merge-cache
|
po/.intltool-merge-cache
|
||||||
po/Makefile.in.in
|
|
||||||
po/Makevars.template
|
po/Makevars.template
|
||||||
po/POTFILES
|
po/POTFILES
|
||||||
po/Rules-quot
|
po/Rules-quot
|
||||||
@ -68,8 +53,6 @@ src/*.gir
|
|||||||
src/*.typelib
|
src/*.typelib
|
||||||
src/*-enum-types.[ch]
|
src/*-enum-types.[ch]
|
||||||
src/*-marshal.[ch]
|
src/*-marshal.[ch]
|
||||||
src/Makefile
|
|
||||||
src/Makefile.in
|
|
||||||
src/calendar-server/evolution-calendar.desktop
|
src/calendar-server/evolution-calendar.desktop
|
||||||
src/calendar-server/org.gnome.Shell.CalendarServer.service
|
src/calendar-server/org.gnome.Shell.CalendarServer.service
|
||||||
src/gnome-shell
|
src/gnome-shell
|
||||||
@ -93,7 +76,6 @@ src/st-scroll-view-fade-generated.c
|
|||||||
src/stamp-st-scroll-view-fade-generated.c
|
src/stamp-st-scroll-view-fade-generated.c
|
||||||
stamp-h1
|
stamp-h1
|
||||||
tests/run-test.sh
|
tests/run-test.sh
|
||||||
xmldocs.make
|
|
||||||
*~
|
*~
|
||||||
*.patch
|
*.patch
|
||||||
*.sw?
|
*.sw?
|
||||||
|
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -1,6 +1,6 @@
|
|||||||
[submodule "data/theme/gnome-shell-sass"]
|
[submodule "data/theme/gnome-shell-sass"]
|
||||||
path = data/theme/gnome-shell-sass
|
path = data/theme/gnome-shell-sass
|
||||||
url = git://git.gnome.org/gnome-shell-sass
|
url = https://git.gnome.org/browse/gnome-shell-sass
|
||||||
[submodule "subprojects/gvc"]
|
[submodule "subprojects/gvc"]
|
||||||
path = subprojects/gvc
|
path = subprojects/gvc
|
||||||
url = git://git.gnome.org/libgnome-volume-control
|
url = https://git.gnome.org/browse/libgnome-volume-control
|
||||||
|
33
Makefile.am
33
Makefile.am
@ -1,33 +0,0 @@
|
|||||||
# Point to our macro directory and pick up user flags from the environment
|
|
||||||
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
|
|
||||||
|
|
||||||
SUBDIRS = data js subprojects/gvc src tests po docs
|
|
||||||
|
|
||||||
if BUILD_BROWSER_PLUGIN
|
|
||||||
SUBDIRS += browser-plugin
|
|
||||||
endif
|
|
||||||
|
|
||||||
if ENABLE_MAN
|
|
||||||
SUBDIRS += man
|
|
||||||
endif
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
.project \
|
|
||||||
.settings \
|
|
||||||
autogen.sh \
|
|
||||||
tools/check-for-missing.py
|
|
||||||
|
|
||||||
# These are files checked into Git that we don't want to distribute
|
|
||||||
DIST_EXCLUDE = \
|
|
||||||
.gitignore \
|
|
||||||
.gitmodules \
|
|
||||||
gnome-shell.doap \
|
|
||||||
HACKING \
|
|
||||||
MAINTAINERS \
|
|
||||||
tools/build/*
|
|
||||||
|
|
||||||
distcheck-hook:
|
|
||||||
@echo "Checking disted files against files in git"
|
|
||||||
@$(srcdir)/tools/check-for-missing.py $(srcdir) $(distdir) $(DIST_EXCLUDE)
|
|
||||||
|
|
||||||
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man
|
|
98
NEWS
98
NEWS
@ -1,3 +1,101 @@
|
|||||||
|
3.26.2
|
||||||
|
======
|
||||||
|
* Dump javascript stack on aborts, traps and segfaults [Marco; #789237]
|
||||||
|
* Misc. bug fixes [Jonas, Florian, Alessandro; #788607, #789018, #789231,
|
||||||
|
#788542, #789103]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Jonas Ådahl, Alessandro Bono, Florian Müllner, Marco Trevisan (Treviño)
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Xavi Ivars [ca@valencia], Fabio Tomat [fur], Matej Urbančič [sl],
|
||||||
|
Hannie Dumoleyn [nl]
|
||||||
|
|
||||||
|
3.26.1
|
||||||
|
======
|
||||||
|
* Don't detach launched apps to not break pkexec and friends [Florian; #763531]
|
||||||
|
* Allow search providers to not autostart [Bastien, Florian; #785380, #787986]
|
||||||
|
* Fix crash when tray icons are hidden/shown in quick succession [Ray; #787361]
|
||||||
|
* Make window group switcher more consistent [Didier; #786009]
|
||||||
|
* Improve legibility of the top bar when translucent [Jakub; #787940]
|
||||||
|
* Don't crash when running outside a logind session [Florian; #788046]
|
||||||
|
* Allow to run headless [Mario, Jonas; #730551]
|
||||||
|
* Update calendar on timezone changes [Martin; #678507]
|
||||||
|
* Improve keyboard navigation of window previews [Florian; #786546]
|
||||||
|
* Run unit tests on `meson test` [Florian; #786497]
|
||||||
|
* Misc. bug fixes [Florian, Marc-Antoine, Mario, Jakub, Krzesimir; #787423,
|
||||||
|
#766368, #787580, #787907, #787901, #788039, #788003, #786343, #787902,
|
||||||
|
#788265, #788339, #787905, #788282, #787676]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Martin Andersson, Florian Müllner, Bastien Nocera, Krzesimir Nowak,
|
||||||
|
Marc-Antoine Perennou, Didier Roche, Mario Sanchez Prada, Jakub Steiner,
|
||||||
|
Ray Strode
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Efstathios Iosifidis [el], Khaled Hosny [ar], Stas Solovey [ru],
|
||||||
|
Arash Mousavi [fa], Sveinn í Felli [is], Athul R T [ml],
|
||||||
|
Cheng-Chia Tseng [zh_TW], Anders Jonsson [sv]
|
||||||
|
|
||||||
|
3.26.0
|
||||||
|
======
|
||||||
|
* Misc. bug fixes [Ray, Michael, Jonas; #786332] #786783, #786886, #786868]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Jonas Ådahl, Michael Catanzaro, Sebastian Keller, Ray Strode
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Daniel Mustieles [es], Fran Dieguez [gl], Baurzhan Muftakhidinov [kk],
|
||||||
|
Marek Cernocky [cs], Andika Triwidada [id], Aurimas Černius [lt],
|
||||||
|
Piotr Drąg [pl], Trần Ngọc Quân [vi], Jordi Mas [ca], Fabio Tomat [fur],
|
||||||
|
gogo [hr], Dušan Kazik [sk], Piotr Drąg [ne], Emin Tufan Çetin [tr],
|
||||||
|
Ask Hjorth Larsen [da], Cheng-Chia Tseng [zh_TW], Rūdolfs Mazurs [lv],
|
||||||
|
Balázs Meskó [hu], Matej Urbančič [sl], Jiri Grönroos [fi],
|
||||||
|
Милош Поповић [sr], Милош Поповић [sr@latin], Rafael Fontenelle [pt_BR],
|
||||||
|
Wolfgang Stöggl [de], Milo Casagrande [it], hanniedu [nl],
|
||||||
|
Yuras Shumovich [be], Changwoo Ryu [ko], Alain Lojewski [fr],
|
||||||
|
Alexander Shopov [bg], Daniel Korostil [uk], Kris Thomsen [da],
|
||||||
|
A S Alam [pa], Sebastian Rasmussen [sv], Inaki Larranaga Murgoitio [eu],
|
||||||
|
Jiro Matsuzawa [ja]
|
||||||
|
|
||||||
|
3.25.91
|
||||||
|
=======
|
||||||
|
* Open context menu of highlighted search result on Shift+F10 [Florian; #675315]
|
||||||
|
* Fix mid-sentence capitalization in weather forecasts [Florian; #779873]
|
||||||
|
* Add switcher popup to cycle through monitor configurations [Rui; #783550]
|
||||||
|
* Offer system actions in search [Rares; #691900]
|
||||||
|
* Misc. bug fixes [Mario, Florian, Rui; #777519, #786120, #786145, #786419,
|
||||||
|
#786526, #786520, #786520, #786146]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Emmanuele Bassi, Marek Cernocky, Piotr Drąg, Carlos Garnacho, Rui Matos,
|
||||||
|
Florian Müllner, Mario Sanchez Prada, Rares Visalom
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Marek Cernocky [cs], Piotr Drąg [pl], Muhammet Kara [tr],
|
||||||
|
Мирослав Николић [sr, sr@latin], Kukuh Syafaat [id],
|
||||||
|
Baurzhan Muftakhidinov [kk], Aurimas Černius [lt], Fran Dieguez [gl],
|
||||||
|
gogo [hr], Jordi Mas [ca]
|
||||||
|
|
||||||
|
3.25.90
|
||||||
|
=======
|
||||||
|
* Add permission dialog for inhibiting shortucts [Florian; #783342]
|
||||||
|
* Improve window picker layout [Florian, Jakub; #783953]
|
||||||
|
* Remove legacy status icon tray [Florian; #785956]
|
||||||
|
* Drop autotools support [Florian; #785153]
|
||||||
|
* Misc. bug fixes [Florian, Carlos, Cosimo; #785090, #785309, #767805,
|
||||||
|
#747794, #785358, #785556]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Emmanuele Bassi, Cosimo Cecchi, Carlos Garnacho, Florian Müllner,
|
||||||
|
Jakub Steiner
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Fabio Tomat [fur], Pawan Chitrakar [ne], Aurimas Černius [lt], gogo [hr],
|
||||||
|
Daniel Mustieles [es], Baurzhan Muftakhidinov [kk], Matej Urbančič [sl],
|
||||||
|
Marek Cernocky [cs], Dušan Kazik [sk], Jordi Mas [ca], Fran Dieguez [gl],
|
||||||
|
Andika Triwidada [id], Anders Jonsson [sv], Balázs Meskó [hu]
|
||||||
|
|
||||||
3.25.4
|
3.25.4
|
||||||
======
|
======
|
||||||
* gdm: Fix "Not listed" focus indication [Florian; #784040]
|
* gdm: Fix "Not listed" focus indication [Florian; #784040]
|
||||||
|
35
autogen.sh
35
autogen.sh
@ -1,35 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Run this to generate all the initial makefiles, etc.
|
|
||||||
|
|
||||||
srcdir=`dirname $0`
|
|
||||||
test -z "$srcdir" && srcdir=.
|
|
||||||
|
|
||||||
olddir="$(pwd)"
|
|
||||||
|
|
||||||
cd "${srcdir}"
|
|
||||||
|
|
||||||
(test -f configure.ac \
|
|
||||||
&& test -d src) || {
|
|
||||||
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
|
|
||||||
echo " top-level gnome-shell directory"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Fetch submodules if needed
|
|
||||||
if test ! -f subprojects/gvc/Makefile.am || test ! -f data/theme/gnome-shell-sass/COPYING;
|
|
||||||
then
|
|
||||||
echo "+ Setting up submodules"
|
|
||||||
git submodule init
|
|
||||||
fi
|
|
||||||
git submodule update
|
|
||||||
|
|
||||||
aclocal --install || exit 1
|
|
||||||
gtkdocize --copy || exit 1
|
|
||||||
intltoolize --force --copy --automake || exit 1
|
|
||||||
autoreconf --verbose --force --install || exit 1
|
|
||||||
|
|
||||||
cd "${olddir}"
|
|
||||||
|
|
||||||
if [ "$NOCONFIGURE" = "" ]; then
|
|
||||||
"${srcdir}/configure" "$@" || exit 1
|
|
||||||
fi
|
|
@ -1,23 +0,0 @@
|
|||||||
|
|
||||||
mozillalibdir = $(BROWSER_PLUGIN_DIR)
|
|
||||||
|
|
||||||
mozillalib_LTLIBRARIES = libgnome-shell-browser-plugin.la
|
|
||||||
|
|
||||||
# Browsers can unload and reload the module while browsing, which is not supported by GObject.
|
|
||||||
# We pass -Wl,-z,nodelete to the linker to ensure the module is never unloaded.
|
|
||||||
# https://bugzilla.gnome.org/show_bug.cgi?id=737932
|
|
||||||
libgnome_shell_browser_plugin_la_LDFLAGS = -module -avoid-version -no-undefined -Wl,-z,nodelete
|
|
||||||
|
|
||||||
libgnome_shell_browser_plugin_la_LIBADD = \
|
|
||||||
$(BROWSER_PLUGIN_LIBS)
|
|
||||||
|
|
||||||
libgnome_shell_browser_plugin_la_SOURCES = \
|
|
||||||
browser-plugin.c \
|
|
||||||
npapi/npapi.h \
|
|
||||||
npapi/npfunctions.h \
|
|
||||||
npapi/npruntime.h \
|
|
||||||
npapi/nptypes.h
|
|
||||||
|
|
||||||
libgnome_shell_browser_plugin_la_CFLAGS = \
|
|
||||||
$(BROWSER_PLUGIN_CFLAGS) \
|
|
||||||
-DG_LOG_DOMAIN=\"GnomeShellBrowserPlugin\"
|
|
158
configure
vendored
Executable file
158
configure
vendored
Executable file
@ -0,0 +1,158 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# configure script adapter for Meson
|
||||||
|
# Based on build-api: https://github.com/cgwalters/build-api
|
||||||
|
# Copyright 2010, 2011, 2013 Colin Walters <walters@verbum.org>
|
||||||
|
# Copyright 2016, 2017 Emmanuele Bassi
|
||||||
|
# Licensed under the new-BSD license (http://www.opensource.org/licenses/bsd-license.php)
|
||||||
|
|
||||||
|
# Build API variables:
|
||||||
|
|
||||||
|
# Little helper function for reading args from the commandline.
|
||||||
|
# it automatically handles -a b and -a=b variants, and returns 1 if
|
||||||
|
# we need to shift $3.
|
||||||
|
read_arg() {
|
||||||
|
# $1 = arg name
|
||||||
|
# $2 = arg value
|
||||||
|
# $3 = arg parameter
|
||||||
|
local rematch='^[^=]*=(.*)$'
|
||||||
|
if [[ $2 =~ $rematch ]]; then
|
||||||
|
read "$1" <<< "${BASH_REMATCH[1]}"
|
||||||
|
else
|
||||||
|
read "$1" <<< "$3"
|
||||||
|
# There is no way to shift our callers args, so
|
||||||
|
# return 1 to indicate they should do it instead.
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
sanitycheck() {
|
||||||
|
# $1 = arg name
|
||||||
|
# $1 = arg command
|
||||||
|
# $2 = arg alternates
|
||||||
|
local cmd=$( which $2 2>/dev/null )
|
||||||
|
|
||||||
|
if [ -x "$cmd" ]; then
|
||||||
|
read "$1" <<< "$cmd"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
test -z $3 || {
|
||||||
|
for alt in $3; do
|
||||||
|
cmd=$( which $alt 2>/dev/null )
|
||||||
|
|
||||||
|
if [ -x "$cmd" ]; then
|
||||||
|
read "$1" <<< "$cmd"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
echo -e "\e[1;31mERROR\e[0m: Command '$2' not found"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
sanitycheck MESON 'meson'
|
||||||
|
sanitycheck NINJA 'ninja' 'ninja-build'
|
||||||
|
|
||||||
|
enable_docs='-Denable-gtk-doc=false'
|
||||||
|
enable_man='-Denable-man=false'
|
||||||
|
enable_introspection=''
|
||||||
|
|
||||||
|
while (($# > 0)); do
|
||||||
|
case "${1%%=*}" in
|
||||||
|
--prefix) read_arg prefix "$@" || shift;;
|
||||||
|
--bindir) read_arg bindir "$@" || shift;;
|
||||||
|
--sbindir) read_arg sbindir "$@" || shift;;
|
||||||
|
--libexecdir) read_arg libexecdir "$@" || shift;;
|
||||||
|
--datarootdir) read_arg datarootdir "$@" || shift;;
|
||||||
|
--datadir) read_arg datadir "$@" || shift;;
|
||||||
|
--sysconfdir) read_arg sysconfdir "$@" || shift;;
|
||||||
|
--libdir) read_arg libdir "$@" || shift;;
|
||||||
|
--mandir) read_arg mandir "$@" || shift;;
|
||||||
|
--includedir) read_arg includedir "$@" || shift;;
|
||||||
|
--enable-gtk-doc) enable_docs='-Denable-gtk-doc=true';;
|
||||||
|
--disable-gtk-doc) enable_docs='-Denable-gtk-doc=false';;
|
||||||
|
--enable-man) enable_man='-Denable-man=true';;
|
||||||
|
--disable-man) enable_man='-Denable-man=false';;
|
||||||
|
--enable-introspection) enable_introspection='';;
|
||||||
|
--disable-introspection) enable_introspection='-Ddisable_introspection=true';;
|
||||||
|
*) echo -e "\e[1;33mINFO\e[0m: Ignoring unknown option '$1'";;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
# Defaults
|
||||||
|
test -z ${prefix} && prefix="/usr/local"
|
||||||
|
test -z ${bindir} && bindir=${prefix}/bin
|
||||||
|
test -z ${sbindir} && sbindir=${prefix}/sbin
|
||||||
|
test -z ${libexecdir} && libexecdir=${prefix}/bin
|
||||||
|
test -z ${datarootdir} && datarootdir=${prefix}/share
|
||||||
|
test -z ${datadir} && datadir=${datarootdir}
|
||||||
|
test -z ${sysconfdir} && sysconfdir=${prefix}/etc
|
||||||
|
test -z ${libdir} && libdir=${prefix}/lib
|
||||||
|
test -z ${mandir} && mandir=${prefix}/share/man
|
||||||
|
test -z ${includedir} && includedir=${prefix}/include
|
||||||
|
|
||||||
|
# The source directory is the location of this file
|
||||||
|
srcdir=$(dirname $0)
|
||||||
|
|
||||||
|
# The build directory is the current location
|
||||||
|
builddir=`pwd`
|
||||||
|
|
||||||
|
# If we're calling this file from the source directory then
|
||||||
|
# we automatically create a build directory and ensure that
|
||||||
|
# both Meson and Ninja invocations are relative to that
|
||||||
|
# location
|
||||||
|
if [[ -f "${builddir}/meson.build" ]]; then
|
||||||
|
mkdir -p _build
|
||||||
|
builddir="${builddir}/_build"
|
||||||
|
NINJA_OPT="-C ${builddir}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Wrapper Makefile for Ninja
|
||||||
|
cat > Makefile <<END
|
||||||
|
# Generated by configure; do not edit
|
||||||
|
|
||||||
|
all:
|
||||||
|
CC="\$(CC)" CXX="\$(CXX)" ${NINJA} ${NINJA_OPT}
|
||||||
|
|
||||||
|
install:
|
||||||
|
DESTDIR="\$(DESTDIR)" ${NINJA} ${NINJA_OPT} install
|
||||||
|
|
||||||
|
check:
|
||||||
|
${MESON} test ${NINJA_OPT}
|
||||||
|
END
|
||||||
|
|
||||||
|
echo "Summary:"
|
||||||
|
echo " meson:....... ${MESON}"
|
||||||
|
echo " ninja:....... ${NINJA}"
|
||||||
|
echo " prefix:...... ${prefix}"
|
||||||
|
echo " bindir:...... ${bindir}"
|
||||||
|
echo " sbindir:..... ${sbindir}"
|
||||||
|
echo " libexecdir:.. ${libexecdir}"
|
||||||
|
echo " datarootdir:. ${datarootdir}"
|
||||||
|
echo " datadir:..... ${datadir}"
|
||||||
|
echo " sysconfdir:.. ${sysconfdir}"
|
||||||
|
echo " libdir:...... ${libdir}"
|
||||||
|
echo " mandir:...... ${mandir}"
|
||||||
|
echo " includedir:.. ${includedir}"
|
||||||
|
echo " additional:.."
|
||||||
|
echo " - ${enable_docs} ${enable_man} ${enable_introspection}"
|
||||||
|
|
||||||
|
exec ${MESON} \
|
||||||
|
--prefix=${prefix} \
|
||||||
|
--libdir=${libdir} \
|
||||||
|
--libexecdir=${libexecdir} \
|
||||||
|
--datadir=${datadir} \
|
||||||
|
--sysconfdir=${sysconfdir} \
|
||||||
|
--bindir=${bindir} \
|
||||||
|
--includedir=${includedir} \
|
||||||
|
--mandir=${mandir} \
|
||||||
|
--default-library shared \
|
||||||
|
${enable_docs} \
|
||||||
|
${enable_man} \
|
||||||
|
${enable_introspection} \
|
||||||
|
${builddir} \
|
||||||
|
${srcdir}
|
||||||
|
|
||||||
|
# vim: ai ts=8 noet sts=2 ft=sh
|
280
configure.ac
280
configure.ac
@ -1,280 +0,0 @@
|
|||||||
AC_PREREQ(2.63)
|
|
||||||
AC_INIT([gnome-shell],[3.25.4],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
|
||||||
AX_IS_RELEASE([git-directory])
|
|
||||||
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
|
||||||
AC_CONFIG_SRCDIR([src/shell-global.c])
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
AC_CONFIG_AUX_DIR([config])
|
|
||||||
|
|
||||||
AC_SUBST([PACKAGE_NAME], ["$PACKAGE_NAME"])
|
|
||||||
AC_SUBST([PACKAGE_VERSION], ["$PACKAGE_VERSION"])
|
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar foreign])
|
|
||||||
AM_MAINTAINER_MODE([enable])
|
|
||||||
|
|
||||||
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
|
|
||||||
|
|
||||||
# Checks for programs.
|
|
||||||
AC_PROG_CC
|
|
||||||
|
|
||||||
# Initialize libtool
|
|
||||||
LT_PREREQ([2.2.6])
|
|
||||||
LT_INIT([disable-static])
|
|
||||||
|
|
||||||
# i18n
|
|
||||||
GETTEXT_PACKAGE=gnome-shell
|
|
||||||
AC_SUBST(GETTEXT_PACKAGE)
|
|
||||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
|
||||||
[The prefix for our gettext translation domains.])
|
|
||||||
|
|
||||||
AM_GNU_GETTEXT_VERSION([0.19.6])
|
|
||||||
AM_GNU_GETTEXT([external])
|
|
||||||
|
|
||||||
PKG_PROG_PKG_CONFIG([0.22])
|
|
||||||
|
|
||||||
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
|
||||||
|
|
||||||
GLIB_GSETTINGS
|
|
||||||
|
|
||||||
# Get a value to substitute into gnome-shell.in
|
|
||||||
AM_PATH_PYTHON([3])
|
|
||||||
AC_SUBST(PYTHON)
|
|
||||||
|
|
||||||
# We depend on a specific version of the libmutter API. The mutter variants of
|
|
||||||
# the Cogl and Clutter libraries also use this API version.
|
|
||||||
LIBMUTTER_API_VERSION=1
|
|
||||||
|
|
||||||
LIBMUTTER=libmutter-$LIBMUTTER_API_VERSION
|
|
||||||
LIBMUTTER_COGL=mutter-cogl-$LIBMUTTER_API_VERSION
|
|
||||||
LIBMUTTER_COGL_PANGO=mutter-cogl-pango-$LIBMUTTER_API_VERSION
|
|
||||||
LIBMUTTER_CLUTTER=mutter-clutter-$LIBMUTTER_API_VERSION
|
|
||||||
|
|
||||||
# We need at least this, since gst_plugin_register_static() was added
|
|
||||||
# in 0.10.16, but nothing older than 0.10.21 has been tested.
|
|
||||||
GSTREAMER_MIN_VERSION=0.11.92
|
|
||||||
|
|
||||||
recorder_modules=
|
|
||||||
build_recorder=false
|
|
||||||
AC_MSG_CHECKING([for GStreamer (needed for recording functionality)])
|
|
||||||
if $PKG_CONFIG --exists gstreamer-1.0 '>=' $GSTREAMER_MIN_VERSION ; then
|
|
||||||
AC_MSG_RESULT(yes)
|
|
||||||
build_recorder=true
|
|
||||||
recorder_modules="gstreamer-1.0 gstreamer-base-1.0 x11 gtk+-3.0"
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT(no)
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([systemd],
|
|
||||||
AS_HELP_STRING([--enable-systemd], [Use systemd]),
|
|
||||||
[enable_systemd=$enableval],
|
|
||||||
[enable_systemd=auto])
|
|
||||||
AS_IF([test x$enable_systemd != xno], [
|
|
||||||
AC_MSG_CHECKING([for libsystemd])
|
|
||||||
PKG_CHECK_EXISTS([libsystemd],
|
|
||||||
[have_systemd=yes
|
|
||||||
AC_DEFINE([HAVE_SYSTEMD], [1], [Define if we have systemd])],
|
|
||||||
[have_systemd=no])
|
|
||||||
AC_MSG_RESULT($have_systemd)
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_MSG_RESULT($enable_systemd)
|
|
||||||
|
|
||||||
GOBJECT_INTROSPECTION_MIN_VERSION=1.49.1
|
|
||||||
GJS_MIN_VERSION=1.47.0
|
|
||||||
MUTTER_MIN_VERSION=3.25.3
|
|
||||||
GTK_MIN_VERSION=3.15.0
|
|
||||||
GIO_MIN_VERSION=2.53.0
|
|
||||||
LIBECAL_MIN_VERSION=3.5.3
|
|
||||||
LIBEDATASERVER_MIN_VERSION=3.17.2
|
|
||||||
POLKIT_MIN_VERSION=0.100
|
|
||||||
STARTUP_NOTIFICATION_MIN_VERSION=0.11
|
|
||||||
GCR_MIN_VERSION=3.7.5
|
|
||||||
GNOME_DESKTOP_REQUIRED_VERSION=3.7.90
|
|
||||||
NETWORKMANAGER_MIN_VERSION=0.9.8
|
|
||||||
PULSE_MIN_VERS=2.0
|
|
||||||
|
|
||||||
# Collect more than 20 libraries for a prize!
|
|
||||||
SHARED_PCS="gio-unix-2.0 >= $GIO_MIN_VERSION
|
|
||||||
libxml-2.0
|
|
||||||
gtk+-3.0 >= $GTK_MIN_VERSION
|
|
||||||
atk-bridge-2.0
|
|
||||||
gjs-1.0 >= $GJS_MIN_VERSION
|
|
||||||
$recorder_modules
|
|
||||||
gdk-x11-3.0 libsoup-2.4
|
|
||||||
$LIBMUTTER_CLUTTER >= $MUTTER_MIN_VERSION
|
|
||||||
$LIBMUTTER_COGL_PANGO
|
|
||||||
libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_MIN_VERSION
|
|
||||||
gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION
|
|
||||||
libcanberra libcanberra-gtk3
|
|
||||||
polkit-agent-1 >= $POLKIT_MIN_VERSION
|
|
||||||
gcr-base-3 >= $GCR_MIN_VERSION"
|
|
||||||
if test x$have_systemd = xyes; then
|
|
||||||
SHARED_PCS="${SHARED_PCS} libsystemd"
|
|
||||||
fi
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GNOME_SHELL, $SHARED_PCS)
|
|
||||||
PKG_CHECK_MODULES(MUTTER, $LIBMUTTER >= $MUTTER_MIN_VERSION)
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-1.0 >= $GJS_MIN_VERSION)
|
|
||||||
PKG_CHECK_MODULES(ST, $LIBMUTTER_CLUTTER gtk+-3.0 libcroco-0.6 >= 0.6.8 x11)
|
|
||||||
PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
|
|
||||||
PKG_CHECK_MODULES(SHELL_HOTPLUG_SNIFFER, gio-2.0 gdk-pixbuf-2.0)
|
|
||||||
PKG_CHECK_MODULES(TRAY, $LIBMUTTER_CLUTTER gtk+-3.0)
|
|
||||||
PKG_CHECK_MODULES(GVC, libpulse >= $PULSE_MIN_VERS libpulse-mainloop-glib gobject-2.0)
|
|
||||||
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.21.3)
|
|
||||||
|
|
||||||
AC_SUBST(LIBMUTTER_API_VERSION)
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(browser-plugin,
|
|
||||||
[AS_HELP_STRING([--enable-browser-plugin],
|
|
||||||
[Enable browser plugin [default=yes]])],,
|
|
||||||
enable_browser_plugin=yes)
|
|
||||||
AS_IF([test x$enable_browser_plugin = xyes], [
|
|
||||||
PKG_CHECK_MODULES(BROWSER_PLUGIN, gio-2.0 >= $GIO_MIN_VERSION json-glib-1.0 >= 0.13.2)
|
|
||||||
])
|
|
||||||
AM_CONDITIONAL(BUILD_BROWSER_PLUGIN, test x$enable_browser_plugin = xyes)
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(BLUETOOTH, gnome-bluetooth-1.0 >= 3.9.0,
|
|
||||||
[AC_DEFINE([HAVE_BLUETOOTH],[1],[Define if you have libgnome-bluetooth-applet])
|
|
||||||
AC_SUBST([HAVE_BLUETOOTH],[1])],
|
|
||||||
[AC_DEFINE([HAVE_BLUETOOTH],[0])
|
|
||||||
AC_SUBST([HAVE_BLUETOOTH],[0])])
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(CALENDAR_SERVER, libecal-1.2 >= $LIBECAL_MIN_VERSION libedataserver-1.2 >= $LIBEDATASERVER_MIN_VERSION gio-2.0)
|
|
||||||
AC_SUBST(CALENDAR_SERVER_CFLAGS)
|
|
||||||
AC_SUBST(CALENDAR_SERVER_LIBS)
|
|
||||||
|
|
||||||
GNOME_KEYBINDINGS_KEYSDIR=`$PKG_CONFIG --variable keysdir gnome-keybindings`
|
|
||||||
AC_SUBST([GNOME_KEYBINDINGS_KEYSDIR])
|
|
||||||
|
|
||||||
GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_MIN_VERSION])
|
|
||||||
|
|
||||||
MUTTER_GIR_DIR=`$PKG_CONFIG --variable=girdir $LIBMUTTER`
|
|
||||||
AC_SUBST(MUTTER_GIR_DIR)
|
|
||||||
|
|
||||||
MUTTER_TYPELIB_DIR=`$PKG_CONFIG --variable=typelibdir $LIBMUTTER`
|
|
||||||
AC_SUBST(MUTTER_TYPELIB_DIR)
|
|
||||||
|
|
||||||
GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0`
|
|
||||||
AC_SUBST(GLIB_COMPILE_RESOURCES)
|
|
||||||
|
|
||||||
AC_CHECK_FUNCS(fdwalk)
|
|
||||||
AC_CHECK_FUNCS(mallinfo)
|
|
||||||
AC_CHECK_HEADERS([sys/resource.h])
|
|
||||||
|
|
||||||
# _NL_TIME_FIRST_WEEKDAY is an enum and not a define
|
|
||||||
AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]],
|
|
||||||
[[nl_langinfo(_NL_TIME_FIRST_WEEKDAY);]])],
|
|
||||||
[langinfo_ok=yes], [langinfo_ok=no])
|
|
||||||
AC_MSG_RESULT($langinfo_ok)
|
|
||||||
if test "$langinfo_ok" = "yes"; then
|
|
||||||
AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
|
|
||||||
[Define if _NL_TIME_FIRST_WEEKDAY is available])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(networkmanager,
|
|
||||||
AS_HELP_STRING([--disable-networkmanager],
|
|
||||||
[disable NetworkManager support @<:@default=auto@:>@]),,
|
|
||||||
[enable_networkmanager=auto])
|
|
||||||
|
|
||||||
if test "x$enable_networkmanager" != "xno"; then
|
|
||||||
PKG_CHECK_MODULES(NETWORKMANAGER,
|
|
||||||
[libnm-glib
|
|
||||||
libnm-util >= $NETWORKMANAGER_MIN_VERSION
|
|
||||||
libnm-gtk >= $NETWORKMANAGER_MIN_VERSION
|
|
||||||
libsecret-1 >= 0.18],
|
|
||||||
[have_networkmanager=yes],
|
|
||||||
[have_networkmanager=no])
|
|
||||||
|
|
||||||
GNOME_SHELL_CFLAGS="$GNOME_SHELL_CFLAGS $NETWORKMANAGER_CFLAGS"
|
|
||||||
GNOME_SHELL_LIBS="$GNOME_SHELL_LIBS $NETWORKMANAGER_LIBS"
|
|
||||||
else
|
|
||||||
have_networkmanager="no (disabled)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$have_networkmanager" = "xyes"; then
|
|
||||||
AC_DEFINE(HAVE_NETWORKMANAGER, [1], [Define if we have NetworkManager])
|
|
||||||
AC_SUBST([HAVE_NETWORKMANAGER], [1])
|
|
||||||
else
|
|
||||||
if test "x$enable_networkmanager" = "xyes"; then
|
|
||||||
AC_MSG_ERROR([Couldn't find NetworkManager.])
|
|
||||||
fi
|
|
||||||
AC_SUBST([HAVE_NETWORKMANAGER], [0])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL(HAVE_NETWORKMANAGER, test "$have_networkmanager" = "yes")
|
|
||||||
|
|
||||||
# Sets GLIB_GENMARSHAL and GLIB_MKENUMS
|
|
||||||
AM_PATH_GLIB_2_0()
|
|
||||||
|
|
||||||
GTK_DOC_CHECK([1.15], [--flavour no-tmpl])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(man,
|
|
||||||
[AS_HELP_STRING([--enable-man],
|
|
||||||
[generate man pages [default=yes]])],,
|
|
||||||
enable_man=yes)
|
|
||||||
if test "$enable_man" != no; then
|
|
||||||
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
|
||||||
if test -z "$XSLTPROC"; then
|
|
||||||
AC_MSG_ERROR([xsltproc is required for --enable-man])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no)
|
|
||||||
|
|
||||||
AX_COMPILER_FLAGS()
|
|
||||||
case "$WARN_CFLAGS" in
|
|
||||||
*-Werror*)
|
|
||||||
WARN_CFLAGS="$WARN_CFLAGS -Wno-error=deprecated-declarations"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AM_CFLAGS="$AM_CFLAGS $WARN_CFLAGS"
|
|
||||||
AC_SUBST(AM_CFLAGS)
|
|
||||||
|
|
||||||
if test -z "${BROWSER_PLUGIN_DIR}"; then
|
|
||||||
BROWSER_PLUGIN_DIR="\${libdir}/mozilla/plugins"
|
|
||||||
fi
|
|
||||||
AC_ARG_VAR([BROWSER_PLUGIN_DIR],[Where to install the plugin to])
|
|
||||||
|
|
||||||
AC_ARG_VAR([GDBUS_CODEGEN],[the gdbus-codegen programme])
|
|
||||||
AC_PATH_PROG([GDBUS_CODEGEN],[gdbus-codegen],[])
|
|
||||||
if test -z "$GDBUS_CODEGEN"; then
|
|
||||||
AC_MSG_ERROR([gdbus-codegen not found])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_PATH_PROG([SASSC],[sassc],[])
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
|
||||||
Makefile
|
|
||||||
data/Makefile
|
|
||||||
docs/Makefile
|
|
||||||
docs/reference/Makefile
|
|
||||||
docs/reference/shell/Makefile
|
|
||||||
docs/reference/shell/version.xml
|
|
||||||
docs/reference/st/Makefile
|
|
||||||
docs/reference/st/version.xml
|
|
||||||
js/Makefile
|
|
||||||
src/Makefile
|
|
||||||
subprojects/gvc/Makefile
|
|
||||||
browser-plugin/Makefile
|
|
||||||
tests/Makefile
|
|
||||||
po/Makefile.in
|
|
||||||
man/Makefile
|
|
||||||
])
|
|
||||||
AC_OUTPUT
|
|
||||||
|
|
||||||
echo "
|
|
||||||
Build configuration:
|
|
||||||
|
|
||||||
Prefix: ${prefix}
|
|
||||||
Source code location: ${srcdir}
|
|
||||||
Compiler: ${CC}
|
|
||||||
Compiler Warnings: $ax_enable_compile_warnings
|
|
||||||
|
|
||||||
Support for NetworkManager: $have_networkmanager
|
|
||||||
Support for GStreamer recording: $build_recorder
|
|
||||||
"
|
|
136
data/Makefile.am
136
data/Makefile.am
@ -1,136 +0,0 @@
|
|||||||
CLEANFILES =
|
|
||||||
NULL =
|
|
||||||
|
|
||||||
portaldir = $(datadir)/xdg-desktop-portal/portals
|
|
||||||
portal_DATA = gnome-shell.portal
|
|
||||||
|
|
||||||
desktopdir=$(datadir)/applications
|
|
||||||
desktop_DATA = org.gnome.Shell.desktop gnome-shell-extension-prefs.desktop
|
|
||||||
|
|
||||||
if HAVE_NETWORKMANAGER
|
|
||||||
desktop_DATA += org.gnome.Shell.PortalHelper.desktop
|
|
||||||
|
|
||||||
servicedir = $(datadir)/dbus-1/services
|
|
||||||
service_DATA = org.gnome.Shell.PortalHelper.service
|
|
||||||
|
|
||||||
CLEANFILES += \
|
|
||||||
org.gnome.Shell.PortalHelper.service \
|
|
||||||
org.gnome.Shell.PortalHelper.desktop \
|
|
||||||
org.gnome.Shell.PortalHelper.desktop.in \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
%.service: %.service.in
|
|
||||||
$(AM_V_GEN) sed -e "s|@libexecdir[@]|$(libexecdir)|" \
|
|
||||||
$< > $@ || rm $@
|
|
||||||
|
|
||||||
# We substitute in bindir so it works as an autostart
|
|
||||||
# file when built in a non-system prefix
|
|
||||||
%.desktop.in:%.desktop.in.in
|
|
||||||
$(AM_V_GEN) sed -e "s|@bindir[@]|$(bindir)|" \
|
|
||||||
-e "s|@VERSION[@]|$(VERSION)|" \
|
|
||||||
$< > $@ || rm $@
|
|
||||||
|
|
||||||
%.desktop:%.desktop.in
|
|
||||||
$(AM_V_GEN) $(MSGFMT) --desktop --template $(builddir)/$< \
|
|
||||||
-d $(top_srcdir)/po -o $@
|
|
||||||
|
|
||||||
introspectiondir = $(datadir)/dbus-1/interfaces
|
|
||||||
introspection_DATA = \
|
|
||||||
org.gnome.Shell.PadOsd.xml \
|
|
||||||
org.gnome.Shell.Screencast.xml \
|
|
||||||
org.gnome.Shell.Screenshot.xml \
|
|
||||||
org.gnome.ShellSearchProvider.xml \
|
|
||||||
org.gnome.ShellSearchProvider2.xml \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
theme_sources = \
|
|
||||||
theme/gnome-shell-high-contrast.scss \
|
|
||||||
theme/gnome-shell.scss \
|
|
||||||
theme/gnome-shell-sass/_colors.scss \
|
|
||||||
theme/gnome-shell-sass/_common.scss \
|
|
||||||
theme/gnome-shell-sass/_drawing.scss \
|
|
||||||
theme/gnome-shell-sass/_high-contrast-colors.scss \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
dist_theme_files = \
|
|
||||||
$(theme_sources) \
|
|
||||||
theme/HACKING \
|
|
||||||
theme/README \
|
|
||||||
theme/gnome-shell-sass/COPYING \
|
|
||||||
theme/gnome-shell-sass/HACKING \
|
|
||||||
theme/gnome-shell-sass/NEWS \
|
|
||||||
theme/gnome-shell-sass/README \
|
|
||||||
theme/gnome-shell-sass/gnome-shell-sass.doap \
|
|
||||||
theme/pad-osd.css \
|
|
||||||
theme/parse-sass.sh \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
%.css: %.scss $(theme_sources)
|
|
||||||
@if test -n "$(SASSC)"; then \
|
|
||||||
if $(AM_V_P); then PS4= set -x; else echo " GEN $@"; fi; \
|
|
||||||
$(SASSC) -a $< $@; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir)/theme --generate-dependencies $(srcdir)/gnome-shell-theme.gresource.xml)
|
|
||||||
gnome-shell-theme.gresource: gnome-shell-theme.gresource.xml $(resource_files)
|
|
||||||
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir)/theme $<
|
|
||||||
resourcedir = $(pkgdatadir)
|
|
||||||
resource_DATA = gnome-shell-theme.gresource
|
|
||||||
|
|
||||||
backgrounddir = $(pkgdatadir)
|
|
||||||
background_DATA = perf-background.xml
|
|
||||||
|
|
||||||
perf-background.xml: perf-background.xml.in
|
|
||||||
$(AM_V_GEN) sed -e "s|@datadir[@]|$(datadir)|" \
|
|
||||||
$< > $@ || rm $@
|
|
||||||
|
|
||||||
keysdir = @GNOME_KEYBINDINGS_KEYSDIR@
|
|
||||||
keys_DATA = 50-gnome-shell-system.xml
|
|
||||||
|
|
||||||
gsettings_SCHEMAS = org.gnome.shell.gschema.xml
|
|
||||||
|
|
||||||
%.gschema.xml: %.gschema.xml.in Makefile
|
|
||||||
$(AM_V_GEN) sed -e 's|@GETTEXT_PACKAGE[@]|$(GETTEXT_PACKAGE)|g' \
|
|
||||||
$< > $@ || rm $@
|
|
||||||
|
|
||||||
@GSETTINGS_RULES@
|
|
||||||
|
|
||||||
# We need to compile schemas at make time
|
|
||||||
# to run from source tree
|
|
||||||
gschemas.compiled: $(gsettings_SCHEMAS:.xml=.valid)
|
|
||||||
$(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --targetdir=. .
|
|
||||||
|
|
||||||
all-local: gschemas.compiled
|
|
||||||
|
|
||||||
convertdir = $(datadir)/GConf/gsettings
|
|
||||||
convert_DATA = gnome-shell-overrides.convert
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
org.gnome.Shell.desktop.in.in \
|
|
||||||
gnome-shell-extension-prefs.desktop.in.in \
|
|
||||||
$(portal_DATA) \
|
|
||||||
$(introspection_DATA) \
|
|
||||||
$(menu_DATA) \
|
|
||||||
$(convert_DATA) \
|
|
||||||
$(keys_DATA) \
|
|
||||||
$(dist_theme_files) \
|
|
||||||
perf-background.xml.in \
|
|
||||||
org.gnome.Shell.PortalHelper.desktop.in.in \
|
|
||||||
org.gnome.Shell.PortalHelper.service.in \
|
|
||||||
org.gnome.shell.gschema.xml.in \
|
|
||||||
gnome-shell-theme.gresource.xml \
|
|
||||||
$(resource_files) \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
CLEANFILES += \
|
|
||||||
org.gnome.Shell.desktop.in \
|
|
||||||
gnome-shell-extension-prefs.in \
|
|
||||||
$(desktop_DATA) \
|
|
||||||
$(gsettings_SCHEMAS) \
|
|
||||||
perf-background.xml \
|
|
||||||
gschemas.compiled \
|
|
||||||
org.gnome.shell.gschema.valid \
|
|
||||||
gnome-shell-theme.gresource \
|
|
||||||
$(NULL)
|
|
@ -9,6 +9,8 @@
|
|||||||
<file>checkbox-off.svg</file>
|
<file>checkbox-off.svg</file>
|
||||||
<file>checkbox.svg</file>
|
<file>checkbox.svg</file>
|
||||||
<file>close-window.svg</file>
|
<file>close-window.svg</file>
|
||||||
|
<file>close-window-active.svg</file>
|
||||||
|
<file>close-window-hover.svg</file>
|
||||||
<file>close.svg</file>
|
<file>close.svg</file>
|
||||||
<file>corner-ripple-ltr.png</file>
|
<file>corner-ripple-ltr.png</file>
|
||||||
<file>corner-ripple-rtl.png</file>
|
<file>corner-ripple-rtl.png</file>
|
||||||
@ -18,6 +20,7 @@
|
|||||||
<file>gnome-shell.css</file>
|
<file>gnome-shell.css</file>
|
||||||
<file>gnome-shell-high-contrast.css</file>
|
<file>gnome-shell-high-contrast.css</file>
|
||||||
<file>logged-in-indicator.svg</file>
|
<file>logged-in-indicator.svg</file>
|
||||||
|
<file alias="icons/message-indicator-symbolic.svg">message-indicator-symbolic.svg</file>
|
||||||
<file>no-events.svg</file>
|
<file>no-events.svg</file>
|
||||||
<file>no-notifications.svg</file>
|
<file>no-notifications.svg</file>
|
||||||
<file>noise-texture.png</file>
|
<file>noise-texture.png</file>
|
||||||
|
@ -78,11 +78,18 @@ install_data('50-gnome-shell-system.xml', install_dir: keysdir)
|
|||||||
|
|
||||||
schemaconf = configuration_data()
|
schemaconf = configuration_data()
|
||||||
schemaconf.set('GETTEXT_PACKAGE', meson.project_name())
|
schemaconf.set('GETTEXT_PACKAGE', meson.project_name())
|
||||||
configure_file(
|
schema = configure_file(
|
||||||
input: 'org.gnome.shell.gschema.xml.in',
|
input: 'org.gnome.shell.gschema.xml.in',
|
||||||
output: 'org.gnome.shell.gschema.xml',
|
output: 'org.gnome.shell.gschema.xml',
|
||||||
configuration: schemaconf,
|
configuration: schemaconf,
|
||||||
install_dir: schemadir
|
install_dir: schemadir
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# for unit tests - gnome.compile_schemas() only looks in srcdir
|
||||||
|
custom_target('compile-schemas',
|
||||||
|
input: schema,
|
||||||
|
output: 'gschemas.compiled',
|
||||||
|
command: [find_program('glib-compile-schemas'), meson.current_build_dir()],
|
||||||
|
build_by_default: true)
|
||||||
|
|
||||||
install_data('gnome-shell-overrides.convert', install_dir: convertdir)
|
install_data('gnome-shell-overrides.convert', install_dir: convertdir)
|
||||||
|
81
data/theme/close-window-active.svg
Normal file
81
data/theme/close-window-active.svg
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.0"
|
||||||
|
id="Foreground"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 32 32"
|
||||||
|
enable-background="new 0 0 16 16"
|
||||||
|
xml:space="preserve"
|
||||||
|
sodipodi:version="0.32"
|
||||||
|
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
||||||
|
sodipodi:docname="close-window-active.svg"
|
||||||
|
inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
|
||||||
|
id="metadata2399"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs2397"><linearGradient
|
||||||
|
id="linearGradient3173"><stop
|
||||||
|
style="stop-color:#c4c4c4;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop3175" /><stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="1"
|
||||||
|
id="stop3177" /></linearGradient><inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="0 : 11 : 1"
|
||||||
|
inkscape:vp_y="0 : 1375 : 0"
|
||||||
|
inkscape:vp_z="22 : 11 : 1"
|
||||||
|
inkscape:persp3d-origin="11 : 7.3333334 : 1"
|
||||||
|
id="perspective2401" /></defs><sodipodi:namedview
|
||||||
|
inkscape:window-height="1106"
|
||||||
|
inkscape:window-width="1700"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
guidetolerance="10.0"
|
||||||
|
gridtolerance="10.0"
|
||||||
|
objecttolerance="10.0"
|
||||||
|
borderopacity="1.0"
|
||||||
|
bordercolor="#666666"
|
||||||
|
pagecolor="#797979"
|
||||||
|
id="base"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="4"
|
||||||
|
inkscape:cx="28.483745"
|
||||||
|
inkscape:cy="67.714004"
|
||||||
|
inkscape:window-x="1427"
|
||||||
|
inkscape:window-y="127"
|
||||||
|
inkscape:current-layer="Foreground"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:guide-bbox="true"
|
||||||
|
borderlayer="true"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:document-rotation="0"><inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid11246"
|
||||||
|
empspacing="32"
|
||||||
|
visible="true"
|
||||||
|
enabled="true"
|
||||||
|
snapvisiblegridlinesonly="true" /></sodipodi:namedview><path
|
||||||
|
d="m 4.4362021,16 c 0,-6.410121 5.1728276,-11.60728 11.5529359,-11.60728 6.380109,0 11.552937,5.197159 11.552937,11.60728 0,6.410122 -5.172828,11.607281 -11.552937,11.607281 C 9.6090297,27.607281 4.4362021,22.410122 4.4362021,16 Z"
|
||||||
|
id="path883"
|
||||||
|
style="color:#000000;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;fill:#a5c8ec;fill-opacity:1;fill-rule:nonzero;stroke:#2975c4;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||||
|
sodipodi:nodetypes="csssc"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
d="m 11.718386,11.764547 h 1.055207 c 0.01091,-1.26e-4 0.02193,-4.86e-4 0.03298,0 0.269026,0.01183 0.538019,0.135679 0.725455,0.329752 l 2.407192,2.407192 2.440166,-2.407192 c 0.28029,-0.243226 0.471333,-0.322366 0.725455,-0.329752 h 1.055207 v 1.055208 c 0,0.302285 -0.03623,0.581049 -0.263801,0.791405 l -2.407191,2.407191 2.374217,2.374216 c 0.198577,0.198559 0.296768,0.478484 0.296775,0.758432 v 1.055206 h -1.055211 c -0.279947,-10e-6 -0.559877,-0.09824 -0.75843,-0.296777 l -2.407192,-2.407192 -2.407192,2.407192 c -0.198551,0.198579 -0.478493,0.296777 -0.758429,0.296777 H 11.71839 v -1.055206 c -3e-6,-0.279936 0.0982,-0.559873 0.296777,-0.758432 L 14.422359,16.018351 12.015167,13.61116 C 11.79279,13.405784 11.69527,13.116003 11.71839,12.819755 Z"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path887"
|
||||||
|
style="color:#bebebe;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:'Andale Mono';-inkscape-font-specification:'Andale Mono';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#4a90d9;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.87958801;marker:none;enable-background:new"
|
||||||
|
sodipodi:nodetypes="ccsccccccccccccccccccccccc" /></svg>
|
After Width: | Height: | Size: 4.6 KiB |
81
data/theme/close-window-hover.svg
Normal file
81
data/theme/close-window-hover.svg
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.0"
|
||||||
|
id="Foreground"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 32 32"
|
||||||
|
enable-background="new 0 0 16 16"
|
||||||
|
xml:space="preserve"
|
||||||
|
sodipodi:version="0.32"
|
||||||
|
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
||||||
|
sodipodi:docname="close-window-hover.svg"
|
||||||
|
inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
|
||||||
|
id="metadata2399"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs2397"><linearGradient
|
||||||
|
id="linearGradient3173"><stop
|
||||||
|
style="stop-color:#c4c4c4;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop3175" /><stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="1"
|
||||||
|
id="stop3177" /></linearGradient><inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="0 : 11 : 1"
|
||||||
|
inkscape:vp_y="0 : 1375 : 0"
|
||||||
|
inkscape:vp_z="22 : 11 : 1"
|
||||||
|
inkscape:persp3d-origin="11 : 7.3333334 : 1"
|
||||||
|
id="perspective2401" /></defs><sodipodi:namedview
|
||||||
|
inkscape:window-height="1106"
|
||||||
|
inkscape:window-width="1700"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
guidetolerance="10.0"
|
||||||
|
gridtolerance="10.0"
|
||||||
|
objecttolerance="10.0"
|
||||||
|
borderopacity="1.0"
|
||||||
|
bordercolor="#666666"
|
||||||
|
pagecolor="#797979"
|
||||||
|
id="base"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="4"
|
||||||
|
inkscape:cx="28.483745"
|
||||||
|
inkscape:cy="67.714004"
|
||||||
|
inkscape:window-x="1427"
|
||||||
|
inkscape:window-y="127"
|
||||||
|
inkscape:current-layer="Foreground"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:guide-bbox="true"
|
||||||
|
borderlayer="true"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:document-rotation="0"><inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid11246"
|
||||||
|
empspacing="32"
|
||||||
|
visible="true"
|
||||||
|
enabled="true"
|
||||||
|
snapvisiblegridlinesonly="true" /></sodipodi:namedview><path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="csssc"
|
||||||
|
style="color:#000000;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;fill:#2975c4;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||||
|
id="path822"
|
||||||
|
d="m 4.4362021,16 c 0,-6.410121 5.1728276,-11.60728 11.5529359,-11.60728 6.380109,0 11.552937,5.197159 11.552937,11.60728 0,6.410122 -5.172828,11.607281 -11.552937,11.607281 C 9.6090297,27.607281 4.4362021,22.410122 4.4362021,16 Z" /><path
|
||||||
|
sodipodi:nodetypes="ccsccccccccccccccccccccccc"
|
||||||
|
style="color:#bebebe;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:'Andale Mono';-inkscape-font-specification:'Andale Mono';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.87958801;marker:none;enable-background:new"
|
||||||
|
id="path826"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 11.718386,11.764547 h 1.055207 c 0.01091,-1.26e-4 0.02193,-4.86e-4 0.03298,0 0.269026,0.01183 0.538019,0.135679 0.725455,0.329752 l 2.407192,2.407192 2.440166,-2.407192 c 0.28029,-0.243226 0.471333,-0.322366 0.725455,-0.329752 h 1.055207 v 1.055208 c 0,0.302285 -0.03623,0.581049 -0.263801,0.791405 l -2.407191,2.407191 2.374217,2.374216 c 0.198577,0.198559 0.296768,0.478484 0.296775,0.758432 v 1.055206 h -1.055211 c -0.279947,-10e-6 -0.559877,-0.09824 -0.75843,-0.296777 l -2.407192,-2.407192 -2.407192,2.407192 c -0.198551,0.198579 -0.478493,0.296777 -0.758429,0.296777 H 11.71839 v -1.055206 c -3e-6,-0.279936 0.0982,-0.559873 0.296777,-0.758432 L 14.422359,16.018351 12.015167,13.61116 C 11.79279,13.405784 11.69527,13.116003 11.71839,12.819755 Z" /></svg>
|
After Width: | Height: | Size: 4.6 KiB |
@ -7,7 +7,6 @@
|
|||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
version="1.0"
|
version="1.0"
|
||||||
@ -16,137 +15,71 @@
|
|||||||
y="0px"
|
y="0px"
|
||||||
width="32"
|
width="32"
|
||||||
height="32"
|
height="32"
|
||||||
viewBox="0 0 23.272727 23.272727"
|
viewBox="0 0 32 32"
|
||||||
enable-background="new 0 0 16 16"
|
enable-background="new 0 0 16 16"
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
sodipodi:version="0.32"
|
sodipodi:version="0.32"
|
||||||
inkscape:version="0.48+devel r10081 custom"
|
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
||||||
sodipodi:docname="close-window.svg"
|
sodipodi:docname="close-window.svg"
|
||||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
|
inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
|
||||||
id="metadata2399"><rdf:RDF><cc:Work
|
id="metadata2399"><rdf:RDF><cc:Work
|
||||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
id="defs2397"><linearGradient
|
id="defs2397"><linearGradient
|
||||||
id="linearGradient3173"><stop
|
id="linearGradient3173"><stop
|
||||||
style="stop-color:#c4c4c4;stop-opacity:1;"
|
style="stop-color:#c4c4c4;stop-opacity:1;"
|
||||||
offset="0"
|
offset="0"
|
||||||
id="stop3175" /><stop
|
id="stop3175" /><stop
|
||||||
style="stop-color:#ffffff;stop-opacity:1;"
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
offset="1"
|
offset="1"
|
||||||
id="stop3177" /></linearGradient><inkscape:perspective
|
id="stop3177" /></linearGradient><inkscape:perspective
|
||||||
sodipodi:type="inkscape:persp3d"
|
sodipodi:type="inkscape:persp3d"
|
||||||
inkscape:vp_x="0 : 8 : 1"
|
inkscape:vp_x="0 : 11 : 1"
|
||||||
inkscape:vp_y="0 : 1000 : 0"
|
inkscape:vp_y="0 : 1375 : 0"
|
||||||
inkscape:vp_z="16 : 8 : 1"
|
inkscape:vp_z="22 : 11 : 1"
|
||||||
inkscape:persp3d-origin="8 : 5.3333333 : 1"
|
inkscape:persp3d-origin="11 : 7.3333334 : 1"
|
||||||
id="perspective2401" /><filter
|
id="perspective2401" /></defs><sodipodi:namedview
|
||||||
color-interpolation-filters="sRGB"
|
inkscape:window-height="1106"
|
||||||
inkscape:collect="always"
|
inkscape:window-width="1700"
|
||||||
id="filter16494-4"
|
inkscape:pageshadow="2"
|
||||||
x="-0.20989846"
|
inkscape:pageopacity="0"
|
||||||
width="1.4197969"
|
guidetolerance="10.0"
|
||||||
y="-0.20903821"
|
gridtolerance="10.0"
|
||||||
height="1.4180764"><feGaussianBlur
|
objecttolerance="10.0"
|
||||||
inkscape:collect="always"
|
borderopacity="1.0"
|
||||||
stdDeviation="1.3282637"
|
bordercolor="#666666"
|
||||||
id="feGaussianBlur16496-8" /></filter><radialGradient
|
pagecolor="#797979"
|
||||||
inkscape:collect="always"
|
id="base"
|
||||||
xlink:href="#linearGradient16498-6"
|
showgrid="false"
|
||||||
id="radialGradient16504-1"
|
inkscape:zoom="4"
|
||||||
cx="7.6582627"
|
inkscape:cx="28.483745"
|
||||||
cy="5.8191104"
|
inkscape:cy="67.714004"
|
||||||
fx="7.6582627"
|
inkscape:window-x="1427"
|
||||||
fy="5.8191104"
|
inkscape:window-y="127"
|
||||||
r="8.6928644"
|
inkscape:current-layer="Foreground"
|
||||||
gradientTransform="matrix(1.0474339,0,0,1.0517402,-0.3632615,-0.42032492)"
|
showguides="true"
|
||||||
gradientUnits="userSpaceOnUse" /><linearGradient
|
inkscape:guide-bbox="true"
|
||||||
inkscape:collect="always"
|
borderlayer="true"
|
||||||
id="linearGradient16498-6"><stop
|
inkscape:showpageshadow="false"
|
||||||
style="stop-color:#7b7b7b;stop-opacity:1"
|
inkscape:window-maximized="0"
|
||||||
offset="0"
|
inkscape:document-rotation="0"><inkscape:grid
|
||||||
id="stop16500-8" /><stop
|
type="xygrid"
|
||||||
style="stop-color:#101010;stop-opacity:1"
|
id="grid11246"
|
||||||
offset="1"
|
empspacing="32"
|
||||||
id="stop16502-0" /></linearGradient><filter
|
visible="true"
|
||||||
color-interpolation-filters="sRGB"
|
enabled="true"
|
||||||
inkscape:collect="always"
|
snapvisiblegridlinesonly="true" /></sodipodi:namedview><path
|
||||||
id="filter16524-9"
|
d="m 4.4362021,15.860384 c 0,-6.410121 5.1728276,-11.60728 11.5529359,-11.60728 6.380109,0 11.552937,5.197159 11.552937,11.60728 0,6.410122 -5.172828,11.607281 -11.552937,11.607281 -6.3801083,0 -11.5529359,-5.197159 -11.5529359,-11.607281 z"
|
||||||
x="-0.212979"
|
id="path2394-32"
|
||||||
width="1.425958"
|
style="color:#000000;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#2975c4;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||||
y="-0.21305652"
|
sodipodi:nodetypes="csssc"
|
||||||
height="1.426113"><feGaussianBlur
|
inkscape:connector-curvature="0" /><path
|
||||||
inkscape:collect="always"
|
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.49900004;fill:#4a90d9;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.74932218;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||||
stdDeviation="0.71020915"
|
d="m 6.4654832,15.001321 c -0.025906,0.288419 -0.044417,0.579469 -0.044417,0.874662 0,5.313347 4.2883848,9.621271 9.5768588,9.621271 5.288466,0 9.575143,-4.307924 9.575143,-9.621271 0,-0.295193 -0.01852,-0.586243 -0.04441,-0.874662 -0.440376,4.903023 -4.536071,8.746611 -9.53073,8.746611 -4.994659,0 -9.0920617,-3.843588 -9.5324391,-8.746611 z"
|
||||||
id="feGaussianBlur16526-0" /></filter></defs><sodipodi:namedview
|
id="path2561"
|
||||||
inkscape:window-height="1114"
|
inkscape:connector-curvature="0" /><path
|
||||||
inkscape:window-width="1463"
|
d="m 11.718386,11.639547 h 1.055207 c 0.01091,-1.26e-4 0.02193,-4.86e-4 0.03298,0 0.269026,0.01183 0.538019,0.135679 0.725455,0.329752 l 2.407192,2.407192 2.440166,-2.407192 c 0.28029,-0.243226 0.471333,-0.322366 0.725455,-0.329752 h 1.055207 v 1.055208 c 0,0.302285 -0.03623,0.581049 -0.263801,0.791405 l -2.407191,2.407191 2.374217,2.374216 c 0.198577,0.198559 0.296768,0.478484 0.296775,0.758432 v 1.055206 h -1.055211 c -0.279947,-10e-6 -0.559877,-0.09824 -0.75843,-0.296777 l -2.407192,-2.407192 -2.407192,2.407192 c -0.198551,0.198579 -0.478493,0.296777 -0.758429,0.296777 H 11.71839 v -1.055206 c -3e-6,-0.279936 0.0982,-0.559873 0.296777,-0.758432 L 14.422359,15.893351 12.015167,13.48616 C 11.79279,13.280784 11.69527,12.991003 11.71839,12.694755 Z"
|
||||||
inkscape:pageshadow="2"
|
inkscape:connector-curvature="0"
|
||||||
inkscape:pageopacity="0"
|
id="path27279-0-5"
|
||||||
guidetolerance="10.0"
|
style="color:#bebebe;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:'Andale Mono';-inkscape-font-specification:'Andale Mono';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#4a90d9;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.87958801;marker:none;enable-background:new"
|
||||||
gridtolerance="10.0"
|
sodipodi:nodetypes="ccsccccccccccccccccccccccc" /></svg>
|
||||||
objecttolerance="10.0"
|
|
||||||
borderopacity="1.0"
|
|
||||||
bordercolor="#666666"
|
|
||||||
pagecolor="#000000"
|
|
||||||
id="base"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="1"
|
|
||||||
inkscape:cx="10.720189"
|
|
||||||
inkscape:cy="13.739577"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="26"
|
|
||||||
inkscape:current-layer="Foreground"
|
|
||||||
showguides="true"
|
|
||||||
inkscape:guide-bbox="true"
|
|
||||||
borderlayer="true"
|
|
||||||
inkscape:showpageshadow="false"
|
|
||||||
inkscape:window-maximized="0"><inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid11246"
|
|
||||||
empspacing="5"
|
|
||||||
visible="true"
|
|
||||||
enabled="true"
|
|
||||||
snapvisiblegridlinesonly="true" /></sodipodi:namedview>
|
|
||||||
|
|
||||||
<g
|
|
||||||
style="display:inline"
|
|
||||||
id="g16402-8"
|
|
||||||
transform="translate(4.7533483,2.8238929)"><g
|
|
||||||
id="g3175-4"><path
|
|
||||||
sodipodi:type="inkscape:offset"
|
|
||||||
inkscape:radius="0"
|
|
||||||
inkscape:original="M 7.65625 0.125 C 3.2589349 0.125 -0.3125 3.7070002 -0.3125 8.125 C -0.3125 12.543001 3.2589349 16.125 7.65625 16.125 C 12.053566 16.125 15.625 12.543001 15.625 8.125 C 15.625 3.7070002 12.053566 0.125 7.65625 0.125 z "
|
|
||||||
xlink:href="#path2394-32"
|
|
||||||
style="opacity:0.52994014;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.18181825;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter16494-4);enable-background:accumulate"
|
|
||||||
id="path16480-5"
|
|
||||||
inkscape:href="#path2394-32"
|
|
||||||
d="m 7.65625,0.125 c -4.3973151,0 -7.96875,3.5820002 -7.96875,8 0,4.418001 3.5714349,8 7.96875,8 4.397316,0 7.96875,-3.581999 7.96875,-8 0,-4.4179998 -3.571434,-8 -7.96875,-8 z"
|
|
||||||
transform="translate(0,1.028519)" /><path
|
|
||||||
clip-rule="evenodd"
|
|
||||||
d="m -0.30428257,8.1237596 c 0,-4.4179998 3.56522987,-7.9999996 7.96254497,-7.9999996 4.3973156,0 7.9625456,3.5819998 7.9625456,7.9999996 0,4.4180014 -3.56523,8.0000004 -7.9625456,8.0000004 -4.3973151,0 -7.96254497,-3.581999 -7.96254497,-8.0000004 z"
|
|
||||||
id="path2394-32"
|
|
||||||
style="color:#000000;fill:url(#radialGradient16504-1);fill-opacity:1;fill-rule:nonzero;stroke:#eeeeec;stroke-width:1.4545455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
|
||||||
sodipodi:nodetypes="csssc"
|
|
||||||
inkscape:connector-curvature="0" /><g
|
|
||||||
id="g3172-6" /></g><g
|
|
||||||
transform="matrix(0.72727273,0,0,0.72727273,2.368236,2.1803254)"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;display:inline"
|
|
||||||
id="g27275-6-6"
|
|
||||||
inkscape:label="window-close"><g
|
|
||||||
style="fill:#ffffff;fill-opacity:1;display:inline"
|
|
||||||
id="g27277-1-1"
|
|
||||||
transform="translate(-41,-760)"><path
|
|
||||||
sodipodi:type="inkscape:offset"
|
|
||||||
inkscape:radius="0"
|
|
||||||
inkscape:original="M 44.21875 764.1875 L 44.21875 765.1875 C 44.19684 765.46825 44.289258 765.74287 44.5 765.9375 L 46.78125 768.21875 L 44.5 770.46875 C 44.31181 770.65692 44.218747 770.92221 44.21875 771.1875 L 44.21875 772.1875 L 45.21875 772.1875 C 45.48404 772.1875 45.749336 772.09444 45.9375 771.90625 L 48.21875 769.625 L 50.5 771.90625 C 50.688164 772.0944 50.953449 772.18749 51.21875 772.1875 L 52.21875 772.1875 L 52.21875 771.1875 C 52.218742 770.9222 52.125688 770.65692 51.9375 770.46875 L 49.6875 768.21875 L 51.96875 765.9375 C 52.18441 765.73815 52.21875 765.47397 52.21875 765.1875 L 52.21875 764.1875 L 51.21875 764.1875 C 50.977922 764.1945 50.796875 764.2695 50.53125 764.5 L 48.21875 766.78125 L 45.9375 764.5 C 45.75987 764.31608 45.504951 764.1987 45.25 764.1875 C 45.23954 764.18704 45.22912 764.18738 45.21875 764.1875 L 44.21875 764.1875 z "
|
|
||||||
xlink:href="#path27279-0-5"
|
|
||||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#bebebe;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.78124988;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter16524-9);enable-background:new;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
|
|
||||||
id="path16506-5"
|
|
||||||
inkscape:href="#path27279-0-5"
|
|
||||||
d="m 44.21875,764.1875 0,1 c -0.02191,0.28075 0.07051,0.55537 0.28125,0.75 l 2.28125,2.28125 -2.28125,2.25 c -0.18819,0.18817 -0.281253,0.45346 -0.28125,0.71875 l 0,1 1,0 c 0.26529,0 0.530586,-0.0931 0.71875,-0.28125 L 48.21875,769.625 50.5,771.90625 c 0.188164,0.18815 0.453449,0.28124 0.71875,0.28125 l 1,0 0,-1 c -8e-6,-0.2653 -0.09306,-0.53058 -0.28125,-0.71875 l -2.25,-2.25 2.28125,-2.28125 c 0.21566,-0.19935 0.25,-0.46353 0.25,-0.75 l 0,-1 -1,0 c -0.240828,0.007 -0.421875,0.082 -0.6875,0.3125 l -2.3125,2.28125 L 45.9375,764.5 c -0.17763,-0.18392 -0.432549,-0.3013 -0.6875,-0.3125 -0.01046,-4.6e-4 -0.02088,-1.2e-4 -0.03125,0 l -1,0 z"
|
|
||||||
transform="translate(0,1.3535534)" /><path
|
|
||||||
sodipodi:nodetypes="ccsccccccccccccccccccccccc"
|
|
||||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#bebebe;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.78124988;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
|
|
||||||
id="path27279-0-5"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
d="m 44.226475,764.17222 1,0 c 0.01037,-1.2e-4 0.02079,-4.6e-4 0.03125,0 0.254951,0.0112 0.50987,0.12858 0.6875,0.3125 l 2.28125,2.28125 2.3125,-2.28125 c 0.265625,-0.2305 0.446672,-0.3055 0.6875,-0.3125 l 1,0 0,1 c 0,0.28647 -0.03434,0.55065 -0.25,0.75 l -2.28125,2.28125 2.25,2.25 c 0.188188,0.18817 0.281242,0.45345 0.28125,0.71875 l 0,1 -1,0 c -0.265301,-1e-5 -0.530586,-0.0931 -0.71875,-0.28125 l -2.28125,-2.28125 -2.28125,2.28125 c -0.188164,0.18819 -0.45346,0.28125 -0.71875,0.28125 l -1,0 0,-1 c -3e-6,-0.26529 0.09306,-0.53058 0.28125,-0.71875 l 2.28125,-2.25 -2.28125,-2.28125 c -0.210742,-0.19463 -0.30316,-0.46925 -0.28125,-0.75 l 0,-1 z" /></g></g></g></svg>
|
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 5.3 KiB |
@ -647,7 +647,7 @@ StScrollBar {
|
|||||||
border: 1px solid #215d9c; }
|
border: 1px solid #215d9c; }
|
||||||
|
|
||||||
.tile-preview-left.on-primary {
|
.tile-preview-left.on-primary {
|
||||||
border-radius: 6px 6px 0 0; }
|
border-radius: 6px 0 0 0; }
|
||||||
|
|
||||||
.tile-preview-right.on-primary {
|
.tile-preview-right.on-primary {
|
||||||
border-radius: 0 6px 0 0; }
|
border-radius: 0 6px 0 0; }
|
||||||
@ -657,7 +657,7 @@ StScrollBar {
|
|||||||
|
|
||||||
/* TOP BAR */
|
/* TOP BAR */
|
||||||
#panel {
|
#panel {
|
||||||
background-color: rgba(0, 0, 0, 0.2);
|
background-color: rgba(0, 0, 0, 0.35);
|
||||||
/* transition from solid to transparent */
|
/* transition from solid to transparent */
|
||||||
transition-duration: 500ms;
|
transition-duration: 500ms;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@ -668,7 +668,7 @@ StScrollBar {
|
|||||||
spacing: 4px; }
|
spacing: 4px; }
|
||||||
#panel .panel-corner {
|
#panel .panel-corner {
|
||||||
-panel-corner-radius: 6px;
|
-panel-corner-radius: 6px;
|
||||||
-panel-corner-background-color: rgba(0, 0, 0, 0.2);
|
-panel-corner-background-color: rgba(0, 0, 0, 0.35);
|
||||||
-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 {
|
||||||
@ -682,7 +682,7 @@ StScrollBar {
|
|||||||
-minimum-hpadding: 6px;
|
-minimum-hpadding: 6px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #eee;
|
color: #eee;
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.9);
|
text-shadow: 0px 1px 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;
|
||||||
@ -691,14 +691,14 @@ StScrollBar {
|
|||||||
#panel .panel-button .system-status-icon,
|
#panel .panel-button .system-status-icon,
|
||||||
#panel .panel-button .app-menu-icon > StIcon,
|
#panel .panel-button .app-menu-icon > StIcon,
|
||||||
#panel .panel-button .popup-menu-arrow {
|
#panel .panel-button .popup-menu-arrow {
|
||||||
icon-shadow: 0px 0px 2px rgba(0, 0, 0, 0.9); }
|
icon-shadow: 0px 1px 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; }
|
text-shadow: 0px 1px 6px black; }
|
||||||
#panel .panel-button:hover .system-status-icon,
|
#panel .panel-button:hover .system-status-icon,
|
||||||
#panel .panel-button:hover .app-menu-icon > StIcon,
|
#panel .panel-button:hover .app-menu-icon > StIcon,
|
||||||
#panel .panel-button:hover .popup-menu-arrow {
|
#panel .panel-button:hover .popup-menu-arrow {
|
||||||
icon-shadow: 0px 0px 8px black; }
|
icon-shadow: 0px 1px 6px 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;
|
||||||
@ -918,17 +918,17 @@ StScrollBar {
|
|||||||
background-color: #0d0d0d; }
|
background-color: #0d0d0d; }
|
||||||
|
|
||||||
.message-icon-bin {
|
.message-icon-bin {
|
||||||
padding: 10px 3px 10px 10px; }
|
padding: 0.68em 0.2em 0.68em 0.68em; }
|
||||||
.message-icon-bin:rtl {
|
.message-icon-bin:rtl {
|
||||||
padding: 10px 10px 10px 3px; }
|
padding: 0.68em 0.68em 0.68em 0.2em; }
|
||||||
|
|
||||||
.message-icon-bin > StIcon {
|
.message-icon-bin > StIcon {
|
||||||
color: #cccccc;
|
color: #cccccc;
|
||||||
icon-size: 16px;
|
icon-size: 1.09em;
|
||||||
-st-icon-style: symbolic; }
|
-st-icon-style: symbolic; }
|
||||||
|
|
||||||
.message-secondary-bin {
|
.message-secondary-bin {
|
||||||
padding: 0 12px; }
|
padding: 0 0.82em; }
|
||||||
|
|
||||||
.message-secondary-bin > .event-time {
|
.message-secondary-bin > .event-time {
|
||||||
color: #999999;
|
color: #999999;
|
||||||
@ -938,7 +938,7 @@ StScrollBar {
|
|||||||
padding-bottom: 0.13em; }
|
padding-bottom: 0.13em; }
|
||||||
|
|
||||||
.message-secondary-bin > StIcon {
|
.message-secondary-bin > StIcon {
|
||||||
icon-size: 16px; }
|
icon-size: 1.09em; }
|
||||||
|
|
||||||
.message-title {
|
.message-title {
|
||||||
color: #f2f2f2; }
|
color: #f2f2f2; }
|
||||||
@ -1025,12 +1025,12 @@ StScrollBar {
|
|||||||
background-image: url("resource:///org/gnome/shell/theme/close-window.svg");
|
background-image: url("resource:///org/gnome/shell/theme/close-window.svg");
|
||||||
background-size: 32px;
|
background-size: 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
width: 32px; }
|
width: 32px;
|
||||||
|
|
||||||
.window-close {
|
|
||||||
-shell-close-overlap: 16px; }
|
-shell-close-overlap: 16px; }
|
||||||
.window-close:rtl {
|
.window-close:hover {
|
||||||
-st-background-image-shadow: 2px 2px 6px rgba(0, 0, 0, 0.5); }
|
background-image: url("resource:///org/gnome/shell/theme/close-window-hover.svg"); }
|
||||||
|
.window-close:active {
|
||||||
|
background-image: url("resource:///org/gnome/shell/theme/close-window-active.svg"); }
|
||||||
|
|
||||||
/* NETWORK DIALOGS */
|
/* NETWORK DIALOGS */
|
||||||
.nm-dialog {
|
.nm-dialog {
|
||||||
@ -1094,13 +1094,11 @@ StScrollBar {
|
|||||||
padding-bottom: 32px; }
|
padding-bottom: 32px; }
|
||||||
|
|
||||||
.window-picker {
|
.window-picker {
|
||||||
-horizontal-spacing: 32px;
|
-horizontal-spacing: 16px;
|
||||||
-vertical-spacing: 32px;
|
-vertical-spacing: 16px;
|
||||||
padding-left: 32px;
|
padding: 0 16px 16px; }
|
||||||
padding-right: 32px;
|
|
||||||
padding-bottom: 48px; }
|
|
||||||
.window-picker.external-monitor {
|
.window-picker.external-monitor {
|
||||||
padding: 32px; }
|
padding: 16px; }
|
||||||
|
|
||||||
.window-clone-border {
|
.window-clone-border {
|
||||||
border: 4px solid #215d9c;
|
border: 4px solid #215d9c;
|
||||||
@ -1109,14 +1107,10 @@ StScrollBar {
|
|||||||
|
|
||||||
.window-caption {
|
.window-caption {
|
||||||
spacing: 25px;
|
spacing: 25px;
|
||||||
color: #eeeeec;
|
color: #ffffff;
|
||||||
background-color: rgba(46, 52, 54, 0.7);
|
background-color: #215d9c;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
padding: 4px 12px;
|
padding: 4px 12px; }
|
||||||
-shell-caption-spacing: 12px; }
|
|
||||||
.window-caption:hover {
|
|
||||||
background-color: #215d9c;
|
|
||||||
color: #ffffff; }
|
|
||||||
|
|
||||||
.search-entry {
|
.search-entry {
|
||||||
width: 320px;
|
width: 320px;
|
||||||
@ -1216,6 +1210,12 @@ StScrollBar {
|
|||||||
.icon-grid .overview-icon {
|
.icon-grid .overview-icon {
|
||||||
icon-size: 96px; }
|
icon-size: 96px; }
|
||||||
|
|
||||||
|
.system-action-icon {
|
||||||
|
background-color: black;
|
||||||
|
color: white;
|
||||||
|
border-radius: 99px;
|
||||||
|
icon-size: 48px; }
|
||||||
|
|
||||||
.app-view-controls {
|
.app-view-controls {
|
||||||
padding-bottom: 32px; }
|
padding-bottom: 32px; }
|
||||||
|
|
||||||
@ -1339,6 +1339,10 @@ StScrollBar {
|
|||||||
border-radius: 9px 0 0 9px; }
|
border-radius: 9px 0 0 9px; }
|
||||||
.workspace-thumbnails:rtl {
|
.workspace-thumbnails:rtl {
|
||||||
border-radius: 0 9px 9px 0; }
|
border-radius: 0 9px 9px 0; }
|
||||||
|
.workspace-thumbnails .placeholder {
|
||||||
|
background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
|
||||||
|
background-size: contain;
|
||||||
|
height: 24px; }
|
||||||
|
|
||||||
.workspace-thumbnail-indicator {
|
.workspace-thumbnail-indicator {
|
||||||
border: 4px solid #215d9c;
|
border: 4px solid #215d9c;
|
||||||
@ -1485,38 +1489,6 @@ StScrollBar {
|
|||||||
color: pink; }
|
color: pink; }
|
||||||
|
|
||||||
/* Eeeky things */
|
/* Eeeky things */
|
||||||
.legacy-tray {
|
|
||||||
background-color: #000;
|
|
||||||
border: 1px solid black;
|
|
||||||
border-bottom-width: 0; }
|
|
||||||
.legacy-tray:ltr {
|
|
||||||
border-radius: 0 6px 0 0;
|
|
||||||
border-left-width: 0; }
|
|
||||||
.legacy-tray:rtl {
|
|
||||||
border-radius: 6px 0 0 0;
|
|
||||||
border-right-width: 0; }
|
|
||||||
|
|
||||||
.legacy-tray-handle,
|
|
||||||
.legacy-tray-icon {
|
|
||||||
padding: 6px; }
|
|
||||||
.legacy-tray-handle StIcon,
|
|
||||||
.legacy-tray-icon StIcon {
|
|
||||||
icon-size: 24px; }
|
|
||||||
.legacy-tray-handle:hover, .legacy-tray-handle:focus,
|
|
||||||
.legacy-tray-icon:hover,
|
|
||||||
.legacy-tray-icon:focus {
|
|
||||||
background-color: rgba(255, 255, 255, 0.1); }
|
|
||||||
|
|
||||||
.legacy-tray-icon-box {
|
|
||||||
spacing: 12px; }
|
|
||||||
.legacy-tray-icon-box:ltr {
|
|
||||||
padding-left: 12px; }
|
|
||||||
.legacy-tray-icon-box:rtl {
|
|
||||||
padding-right: 12px; }
|
|
||||||
.legacy-tray-icon-box StButton {
|
|
||||||
width: 24px;
|
|
||||||
height: 24px; }
|
|
||||||
|
|
||||||
.magnifier-zoom-region {
|
.magnifier-zoom-region {
|
||||||
border: 2px solid #215d9c; }
|
border: 2px solid #215d9c; }
|
||||||
.magnifier-zoom-region.full-screen {
|
.magnifier-zoom-region.full-screen {
|
||||||
|
Submodule data/theme/gnome-shell-sass updated: 70e3ae3873...32361ac692
@ -647,7 +647,7 @@ StScrollBar {
|
|||||||
border: 1px solid #215d9c; }
|
border: 1px solid #215d9c; }
|
||||||
|
|
||||||
.tile-preview-left.on-primary {
|
.tile-preview-left.on-primary {
|
||||||
border-radius: 6px 6px 0 0; }
|
border-radius: 6px 0 0 0; }
|
||||||
|
|
||||||
.tile-preview-right.on-primary {
|
.tile-preview-right.on-primary {
|
||||||
border-radius: 0 6px 0 0; }
|
border-radius: 0 6px 0 0; }
|
||||||
@ -657,7 +657,7 @@ StScrollBar {
|
|||||||
|
|
||||||
/* TOP BAR */
|
/* TOP BAR */
|
||||||
#panel {
|
#panel {
|
||||||
background-color: rgba(0, 0, 0, 0.2);
|
background-color: rgba(0, 0, 0, 0.35);
|
||||||
/* transition from solid to transparent */
|
/* transition from solid to transparent */
|
||||||
transition-duration: 500ms;
|
transition-duration: 500ms;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@ -668,7 +668,7 @@ StScrollBar {
|
|||||||
spacing: 4px; }
|
spacing: 4px; }
|
||||||
#panel .panel-corner {
|
#panel .panel-corner {
|
||||||
-panel-corner-radius: 6px;
|
-panel-corner-radius: 6px;
|
||||||
-panel-corner-background-color: rgba(0, 0, 0, 0.2);
|
-panel-corner-background-color: rgba(0, 0, 0, 0.35);
|
||||||
-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 {
|
||||||
@ -682,7 +682,7 @@ StScrollBar {
|
|||||||
-minimum-hpadding: 6px;
|
-minimum-hpadding: 6px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #eee;
|
color: #eee;
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.9);
|
text-shadow: 0px 1px 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;
|
||||||
@ -691,14 +691,14 @@ StScrollBar {
|
|||||||
#panel .panel-button .system-status-icon,
|
#panel .panel-button .system-status-icon,
|
||||||
#panel .panel-button .app-menu-icon > StIcon,
|
#panel .panel-button .app-menu-icon > StIcon,
|
||||||
#panel .panel-button .popup-menu-arrow {
|
#panel .panel-button .popup-menu-arrow {
|
||||||
icon-shadow: 0px 0px 2px rgba(0, 0, 0, 0.9); }
|
icon-shadow: 0px 1px 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; }
|
text-shadow: 0px 1px 6px black; }
|
||||||
#panel .panel-button:hover .system-status-icon,
|
#panel .panel-button:hover .system-status-icon,
|
||||||
#panel .panel-button:hover .app-menu-icon > StIcon,
|
#panel .panel-button:hover .app-menu-icon > StIcon,
|
||||||
#panel .panel-button:hover .popup-menu-arrow {
|
#panel .panel-button:hover .popup-menu-arrow {
|
||||||
icon-shadow: 0px 0px 8px black; }
|
icon-shadow: 0px 1px 6px 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;
|
||||||
@ -918,17 +918,17 @@ StScrollBar {
|
|||||||
background-color: #454c4c; }
|
background-color: #454c4c; }
|
||||||
|
|
||||||
.message-icon-bin {
|
.message-icon-bin {
|
||||||
padding: 10px 3px 10px 10px; }
|
padding: 0.68em 0.2em 0.68em 0.68em; }
|
||||||
.message-icon-bin:rtl {
|
.message-icon-bin:rtl {
|
||||||
padding: 10px 10px 10px 3px; }
|
padding: 0.68em 0.68em 0.68em 0.2em; }
|
||||||
|
|
||||||
.message-icon-bin > StIcon {
|
.message-icon-bin > StIcon {
|
||||||
color: #bebeb6;
|
color: #bebeb6;
|
||||||
icon-size: 16px;
|
icon-size: 1.09em;
|
||||||
-st-icon-style: symbolic; }
|
-st-icon-style: symbolic; }
|
||||||
|
|
||||||
.message-secondary-bin {
|
.message-secondary-bin {
|
||||||
padding: 0 12px; }
|
padding: 0 0.82em; }
|
||||||
|
|
||||||
.message-secondary-bin > .event-time {
|
.message-secondary-bin > .event-time {
|
||||||
color: #8e8e80;
|
color: #8e8e80;
|
||||||
@ -938,7 +938,7 @@ StScrollBar {
|
|||||||
padding-bottom: 0.13em; }
|
padding-bottom: 0.13em; }
|
||||||
|
|
||||||
.message-secondary-bin > StIcon {
|
.message-secondary-bin > StIcon {
|
||||||
icon-size: 16px; }
|
icon-size: 1.09em; }
|
||||||
|
|
||||||
.message-title {
|
.message-title {
|
||||||
color: #e2e2df; }
|
color: #e2e2df; }
|
||||||
@ -1025,12 +1025,12 @@ StScrollBar {
|
|||||||
background-image: url("resource:///org/gnome/shell/theme/close-window.svg");
|
background-image: url("resource:///org/gnome/shell/theme/close-window.svg");
|
||||||
background-size: 32px;
|
background-size: 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
width: 32px; }
|
width: 32px;
|
||||||
|
|
||||||
.window-close {
|
|
||||||
-shell-close-overlap: 16px; }
|
-shell-close-overlap: 16px; }
|
||||||
.window-close:rtl {
|
.window-close:hover {
|
||||||
-st-background-image-shadow: 2px 2px 6px rgba(0, 0, 0, 0.5); }
|
background-image: url("resource:///org/gnome/shell/theme/close-window-hover.svg"); }
|
||||||
|
.window-close:active {
|
||||||
|
background-image: url("resource:///org/gnome/shell/theme/close-window-active.svg"); }
|
||||||
|
|
||||||
/* NETWORK DIALOGS */
|
/* NETWORK DIALOGS */
|
||||||
.nm-dialog {
|
.nm-dialog {
|
||||||
@ -1094,13 +1094,11 @@ StScrollBar {
|
|||||||
padding-bottom: 32px; }
|
padding-bottom: 32px; }
|
||||||
|
|
||||||
.window-picker {
|
.window-picker {
|
||||||
-horizontal-spacing: 32px;
|
-horizontal-spacing: 16px;
|
||||||
-vertical-spacing: 32px;
|
-vertical-spacing: 16px;
|
||||||
padding-left: 32px;
|
padding: 0 16px 16px; }
|
||||||
padding-right: 32px;
|
|
||||||
padding-bottom: 48px; }
|
|
||||||
.window-picker.external-monitor {
|
.window-picker.external-monitor {
|
||||||
padding: 32px; }
|
padding: 16px; }
|
||||||
|
|
||||||
.window-clone-border {
|
.window-clone-border {
|
||||||
border: 4px solid #215d9c;
|
border: 4px solid #215d9c;
|
||||||
@ -1109,14 +1107,10 @@ StScrollBar {
|
|||||||
|
|
||||||
.window-caption {
|
.window-caption {
|
||||||
spacing: 25px;
|
spacing: 25px;
|
||||||
color: #eeeeec;
|
color: #ffffff;
|
||||||
background-color: rgba(46, 52, 54, 0.7);
|
background-color: #215d9c;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
padding: 4px 12px;
|
padding: 4px 12px; }
|
||||||
-shell-caption-spacing: 12px; }
|
|
||||||
.window-caption:hover {
|
|
||||||
background-color: #215d9c;
|
|
||||||
color: #ffffff; }
|
|
||||||
|
|
||||||
.search-entry {
|
.search-entry {
|
||||||
width: 320px;
|
width: 320px;
|
||||||
@ -1216,6 +1210,12 @@ StScrollBar {
|
|||||||
.icon-grid .overview-icon {
|
.icon-grid .overview-icon {
|
||||||
icon-size: 96px; }
|
icon-size: 96px; }
|
||||||
|
|
||||||
|
.system-action-icon {
|
||||||
|
background-color: black;
|
||||||
|
color: white;
|
||||||
|
border-radius: 99px;
|
||||||
|
icon-size: 48px; }
|
||||||
|
|
||||||
.app-view-controls {
|
.app-view-controls {
|
||||||
padding-bottom: 32px; }
|
padding-bottom: 32px; }
|
||||||
|
|
||||||
@ -1339,6 +1339,10 @@ StScrollBar {
|
|||||||
border-radius: 9px 0 0 9px; }
|
border-radius: 9px 0 0 9px; }
|
||||||
.workspace-thumbnails:rtl {
|
.workspace-thumbnails:rtl {
|
||||||
border-radius: 0 9px 9px 0; }
|
border-radius: 0 9px 9px 0; }
|
||||||
|
.workspace-thumbnails .placeholder {
|
||||||
|
background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
|
||||||
|
background-size: contain;
|
||||||
|
height: 24px; }
|
||||||
|
|
||||||
.workspace-thumbnail-indicator {
|
.workspace-thumbnail-indicator {
|
||||||
border: 4px solid #215d9c;
|
border: 4px solid #215d9c;
|
||||||
@ -1485,38 +1489,6 @@ StScrollBar {
|
|||||||
color: pink; }
|
color: pink; }
|
||||||
|
|
||||||
/* Eeeky things */
|
/* Eeeky things */
|
||||||
.legacy-tray {
|
|
||||||
background-color: #393f3f;
|
|
||||||
border: 1px solid #1c1f1f;
|
|
||||||
border-bottom-width: 0; }
|
|
||||||
.legacy-tray:ltr {
|
|
||||||
border-radius: 0 6px 0 0;
|
|
||||||
border-left-width: 0; }
|
|
||||||
.legacy-tray:rtl {
|
|
||||||
border-radius: 6px 0 0 0;
|
|
||||||
border-right-width: 0; }
|
|
||||||
|
|
||||||
.legacy-tray-handle,
|
|
||||||
.legacy-tray-icon {
|
|
||||||
padding: 6px; }
|
|
||||||
.legacy-tray-handle StIcon,
|
|
||||||
.legacy-tray-icon StIcon {
|
|
||||||
icon-size: 24px; }
|
|
||||||
.legacy-tray-handle:hover, .legacy-tray-handle:focus,
|
|
||||||
.legacy-tray-icon:hover,
|
|
||||||
.legacy-tray-icon:focus {
|
|
||||||
background-color: rgba(238, 238, 236, 0.1); }
|
|
||||||
|
|
||||||
.legacy-tray-icon-box {
|
|
||||||
spacing: 12px; }
|
|
||||||
.legacy-tray-icon-box:ltr {
|
|
||||||
padding-left: 12px; }
|
|
||||||
.legacy-tray-icon-box:rtl {
|
|
||||||
padding-right: 12px; }
|
|
||||||
.legacy-tray-icon-box StButton {
|
|
||||||
width: 24px;
|
|
||||||
height: 24px; }
|
|
||||||
|
|
||||||
.magnifier-zoom-region {
|
.magnifier-zoom-region {
|
||||||
border: 2px solid #215d9c; }
|
border: 2px solid #215d9c; }
|
||||||
.magnifier-zoom-region.full-screen {
|
.magnifier-zoom-region.full-screen {
|
||||||
|
40
data/theme/message-indicator-symbolic.svg
Normal file
40
data/theme/message-indicator-symbolic.svg
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 4.2333333 4.2333333"
|
||||||
|
version="1.1"
|
||||||
|
id="svg8">
|
||||||
|
<defs
|
||||||
|
id="defs2" />
|
||||||
|
<metadata
|
||||||
|
id="metadata5">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
id="layer1"
|
||||||
|
style="display:inline"
|
||||||
|
transform="translate(0,-292.76667)">
|
||||||
|
<path
|
||||||
|
style="fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:0.17969394"
|
||||||
|
d="m 3.1749998,294.88333 a 1.0583333,1.0583333 0 0 1 -1.0583332,1.05833 1.0583333,1.0583333 0 0 1 -1.0583333,-1.05833 1.0583333,1.0583333 0 0 1 1.0583333,-1.05833 1.0583333,1.0583333 0 0 1 1.0583332,1.05833 z"
|
||||||
|
id="path4485" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
srcdir=`dirname $0`
|
srcdir=`dirname $0`
|
||||||
stamp=${1}
|
stamp=${1}
|
||||||
|
@ -1 +0,0 @@
|
|||||||
SUBDIRS = reference
|
|
@ -1 +0,0 @@
|
|||||||
SUBDIRS = shell st
|
|
@ -1,139 +0,0 @@
|
|||||||
## Process this file with automake to produce Makefile.in
|
|
||||||
|
|
||||||
# We require automake 1.6 at least.
|
|
||||||
AUTOMAKE_OPTIONS = 1.6
|
|
||||||
|
|
||||||
# This is a blank Makefile.am for using gtk-doc.
|
|
||||||
# Copy this to your project's API docs directory and modify the variables to
|
|
||||||
# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
|
|
||||||
# of using the various options.
|
|
||||||
|
|
||||||
# The name of the module, e.g. 'glib'.
|
|
||||||
DOC_MODULE=shell
|
|
||||||
|
|
||||||
# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
|
|
||||||
#DOC_MODULE_VERSION=2
|
|
||||||
|
|
||||||
|
|
||||||
# The top-level SGML file. You can change this if you want to.
|
|
||||||
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
|
|
||||||
|
|
||||||
# Directories containing the source code
|
|
||||||
# gtk-doc will search all .c and .h files beneath these paths
|
|
||||||
# for inline comments documenting functions and macros.
|
|
||||||
DOC_SOURCE_DIR=$(top_srcdir)/src
|
|
||||||
|
|
||||||
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
|
|
||||||
SCANGOBJ_OPTIONS=
|
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-scan.
|
|
||||||
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
|
|
||||||
SCAN_OPTIONS=--rebuild-types
|
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-mkdb.
|
|
||||||
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
|
|
||||||
MKDB_OPTIONS=--xml-mode --output-format=xml
|
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-mktmpl
|
|
||||||
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
|
|
||||||
MKTMPL_OPTIONS=
|
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-mkhtml
|
|
||||||
MKHTML_OPTIONS=
|
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-fixref. Not normally needed.
|
|
||||||
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
|
|
||||||
FIXXREF_OPTIONS=
|
|
||||||
|
|
||||||
# Used for dependencies. The docs will be rebuilt if any of these change.
|
|
||||||
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
|
|
||||||
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
|
|
||||||
HFILE_GLOB=$(top_srcdir)/src/*.h
|
|
||||||
CFILE_GLOB=$(top_srcdir)/src/*.c
|
|
||||||
|
|
||||||
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
|
|
||||||
# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
|
|
||||||
EXTRA_HFILES=
|
|
||||||
|
|
||||||
# Header files or dirs to ignore when scanning. Use base file/dir names
|
|
||||||
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
|
|
||||||
IGNORE_HFILES= \
|
|
||||||
calendar-server \
|
|
||||||
gvc \
|
|
||||||
hotplug-sniffer \
|
|
||||||
st \
|
|
||||||
tray \
|
|
||||||
gactionmuxer.h \
|
|
||||||
gactionobservable.h \
|
|
||||||
gactionobserver.h \
|
|
||||||
shell-network-agent.h \
|
|
||||||
shell-recorder-src.h
|
|
||||||
|
|
||||||
if !BUILD_RECORDER
|
|
||||||
IGNORE_HFILES += shell-recorder.h
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Images to copy into HTML directory.
|
|
||||||
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
|
|
||||||
HTML_IMAGES=
|
|
||||||
|
|
||||||
doc-gen-org.gnome.Shell.SearchProvider.xml: $(top_srcdir)/data/org.gnome.ShellSearchProvider.xml
|
|
||||||
gdbus-codegen \
|
|
||||||
--interface-prefix org.gnome.ShellSearchProvider. \
|
|
||||||
--generate-docbook doc-gen \
|
|
||||||
$(top_srcdir)/data/org.gnome.ShellSearchProvider.xml
|
|
||||||
|
|
||||||
doc-gen-org.gnome.Shell.SearchProvider2.xml: $(top_srcdir)/data/org.gnome.ShellSearchProvider2.xml
|
|
||||||
gdbus-codegen \
|
|
||||||
--interface-prefix org.gnome.ShellSearchProvider2. \
|
|
||||||
--generate-docbook doc-gen \
|
|
||||||
$(top_srcdir)/data/org.gnome.ShellSearchProvider2.xml
|
|
||||||
|
|
||||||
doc-gen-org.gnome.Shell.Screenshot.xml: $(top_srcdir)/data/org.gnome.Shell.Screenshot.xml
|
|
||||||
gdbus-codegen \
|
|
||||||
--interface-prefix org.gnome.Shell.Screenshot. \
|
|
||||||
--generate-docbook doc-gen \
|
|
||||||
$(top_srcdir)/data/org.gnome.Shell.Screenshot.xml
|
|
||||||
|
|
||||||
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
|
|
||||||
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
|
|
||||||
content_files= \
|
|
||||||
doc-gen-org.gnome.Shell.SearchProvider.xml \
|
|
||||||
doc-gen-org.gnome.Shell.SearchProvider2.xml \
|
|
||||||
doc-gen-org.gnome.Shell.Screenshot.xml
|
|
||||||
|
|
||||||
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
|
|
||||||
# These files must be listed here *and* in content_files
|
|
||||||
# e.g. expand_content_files=running.sgml
|
|
||||||
expand_content_files=
|
|
||||||
|
|
||||||
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
|
|
||||||
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
|
|
||||||
# signals and properties.
|
|
||||||
# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
|
||||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
|
||||||
GTKDOC_CFLAGS=$(GNOME_SHELL_CFLAGS)
|
|
||||||
GTKDOC_LIBS=$(GNOME_SHELL_LIBS) $(top_builddir)/src/libgnome-shell-menu.la $(top_builddir)/src/libgnome-shell.la -rpath $(MUTTER_TYPELIB_DIR)
|
|
||||||
|
|
||||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
|
||||||
include $(top_srcdir)/gtk-doc.make
|
|
||||||
|
|
||||||
# Other files to distribute
|
|
||||||
# e.g. EXTRA_DIST += version.xml.in
|
|
||||||
EXTRA_DIST += version.xml.in
|
|
||||||
|
|
||||||
# Files not to distribute
|
|
||||||
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
|
|
||||||
# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
|
|
||||||
DISTCLEANFILES = $(DOC_MODULE).types
|
|
||||||
|
|
||||||
# Comment this out if you want 'make check' to test you doc status
|
|
||||||
# and run some sanity checks
|
|
||||||
if ENABLE_GTK_DOC
|
|
||||||
TESTS_ENVIRONMENT = cd $(srcdir) && \
|
|
||||||
DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
|
|
||||||
SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
|
|
||||||
#TESTS = $(GTKDOC_CHECK)
|
|
||||||
endif
|
|
||||||
|
|
||||||
-include $(top_srcdir)/git.mk
|
|
@ -1,104 +0,0 @@
|
|||||||
## Process this file with automake to produce Makefile.in
|
|
||||||
|
|
||||||
# We require automake 1.6 at least.
|
|
||||||
AUTOMAKE_OPTIONS = 1.6
|
|
||||||
|
|
||||||
# This is a blank Makefile.am for using gtk-doc.
|
|
||||||
# Copy this to your project's API docs directory and modify the variables to
|
|
||||||
# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
|
|
||||||
# of using the various options.
|
|
||||||
|
|
||||||
# The name of the module, e.g. 'glib'.
|
|
||||||
DOC_MODULE=st
|
|
||||||
|
|
||||||
# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
|
|
||||||
#DOC_MODULE_VERSION=2
|
|
||||||
|
|
||||||
|
|
||||||
# The top-level SGML file. You can change this if you want to.
|
|
||||||
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
|
|
||||||
|
|
||||||
# Directories containing the source code
|
|
||||||
# gtk-doc will search all .c and .h files beneath these paths
|
|
||||||
# for inline comments documenting functions and macros.
|
|
||||||
DOC_SOURCE_DIR=$(top_srcdir)/src/st
|
|
||||||
|
|
||||||
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
|
|
||||||
SCANGOBJ_OPTIONS=
|
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-scan.
|
|
||||||
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
|
|
||||||
SCAN_OPTIONS=--rebuild-types --rebuild-sections
|
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-mkdb.
|
|
||||||
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
|
|
||||||
MKDB_OPTIONS=--xml-mode --output-format=xml
|
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-mktmpl
|
|
||||||
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
|
|
||||||
MKTMPL_OPTIONS=
|
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-mkhtml
|
|
||||||
MKHTML_OPTIONS=
|
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-fixref. Not normally needed.
|
|
||||||
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
|
|
||||||
FIXXREF_OPTIONS=
|
|
||||||
|
|
||||||
# Used for dependencies. The docs will be rebuilt if any of these change.
|
|
||||||
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
|
|
||||||
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
|
|
||||||
HFILE_GLOB=$(top_srcdir)/src/st/*.h
|
|
||||||
CFILE_GLOB=$(top_srcdir)/src/st/*.c
|
|
||||||
|
|
||||||
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
|
|
||||||
# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
|
|
||||||
EXTRA_HFILES=
|
|
||||||
|
|
||||||
# Header files or dirs to ignore when scanning. Use base file/dir names
|
|
||||||
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
|
|
||||||
IGNORE_HFILES=st-private.h st-theme-node-private.h
|
|
||||||
|
|
||||||
# Images to copy into HTML directory.
|
|
||||||
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
|
|
||||||
HTML_IMAGES=
|
|
||||||
|
|
||||||
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
|
|
||||||
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
|
|
||||||
content_files=
|
|
||||||
|
|
||||||
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
|
|
||||||
# These files must be listed here *and* in content_files
|
|
||||||
# e.g. expand_content_files=running.sgml
|
|
||||||
expand_content_files=
|
|
||||||
|
|
||||||
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
|
|
||||||
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
|
|
||||||
# signals and properties.
|
|
||||||
# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
|
||||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
|
||||||
GTKDOC_CFLAGS=
|
|
||||||
GTKDOC_LIBS=$(top_builddir)/src/libst-1.0.la -rpath $(MUTTER_TYPELIB_DIR)
|
|
||||||
|
|
||||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
|
||||||
include $(top_srcdir)/gtk-doc.make
|
|
||||||
|
|
||||||
# Other files to distribute
|
|
||||||
# e.g. EXTRA_DIST += version.xml.in
|
|
||||||
EXTRA_DIST += version.xml.in
|
|
||||||
|
|
||||||
# Files not to distribute
|
|
||||||
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
|
|
||||||
# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
|
|
||||||
DISTCLEANFILES = $(DOC_MODULE).types $(DOC_MODULE)-sections.txt
|
|
||||||
|
|
||||||
# Comment this out if you want 'make check' to test you doc status
|
|
||||||
# and run some sanity checks
|
|
||||||
if ENABLE_GTK_DOC
|
|
||||||
TESTS_ENVIRONMENT = cd $(srcdir) && \
|
|
||||||
DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
|
|
||||||
SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
|
|
||||||
#TESTS = $(GTKDOC_CHECK)
|
|
||||||
endif
|
|
||||||
|
|
||||||
-include $(top_srcdir)/git.mk
|
|
@ -1,39 +0,0 @@
|
|||||||
NULL =
|
|
||||||
BUILT_SOURCES =
|
|
||||||
|
|
||||||
misc/config.js: misc/config.js.in Makefile
|
|
||||||
[ -d $(@D) ] || $(mkdir_p) $(@D) ; \
|
|
||||||
sed -e "s|[@]PACKAGE_NAME@|$(PACKAGE_NAME)|g" \
|
|
||||||
-e "s|[@]PACKAGE_VERSION@|$(PACKAGE_VERSION)|g" \
|
|
||||||
-e "s|[@]HAVE_BLUETOOTH@|$(HAVE_BLUETOOTH)|g" \
|
|
||||||
-e "s|[@]HAVE_NETWORKMANAGER@|$(HAVE_NETWORKMANAGER)|g" \
|
|
||||||
-e "s|[@]GETTEXT_PACKAGE@|$(GETTEXT_PACKAGE)|g" \
|
|
||||||
-e "s|[@]datadir@|$(datadir)|g" \
|
|
||||||
-e "s|[@]libexecdir@|$(libexecdir)|g" \
|
|
||||||
-e "s|[@]sysconfdir@|$(sysconfdir)|g" \
|
|
||||||
-e "s|[@]LIBMUTTER_API_VERSION@|$(LIBMUTTER_API_VERSION)|g" \
|
|
||||||
$< > $@
|
|
||||||
|
|
||||||
js_resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --sourcedir=$(builddir) --generate-dependencies $(srcdir)/js-resources.gresource.xml)
|
|
||||||
js-resources.h: js-resources.gresource.xml $(js_resource_files) misc/config.js
|
|
||||||
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --sourcedir=$(builddir) --generate --c-name shell_js_resources $<
|
|
||||||
js-resources.c: js-resources.gresource.xml $(js_resource_files) misc/config.js
|
|
||||||
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --sourcedir=$(builddir) --generate --c-name shell_js_resources $<
|
|
||||||
|
|
||||||
js_built_sources = js-resources.c js-resources.h
|
|
||||||
|
|
||||||
BUILT_SOURCES += $(js_built_sources)
|
|
||||||
|
|
||||||
all-local: $(js_built_sources)
|
|
||||||
|
|
||||||
js_resource_dist_files = $(filter-out misc/config.js, $(js_resource_files))
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
$(js_resource_dist_files) \
|
|
||||||
js-resources.gresource.xml \
|
|
||||||
misc/config.js.in \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
CLEANFILES = \
|
|
||||||
$(js_built_sources) \
|
|
||||||
$(NULL)
|
|
@ -17,23 +17,23 @@ const ShellEntry = imports.ui.shellEntry;
|
|||||||
const SmartcardManager = imports.misc.smartcardManager;
|
const SmartcardManager = imports.misc.smartcardManager;
|
||||||
const Tweener = imports.ui.tweener;
|
const Tweener = imports.ui.tweener;
|
||||||
|
|
||||||
const PASSWORD_SERVICE_NAME = 'gdm-password';
|
var PASSWORD_SERVICE_NAME = 'gdm-password';
|
||||||
const FINGERPRINT_SERVICE_NAME = 'gdm-fingerprint';
|
var FINGERPRINT_SERVICE_NAME = 'gdm-fingerprint';
|
||||||
const SMARTCARD_SERVICE_NAME = 'gdm-smartcard';
|
var SMARTCARD_SERVICE_NAME = 'gdm-smartcard';
|
||||||
const OVIRT_SERVICE_NAME = 'gdm-ovirtcred';
|
var OVIRT_SERVICE_NAME = 'gdm-ovirtcred';
|
||||||
var FADE_ANIMATION_TIME = 0.16;
|
var FADE_ANIMATION_TIME = 0.16;
|
||||||
var CLONE_FADE_ANIMATION_TIME = 0.25;
|
var CLONE_FADE_ANIMATION_TIME = 0.25;
|
||||||
|
|
||||||
const LOGIN_SCREEN_SCHEMA = 'org.gnome.login-screen';
|
var LOGIN_SCREEN_SCHEMA = 'org.gnome.login-screen';
|
||||||
const PASSWORD_AUTHENTICATION_KEY = 'enable-password-authentication';
|
var PASSWORD_AUTHENTICATION_KEY = 'enable-password-authentication';
|
||||||
const FINGERPRINT_AUTHENTICATION_KEY = 'enable-fingerprint-authentication';
|
var FINGERPRINT_AUTHENTICATION_KEY = 'enable-fingerprint-authentication';
|
||||||
const SMARTCARD_AUTHENTICATION_KEY = 'enable-smartcard-authentication';
|
var SMARTCARD_AUTHENTICATION_KEY = 'enable-smartcard-authentication';
|
||||||
const BANNER_MESSAGE_KEY = 'banner-message-enable';
|
var BANNER_MESSAGE_KEY = 'banner-message-enable';
|
||||||
const BANNER_MESSAGE_TEXT_KEY = 'banner-message-text';
|
var BANNER_MESSAGE_TEXT_KEY = 'banner-message-text';
|
||||||
const ALLOWED_FAILURES_KEY = 'allowed-failures';
|
var ALLOWED_FAILURES_KEY = 'allowed-failures';
|
||||||
|
|
||||||
const LOGO_KEY = 'logo';
|
var LOGO_KEY = 'logo';
|
||||||
const DISABLE_USER_LIST_KEY = 'disable-user-list';
|
var DISABLE_USER_LIST_KEY = 'disable-user-list';
|
||||||
|
|
||||||
// Give user 48ms to read each character of a PAM message
|
// Give user 48ms to read each character of a PAM message
|
||||||
var USER_READ_TIME = 48
|
var USER_READ_TIME = 48
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
<file>misc/params.js</file>
|
<file>misc/params.js</file>
|
||||||
<file>misc/permissionStore.js</file>
|
<file>misc/permissionStore.js</file>
|
||||||
<file>misc/smartcardManager.js</file>
|
<file>misc/smartcardManager.js</file>
|
||||||
|
<file>misc/systemActions.js</file>
|
||||||
<file>misc/util.js</file>
|
<file>misc/util.js</file>
|
||||||
<file>misc/weather.js</file>
|
<file>misc/weather.js</file>
|
||||||
|
|
||||||
@ -64,7 +65,6 @@
|
|||||||
<file>ui/layout.js</file>
|
<file>ui/layout.js</file>
|
||||||
<file>ui/lightbox.js</file>
|
<file>ui/lightbox.js</file>
|
||||||
<file>ui/lookingGlass.js</file>
|
<file>ui/lookingGlass.js</file>
|
||||||
<file>ui/legacyTray.js</file>
|
|
||||||
<file>ui/magnifier.js</file>
|
<file>ui/magnifier.js</file>
|
||||||
<file>ui/magnifierDBus.js</file>
|
<file>ui/magnifierDBus.js</file>
|
||||||
<file>ui/main.js</file>
|
<file>ui/main.js</file>
|
||||||
@ -96,6 +96,7 @@
|
|||||||
<file>ui/shellMountOperation.js</file>
|
<file>ui/shellMountOperation.js</file>
|
||||||
<file>ui/slider.js</file>
|
<file>ui/slider.js</file>
|
||||||
<file>ui/switcherPopup.js</file>
|
<file>ui/switcherPopup.js</file>
|
||||||
|
<file>ui/switchMonitor.js</file>
|
||||||
<file>ui/tweener.js</file>
|
<file>ui/tweener.js</file>
|
||||||
<file>ui/unlockDialog.js</file>
|
<file>ui/unlockDialog.js</file>
|
||||||
<file>ui/userWidget.js</file>
|
<file>ui/userWidget.js</file>
|
||||||
|
@ -119,7 +119,13 @@ var LoginManagerSystemd = new Lang.Class({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this._proxy.GetSessionRemote(GLib.getenv('XDG_SESSION_ID'), Lang.bind(this,
|
let sessionId = GLib.getenv('XDG_SESSION_ID');
|
||||||
|
if (!sessionId) {
|
||||||
|
log('Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this._proxy.GetSessionRemote(sessionId, Lang.bind(this,
|
||||||
function(result, error) {
|
function(result, error) {
|
||||||
if (error) {
|
if (error) {
|
||||||
logError(error, 'Could not get a proxy for the current session');
|
logError(error, 'Could not get a proxy for the current session');
|
||||||
|
440
js/misc/systemActions.js
Normal file
440
js/misc/systemActions.js
Normal file
@ -0,0 +1,440 @@
|
|||||||
|
const AccountsService = imports.gi.AccountsService;
|
||||||
|
const Clutter = imports.gi.Clutter;
|
||||||
|
const Gdm = imports.gi.Gdm;
|
||||||
|
const Gio = imports.gi.Gio;
|
||||||
|
const GLib = imports.gi.GLib;
|
||||||
|
const Lang = imports.lang;
|
||||||
|
const Meta = imports.gi.Meta;
|
||||||
|
const GObject = imports.gi.GObject;
|
||||||
|
|
||||||
|
const GnomeSession = imports.misc.gnomeSession;
|
||||||
|
const LoginManager = imports.misc.loginManager;
|
||||||
|
const Main = imports.ui.main;
|
||||||
|
|
||||||
|
const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown';
|
||||||
|
const LOGIN_SCREEN_SCHEMA = 'org.gnome.login-screen';
|
||||||
|
const DISABLE_USER_SWITCH_KEY = 'disable-user-switching';
|
||||||
|
const DISABLE_LOCK_SCREEN_KEY = 'disable-lock-screen';
|
||||||
|
const DISABLE_LOG_OUT_KEY = 'disable-log-out';
|
||||||
|
const DISABLE_RESTART_KEY = 'disable-restart-buttons';
|
||||||
|
const ALWAYS_SHOW_LOG_OUT_KEY = 'always-show-log-out';
|
||||||
|
|
||||||
|
const SENSOR_BUS_NAME = 'net.hadess.SensorProxy';
|
||||||
|
const SENSOR_OBJECT_PATH = '/net/hadess/SensorProxy';
|
||||||
|
|
||||||
|
const SensorProxyInterface = '<node> \
|
||||||
|
<interface name="net.hadess.SensorProxy"> \
|
||||||
|
<property name="HasAccelerometer" type="b" access="read"/> \
|
||||||
|
</interface> \
|
||||||
|
</node>';
|
||||||
|
|
||||||
|
const POWER_OFF_ACTION_ID = 'power-off';
|
||||||
|
const LOCK_SCREEN_ACTION_ID = 'lock-screen';
|
||||||
|
const LOGOUT_ACTION_ID = 'logout';
|
||||||
|
const SUSPEND_ACTION_ID = 'suspend';
|
||||||
|
const SWITCH_USER_ACTION_ID = 'switch-user';
|
||||||
|
const LOCK_ORIENTATION_ACTION_ID = 'lock-orientation';
|
||||||
|
|
||||||
|
const SensorProxy = Gio.DBusProxy.makeProxyWrapper(SensorProxyInterface);
|
||||||
|
|
||||||
|
let _singleton = null;
|
||||||
|
|
||||||
|
function getDefault() {
|
||||||
|
if (_singleton == null)
|
||||||
|
_singleton = new SystemActions();
|
||||||
|
|
||||||
|
return _singleton;
|
||||||
|
}
|
||||||
|
|
||||||
|
const SystemActions = new Lang.Class({
|
||||||
|
Name: 'SystemActions',
|
||||||
|
Extends: GObject.Object,
|
||||||
|
Properties: {
|
||||||
|
'can-power-off': GObject.ParamSpec.boolean('can-power-off',
|
||||||
|
'can-power-off',
|
||||||
|
'can-power-off',
|
||||||
|
GObject.ParamFlags.READABLE,
|
||||||
|
false),
|
||||||
|
'can-suspend': GObject.ParamSpec.boolean('can-suspend',
|
||||||
|
'can-suspend',
|
||||||
|
'can-suspend',
|
||||||
|
GObject.ParamFlags.READABLE,
|
||||||
|
false),
|
||||||
|
'can-lock-screen': GObject.ParamSpec.boolean('can-lock-screen',
|
||||||
|
'can-lock-screen',
|
||||||
|
'can-lock-screen',
|
||||||
|
GObject.ParamFlags.READABLE,
|
||||||
|
false),
|
||||||
|
'can-switch-user': GObject.ParamSpec.boolean('can-switch-user',
|
||||||
|
'can-switch-user',
|
||||||
|
'can-switch-user',
|
||||||
|
GObject.ParamFlags.READABLE,
|
||||||
|
false),
|
||||||
|
'can-logout': GObject.ParamSpec.boolean('can-logout',
|
||||||
|
'can-logout',
|
||||||
|
'can-logout',
|
||||||
|
GObject.ParamFlags.READABLE,
|
||||||
|
false),
|
||||||
|
'can-lock-orientation': GObject.ParamSpec.boolean('can-lock-orientation',
|
||||||
|
'can-lock-orientation',
|
||||||
|
'can-lock-orientation',
|
||||||
|
GObject.ParamFlags.READABLE,
|
||||||
|
false),
|
||||||
|
'orientation-lock-icon': GObject.ParamSpec.string('orientation-lock-icon',
|
||||||
|
'orientation-lock-icon',
|
||||||
|
'orientation-lock-icon',
|
||||||
|
GObject.ParamFlags.READWRITE,
|
||||||
|
null)
|
||||||
|
},
|
||||||
|
|
||||||
|
_init: function() {
|
||||||
|
this.parent();
|
||||||
|
|
||||||
|
this._canHavePowerOff = true;
|
||||||
|
this._canHaveSuspend = true;
|
||||||
|
|
||||||
|
this._actions = new Map();
|
||||||
|
this._actions.set(POWER_OFF_ACTION_ID,
|
||||||
|
{ // Translators: The name of the power-off action in search
|
||||||
|
name: C_("search-result", "Power off"),
|
||||||
|
iconName: 'system-shutdown-symbolic',
|
||||||
|
// Translators: A list of keywords that match the power-off action, separated by semicolons
|
||||||
|
keywords: _("power off;shutdown").split(';'),
|
||||||
|
available: false });
|
||||||
|
this._actions.set(LOCK_SCREEN_ACTION_ID,
|
||||||
|
{ // Translators: The name of the lock screen action in search
|
||||||
|
name: C_("search-result", "Lock screen"),
|
||||||
|
iconName: 'system-lock-screen-symbolic',
|
||||||
|
// Translators: A list of keywords that match the lock screen action, separated by semicolons
|
||||||
|
keywords: _("lock screen").split(';'),
|
||||||
|
available: false });
|
||||||
|
this._actions.set(LOGOUT_ACTION_ID,
|
||||||
|
{ // Translators: The name of the logout action in search
|
||||||
|
name: C_("search-result", "Log out"),
|
||||||
|
iconName: 'application-exit-symbolic',
|
||||||
|
// Translators: A list of keywords that match the logout action, separated by semicolons
|
||||||
|
keywords: _("logout;sign off").split(';'),
|
||||||
|
available: false });
|
||||||
|
this._actions.set(SUSPEND_ACTION_ID,
|
||||||
|
{ // Translators: The name of the suspend action in search
|
||||||
|
name: C_("search-result", "Suspend"),
|
||||||
|
iconName: 'media-playback-pause-symbolic',
|
||||||
|
// Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||||
|
keywords: _("suspend;sleep").split(';'),
|
||||||
|
available: false });
|
||||||
|
this._actions.set(SWITCH_USER_ACTION_ID,
|
||||||
|
{ // Translators: The name of the switch user action in search
|
||||||
|
name: C_("search-result", "Switch user"),
|
||||||
|
iconName: 'system-switch-user-symbolic',
|
||||||
|
// Translators: A list of keywords that match the switch user action, separated by semicolons
|
||||||
|
keywords: _("switch user").split(';'),
|
||||||
|
available: false });
|
||||||
|
this._actions.set(LOCK_ORIENTATION_ACTION_ID,
|
||||||
|
{ // Translators: The name of the lock orientation action in search
|
||||||
|
name: C_("search-result", "Lock orientation"),
|
||||||
|
iconName: '',
|
||||||
|
// Translators: A list of keywords that match the lock orientation action, separated by semicolons
|
||||||
|
keywords: _("lock orientation").split(';'),
|
||||||
|
available: false });
|
||||||
|
|
||||||
|
this._loginScreenSettings = new Gio.Settings({ schema_id: LOGIN_SCREEN_SCHEMA });
|
||||||
|
this._lockdownSettings = new Gio.Settings({ schema_id: LOCKDOWN_SCHEMA });
|
||||||
|
this._orientationSettings = new Gio.Settings({ schema_id: 'org.gnome.settings-daemon.peripherals.touchscreen' });
|
||||||
|
|
||||||
|
this._session = new GnomeSession.SessionManager();
|
||||||
|
this._loginManager = LoginManager.getLoginManager();
|
||||||
|
this._monitorManager = Meta.MonitorManager.get();
|
||||||
|
|
||||||
|
this._userManager = AccountsService.UserManager.get_default();
|
||||||
|
|
||||||
|
this._userManager.connect('notify::is-loaded',
|
||||||
|
() => { this._updateMultiUser(); });
|
||||||
|
this._userManager.connect('notify::has-multiple-users',
|
||||||
|
() => { this._updateMultiUser(); });
|
||||||
|
this._userManager.connect('user-added',
|
||||||
|
() => { this._updateMultiUser(); });
|
||||||
|
this._userManager.connect('user-removed',
|
||||||
|
() => { this._updateMultiUser(); });
|
||||||
|
|
||||||
|
this._lockdownSettings.connect('changed::' + DISABLE_USER_SWITCH_KEY,
|
||||||
|
() => { this._updateSwitchUser(); });
|
||||||
|
this._lockdownSettings.connect('changed::' + DISABLE_LOG_OUT_KEY,
|
||||||
|
() => { this._updateLogout(); });
|
||||||
|
global.settings.connect('changed::' + ALWAYS_SHOW_LOG_OUT_KEY,
|
||||||
|
() => { this._updateLogout(); });
|
||||||
|
|
||||||
|
this._lockdownSettings.connect('changed::' + DISABLE_LOCK_SCREEN_KEY,
|
||||||
|
() => { this._updateLockScreen(); });
|
||||||
|
|
||||||
|
this._lockdownSettings.connect('changed::' + DISABLE_LOG_OUT_KEY,
|
||||||
|
() => { this._updateHaveShutdown(); });
|
||||||
|
|
||||||
|
this.forceUpdate();
|
||||||
|
|
||||||
|
this._orientationSettings.connect('changed::orientation-lock',
|
||||||
|
() => { this._updateOrientationLock();
|
||||||
|
this._updateOrientationLockIcon(); });
|
||||||
|
Main.layoutManager.connect('monitors-changed',
|
||||||
|
() => { this._updateOrientationLock(); });
|
||||||
|
Gio.DBus.system.watch_name(SENSOR_BUS_NAME,
|
||||||
|
Gio.BusNameWatcherFlags.NONE,
|
||||||
|
() => { this._sensorProxyAppeared(); },
|
||||||
|
() => {
|
||||||
|
this._sensorProxy = null;
|
||||||
|
this._updateOrientationLock();
|
||||||
|
});
|
||||||
|
this._updateOrientationLock();
|
||||||
|
this._updateOrientationLockIcon();
|
||||||
|
|
||||||
|
Main.sessionMode.connect('updated', () => { this._sessionUpdated(); });
|
||||||
|
this._sessionUpdated();
|
||||||
|
},
|
||||||
|
|
||||||
|
get can_power_off() {
|
||||||
|
return this._actions.get(POWER_OFF_ACTION_ID).available;
|
||||||
|
},
|
||||||
|
|
||||||
|
get can_suspend() {
|
||||||
|
return this._actions.get(SUSPEND_ACTION_ID).available;
|
||||||
|
},
|
||||||
|
|
||||||
|
get can_lock_screen() {
|
||||||
|
return this._actions.get(LOCK_SCREEN_ACTION_ID).available;
|
||||||
|
},
|
||||||
|
|
||||||
|
get can_switch_user() {
|
||||||
|
return this._actions.get(SWITCH_USER_ACTION_ID).available;
|
||||||
|
},
|
||||||
|
|
||||||
|
get can_logout() {
|
||||||
|
return this._actions.get(LOGOUT_ACTION_ID).available;
|
||||||
|
},
|
||||||
|
|
||||||
|
get can_lock_orientation() {
|
||||||
|
return this._actions.get(LOCK_ORIENTATION_ACTION_ID).available;
|
||||||
|
},
|
||||||
|
|
||||||
|
get orientation_lock_icon() {
|
||||||
|
return this._actions.get(LOCK_ORIENTATION_ACTION_ID).iconName;
|
||||||
|
},
|
||||||
|
|
||||||
|
_sensorProxyAppeared: function() {
|
||||||
|
this._sensorProxy = new SensorProxy(Gio.DBus.system, SENSOR_BUS_NAME, SENSOR_OBJECT_PATH,
|
||||||
|
(proxy, error) => {
|
||||||
|
if (error) {
|
||||||
|
log(error.message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this._sensorProxy.connect('g-properties-changed',
|
||||||
|
() => { this._updateOrientationLock(); });
|
||||||
|
this._updateOrientationLock();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateOrientationLock: function() {
|
||||||
|
let available = false;
|
||||||
|
if (this._sensorProxy)
|
||||||
|
available = this._sensorProxy.HasAccelerometer &&
|
||||||
|
this._monitorManager.get_is_builtin_display_on();
|
||||||
|
|
||||||
|
this._actions.get(LOCK_ORIENTATION_ACTION_ID).available = available;
|
||||||
|
|
||||||
|
this.notify('can-lock-orientation');
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateOrientationLockIcon: function() {
|
||||||
|
let locked = this._orientationSettings.get_boolean('orientation-lock');
|
||||||
|
let iconName = locked ? 'rotation-locked-symbolic'
|
||||||
|
: 'rotation-allowed-symbolic';
|
||||||
|
this._actions.get(LOCK_ORIENTATION_ACTION_ID).iconName = iconName;
|
||||||
|
|
||||||
|
this.notify('orientation-lock-icon');
|
||||||
|
},
|
||||||
|
|
||||||
|
_sessionUpdated: function() {
|
||||||
|
this._updateLockScreen();
|
||||||
|
this._updatePowerOff();
|
||||||
|
this._updateSuspend();
|
||||||
|
this._updateMultiUser();
|
||||||
|
},
|
||||||
|
|
||||||
|
forceUpdate: function() {
|
||||||
|
// Whether those actions are available or not depends on both lockdown
|
||||||
|
// settings and Polkit policy - we don't get change notifications for the
|
||||||
|
// latter, so their value may be outdated; force an update now
|
||||||
|
this._updateHaveShutdown();
|
||||||
|
this._updateHaveSuspend();
|
||||||
|
},
|
||||||
|
|
||||||
|
getMatchingActions: function(terms) {
|
||||||
|
// terms is a list of strings
|
||||||
|
terms = terms.map((term) => { return term.toLowerCase(); });
|
||||||
|
|
||||||
|
let results = [];
|
||||||
|
|
||||||
|
for (let [key, {available, keywords}] of this._actions)
|
||||||
|
if (available && terms.every(t => keywords.some(k => (k.indexOf(t) >= 0))))
|
||||||
|
results.push(key);
|
||||||
|
|
||||||
|
return results;
|
||||||
|
},
|
||||||
|
|
||||||
|
getName: function(id) {
|
||||||
|
return this._actions.get(id).name;
|
||||||
|
},
|
||||||
|
|
||||||
|
getIconName: function(id) {
|
||||||
|
return this._actions.get(id).iconName;
|
||||||
|
},
|
||||||
|
|
||||||
|
activateAction: function(id) {
|
||||||
|
switch (id) {
|
||||||
|
case POWER_OFF_ACTION_ID:
|
||||||
|
this.activatePowerOff();
|
||||||
|
break;
|
||||||
|
case LOCK_SCREEN_ACTION_ID:
|
||||||
|
this.activateLockScreen();
|
||||||
|
break;
|
||||||
|
case LOGOUT_ACTION_ID:
|
||||||
|
this.activateLogout();
|
||||||
|
break;
|
||||||
|
case SUSPEND_ACTION_ID:
|
||||||
|
this.activateSuspend();
|
||||||
|
break;
|
||||||
|
case SWITCH_USER_ACTION_ID:
|
||||||
|
this.activateSwitchUser();
|
||||||
|
break;
|
||||||
|
case LOCK_ORIENTATION_ACTION_ID:
|
||||||
|
this.activateLockOrientation();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateLockScreen() {
|
||||||
|
let showLock = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
|
||||||
|
let allowLockScreen = !this._lockdownSettings.get_boolean(DISABLE_LOCK_SCREEN_KEY);
|
||||||
|
this._actions.get(LOCK_SCREEN_ACTION_ID).available = showLock && allowLockScreen && LoginManager.canLock();
|
||||||
|
this.notify('can-lock-screen');
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateHaveShutdown: function() {
|
||||||
|
this._session.CanShutdownRemote((result, error) => {
|
||||||
|
if (error)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this._canHavePowerOff = result[0];
|
||||||
|
this._updatePowerOff();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
_updatePowerOff: function() {
|
||||||
|
let disabled = Main.sessionMode.isLocked ||
|
||||||
|
(Main.sessionMode.isGreeter &&
|
||||||
|
this._loginScreenSettings.get_boolean(DISABLE_RESTART_KEY));
|
||||||
|
this._actions.get(POWER_OFF_ACTION_ID).available = this._canHavePowerOff && !disabled;
|
||||||
|
this.notify('can-power-off');
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateHaveSuspend: function() {
|
||||||
|
this._loginManager.canSuspend(
|
||||||
|
(canSuspend, needsAuth) => {
|
||||||
|
this._canHaveSuspend = canSuspend;
|
||||||
|
this._suspendNeedsAuth = needsAuth;
|
||||||
|
this._updateSuspend();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateSuspend: function() {
|
||||||
|
let disabled = (Main.sessionMode.isLocked &&
|
||||||
|
this._suspendNeedsAuth) ||
|
||||||
|
(Main.sessionMode.isGreeter &&
|
||||||
|
this._loginScreenSettings.get_boolean(DISABLE_RESTART_KEY));
|
||||||
|
this._actions.get(SUSPEND_ACTION_ID).available = this._canHaveSuspend && !disabled;
|
||||||
|
this.notify('can-suspend');
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateMultiUser: function() {
|
||||||
|
this._updateLogout();
|
||||||
|
this._updateSwitchUser();
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateSwitchUser: function() {
|
||||||
|
let allowSwitch = !this._lockdownSettings.get_boolean(DISABLE_USER_SWITCH_KEY);
|
||||||
|
let multiUser = this._userManager.can_switch() && this._userManager.has_multiple_users;
|
||||||
|
let shouldShowInMode = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
|
||||||
|
|
||||||
|
let visible = allowSwitch && multiUser && shouldShowInMode;
|
||||||
|
this._actions.get(SWITCH_USER_ACTION_ID).available = visible;
|
||||||
|
this.notify('can-switch-user');
|
||||||
|
|
||||||
|
return visible;
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateLogout: function() {
|
||||||
|
let user = this._userManager.get_user(GLib.get_user_name());
|
||||||
|
|
||||||
|
let allowLogout = !this._lockdownSettings.get_boolean(DISABLE_LOG_OUT_KEY);
|
||||||
|
let alwaysShow = global.settings.get_boolean(ALWAYS_SHOW_LOG_OUT_KEY);
|
||||||
|
let systemAccount = user.system_account;
|
||||||
|
let localAccount = user.local_account;
|
||||||
|
let multiUser = this._userManager.has_multiple_users;
|
||||||
|
let multiSession = Gdm.get_session_ids().length > 1;
|
||||||
|
let shouldShowInMode = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
|
||||||
|
|
||||||
|
let visible = allowLogout && (alwaysShow || multiUser || multiSession || systemAccount || !localAccount) && shouldShowInMode;
|
||||||
|
this._actions.get(LOGOUT_ACTION_ID).available = visible;
|
||||||
|
this.notify('can-logout');
|
||||||
|
|
||||||
|
return visible;
|
||||||
|
},
|
||||||
|
|
||||||
|
activateLockOrientation: function() {
|
||||||
|
if (!this._actions.get(LOCK_ORIENTATION_ACTION_ID).available)
|
||||||
|
throw new Error('The lock-orientation action is not available!');
|
||||||
|
|
||||||
|
let locked = this._orientationSettings.get_boolean('orientation-lock');
|
||||||
|
this._orientationSettings.set_boolean('orientation-lock', !locked);
|
||||||
|
},
|
||||||
|
|
||||||
|
activateLockScreen: function() {
|
||||||
|
if (!this._actions.get(LOCK_SCREEN_ACTION_ID).available)
|
||||||
|
throw new Error('The lock-screen action is not available!');
|
||||||
|
|
||||||
|
Main.screenShield.lock(true);
|
||||||
|
},
|
||||||
|
|
||||||
|
activateSwitchUser: function() {
|
||||||
|
if (!this._actions.get(SWITCH_USER_ACTION_ID).available)
|
||||||
|
throw new Error('The switch-user action is not available!');
|
||||||
|
|
||||||
|
if (Main.screenShield)
|
||||||
|
Main.screenShield.lock(false);
|
||||||
|
|
||||||
|
Clutter.threads_add_repaint_func_full(Clutter.RepaintFlags.POST_PAINT, function() {
|
||||||
|
Gdm.goto_login_session_sync(null);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
activateLogout: function() {
|
||||||
|
if (!this._actions.get(LOGOUT_ACTION_ID).available)
|
||||||
|
throw new Error('The logout action is not available!');
|
||||||
|
|
||||||
|
Main.overview.hide();
|
||||||
|
this._session.LogoutRemote(0);
|
||||||
|
},
|
||||||
|
|
||||||
|
activatePowerOff: function() {
|
||||||
|
if (!this._actions.get(POWER_OFF_ACTION_ID).available)
|
||||||
|
throw new Error('The power-off action is not available!');
|
||||||
|
|
||||||
|
this._session.ShutdownRemote(0);
|
||||||
|
},
|
||||||
|
|
||||||
|
activateSuspend: function() {
|
||||||
|
if (!this._actions.get(SUSPEND_ACTION_ID).available)
|
||||||
|
throw new Error('The suspend action is not available!');
|
||||||
|
|
||||||
|
this._loginManager.suspend();
|
||||||
|
}
|
||||||
|
});
|
@ -158,7 +158,10 @@ var AppSwitcherPopup = new Lang.Class({
|
|||||||
|
|
||||||
_keyPressHandler: function(keysym, action) {
|
_keyPressHandler: function(keysym, action) {
|
||||||
if (action == Meta.KeyBindingAction.SWITCH_GROUP) {
|
if (action == Meta.KeyBindingAction.SWITCH_GROUP) {
|
||||||
this._select(this._selectedIndex, this._nextWindow());
|
if (!this._thumbnailsFocused)
|
||||||
|
this._select(this._selectedIndex, 0);
|
||||||
|
else
|
||||||
|
this._select(this._selectedIndex, this._nextWindow());
|
||||||
} else if (action == Meta.KeyBindingAction.SWITCH_GROUP_BACKWARD) {
|
} else if (action == Meta.KeyBindingAction.SWITCH_GROUP_BACKWARD) {
|
||||||
this._select(this._selectedIndex, this._previousWindow());
|
this._select(this._selectedIndex, this._previousWindow());
|
||||||
} else if (action == Meta.KeyBindingAction.SWITCH_APPLICATIONS) {
|
} else if (action == Meta.KeyBindingAction.SWITCH_APPLICATIONS) {
|
||||||
|
@ -24,8 +24,11 @@ const OverviewControls = imports.ui.overviewControls;
|
|||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
const Tweener = imports.ui.tweener;
|
const Tweener = imports.ui.tweener;
|
||||||
const Workspace = imports.ui.workspace;
|
const Workspace = imports.ui.workspace;
|
||||||
|
const Search = imports.ui.search;
|
||||||
|
const System = imports.ui.status.system;
|
||||||
const Params = imports.misc.params;
|
const Params = imports.misc.params;
|
||||||
const Util = imports.misc.util;
|
const Util = imports.misc.util;
|
||||||
|
const SystemActions = imports.misc.systemActions;
|
||||||
|
|
||||||
var MAX_APPLICATION_WORK_MILLIS = 75;
|
var MAX_APPLICATION_WORK_MILLIS = 75;
|
||||||
var MENU_POPUP_TIMEOUT = 600;
|
var MENU_POPUP_TIMEOUT = 600;
|
||||||
@ -1085,19 +1088,35 @@ var AppSearchProvider = new Lang.Class({
|
|||||||
this.id = 'applications';
|
this.id = 'applications';
|
||||||
this.isRemoteProvider = false;
|
this.isRemoteProvider = false;
|
||||||
this.canLaunchSearch = false;
|
this.canLaunchSearch = false;
|
||||||
|
|
||||||
|
this._systemActions = new SystemActions.getDefault();
|
||||||
},
|
},
|
||||||
|
|
||||||
getResultMetas: function(apps, callback) {
|
getResultMetas: function(apps, callback) {
|
||||||
let metas = [];
|
let metas = [];
|
||||||
for (let i = 0; i < apps.length; i++) {
|
for (let id of apps) {
|
||||||
let app = this._appSys.lookup_app(apps[i]);
|
if (id.endsWith('.desktop')) {
|
||||||
metas.push({ 'id': app.get_id(),
|
let app = this._appSys.lookup_app(id);
|
||||||
'name': app.get_name(),
|
|
||||||
'createIcon': function(size) {
|
metas.push({ 'id': app.get_id(),
|
||||||
return app.create_icon_texture(size);
|
'name': app.get_name(),
|
||||||
}
|
'createIcon': function(size) {
|
||||||
});
|
return app.create_icon_texture(size);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
let name = this._systemActions.getName(id);
|
||||||
|
let iconName = this._systemActions.getIconName(id);
|
||||||
|
|
||||||
|
let createIcon = size => new St.Icon({ icon_name: iconName,
|
||||||
|
width: size,
|
||||||
|
height: size,
|
||||||
|
style_class: 'system-action-icon' });
|
||||||
|
|
||||||
|
metas.push({ id, name, createIcon });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
callback(metas);
|
callback(metas);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1119,6 +1138,9 @@ var AppSearchProvider = new Lang.Class({
|
|||||||
return usage.compare('', a, b);
|
return usage.compare('', a, b);
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
results = results.concat(this._systemActions.getMatchingActions(terms));
|
||||||
|
|
||||||
callback(results);
|
callback(results);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1127,8 +1149,10 @@ var AppSearchProvider = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
createResultObject: function (resultMeta) {
|
createResultObject: function (resultMeta) {
|
||||||
let app = this._appSys.lookup_app(resultMeta['id']);
|
if (resultMeta.id.endsWith('.desktop'))
|
||||||
return new AppIcon(app);
|
return new AppIcon(this._appSys.lookup_app(resultMeta['id']));
|
||||||
|
else
|
||||||
|
return new SystemActionIcon(this, resultMeta);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -1172,13 +1196,9 @@ var FolderView = new Lang.Class({
|
|||||||
let numItems = this._allItems.length;
|
let numItems = this._allItems.length;
|
||||||
let rtl = icon.get_text_direction() == Clutter.TextDirection.RTL;
|
let rtl = icon.get_text_direction() == Clutter.TextDirection.RTL;
|
||||||
for (let i = 0; i < 4; i++) {
|
for (let i = 0; i < 4; i++) {
|
||||||
let bin;
|
let bin = new St.Bin({ width: subSize, height: subSize });
|
||||||
if (i < numItems) {
|
if (i < numItems)
|
||||||
let texture = this._allItems[i].app.create_icon_texture(subSize);
|
bin.child = this._allItems[i].app.create_icon_texture(subSize);
|
||||||
bin = new St.Bin({ child: texture });
|
|
||||||
} else {
|
|
||||||
bin = new St.Bin({ width: subSize, height: subSize });
|
|
||||||
}
|
|
||||||
layout.attach(bin, rtl ? (i + 1) % 2 : i % 2, Math.floor(i / 2), 1, 1);
|
layout.attach(bin, rtl ? (i + 1) % 2 : i % 2, Math.floor(i / 2), 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1987,3 +2007,13 @@ var AppIconMenu = new Lang.Class({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
Signals.addSignalMethods(AppIconMenu.prototype);
|
Signals.addSignalMethods(AppIconMenu.prototype);
|
||||||
|
|
||||||
|
var SystemActionIcon = new Lang.Class({
|
||||||
|
Name: 'SystemActionIcon',
|
||||||
|
Extends: Search.GridSearchResult,
|
||||||
|
|
||||||
|
activate: function() {
|
||||||
|
SystemActions.getDefault().activateAction(this.metaInfo['id']);
|
||||||
|
Main.overview.hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
@ -11,6 +11,7 @@ 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',
|
||||||
'dconf-editor.desktop': 'ca.desrt.dconf-editor.desktop',
|
'dconf-editor.desktop': 'ca.desrt.dconf-editor.desktop',
|
||||||
|
'empathy.desktop': 'org.gnome.Empathy.desktop',
|
||||||
'epiphany.desktop': 'org.gnome.Epiphany.desktop',
|
'epiphany.desktop': 'org.gnome.Epiphany.desktop',
|
||||||
'file-roller.desktop': 'org.gnome.FileRoller.desktop',
|
'file-roller.desktop': 'org.gnome.FileRoller.desktop',
|
||||||
'gcalctool.desktop': 'org.gnome.Calculator.desktop',
|
'gcalctool.desktop': 'org.gnome.Calculator.desktop',
|
||||||
|
@ -587,7 +587,10 @@ var BoxPointer = new Lang.Class({
|
|||||||
_calculateArrowSide: function(arrowSide) {
|
_calculateArrowSide: function(arrowSide) {
|
||||||
let sourceAllocation = Shell.util_get_transformed_allocation(this._sourceActor);
|
let sourceAllocation = Shell.util_get_transformed_allocation(this._sourceActor);
|
||||||
let [minWidth, minHeight, boxWidth, boxHeight] = this._container.get_preferred_size();
|
let [minWidth, minHeight, boxWidth, boxHeight] = this._container.get_preferred_size();
|
||||||
let monitor = Main.layoutManager.findMonitorForActor(this.actor);
|
let monitorActor = this.sourceActor;
|
||||||
|
if (!monitorActor)
|
||||||
|
monitorActor = this.actor;
|
||||||
|
let monitor = Main.layoutManager.findMonitorForActor(monitorActor);
|
||||||
|
|
||||||
switch (arrowSide) {
|
switch (arrowSide) {
|
||||||
case St.Side.TOP:
|
case St.Side.TOP:
|
||||||
|
@ -20,7 +20,7 @@ var MSECS_IN_DAY = 24 * 60 * 60 * 1000;
|
|||||||
var SHOW_WEEKDATE_KEY = 'show-weekdate';
|
var SHOW_WEEKDATE_KEY = 'show-weekdate';
|
||||||
var ELLIPSIS_CHAR = '\u2026';
|
var ELLIPSIS_CHAR = '\u2026';
|
||||||
|
|
||||||
var MESSAGE_ICON_SIZE = 16;
|
var MESSAGE_ICON_SIZE = -1; // pick up from CSS
|
||||||
|
|
||||||
// alias to prevent xgettext from picking up strings translated in GTK+
|
// alias to prevent xgettext from picking up strings translated in GTK+
|
||||||
const gtk30_ = Gettext_gtk30.gettext;
|
const gtk30_ = Gettext_gtk30.gettext;
|
||||||
@ -428,6 +428,13 @@ var Calendar = new Lang.Class({
|
|||||||
this.emit('selected-date-changed', new Date(this._selectedDate));
|
this.emit('selected-date-changed', new Date(this._selectedDate));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
updateTimeZone: function() {
|
||||||
|
// The calendar need to be rebuilt after a time zone update because
|
||||||
|
// the date might have changed.
|
||||||
|
this._rebuildCalendar();
|
||||||
|
this._update();
|
||||||
|
},
|
||||||
|
|
||||||
_buildHeader: function() {
|
_buildHeader: function() {
|
||||||
let layout = this.actor.layout_manager;
|
let layout = this.actor.layout_manager;
|
||||||
let offsetCols = this._useWeekdate ? 1 : 0;
|
let offsetCols = this._useWeekdate ? 1 : 0;
|
||||||
|
@ -255,7 +255,11 @@ var AutorunDispatcher = new Lang.Class({
|
|||||||
if (!shouldAutorunMount(mount))
|
if (!shouldAutorunMount(mount))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
let setting = this._getAutorunSettingForType(contentTypes[0]);
|
let setting;
|
||||||
|
if (contentTypes.length > 0)
|
||||||
|
setting = this._getAutorunSettingForType(contentTypes[0]);
|
||||||
|
else
|
||||||
|
setting = AutorunSetting.ASK;
|
||||||
|
|
||||||
// check at the settings for the first content type
|
// check at the settings for the first content type
|
||||||
// to see whether we should ask
|
// to see whether we should ask
|
||||||
|
@ -22,6 +22,7 @@ const PanelMenu = imports.ui.panelMenu;
|
|||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
const Calendar = imports.ui.calendar;
|
const Calendar = imports.ui.calendar;
|
||||||
const Weather = imports.misc.weather;
|
const Weather = imports.misc.weather;
|
||||||
|
const System = imports.system;
|
||||||
|
|
||||||
function _isToday(date) {
|
function _isToday(date) {
|
||||||
let now = new Date();
|
let now = new Date();
|
||||||
@ -233,11 +234,18 @@ var WeatherSection = new Lang.Class({
|
|||||||
this._sync();
|
this._sync();
|
||||||
},
|
},
|
||||||
|
|
||||||
_getSummary: function(info) {
|
_getSummary: function(info, capitalize=false) {
|
||||||
let summary = info.get_conditions();
|
let options = capitalize ? GWeather.FormatOptions.SENTENCE_CAPITALIZATION
|
||||||
if (summary == '-')
|
: GWeather.FormatOptions.NO_CAPITALIZATION;
|
||||||
return info.get_sky();
|
|
||||||
return summary;
|
let [ok, phenomenon, qualifier] = info.get_value_conditions();
|
||||||
|
if (ok)
|
||||||
|
return new GWeather.Conditions({ significant: true,
|
||||||
|
phenomenon,
|
||||||
|
qualifier }).to_string_full(options);
|
||||||
|
|
||||||
|
let [, sky] = info.get_value_sky();
|
||||||
|
return GWeather.Sky.to_string_full(sky, options);
|
||||||
},
|
},
|
||||||
|
|
||||||
_sameSummary: function(info1, info2) {
|
_sameSummary: function(info1, info2) {
|
||||||
@ -255,10 +263,10 @@ var WeatherSection = new Lang.Class({
|
|||||||
let info = this._weatherClient.info;
|
let info = this._weatherClient.info;
|
||||||
let forecasts = info.get_forecast_list();
|
let forecasts = info.get_forecast_list();
|
||||||
if (forecasts.length == 0) // No forecasts, just current conditions
|
if (forecasts.length == 0) // No forecasts, just current conditions
|
||||||
return '%s.'.format(this._getSummary(info));
|
return '%s.'.format(this._getSummary(info, true));
|
||||||
|
|
||||||
let current = info;
|
let current = info;
|
||||||
let summaries = [this._getSummary(info)];
|
let infos = [info];
|
||||||
for (let i = 0; i < forecasts.length; i++) {
|
for (let i = 0; i < forecasts.length; i++) {
|
||||||
let [ok, timestamp] = forecasts[i].get_value_update();
|
let [ok, timestamp] = forecasts[i].get_value_update();
|
||||||
if (!_isToday(new Date(timestamp * 1000)))
|
if (!_isToday(new Date(timestamp * 1000)))
|
||||||
@ -268,12 +276,12 @@ var WeatherSection = new Lang.Class({
|
|||||||
continue; // Ignore consecutive runs of equal summaries
|
continue; // Ignore consecutive runs of equal summaries
|
||||||
|
|
||||||
current = forecasts[i];
|
current = forecasts[i];
|
||||||
if (summaries.push(this._getSummary(current)) == 3)
|
if (infos.push(current) == 3)
|
||||||
break; // Use a maximum of three summaries
|
break; // Use a maximum of three summaries
|
||||||
}
|
}
|
||||||
|
|
||||||
let fmt;
|
let fmt;
|
||||||
switch(summaries.length) {
|
switch(infos.length) {
|
||||||
/* Translators: %s is a weather condition like "Clear sky"; see
|
/* Translators: %s is a weather condition like "Clear sky"; see
|
||||||
libgweather for the possible condition strings. If at all
|
libgweather for the possible condition strings. If at all
|
||||||
possible, the sentence should match the grammatical case etc. of
|
possible, the sentence should match the grammatical case etc. of
|
||||||
@ -292,6 +300,10 @@ var WeatherSection = new Lang.Class({
|
|||||||
the inserted conditions. */
|
the inserted conditions. */
|
||||||
case 3: fmt = _("%s, then %s, followed by %s later."); break;
|
case 3: fmt = _("%s, then %s, followed by %s later."); break;
|
||||||
}
|
}
|
||||||
|
let summaries = infos.map((info, i) => {
|
||||||
|
let capitalize = i == 0 && fmt.startsWith('%s');
|
||||||
|
return this._getSummary(info, capitalize);
|
||||||
|
});
|
||||||
return String.prototype.format.apply(fmt, summaries);
|
return String.prototype.format.apply(fmt, summaries);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -328,8 +340,10 @@ var MessagesIndicator = new Lang.Class({
|
|||||||
Name: 'MessagesIndicator',
|
Name: 'MessagesIndicator',
|
||||||
|
|
||||||
_init: function() {
|
_init: function() {
|
||||||
this.actor = new St.Label({ text: '⚫', visible: false, y_expand: true,
|
this.actor = new St.Icon({ icon_name: 'message-indicator-symbolic',
|
||||||
y_align: Clutter.ActorAlign.CENTER });
|
icon_size: 16,
|
||||||
|
visible: false, y_expand: true,
|
||||||
|
y_align: Clutter.ActorAlign.CENTER });
|
||||||
|
|
||||||
this._sources = [];
|
this._sources = [];
|
||||||
|
|
||||||
@ -534,6 +548,7 @@ var DateMenuButton = new Lang.Class({
|
|||||||
|
|
||||||
this._clock = new GnomeDesktop.WallClock();
|
this._clock = new GnomeDesktop.WallClock();
|
||||||
this._clock.bind_property('clock', this._clockDisplay, 'text', GObject.BindingFlags.SYNC_CREATE);
|
this._clock.bind_property('clock', this._clockDisplay, 'text', GObject.BindingFlags.SYNC_CREATE);
|
||||||
|
this._clock.connect('notify::timezone', Lang.bind(this, this._updateTimeZone));
|
||||||
|
|
||||||
Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated));
|
Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated));
|
||||||
this._sessionUpdated();
|
this._sessionUpdated();
|
||||||
@ -553,6 +568,15 @@ var DateMenuButton = new Lang.Class({
|
|||||||
this._eventSource = eventSource;
|
this._eventSource = eventSource;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_updateTimeZone: function() {
|
||||||
|
// SpiderMonkey caches the time zone so we must explicitly clear it
|
||||||
|
// before we can update the calendar, see
|
||||||
|
// https://bugzilla.gnome.org/show_bug.cgi?id=678507
|
||||||
|
System.clearDateCaches();
|
||||||
|
|
||||||
|
this._calendar.updateTimeZone();
|
||||||
|
},
|
||||||
|
|
||||||
_sessionUpdated: function() {
|
_sessionUpdated: function() {
|
||||||
let eventSource;
|
let eventSource;
|
||||||
let showEvents = Main.sessionMode.showCalendarEvents;
|
let showEvents = Main.sessionMode.showCalendarEvents;
|
||||||
|
@ -15,6 +15,8 @@ var Dialog = new Lang.Class({
|
|||||||
this.parent({ layout_manager: new Clutter.BinLayout() });
|
this.parent({ layout_manager: new Clutter.BinLayout() });
|
||||||
this.connect('destroy', Lang.bind(this, this._onDestroy));
|
this.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||||
|
|
||||||
|
this._initialKeyFocus = null;
|
||||||
|
this._initialKeyFocusDestroyId = 0;
|
||||||
this._pressedKey = null;
|
this._pressedKey = null;
|
||||||
this._buttonKeys = {};
|
this._buttonKeys = {};
|
||||||
this._createDialog();
|
this._createDialog();
|
||||||
@ -86,6 +88,22 @@ var Dialog = new Lang.Class({
|
|||||||
return Clutter.EVENT_PROPAGATE;
|
return Clutter.EVENT_PROPAGATE;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_setInitialKeyFocus: function(actor) {
|
||||||
|
if (this._initialKeyFocus)
|
||||||
|
this._initialKeyFocus.disconnect(this._initialKeyFocusDestroyId);
|
||||||
|
|
||||||
|
this._initialKeyFocus = actor;
|
||||||
|
|
||||||
|
this._initialKeyFocusDestroyId = actor.connect('destroy', () => {
|
||||||
|
this._initialKeyFocus = null;
|
||||||
|
this._initialKeyFocusDestroyId = 0;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
get initialKeyFocus() {
|
||||||
|
return this._initialKeyFocus || this;
|
||||||
|
},
|
||||||
|
|
||||||
addContent: function (actor) {
|
addContent: function (actor) {
|
||||||
this.contentLayout.add (actor, { expand: true });
|
this.contentLayout.add (actor, { expand: true });
|
||||||
},
|
},
|
||||||
@ -116,8 +134,8 @@ var Dialog = new Lang.Class({
|
|||||||
if (isDefault)
|
if (isDefault)
|
||||||
button.add_style_pseudo_class('default');
|
button.add_style_pseudo_class('default');
|
||||||
|
|
||||||
if (!this._initialKeyFocusDestroyId)
|
if (this._initialKeyFocus == null || isDefault)
|
||||||
this._initialKeyFocus = button;
|
this._setInitialKeyFocus(button);
|
||||||
|
|
||||||
for (let i in keys)
|
for (let i in keys)
|
||||||
this._buttonKeys[keys[i]] = buttonInfo;
|
this._buttonKeys[keys[i]] = buttonInfo;
|
||||||
|
@ -38,10 +38,10 @@ var DragDropResult = {
|
|||||||
SUCCESS: 1,
|
SUCCESS: 1,
|
||||||
CONTINUE: 2
|
CONTINUE: 2
|
||||||
};
|
};
|
||||||
|
var dragMonitors = [];
|
||||||
|
|
||||||
let eventHandlerActor = null;
|
let eventHandlerActor = null;
|
||||||
let currentDraggable = null;
|
let currentDraggable = null;
|
||||||
let dragMonitors = [];
|
|
||||||
|
|
||||||
function _getEventHandlerActor() {
|
function _getEventHandlerActor() {
|
||||||
if (!eventHandlerActor) {
|
if (!eventHandlerActor) {
|
||||||
@ -94,6 +94,7 @@ var _Draggable = new Lang.Class({
|
|||||||
this.disconnectAll();
|
this.disconnectAll();
|
||||||
}));
|
}));
|
||||||
this._onEventId = null;
|
this._onEventId = null;
|
||||||
|
this._touchSequence = null;
|
||||||
|
|
||||||
this._restoreOnSuccess = params.restoreOnSuccess;
|
this._restoreOnSuccess = params.restoreOnSuccess;
|
||||||
this._dragActorMaxSize = params.dragActorMaxSize;
|
this._dragActorMaxSize = params.dragActorMaxSize;
|
||||||
@ -530,7 +531,7 @@ var _Draggable = new Lang.Class({
|
|||||||
// Snap the clone back to its source
|
// Snap the clone back to its source
|
||||||
[x, y] = this._dragActorSource.get_transformed_position();
|
[x, y] = this._dragActorSource.get_transformed_position();
|
||||||
let [sourceScaledWidth, sourceScaledHeight] = this._dragActorSource.get_transformed_size();
|
let [sourceScaledWidth, sourceScaledHeight] = this._dragActorSource.get_transformed_size();
|
||||||
scale = this._dragActor.width / sourceScaledWidth;
|
scale = sourceScaledWidth ? this._dragActor.width / sourceScaledWidth : 0;
|
||||||
} else if (this._dragOrigParent) {
|
} else if (this._dragOrigParent) {
|
||||||
// Snap the actor back to its original position within
|
// Snap the actor back to its original position within
|
||||||
// its parent, adjusting for the fact that the parent
|
// its parent, adjusting for the fact that the parent
|
||||||
|
@ -12,6 +12,8 @@ const ModalDialog = imports.ui.modalDialog;
|
|||||||
|
|
||||||
const WAYLAND_KEYBINDINGS_SCHEMA = 'org.gnome.mutter.wayland.keybindings';
|
const WAYLAND_KEYBINDINGS_SCHEMA = 'org.gnome.mutter.wayland.keybindings';
|
||||||
|
|
||||||
|
const APP_WHITELIST = ['gnome-control-center.desktop'];
|
||||||
|
|
||||||
var DialogResponse = Meta.InhibitShortcutsDialogResponse;
|
var DialogResponse = Meta.InhibitShortcutsDialogResponse;
|
||||||
|
|
||||||
var InhibitShortcutsDialog = new Lang.Class({
|
var InhibitShortcutsDialog = new Lang.Class({
|
||||||
@ -38,6 +40,11 @@ var InhibitShortcutsDialog = new Lang.Class({
|
|||||||
this._window = window;
|
this._window = window;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
get _app() {
|
||||||
|
let windowTracker = Shell.WindowTracker.get_default();
|
||||||
|
return windowTracker.get_window_app(this._window);
|
||||||
|
},
|
||||||
|
|
||||||
_getRestoreAccel: function() {
|
_getRestoreAccel: function() {
|
||||||
let settings = new Gio.Settings({ schema_id: WAYLAND_KEYBINDINGS_SCHEMA });
|
let settings = new Gio.Settings({ schema_id: WAYLAND_KEYBINDINGS_SCHEMA });
|
||||||
let accel = settings.get_strv('restore-shortcuts')[0] || '';
|
let accel = settings.get_strv('restore-shortcuts')[0] || '';
|
||||||
@ -46,9 +53,7 @@ var InhibitShortcutsDialog = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_buildLayout: function() {
|
_buildLayout: function() {
|
||||||
let windowTracker = Shell.WindowTracker.get_default();
|
let name = this._app ? this._app.get_name() : this._window.title;
|
||||||
let app = windowTracker.get_window_app(this._window);
|
|
||||||
let name = app ? app.get_name() : this._window.title;
|
|
||||||
|
|
||||||
/* Translators: %s is an application name like "Settings" */
|
/* Translators: %s is an application name like "Settings" */
|
||||||
let title = name ? _("%s wants to inhibit shortcuts").format(name)
|
let title = name ? _("%s wants to inhibit shortcuts").format(name)
|
||||||
@ -57,10 +62,10 @@ var InhibitShortcutsDialog = new Lang.Class({
|
|||||||
|
|
||||||
let contentParams = { icon, title };
|
let contentParams = { icon, title };
|
||||||
|
|
||||||
/* Translators: %s is a keyboard shortcut like "Super+x" */
|
|
||||||
let restoreAccel = this._getRestoreAccel();
|
let restoreAccel = this._getRestoreAccel();
|
||||||
if (restoreAccel)
|
if (restoreAccel)
|
||||||
contentParams.subtitle =
|
contentParams.subtitle =
|
||||||
|
/* Translators: %s is a keyboard shortcut like "Super+x" */
|
||||||
_("You can restore shortcuts by pressing %s.").format(restoreAccel);
|
_("You can restore shortcuts by pressing %s.").format(restoreAccel);
|
||||||
|
|
||||||
let content = new Dialog.MessageDialogContent(contentParams);
|
let content = new Dialog.MessageDialogContent(contentParams);
|
||||||
@ -85,7 +90,10 @@ var InhibitShortcutsDialog = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
vfunc_show: function() {
|
vfunc_show: function() {
|
||||||
this._dialog.open();
|
if (this._app && APP_WHITELIST.indexOf(this._app.get_id()) != -1)
|
||||||
|
this._emitResponse(DialogResponse.ALLOW);
|
||||||
|
else
|
||||||
|
this._dialog.open();
|
||||||
},
|
},
|
||||||
|
|
||||||
vfunc_hide: function() {
|
vfunc_hide: function() {
|
||||||
|
@ -129,6 +129,9 @@ var MonitorConstraint = new Lang.Class({
|
|||||||
if (!this._primary && this._index < 0)
|
if (!this._primary && this._index < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!Main.layoutManager.primaryMonitor)
|
||||||
|
return;
|
||||||
|
|
||||||
let index;
|
let index;
|
||||||
if (this._primary)
|
if (this._primary)
|
||||||
index = Main.layoutManager.primaryIndex;
|
index = Main.layoutManager.primaryIndex;
|
||||||
@ -189,6 +192,7 @@ var LayoutManager = new Lang.Class({
|
|||||||
this._topActors = [];
|
this._topActors = [];
|
||||||
this._isPopupWindowVisible = false;
|
this._isPopupWindowVisible = false;
|
||||||
this._startingUp = true;
|
this._startingUp = true;
|
||||||
|
this._pendingLoadBackground = false;
|
||||||
|
|
||||||
// We don't want to paint the stage background color because either
|
// We don't want to paint the stage background color because either
|
||||||
// the SystemBackground we create or the MetaBackgroundActor inside
|
// the SystemBackground we create or the MetaBackgroundActor inside
|
||||||
@ -323,7 +327,9 @@ var LayoutManager = new Lang.Class({
|
|||||||
for (let i = 0; i < nMonitors; i++)
|
for (let i = 0; i < nMonitors; i++)
|
||||||
this.monitors.push(new Monitor(i, screen.get_monitor_geometry(i)));
|
this.monitors.push(new Monitor(i, screen.get_monitor_geometry(i)));
|
||||||
|
|
||||||
if (nMonitors == 1) {
|
if (nMonitors == 0) {
|
||||||
|
this.primaryIndex = this.bottomIndex = -1;
|
||||||
|
} else if (nMonitors == 1) {
|
||||||
this.primaryIndex = this.bottomIndex = 0;
|
this.primaryIndex = this.bottomIndex = 0;
|
||||||
} else {
|
} else {
|
||||||
// If there are monitors below the primary, then we need
|
// If there are monitors below the primary, then we need
|
||||||
@ -337,8 +343,18 @@ var LayoutManager = new Lang.Class({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.primaryMonitor = this.monitors[this.primaryIndex];
|
if (this.primaryIndex != -1) {
|
||||||
this.bottomMonitor = this.monitors[this.bottomIndex];
|
this.primaryMonitor = this.monitors[this.primaryIndex];
|
||||||
|
this.bottomMonitor = this.monitors[this.bottomIndex];
|
||||||
|
|
||||||
|
if (this._pendingLoadBackground) {
|
||||||
|
this._loadBackground();
|
||||||
|
this._pendingLoadBackground = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.primaryMonitor = null;
|
||||||
|
this.bottomMonitor = null;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_updateHotCorners: function() {
|
_updateHotCorners: function() {
|
||||||
@ -458,6 +474,9 @@ var LayoutManager = new Lang.Class({
|
|||||||
this.screenShieldGroup.set_position(0, 0);
|
this.screenShieldGroup.set_position(0, 0);
|
||||||
this.screenShieldGroup.set_size(global.screen_width, global.screen_height);
|
this.screenShieldGroup.set_size(global.screen_width, global.screen_height);
|
||||||
|
|
||||||
|
if (!this.primaryMonitor)
|
||||||
|
return;
|
||||||
|
|
||||||
this.panelBox.set_position(this.primaryMonitor.x, this.primaryMonitor.y);
|
this.panelBox.set_position(this.primaryMonitor.x, this.primaryMonitor.y);
|
||||||
this.panelBox.set_size(this.primaryMonitor.width, -1);
|
this.panelBox.set_size(this.primaryMonitor.width, -1);
|
||||||
|
|
||||||
@ -480,6 +499,9 @@ var LayoutManager = new Lang.Class({
|
|||||||
this._rightPanelBarrier = null;
|
this._rightPanelBarrier = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!this.primaryMonitor)
|
||||||
|
return;
|
||||||
|
|
||||||
if (this.panelBox.height) {
|
if (this.panelBox.height) {
|
||||||
let primary = this.primaryMonitor;
|
let primary = this.primaryMonitor;
|
||||||
|
|
||||||
@ -549,6 +571,10 @@ var LayoutManager = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_loadBackground: function() {
|
_loadBackground: function() {
|
||||||
|
if (!this.primaryMonitor) {
|
||||||
|
this._pendingLoadBackground = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
this._systemBackground = new Background.SystemBackground();
|
this._systemBackground = new Background.SystemBackground();
|
||||||
this._systemBackground.actor.hide();
|
this._systemBackground.actor.hide();
|
||||||
|
|
||||||
@ -684,8 +710,10 @@ var LayoutManager = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
showKeyboard: function () {
|
showKeyboard: function () {
|
||||||
|
this.keyboardBox.show();
|
||||||
Tweener.addTween(this.keyboardBox,
|
Tweener.addTween(this.keyboardBox,
|
||||||
{ anchor_y: this.keyboardBox.height,
|
{ anchor_y: this.keyboardBox.height,
|
||||||
|
opacity: 255,
|
||||||
time: KEYBOARD_ANIMATION_TIME,
|
time: KEYBOARD_ANIMATION_TIME,
|
||||||
transition: 'easeOutQuad',
|
transition: 'easeOutQuad',
|
||||||
onComplete: this._showKeyboardComplete,
|
onComplete: this._showKeyboardComplete,
|
||||||
@ -711,6 +739,7 @@ var LayoutManager = new Lang.Class({
|
|||||||
}
|
}
|
||||||
Tweener.addTween(this.keyboardBox,
|
Tweener.addTween(this.keyboardBox,
|
||||||
{ anchor_y: 0,
|
{ anchor_y: 0,
|
||||||
|
opacity: 0,
|
||||||
time: immediate ? 0 : KEYBOARD_ANIMATION_TIME,
|
time: immediate ? 0 : KEYBOARD_ANIMATION_TIME,
|
||||||
transition: 'easeInQuad',
|
transition: 'easeInQuad',
|
||||||
onComplete: this._hideKeyboardComplete,
|
onComplete: this._hideKeyboardComplete,
|
||||||
@ -721,6 +750,7 @@ var LayoutManager = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_hideKeyboardComplete: function() {
|
_hideKeyboardComplete: function() {
|
||||||
|
this.keyboardBox.hide();
|
||||||
this._updateRegions();
|
this._updateRegions();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -1,272 +0,0 @@
|
|||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
const GLib = imports.gi.GLib;
|
|
||||||
const GObject = imports.gi.GObject;
|
|
||||||
const Meta = imports.gi.Meta;
|
|
||||||
const Shell = imports.gi.Shell;
|
|
||||||
const St = imports.gi.St;
|
|
||||||
|
|
||||||
const CtrlAltTab = imports.ui.ctrlAltTab;
|
|
||||||
const Lang = imports.lang;
|
|
||||||
const Layout = imports.ui.layout;
|
|
||||||
const Main = imports.ui.main;
|
|
||||||
const Overview = imports.ui.overview;
|
|
||||||
const OverviewControls = imports.ui.overviewControls;
|
|
||||||
const Tweener = imports.ui.tweener;
|
|
||||||
|
|
||||||
var STANDARD_TRAY_ICON_IMPLEMENTATIONS = {
|
|
||||||
'bluetooth-applet': 'bluetooth',
|
|
||||||
'gnome-volume-control-applet': 'volume', // renamed to gnome-sound-applet
|
|
||||||
// when moved to control center
|
|
||||||
'gnome-sound-applet': 'volume',
|
|
||||||
'nm-applet': 'network',
|
|
||||||
'gnome-power-manager': 'battery',
|
|
||||||
'keyboard': 'keyboard',
|
|
||||||
'a11y-keyboard': 'a11y',
|
|
||||||
'kbd-scrolllock': 'keyboard',
|
|
||||||
'kbd-numlock': 'keyboard',
|
|
||||||
'kbd-capslock': 'keyboard',
|
|
||||||
'ibus-ui-gtk': 'keyboard'
|
|
||||||
};
|
|
||||||
|
|
||||||
// Offset of the original position from the bottom-right corner
|
|
||||||
var CONCEALED_WIDTH = 3;
|
|
||||||
var REVEAL_ANIMATION_TIME = 0.2;
|
|
||||||
var TEMP_REVEAL_TIME = 2;
|
|
||||||
|
|
||||||
var BARRIER_THRESHOLD = 70;
|
|
||||||
var BARRIER_TIMEOUT = 1000;
|
|
||||||
|
|
||||||
var LegacyTray = new Lang.Class({
|
|
||||||
Name: 'LegacyTray',
|
|
||||||
|
|
||||||
_init: function() {
|
|
||||||
this.actor = new St.Widget({ clip_to_allocation: true,
|
|
||||||
layout_manager: new Clutter.BinLayout() });
|
|
||||||
let constraint = new Layout.MonitorConstraint({ primary: true,
|
|
||||||
work_area: true });
|
|
||||||
this.actor.add_constraint(constraint);
|
|
||||||
|
|
||||||
this._slideLayout = new OverviewControls.SlideLayout();
|
|
||||||
this._slideLayout.translationX = 0;
|
|
||||||
this._slideLayout.slideDirection = OverviewControls.SlideDirection.LEFT;
|
|
||||||
|
|
||||||
this._slider = new St.Widget({ x_expand: true, y_expand: true,
|
|
||||||
x_align: Clutter.ActorAlign.START,
|
|
||||||
y_align: Clutter.ActorAlign.END,
|
|
||||||
layout_manager: this._slideLayout });
|
|
||||||
this.actor.add_actor(this._slider);
|
|
||||||
this._slider.connect('notify::allocation', Lang.bind(this, this._syncBarrier));
|
|
||||||
|
|
||||||
this._box = new St.BoxLayout({ style_class: 'legacy-tray' });
|
|
||||||
this._slider.add_actor(this._box);
|
|
||||||
|
|
||||||
this._concealHandle = new St.Button({ style_class: 'legacy-tray-handle',
|
|
||||||
/* translators: 'Hide' is a verb */
|
|
||||||
accessible_name: _("Hide tray"),
|
|
||||||
can_focus: true });
|
|
||||||
this._concealHandle.child = new St.Icon({ icon_name: 'go-previous-symbolic' });
|
|
||||||
this._box.add_child(this._concealHandle);
|
|
||||||
|
|
||||||
this._iconBox = new St.BoxLayout({ style_class: 'legacy-tray-icon-box' });
|
|
||||||
this._box.add_actor(this._iconBox);
|
|
||||||
|
|
||||||
this._revealHandle = new St.Button({ style_class: 'legacy-tray-handle' });
|
|
||||||
this._revealHandle.child = new St.Icon({ icon_name: 'go-next-symbolic' });
|
|
||||||
this._box.add_child(this._revealHandle);
|
|
||||||
|
|
||||||
this._revealHandle.bind_property('visible',
|
|
||||||
this._concealHandle, 'visible',
|
|
||||||
GObject.BindingFlags.BIDIRECTIONAL |
|
|
||||||
GObject.BindingFlags.INVERT_BOOLEAN);
|
|
||||||
this._revealHandle.connect('notify::visible',
|
|
||||||
Lang.bind(this, this._sync));
|
|
||||||
this._revealHandle.connect('notify::hover',
|
|
||||||
Lang.bind(this ,this._sync));
|
|
||||||
this._revealHandle.connect('clicked', Lang.bind(this,
|
|
||||||
function() {
|
|
||||||
this._concealHandle.show();
|
|
||||||
}));
|
|
||||||
this._concealHandle.connect('clicked', Lang.bind(this,
|
|
||||||
function() {
|
|
||||||
this._revealHandle.show();
|
|
||||||
}));
|
|
||||||
|
|
||||||
this._horizontalBarrier = null;
|
|
||||||
this._pressureBarrier = new Layout.PressureBarrier(BARRIER_THRESHOLD,
|
|
||||||
BARRIER_TIMEOUT,
|
|
||||||
Shell.ActionMode.NORMAL);
|
|
||||||
this._pressureBarrier.connect('trigger', Lang.bind(this, function() {
|
|
||||||
this._concealHandle.show();
|
|
||||||
}));
|
|
||||||
|
|
||||||
Main.layoutManager.addChrome(this.actor, { affectsInputRegion: false });
|
|
||||||
Main.layoutManager.trackChrome(this._slider, { affectsInputRegion: true });
|
|
||||||
Main.uiGroup.set_child_below_sibling(this.actor, Main.layoutManager.modalDialogGroup);
|
|
||||||
Main.ctrlAltTabManager.addGroup(this.actor,
|
|
||||||
_("Status Icons"), 'focus-legacy-systray-symbolic',
|
|
||||||
{ sortGroup: CtrlAltTab.SortGroup.BOTTOM });
|
|
||||||
|
|
||||||
this._trayManager = new Shell.TrayManager();
|
|
||||||
this._trayIconAddedId = this._trayManager.connect('tray-icon-added', Lang.bind(this, this._onTrayIconAdded));
|
|
||||||
this._trayIconRemovedId = this._trayManager.connect('tray-icon-removed', Lang.bind(this, this._onTrayIconRemoved));
|
|
||||||
this._trayManager.manage_screen(global.screen, this.actor);
|
|
||||||
|
|
||||||
Main.overview.connect('showing', Lang.bind(this,
|
|
||||||
function() {
|
|
||||||
Tweener.removeTweens(this._slider);
|
|
||||||
Tweener.addTween(this._slider, { opacity: 0,
|
|
||||||
time: Overview.ANIMATION_TIME,
|
|
||||||
transition: 'easeOutQuad' });
|
|
||||||
}));
|
|
||||||
Main.overview.connect('shown', Lang.bind(this, this._sync));
|
|
||||||
Main.overview.connect('hiding', Lang.bind(this,
|
|
||||||
function() {
|
|
||||||
this._sync();
|
|
||||||
Tweener.removeTweens(this._slider);
|
|
||||||
Tweener.addTween(this._slider, { opacity: 255,
|
|
||||||
time: Overview.ANIMATION_TIME,
|
|
||||||
transition: 'easeOutQuad' });
|
|
||||||
}));
|
|
||||||
|
|
||||||
Main.layoutManager.connect('monitors-changed',
|
|
||||||
Lang.bind(this, this._sync));
|
|
||||||
global.screen.connect('in-fullscreen-changed',
|
|
||||||
Lang.bind(this, this._sync));
|
|
||||||
Main.sessionMode.connect('updated', Lang.bind(this, this._sync));
|
|
||||||
|
|
||||||
this._sync();
|
|
||||||
},
|
|
||||||
|
|
||||||
_onTrayIconAdded: function(tm, icon) {
|
|
||||||
let wmClass = icon.wm_class ? icon.wm_class.toLowerCase() : '';
|
|
||||||
if (STANDARD_TRAY_ICON_IMPLEMENTATIONS[wmClass] !== undefined)
|
|
||||||
return;
|
|
||||||
|
|
||||||
let button = new St.Button({ child: icon,
|
|
||||||
style_class: 'legacy-tray-icon',
|
|
||||||
button_mask: St.ButtonMask.ONE |
|
|
||||||
St.ButtonMask.TWO |
|
|
||||||
St.ButtonMask.THREE,
|
|
||||||
can_focus: true,
|
|
||||||
x_fill: true, y_fill: true });
|
|
||||||
|
|
||||||
let app = Shell.WindowTracker.get_default().get_app_from_pid(icon.pid);
|
|
||||||
if (!app)
|
|
||||||
app = Shell.AppSystem.get_default().lookup_startup_wmclass(wmClass);
|
|
||||||
if (!app)
|
|
||||||
app = Shell.AppSystem.get_default().lookup_desktop_wmclass(wmClass);
|
|
||||||
if (app)
|
|
||||||
button.accessible_name = app.get_name();
|
|
||||||
else
|
|
||||||
button.accessible_name = icon.title;
|
|
||||||
|
|
||||||
button.connect('clicked',
|
|
||||||
function() {
|
|
||||||
icon.click(Clutter.get_current_event());
|
|
||||||
});
|
|
||||||
button.connect('key-press-event',
|
|
||||||
function() {
|
|
||||||
icon.click(Clutter.get_current_event());
|
|
||||||
return Clutter.EVENT_PROPAGATE;
|
|
||||||
});
|
|
||||||
button.connect('key-focus-in', Lang.bind(this,
|
|
||||||
function() {
|
|
||||||
this._concealHandle.show();
|
|
||||||
}));
|
|
||||||
|
|
||||||
this._iconBox.add_actor(button);
|
|
||||||
|
|
||||||
if (!this._concealHandle.visible) {
|
|
||||||
this._concealHandle.show();
|
|
||||||
GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, TEMP_REVEAL_TIME,
|
|
||||||
Lang.bind(this, function() {
|
|
||||||
this._concealHandle.hide();
|
|
||||||
return GLib.SOURCE_REMOVE;
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_onTrayIconRemoved: function(tm, icon) {
|
|
||||||
if (!this.actor.contains(icon))
|
|
||||||
return;
|
|
||||||
|
|
||||||
icon.get_parent().destroy();
|
|
||||||
this._sync();
|
|
||||||
},
|
|
||||||
|
|
||||||
_syncBarrier: function() {
|
|
||||||
let rtl = (this._slider.get_text_direction() == Clutter.TextDirection.RTL);
|
|
||||||
let [x, y] = this._slider.get_transformed_position();
|
|
||||||
let [w, h] = this._slider.get_transformed_size();
|
|
||||||
|
|
||||||
let x1 = Math.round(x);
|
|
||||||
if (rtl)
|
|
||||||
x1 += Math.round(w);
|
|
||||||
|
|
||||||
let x2 = x1;
|
|
||||||
let y1 = Math.round(y);
|
|
||||||
let y2 = y1 + Math.round(h);
|
|
||||||
|
|
||||||
if (this._horizontalBarrier &&
|
|
||||||
this._horizontalBarrier.x1 == x1 &&
|
|
||||||
this._horizontalBarrier.y1 == y1 &&
|
|
||||||
this._horizontalBarrier.x2 == x2 &&
|
|
||||||
this._horizontalBarrier.y2 == y2)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this._unsetBarrier();
|
|
||||||
|
|
||||||
let directions = (rtl ? Meta.BarrierDirection.NEGATIVE_X : Meta.BarrierDirection.POSITIVE_X);
|
|
||||||
this._horizontalBarrier = new Meta.Barrier({ display: global.display,
|
|
||||||
x1: x1, x2: x2,
|
|
||||||
y1: y1, y2: y2,
|
|
||||||
directions: directions });
|
|
||||||
this._pressureBarrier.addBarrier(this._horizontalBarrier);
|
|
||||||
},
|
|
||||||
|
|
||||||
_unsetBarrier: function() {
|
|
||||||
if (this._horizontalBarrier == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this._pressureBarrier.removeBarrier(this._horizontalBarrier);
|
|
||||||
this._horizontalBarrier.destroy();
|
|
||||||
this._horizontalBarrier = null;
|
|
||||||
},
|
|
||||||
|
|
||||||
_sync: function() {
|
|
||||||
// FIXME: we no longer treat tray icons as notifications
|
|
||||||
let allowed = Main.sessionMode.hasNotifications;
|
|
||||||
let hasIcons = this._iconBox.get_n_children() > 0;
|
|
||||||
let inOverview = Main.overview.visible && !Main.overview.animationInProgress;
|
|
||||||
let inFullscreen = Main.layoutManager.primaryMonitor.inFullscreen;
|
|
||||||
this.actor.visible = allowed && hasIcons && !inOverview && !inFullscreen;
|
|
||||||
|
|
||||||
if (!hasIcons)
|
|
||||||
this._concealHandle.hide();
|
|
||||||
|
|
||||||
let targetSlide;
|
|
||||||
if (this._concealHandle.visible) {
|
|
||||||
targetSlide = 1.0;
|
|
||||||
} else if (!hasIcons) {
|
|
||||||
targetSlide = 0.0;
|
|
||||||
} else {
|
|
||||||
let [, boxWidth] = this._box.get_preferred_width(-1);
|
|
||||||
let [, handleWidth] = this._revealHandle.get_preferred_width(-1);
|
|
||||||
|
|
||||||
if (this._revealHandle.hover)
|
|
||||||
targetSlide = handleWidth / boxWidth;
|
|
||||||
else
|
|
||||||
targetSlide = CONCEALED_WIDTH / boxWidth;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.actor.visible) {
|
|
||||||
Tweener.addTween(this._slideLayout,
|
|
||||||
{ slideX: targetSlide,
|
|
||||||
time: REVEAL_ANIMATION_TIME,
|
|
||||||
transition: 'easeOutQuad' });
|
|
||||||
} else {
|
|
||||||
this._slideLayout.slideX = targetSlide;
|
|
||||||
this._unsetBarrier();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
@ -20,7 +20,6 @@ const Environment = imports.ui.environment;
|
|||||||
const ExtensionSystem = imports.ui.extensionSystem;
|
const ExtensionSystem = imports.ui.extensionSystem;
|
||||||
const ExtensionDownloader = imports.ui.extensionDownloader;
|
const ExtensionDownloader = imports.ui.extensionDownloader;
|
||||||
const Keyboard = imports.ui.keyboard;
|
const Keyboard = imports.ui.keyboard;
|
||||||
const LegacyTray = imports.ui.legacyTray;
|
|
||||||
const MessageTray = imports.ui.messageTray;
|
const MessageTray = imports.ui.messageTray;
|
||||||
const ModalDialog = imports.ui.modalDialog;
|
const ModalDialog = imports.ui.modalDialog;
|
||||||
const OsdWindow = imports.ui.osdWindow;
|
const OsdWindow = imports.ui.osdWindow;
|
||||||
@ -56,7 +55,6 @@ var overview = null;
|
|||||||
var runDialog = null;
|
var runDialog = null;
|
||||||
var lookingGlass = null;
|
var lookingGlass = null;
|
||||||
var wm = null;
|
var wm = null;
|
||||||
var legacyTray = null;
|
|
||||||
var messageTray = null;
|
var messageTray = null;
|
||||||
var screenShield = null;
|
var screenShield = null;
|
||||||
var notificationDaemon = null;
|
var notificationDaemon = null;
|
||||||
@ -124,6 +122,7 @@ function start() {
|
|||||||
sessionMode.connect('updated', _sessionUpdated);
|
sessionMode.connect('updated', _sessionUpdated);
|
||||||
Gtk.Settings.get_default().connect('notify::gtk-theme-name',
|
Gtk.Settings.get_default().connect('notify::gtk-theme-name',
|
||||||
_loadDefaultStylesheet);
|
_loadDefaultStylesheet);
|
||||||
|
Gtk.IconTheme.get_default().add_resource_path('/org/gnome/shell/theme/icons');
|
||||||
_initializeUI();
|
_initializeUI();
|
||||||
|
|
||||||
shellAccessDialogDBusService = new AccessDialog.AccessDialogDBus();
|
shellAccessDialogDBusService = new AccessDialog.AccessDialogDBus();
|
||||||
@ -169,7 +168,6 @@ function _initializeUI() {
|
|||||||
if (LoginManager.canLock())
|
if (LoginManager.canLock())
|
||||||
screenShield = new ScreenShield.ScreenShield();
|
screenShield = new ScreenShield.ScreenShield();
|
||||||
|
|
||||||
legacyTray = new LegacyTray.LegacyTray();
|
|
||||||
messageTray = new MessageTray.MessageTray();
|
messageTray = new MessageTray.MessageTray();
|
||||||
panel = new Panel.Panel();
|
panel = new Panel.Panel();
|
||||||
keyboard = new Keyboard.Keyboard();
|
keyboard = new Keyboard.Keyboard();
|
||||||
|
@ -1205,8 +1205,9 @@ var MessageTray = new Lang.Class({
|
|||||||
// _updateState() figures out what (if anything) needs to be done
|
// _updateState() figures out what (if anything) needs to be done
|
||||||
// at the present time.
|
// at the present time.
|
||||||
_updateState: function() {
|
_updateState: function() {
|
||||||
this.actor.visible = !this._bannerBlocked && this._banner != null;
|
let hasMonitor = Main.layoutManager.primaryMonitor != null;
|
||||||
if (this._bannerBlocked)
|
this.actor.visible = !this._bannerBlocked && hasMonitor && this._banner != null;
|
||||||
|
if (this._bannerBlocked || !hasMonitor)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// If our state changes caused _updateState to be called,
|
// If our state changes caused _updateState to be called,
|
||||||
|
@ -84,7 +84,7 @@ var ModalDialog = new Lang.Class({
|
|||||||
}
|
}
|
||||||
|
|
||||||
global.focus_manager.add_group(this.dialogLayout);
|
global.focus_manager.add_group(this.dialogLayout);
|
||||||
this._initialKeyFocus = this.dialogLayout;
|
this._initialKeyFocus = null;
|
||||||
this._initialKeyFocusDestroyId = 0;
|
this._initialKeyFocusDestroyId = 0;
|
||||||
this._savedKeyFocus = null;
|
this._savedKeyFocus = null;
|
||||||
},
|
},
|
||||||
@ -157,7 +157,7 @@ var ModalDialog = new Lang.Class({
|
|||||||
this._initialKeyFocus = actor;
|
this._initialKeyFocus = actor;
|
||||||
|
|
||||||
this._initialKeyFocusDestroyId = actor.connect('destroy', Lang.bind(this, function() {
|
this._initialKeyFocusDestroyId = actor.connect('destroy', Lang.bind(this, function() {
|
||||||
this._initialKeyFocus = this.dialogLayout;
|
this._initialKeyFocus = null;
|
||||||
this._initialKeyFocusDestroyId = 0;
|
this._initialKeyFocusDestroyId = 0;
|
||||||
}));
|
}));
|
||||||
},
|
},
|
||||||
@ -237,7 +237,8 @@ var ModalDialog = new Lang.Class({
|
|||||||
this._savedKeyFocus.grab_key_focus();
|
this._savedKeyFocus.grab_key_focus();
|
||||||
this._savedKeyFocus = null;
|
this._savedKeyFocus = null;
|
||||||
} else {
|
} else {
|
||||||
this._initialKeyFocus.grab_key_focus();
|
let focus = this._initialKeyFocus || this.dialogLayout.initialKeyFocus;
|
||||||
|
focus.grab_key_focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this._shellReactive)
|
if (!this._shellReactive)
|
||||||
|
@ -670,7 +670,7 @@ const FdoApplicationIface = '<node> \
|
|||||||
const FdoApplicationProxy = Gio.DBusProxy.makeProxyWrapper(FdoApplicationIface);
|
const FdoApplicationProxy = Gio.DBusProxy.makeProxyWrapper(FdoApplicationIface);
|
||||||
|
|
||||||
function objectPathFromAppId(appId) {
|
function objectPathFromAppId(appId) {
|
||||||
return '/' + appId.replace(/\./g, '/');
|
return '/' + appId.replace(/\./g, '/').replace(/-/g, '_');
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPlatformData() {
|
function getPlatformData() {
|
||||||
@ -687,6 +687,8 @@ var GtkNotificationDaemonAppSource = new Lang.Class({
|
|||||||
_init: function(appId) {
|
_init: function(appId) {
|
||||||
this._appId = appId;
|
this._appId = appId;
|
||||||
this._objectPath = objectPathFromAppId(appId);
|
this._objectPath = objectPathFromAppId(appId);
|
||||||
|
if (!GLib.Variant.is_object_path(this._objectPath))
|
||||||
|
throw new InvalidAppError();
|
||||||
|
|
||||||
this._app = Shell.AppSystem.get_default().lookup_app(appId + '.desktop');
|
this._app = Shell.AppSystem.get_default().lookup_app(appId + '.desktop');
|
||||||
if (!this._app)
|
if (!this._app)
|
||||||
|
@ -392,6 +392,9 @@ var Overview = new Lang.Class({
|
|||||||
// when it is next shown.
|
// when it is next shown.
|
||||||
this.hide();
|
this.hide();
|
||||||
|
|
||||||
|
if (!Main.layoutManager.primaryMonitor)
|
||||||
|
return;
|
||||||
|
|
||||||
let workArea = Main.layoutManager.getWorkAreaForMonitor(Main.layoutManager.primaryIndex);
|
let workArea = Main.layoutManager.getWorkAreaForMonitor(Main.layoutManager.primaryIndex);
|
||||||
|
|
||||||
this._coverPane.set_position(0, workArea.y);
|
this._coverPane.set_position(0, workArea.y);
|
||||||
|
@ -254,18 +254,12 @@ var ThumbnailsSlider = new Lang.Class({
|
|||||||
|
|
||||||
Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._updateSlide));
|
Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._updateSlide));
|
||||||
this.actor.connect('notify::hover', Lang.bind(this, this._updateSlide));
|
this.actor.connect('notify::hover', Lang.bind(this, this._updateSlide));
|
||||||
global.window_manager.connect('switch-workspace', Lang.bind(this, this._updateSlide));
|
|
||||||
this._thumbnailsBox.actor.bind_property('visible', this.actor, 'visible', GObject.BindingFlags.SYNC_CREATE);
|
this._thumbnailsBox.actor.bind_property('visible', this.actor, 'visible', GObject.BindingFlags.SYNC_CREATE);
|
||||||
},
|
},
|
||||||
|
|
||||||
_getAlwaysZoomOut: function() {
|
_getAlwaysZoomOut: function() {
|
||||||
// Always show the pager when hover, during a drag, or if workspaces are
|
// Always show the pager on hover or during a drag
|
||||||
// actually used, e.g. there are windows on any non-active workspace
|
let alwaysZoomOut = this.actor.hover || this._inDrag;
|
||||||
let alwaysZoomOut = this.actor.hover ||
|
|
||||||
this._inDrag ||
|
|
||||||
!Meta.prefs_get_dynamic_workspaces() ||
|
|
||||||
global.screen.n_workspaces > 2 ||
|
|
||||||
global.screen.get_active_workspace_index() != 0;
|
|
||||||
|
|
||||||
if (!alwaysZoomOut) {
|
if (!alwaysZoomOut) {
|
||||||
let monitors = Main.layoutManager.monitors;
|
let monitors = Main.layoutManager.monitors;
|
||||||
|
@ -513,7 +513,7 @@ var PadDiagram = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
getRingLabelCoords: function (number, dir) {
|
getRingLabelCoords: function (number, dir) {
|
||||||
let numStr = number > 0 ? number.toString() : '';
|
let numStr = number > 0 ? (number + 1).toString() : '';
|
||||||
let dirStr = dir == CW ? 'CW' : 'CCW';
|
let dirStr = dir == CW ? 'CW' : 'CCW';
|
||||||
let labelName = 'LabelRing' + numStr + dirStr;
|
let labelName = 'LabelRing' + numStr + dirStr;
|
||||||
let leaderName = 'LeaderRing' + numStr + dirStr;
|
let leaderName = 'LeaderRing' + numStr + dirStr;
|
||||||
|
@ -839,8 +839,14 @@ var Panel = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_getPreferredWidth: function(actor, forHeight, alloc) {
|
_getPreferredWidth: function(actor, forHeight, alloc) {
|
||||||
|
let primaryMonitor = Main.layoutManager.primaryMonitor;
|
||||||
|
|
||||||
alloc.min_size = -1;
|
alloc.min_size = -1;
|
||||||
alloc.natural_size = Main.layoutManager.primaryMonitor.width;
|
|
||||||
|
if (primaryMonitor)
|
||||||
|
alloc.natural_size = primaryMonitor.width;
|
||||||
|
else
|
||||||
|
alloc.natural_size = -1;
|
||||||
},
|
},
|
||||||
|
|
||||||
_getPreferredHeight: function(actor, forWidth, alloc) {
|
_getPreferredHeight: function(actor, forWidth, alloc) {
|
||||||
@ -859,15 +865,16 @@ var Panel = new Lang.Class({
|
|||||||
|
|
||||||
let sideWidth, centerWidth;
|
let sideWidth, centerWidth;
|
||||||
centerWidth = centerNaturalWidth;
|
centerWidth = centerNaturalWidth;
|
||||||
sideWidth = (allocWidth - centerWidth) / 2;
|
sideWidth = Math.max(0, (allocWidth - centerWidth) / 2);
|
||||||
|
|
||||||
let childBox = new Clutter.ActorBox();
|
let childBox = new Clutter.ActorBox();
|
||||||
|
|
||||||
childBox.y1 = 0;
|
childBox.y1 = 0;
|
||||||
childBox.y2 = allocHeight;
|
childBox.y2 = allocHeight;
|
||||||
if (this.actor.get_text_direction() == Clutter.TextDirection.RTL) {
|
if (this.actor.get_text_direction() == Clutter.TextDirection.RTL) {
|
||||||
childBox.x1 = allocWidth - Math.min(Math.floor(sideWidth),
|
childBox.x1 = Math.max(allocWidth - Math.min(Math.floor(sideWidth),
|
||||||
leftNaturalWidth);
|
leftNaturalWidth),
|
||||||
|
0);
|
||||||
childBox.x2 = allocWidth;
|
childBox.x2 = allocWidth;
|
||||||
} else {
|
} else {
|
||||||
childBox.x1 = 0;
|
childBox.x1 = 0;
|
||||||
@ -889,8 +896,9 @@ var Panel = new Lang.Class({
|
|||||||
childBox.x2 = Math.min(Math.floor(sideWidth),
|
childBox.x2 = Math.min(Math.floor(sideWidth),
|
||||||
rightNaturalWidth);
|
rightNaturalWidth);
|
||||||
} else {
|
} else {
|
||||||
childBox.x1 = allocWidth - Math.min(Math.floor(sideWidth),
|
childBox.x1 = Math.max(allocWidth - Math.min(Math.floor(sideWidth),
|
||||||
rightNaturalWidth);
|
rightNaturalWidth),
|
||||||
|
0);
|
||||||
childBox.x2 = allocWidth;
|
childBox.x2 = allocWidth;
|
||||||
}
|
}
|
||||||
this._rightBox.allocate(childBox, flags);
|
this._rightBox.allocate(childBox, flags);
|
||||||
@ -1044,6 +1052,9 @@ var Panel = new Lang.Class({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!Main.layoutManager.primaryMonitor)
|
||||||
|
return;
|
||||||
|
|
||||||
/* Get all the windows in the active workspace that are in the primary monitor and visible */
|
/* Get all the windows in the active workspace that are in the primary monitor and visible */
|
||||||
let activeWorkspace = global.screen.get_active_workspace();
|
let activeWorkspace = global.screen.get_active_workspace();
|
||||||
let windows = activeWorkspace.list_windows().filter(function(metaWindow) {
|
let windows = activeWorkspace.list_windows().filter(function(metaWindow) {
|
||||||
@ -1073,8 +1084,6 @@ var Panel = new Lang.Class({
|
|||||||
let indicator = this.statusArea[role];
|
let indicator = this.statusArea[role];
|
||||||
if (!indicator)
|
if (!indicator)
|
||||||
continue;
|
continue;
|
||||||
if (indicator.menu)
|
|
||||||
indicator.menu.close();
|
|
||||||
indicator.container.hide();
|
indicator.container.hide();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -405,7 +405,7 @@ var PopupImageMenuItem = new Lang.Class({
|
|||||||
|
|
||||||
setIcon: function(icon) {
|
setIcon: function(icon) {
|
||||||
// The 'icon' parameter can be either a Gio.Icon or a string.
|
// The 'icon' parameter can be either a Gio.Icon or a string.
|
||||||
if (GObject.type_is_a(icon, Gio.Icon))
|
if (icon instanceof GObject.Object && GObject.type_is_a(icon, Gio.Icon))
|
||||||
this._icon.gicon = icon;
|
this._icon.gicon = icon;
|
||||||
else
|
else
|
||||||
this._icon.icon_name = icon;
|
this._icon.icon_name = icon;
|
||||||
@ -465,6 +465,7 @@ var PopupMenuBase = new Lang.Class({
|
|||||||
|
|
||||||
_sessionUpdated: function() {
|
_sessionUpdated: function() {
|
||||||
this._setSettingsVisibility(Main.sessionMode.allowSettings);
|
this._setSettingsVisibility(Main.sessionMode.allowSettings);
|
||||||
|
this.close();
|
||||||
},
|
},
|
||||||
|
|
||||||
addAction: function(title, callback, icon) {
|
addAction: function(title, callback, icon) {
|
||||||
|
@ -98,6 +98,13 @@ function loadRemoteSearchProviders(searchSettings, callback) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let autoStart = true;
|
||||||
|
try {
|
||||||
|
autoStart = keyfile.get_boolean(group, 'AutoStart');
|
||||||
|
} catch(e) {
|
||||||
|
// ignore error
|
||||||
|
}
|
||||||
|
|
||||||
let version = '1';
|
let version = '1';
|
||||||
try {
|
try {
|
||||||
version = keyfile.get_string(group, 'Version');
|
version = keyfile.get_string(group, 'Version');
|
||||||
@ -106,9 +113,9 @@ function loadRemoteSearchProviders(searchSettings, callback) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (version >= 2)
|
if (version >= 2)
|
||||||
remoteProvider = new RemoteSearchProvider2(appInfo, busName, objectPath);
|
remoteProvider = new RemoteSearchProvider2(appInfo, busName, objectPath, autoStart);
|
||||||
else
|
else
|
||||||
remoteProvider = new RemoteSearchProvider(appInfo, busName, objectPath);
|
remoteProvider = new RemoteSearchProvider(appInfo, busName, objectPath, autoStart);
|
||||||
|
|
||||||
remoteProvider.defaultEnabled = true;
|
remoteProvider.defaultEnabled = true;
|
||||||
try {
|
try {
|
||||||
@ -184,17 +191,22 @@ function loadRemoteSearchProviders(searchSettings, callback) {
|
|||||||
var RemoteSearchProvider = new Lang.Class({
|
var RemoteSearchProvider = new Lang.Class({
|
||||||
Name: 'RemoteSearchProvider',
|
Name: 'RemoteSearchProvider',
|
||||||
|
|
||||||
_init: function(appInfo, dbusName, dbusPath, proxyInfo) {
|
_init: function(appInfo, dbusName, dbusPath, autoStart, proxyInfo) {
|
||||||
if (!proxyInfo)
|
if (!proxyInfo)
|
||||||
proxyInfo = SearchProviderProxyInfo;
|
proxyInfo = SearchProviderProxyInfo;
|
||||||
|
|
||||||
|
let g_flags = Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES;
|
||||||
|
if (autoStart)
|
||||||
|
g_flags |= Gio.DBusProxyFlags.DO_NOT_AUTO_START_AT_CONSTRUCTION;
|
||||||
|
else
|
||||||
|
g_flags |= Gio.DBusProxyFlags.DO_NOT_AUTO_START;
|
||||||
|
|
||||||
this.proxy = new Gio.DBusProxy({ g_bus_type: Gio.BusType.SESSION,
|
this.proxy = new Gio.DBusProxy({ g_bus_type: Gio.BusType.SESSION,
|
||||||
g_name: dbusName,
|
g_name: dbusName,
|
||||||
g_object_path: dbusPath,
|
g_object_path: dbusPath,
|
||||||
g_interface_info: proxyInfo,
|
g_interface_info: proxyInfo,
|
||||||
g_interface_name: proxyInfo.name,
|
g_interface_name: proxyInfo.name,
|
||||||
g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START_AT_CONSTRUCTION |
|
g_flags });
|
||||||
Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
|
|
||||||
this.proxy.init_async(GLib.PRIORITY_DEFAULT, null, null);
|
this.proxy.init_async(GLib.PRIORITY_DEFAULT, null, null);
|
||||||
|
|
||||||
this.appInfo = appInfo;
|
this.appInfo = appInfo;
|
||||||
@ -307,8 +319,8 @@ var RemoteSearchProvider2 = new Lang.Class({
|
|||||||
Name: 'RemoteSearchProvider2',
|
Name: 'RemoteSearchProvider2',
|
||||||
Extends: RemoteSearchProvider,
|
Extends: RemoteSearchProvider,
|
||||||
|
|
||||||
_init: function(appInfo, dbusName, dbusPath) {
|
_init: function(appInfo, dbusName, dbusPath, autoStart) {
|
||||||
this.parent(appInfo, dbusName, dbusPath, SearchProvider2ProxyInfo);
|
this.parent(appInfo, dbusName, dbusPath, autoStart, SearchProvider2ProxyInfo);
|
||||||
|
|
||||||
this.canLaunchSearch = true;
|
this.canLaunchSearch = true;
|
||||||
},
|
},
|
||||||
|
@ -681,6 +681,15 @@ var SearchResults = new Lang.Class({
|
|||||||
this._setSelected(this._defaultResult, highlight);
|
this._setSelected(this._defaultResult, highlight);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
popupMenuDefault: function() {
|
||||||
|
// If we have a search queued up, force the search now.
|
||||||
|
if (this._searchTimeoutId > 0)
|
||||||
|
this._doSearch();
|
||||||
|
|
||||||
|
if (this._defaultResult)
|
||||||
|
this._defaultResult.actor.popup_menu();
|
||||||
|
},
|
||||||
|
|
||||||
navigateFocus: function(direction) {
|
navigateFocus: function(direction) {
|
||||||
let rtl = this.actor.get_text_direction() == Clutter.TextDirection.RTL;
|
let rtl = this.actor.get_text_direction() == Clutter.TextDirection.RTL;
|
||||||
if (direction == Gtk.DirectionType.TAB_BACKWARD ||
|
if (direction == Gtk.DirectionType.TAB_BACKWARD ||
|
||||||
@ -765,7 +774,7 @@ var ProviderInfo = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
setMoreCount: function(count) {
|
setMoreCount: function(count) {
|
||||||
this._moreLabel.text = _("%d more").format(count);
|
this._moreLabel.text = ngettext("%d more", "%d more", count).format(count);
|
||||||
this._moreLabel.visible = count > 0;
|
this._moreLabel.visible = count > 0;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -843,7 +843,7 @@ var InputSourceIndicator = new Lang.Class({
|
|||||||
this._indicatorLabels[i] = indicatorLabel;
|
this._indicatorLabels[i] = indicatorLabel;
|
||||||
is.connect('changed', function() {
|
is.connect('changed', function() {
|
||||||
menuItem.indicator.set_text(is.shortName);
|
menuItem.indicator.set_text(is.shortName);
|
||||||
indicatorLabel.set_text(is.shorName);
|
indicatorLabel.set_text(is.shortName);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.menu.addMenuItem(menuItem, menuIndex++);
|
this.menu.addMenuItem(menuItem, menuIndex++);
|
||||||
|
@ -115,17 +115,6 @@ function ensureActiveConnectionProps(active, settings) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function createSettingsAction(label, device) {
|
|
||||||
let item = new PopupMenu.PopupMenuItem(label);
|
|
||||||
|
|
||||||
item.connect('activate', function() {
|
|
||||||
Util.spawnApp(['gnome-control-center', 'network', 'show-device',
|
|
||||||
device.get_path()]);
|
|
||||||
});
|
|
||||||
|
|
||||||
return item;
|
|
||||||
}
|
|
||||||
|
|
||||||
var NMConnectionItem = new Lang.Class({
|
var NMConnectionItem = new Lang.Class({
|
||||||
Name: 'NMConnectionItem',
|
Name: 'NMConnectionItem',
|
||||||
|
|
||||||
@ -514,7 +503,7 @@ var NMDeviceWired = new Lang.Class({
|
|||||||
_init: function(client, device, settings) {
|
_init: function(client, device, settings) {
|
||||||
this.parent(client, device, settings);
|
this.parent(client, device, settings);
|
||||||
|
|
||||||
this.item.menu.addMenuItem(createSettingsAction(_("Wired Settings"), device));
|
this.item.menu.addSettingsAction(_("Wired Settings"), 'gnome-network-panel.desktop');
|
||||||
},
|
},
|
||||||
|
|
||||||
_hasCarrier: function() {
|
_hasCarrier: function() {
|
||||||
@ -556,7 +545,7 @@ var NMDeviceModem = new Lang.Class({
|
|||||||
_init: function(client, device, settings) {
|
_init: function(client, device, settings) {
|
||||||
this.parent(client, device, settings);
|
this.parent(client, device, settings);
|
||||||
|
|
||||||
this.item.menu.addMenuItem(createSettingsAction(_("Mobile Broadband Settings"), device));
|
this.item.menu.addSettingsAction(_("Mobile Broadband Settings"), 'gnome-network-panel.desktop');
|
||||||
|
|
||||||
this._mobileDevice = null;
|
this._mobileDevice = null;
|
||||||
|
|
||||||
@ -635,7 +624,7 @@ var NMDeviceBluetooth = new Lang.Class({
|
|||||||
_init: function(client, device, settings) {
|
_init: function(client, device, settings) {
|
||||||
this.parent(client, device, settings);
|
this.parent(client, device, settings);
|
||||||
|
|
||||||
this.item.menu.addMenuItem(createSettingsAction(_("Bluetooth Settings"), device));
|
this.item.menu.addSettingsAction(_("Bluetooth Settings"), 'gnome-network-panel.desktop');
|
||||||
},
|
},
|
||||||
|
|
||||||
_getDescription: function() {
|
_getDescription: function() {
|
||||||
@ -962,7 +951,7 @@ var NMWirelessDialog = new Lang.Class({
|
|||||||
|| (accessPoints[0]._secType == NMAccessPointSecurity.WPA_ENT)) {
|
|| (accessPoints[0]._secType == NMAccessPointSecurity.WPA_ENT)) {
|
||||||
// 802.1x-enabled APs require further configuration, so they're
|
// 802.1x-enabled APs require further configuration, so they're
|
||||||
// handled in gnome-control-center
|
// handled in gnome-control-center
|
||||||
Util.spawn(['gnome-control-center', 'network', 'connect-8021x-wifi',
|
Util.spawn(['gnome-control-center', 'wifi', 'connect-8021x-wifi',
|
||||||
this._device.get_path(), accessPoints[0].dbus_path]);
|
this._device.get_path(), accessPoints[0].dbus_path]);
|
||||||
} else {
|
} else {
|
||||||
let connection = new NetworkManager.Connection();
|
let connection = new NetworkManager.Connection();
|
||||||
@ -1205,7 +1194,7 @@ var NMDeviceWireless = new Lang.Class({
|
|||||||
this._toggleItem.connect('activate', Lang.bind(this, this._toggleWifi));
|
this._toggleItem.connect('activate', Lang.bind(this, this._toggleWifi));
|
||||||
this.item.menu.addMenuItem(this._toggleItem);
|
this.item.menu.addMenuItem(this._toggleItem);
|
||||||
|
|
||||||
this.item.menu.addMenuItem(createSettingsAction(_("Wi-Fi Settings"), device));
|
this.item.menu.addSettingsAction(_("Wi-Fi Settings"), 'gnome-wifi-panel.desktop');
|
||||||
|
|
||||||
this._wirelessEnabledChangedId = this._client.connect('notify::wireless-enabled', Lang.bind(this, this._sync));
|
this._wirelessEnabledChangedId = this._client.connect('notify::wireless-enabled', Lang.bind(this, this._sync));
|
||||||
this._wirelessHwEnabledChangedId = this._client.connect('notify::wireless-hardware-enabled', Lang.bind(this, this._sync));
|
this._wirelessHwEnabledChangedId = this._client.connect('notify::wireless-hardware-enabled', Lang.bind(this, this._sync));
|
||||||
@ -1502,36 +1491,7 @@ var NMVPNSection = new Lang.Class({
|
|||||||
_init: function(client) {
|
_init: function(client) {
|
||||||
this.parent(client);
|
this.parent(client);
|
||||||
|
|
||||||
this._vpnSettings = new PopupMenu.PopupMenuItem('');
|
this.item.menu.addSettingsAction(_("VPN Settings"), 'gnome-network-panel.desktop');
|
||||||
this.item.menu.addMenuItem(this._vpnSettings);
|
|
||||||
this._vpnSettings.connect('activate', Lang.bind(this, this._onSettingsActivate));
|
|
||||||
|
|
||||||
this._sync();
|
|
||||||
},
|
|
||||||
|
|
||||||
_sync: function() {
|
|
||||||
let nItems = this._connectionItems.size;
|
|
||||||
this.item.actor.visible = (nItems > 0);
|
|
||||||
|
|
||||||
if (nItems > 1)
|
|
||||||
this._vpnSettings.label.text = _("Network Settings");
|
|
||||||
else
|
|
||||||
this._vpnSettings.label.text = _("VPN Settings");
|
|
||||||
|
|
||||||
this.parent();
|
|
||||||
},
|
|
||||||
|
|
||||||
_onSettingsActivate: function() {
|
|
||||||
let nItems = this._connectionItems.size;
|
|
||||||
if (nItems > 1) {
|
|
||||||
let appSys = Shell.AppSystem.get_default();
|
|
||||||
let app = appSys.lookup_app('gnome-network-panel.desktop');
|
|
||||||
app.launch(0, -1, false);
|
|
||||||
} else {
|
|
||||||
let connection = this._connections[0];
|
|
||||||
Util.spawnApp(['gnome-control-center', 'network', 'show-device',
|
|
||||||
connection.get_path()]);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_getDescription: function() {
|
_getDescription: function() {
|
||||||
|
@ -2,39 +2,19 @@
|
|||||||
|
|
||||||
const AccountsService = imports.gi.AccountsService;
|
const AccountsService = imports.gi.AccountsService;
|
||||||
const Clutter = imports.gi.Clutter;
|
const Clutter = imports.gi.Clutter;
|
||||||
const Gdm = imports.gi.Gdm;
|
|
||||||
const Gio = imports.gi.Gio;
|
const Gio = imports.gi.Gio;
|
||||||
const GLib = imports.gi.GLib;
|
const GLib = imports.gi.GLib;
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
const Meta = imports.gi.Meta;
|
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
|
const GObject = imports.gi.GObject;
|
||||||
|
|
||||||
const BoxPointer = imports.ui.boxpointer;
|
const BoxPointer = imports.ui.boxpointer;
|
||||||
const GnomeSession = imports.misc.gnomeSession;
|
const SystemActions = imports.misc.systemActions;
|
||||||
const LoginManager = imports.misc.loginManager;
|
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
const PanelMenu = imports.ui.panelMenu;
|
const PanelMenu = imports.ui.panelMenu;
|
||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
|
|
||||||
const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown';
|
|
||||||
const LOGIN_SCREEN_SCHEMA = 'org.gnome.login-screen';
|
|
||||||
const DISABLE_USER_SWITCH_KEY = 'disable-user-switching';
|
|
||||||
const DISABLE_LOCK_SCREEN_KEY = 'disable-lock-screen';
|
|
||||||
const DISABLE_LOG_OUT_KEY = 'disable-log-out';
|
|
||||||
const DISABLE_RESTART_KEY = 'disable-restart-buttons';
|
|
||||||
const ALWAYS_SHOW_LOG_OUT_KEY = 'always-show-log-out';
|
|
||||||
|
|
||||||
const SENSOR_BUS_NAME = 'net.hadess.SensorProxy';
|
|
||||||
const SENSOR_OBJECT_PATH = '/net/hadess/SensorProxy';
|
|
||||||
|
|
||||||
const SensorProxyInterface = '<node> \
|
|
||||||
<interface name="net.hadess.SensorProxy"> \
|
|
||||||
<property name="HasAccelerometer" type="b" access="read"/> \
|
|
||||||
</interface> \
|
|
||||||
</node>';
|
|
||||||
|
|
||||||
const SensorProxy = Gio.DBusProxy.makeProxyWrapper(SensorProxyInterface);
|
|
||||||
|
|
||||||
var AltSwitcher = new Lang.Class({
|
var AltSwitcher = new Lang.Class({
|
||||||
Name: 'AltSwitcher',
|
Name: 'AltSwitcher',
|
||||||
@ -138,41 +118,17 @@ var Indicator = new Lang.Class({
|
|||||||
_init: function() {
|
_init: function() {
|
||||||
this.parent();
|
this.parent();
|
||||||
|
|
||||||
this._loginScreenSettings = new Gio.Settings({ schema_id: LOGIN_SCREEN_SCHEMA });
|
let userManager = AccountsService.UserManager.get_default();
|
||||||
this._lockdownSettings = new Gio.Settings({ schema_id: LOCKDOWN_SCHEMA });
|
this._user = userManager.get_user(GLib.get_user_name());
|
||||||
this._orientationSettings = new Gio.Settings({ schema_id: 'org.gnome.settings-daemon.peripherals.touchscreen' });
|
|
||||||
|
|
||||||
this._session = new GnomeSession.SessionManager();
|
this._systemActions = new SystemActions.getDefault();
|
||||||
this._loginManager = LoginManager.getLoginManager();
|
|
||||||
this._monitorManager = Meta.MonitorManager.get();
|
|
||||||
this._haveShutdown = true;
|
|
||||||
this._haveSuspend = true;
|
|
||||||
|
|
||||||
this._userManager = AccountsService.UserManager.get_default();
|
|
||||||
this._user = this._userManager.get_user(GLib.get_user_name());
|
|
||||||
|
|
||||||
this._createSubMenu();
|
this._createSubMenu();
|
||||||
|
|
||||||
this._userManager.connect('notify::is-loaded',
|
this._loginScreenItem.actor.connect('notify::visible',
|
||||||
Lang.bind(this, this._updateMultiUser));
|
() => { this._updateMultiUser(); });
|
||||||
this._userManager.connect('notify::has-multiple-users',
|
this._logoutItem.actor.connect('notify::visible',
|
||||||
Lang.bind(this, this._updateMultiUser));
|
() => { this._updateMultiUser(); });
|
||||||
this._userManager.connect('user-added',
|
|
||||||
Lang.bind(this, this._updateMultiUser));
|
|
||||||
this._userManager.connect('user-removed',
|
|
||||||
Lang.bind(this, this._updateMultiUser));
|
|
||||||
this._lockdownSettings.connect('changed::' + DISABLE_USER_SWITCH_KEY,
|
|
||||||
Lang.bind(this, this._updateMultiUser));
|
|
||||||
this._lockdownSettings.connect('changed::' + DISABLE_LOG_OUT_KEY,
|
|
||||||
Lang.bind(this, this._updateMultiUser));
|
|
||||||
this._lockdownSettings.connect('changed::' + DISABLE_LOCK_SCREEN_KEY,
|
|
||||||
Lang.bind(this, this._updateLockScreen));
|
|
||||||
global.settings.connect('changed::' + ALWAYS_SHOW_LOG_OUT_KEY,
|
|
||||||
Lang.bind(this, this._updateMultiUser));
|
|
||||||
this._updateSwitchUser();
|
|
||||||
this._updateMultiUser();
|
|
||||||
this._updateLockScreen();
|
|
||||||
|
|
||||||
// Whether shutdown is available or not depends on both lockdown
|
// Whether shutdown is available or not depends on both lockdown
|
||||||
// settings (disable-log-out) and Polkit policy - the latter doesn't
|
// settings (disable-log-out) and Polkit policy - the latter doesn't
|
||||||
// notify, so we update the menu item each time the menu opens or
|
// notify, so we update the menu item each time the menu opens or
|
||||||
@ -182,42 +138,14 @@ var Indicator = new Lang.Class({
|
|||||||
if (!open)
|
if (!open)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this._updateHaveShutdown();
|
this._systemActions.forceUpdate();
|
||||||
this._updateHaveSuspend();
|
|
||||||
}));
|
}));
|
||||||
this._lockdownSettings.connect('changed::' + DISABLE_LOG_OUT_KEY,
|
this._updateMultiUser();
|
||||||
Lang.bind(this, this._updateHaveShutdown));
|
|
||||||
|
|
||||||
this._orientationSettings.connect('changed::orientation-lock',
|
|
||||||
Lang.bind(this, this._updateOrientationLock));
|
|
||||||
Main.layoutManager.connect('monitors-changed',
|
|
||||||
Lang.bind(this, this._updateOrientationLock));
|
|
||||||
Gio.DBus.system.watch_name(SENSOR_BUS_NAME,
|
|
||||||
Gio.BusNameWatcherFlags.NONE,
|
|
||||||
Lang.bind(this, this._sensorProxyAppeared),
|
|
||||||
Lang.bind(this, function() {
|
|
||||||
this._sensorProxy = null;
|
|
||||||
this._updateOrientationLock();
|
|
||||||
}));
|
|
||||||
this._updateOrientationLock();
|
|
||||||
|
|
||||||
Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated));
|
Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated));
|
||||||
this._sessionUpdated();
|
this._sessionUpdated();
|
||||||
},
|
},
|
||||||
|
|
||||||
_sensorProxyAppeared: function() {
|
|
||||||
this._sensorProxy = new SensorProxy(Gio.DBus.system, SENSOR_BUS_NAME, SENSOR_OBJECT_PATH,
|
|
||||||
Lang.bind(this, function(proxy, error) {
|
|
||||||
if (error) {
|
|
||||||
log(error.message);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this._sensorProxy.connect('g-properties-changed',
|
|
||||||
Lang.bind(this, this._updateOrientationLock));
|
|
||||||
this._updateOrientationLock();
|
|
||||||
}));
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateActionsVisibility: function() {
|
_updateActionsVisibility: function() {
|
||||||
let visible = (this._settingsAction.visible ||
|
let visible = (this._settingsAction.visible ||
|
||||||
this._orientationLockAction.visible ||
|
this._orientationLockAction.visible ||
|
||||||
@ -228,42 +156,14 @@ var Indicator = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_sessionUpdated: function() {
|
_sessionUpdated: function() {
|
||||||
this._updateLockScreen();
|
|
||||||
this._updatePowerOff();
|
|
||||||
this._updateSuspend();
|
|
||||||
this._updateMultiUser();
|
|
||||||
this._settingsAction.visible = Main.sessionMode.allowSettings;
|
this._settingsAction.visible = Main.sessionMode.allowSettings;
|
||||||
this._updateActionsVisibility();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_updateMultiUser: function() {
|
_updateMultiUser: function() {
|
||||||
let shouldShowInMode = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
|
let hasSwitchUser = this._loginScreenItem.actor.visible;
|
||||||
let hasSwitchUser = this._updateSwitchUser();
|
let hasLogout = this._logoutItem.actor.visible;
|
||||||
let hasLogout = this._updateLogout();
|
|
||||||
|
|
||||||
this._switchUserSubMenu.actor.visible = shouldShowInMode && (hasSwitchUser || hasLogout);
|
this._switchUserSubMenu.actor.visible = hasSwitchUser || hasLogout;
|
||||||
},
|
|
||||||
|
|
||||||
_updateSwitchUser: function() {
|
|
||||||
let allowSwitch = !this._lockdownSettings.get_boolean(DISABLE_USER_SWITCH_KEY);
|
|
||||||
let multiUser = this._userManager.can_switch() && this._userManager.has_multiple_users;
|
|
||||||
|
|
||||||
let visible = allowSwitch && multiUser;
|
|
||||||
this._loginScreenItem.actor.visible = visible;
|
|
||||||
return visible;
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateLogout: function() {
|
|
||||||
let allowLogout = !this._lockdownSettings.get_boolean(DISABLE_LOG_OUT_KEY);
|
|
||||||
let alwaysShow = global.settings.get_boolean(ALWAYS_SHOW_LOG_OUT_KEY);
|
|
||||||
let systemAccount = this._user.system_account;
|
|
||||||
let localAccount = this._user.local_account;
|
|
||||||
let multiUser = this._userManager.has_multiple_users;
|
|
||||||
let multiSession = Gdm.get_session_ids().length > 1;
|
|
||||||
|
|
||||||
let visible = allowLogout && (alwaysShow || multiUser || multiSession || systemAccount || !localAccount);
|
|
||||||
this._logoutItem.actor.visible = visible;
|
|
||||||
return visible;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_updateSwitchUserSubMenu: function() {
|
_updateSwitchUserSubMenu: function() {
|
||||||
@ -299,63 +199,6 @@ var Indicator = new Lang.Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_updateOrientationLock: function() {
|
|
||||||
if (this._sensorProxy)
|
|
||||||
this._orientationLockAction.visible = this._sensorProxy.HasAccelerometer &&
|
|
||||||
this._monitorManager.get_is_builtin_display_on();
|
|
||||||
else
|
|
||||||
this._orientationLockAction.visible = false;
|
|
||||||
|
|
||||||
let locked = this._orientationSettings.get_boolean('orientation-lock');
|
|
||||||
let icon = this._orientationLockAction.child;
|
|
||||||
icon.icon_name = locked ? 'rotation-locked-symbolic' : 'rotation-allowed-symbolic';
|
|
||||||
|
|
||||||
this._updateActionsVisibility();
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateLockScreen: function() {
|
|
||||||
let showLock = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
|
|
||||||
let allowLockScreen = !this._lockdownSettings.get_boolean(DISABLE_LOCK_SCREEN_KEY);
|
|
||||||
this._lockScreenAction.visible = showLock && allowLockScreen && LoginManager.canLock();
|
|
||||||
this._updateActionsVisibility();
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateHaveShutdown: function() {
|
|
||||||
this._session.CanShutdownRemote(Lang.bind(this, function(result, error) {
|
|
||||||
if (error)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this._haveShutdown = result[0];
|
|
||||||
this._updatePowerOff();
|
|
||||||
}));
|
|
||||||
},
|
|
||||||
|
|
||||||
_updatePowerOff: function() {
|
|
||||||
let disabled = Main.sessionMode.isLocked ||
|
|
||||||
(Main.sessionMode.isGreeter &&
|
|
||||||
this._loginScreenSettings.get_boolean(DISABLE_RESTART_KEY));
|
|
||||||
this._powerOffAction.visible = this._haveShutdown && !disabled;
|
|
||||||
this._updateActionsVisibility();
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateHaveSuspend: function() {
|
|
||||||
this._loginManager.canSuspend(Lang.bind(this,
|
|
||||||
function(canSuspend, needsAuth) {
|
|
||||||
this._haveSuspend = canSuspend;
|
|
||||||
this._suspendNeedsAuth = needsAuth;
|
|
||||||
this._updateSuspend();
|
|
||||||
}));
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateSuspend: function() {
|
|
||||||
let disabled = (Main.sessionMode.isLocked &&
|
|
||||||
this._suspendNeedsAuth) ||
|
|
||||||
(Main.sessionMode.isGreeter &&
|
|
||||||
this._loginScreenSettings.get_boolean(DISABLE_RESTART_KEY));
|
|
||||||
this._suspendAction.visible = this._haveSuspend && !disabled;
|
|
||||||
this._updateActionsVisibility();
|
|
||||||
},
|
|
||||||
|
|
||||||
_createActionButton: function(iconName, accessibleName) {
|
_createActionButton: function(iconName, accessibleName) {
|
||||||
let icon = new St.Button({ reactive: true,
|
let icon = new St.Button({ reactive: true,
|
||||||
can_focus: true,
|
can_focus: true,
|
||||||
@ -367,6 +210,7 @@ var Indicator = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_createSubMenu: function() {
|
_createSubMenu: function() {
|
||||||
|
let bindFlags = GObject.BindingFlags.DEFAULT | GObject.BindingFlags.SYNC_CREATE;
|
||||||
let item;
|
let item;
|
||||||
|
|
||||||
this._switchUserSubMenu = new PopupMenu.PopupSubMenuMenuItem('', true);
|
this._switchUserSubMenu = new PopupMenu.PopupSubMenuMenuItem('', true);
|
||||||
@ -382,14 +226,28 @@ var Indicator = new Lang.Class({
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
item = new PopupMenu.PopupMenuItem(_("Switch User"));
|
item = new PopupMenu.PopupMenuItem(_("Switch User"));
|
||||||
item.connect('activate', Lang.bind(this, this._onLoginScreenActivate));
|
item.connect('activate', () => {
|
||||||
|
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||||
|
this._systemActions.activateSwitchUser();
|
||||||
|
});
|
||||||
this._switchUserSubMenu.menu.addMenuItem(item);
|
this._switchUserSubMenu.menu.addMenuItem(item);
|
||||||
this._loginScreenItem = item;
|
this._loginScreenItem = item;
|
||||||
|
this._systemActions.bind_property('can-switch-user',
|
||||||
|
this._loginScreenItem.actor,
|
||||||
|
'visible',
|
||||||
|
bindFlags);
|
||||||
|
|
||||||
item = new PopupMenu.PopupMenuItem(_("Log Out"));
|
item = new PopupMenu.PopupMenuItem(_("Log Out"));
|
||||||
item.connect('activate', Lang.bind(this, this._onQuitSessionActivate));
|
item.connect('activate', () => {
|
||||||
|
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||||
|
this._systemActions.activateLogout();
|
||||||
|
});
|
||||||
this._switchUserSubMenu.menu.addMenuItem(item);
|
this._switchUserSubMenu.menu.addMenuItem(item);
|
||||||
this._logoutItem = item;
|
this._logoutItem = item;
|
||||||
|
this._systemActions.bind_property('can-logout',
|
||||||
|
this._logoutItem.actor,
|
||||||
|
'visible',
|
||||||
|
bindFlags);
|
||||||
|
|
||||||
this._switchUserSubMenu.menu.addSettingsAction(_("Account Settings"),
|
this._switchUserSubMenu.menu.addSettingsAction(_("Account Settings"),
|
||||||
'gnome-user-accounts-panel.desktop');
|
'gnome-user-accounts-panel.desktop');
|
||||||
@ -405,28 +263,70 @@ var Indicator = new Lang.Class({
|
|||||||
can_focus: false });
|
can_focus: false });
|
||||||
|
|
||||||
this._settingsAction = this._createActionButton('preferences-system-symbolic', _("Settings"));
|
this._settingsAction = this._createActionButton('preferences-system-symbolic', _("Settings"));
|
||||||
this._settingsAction.connect('clicked', Lang.bind(this, this._onSettingsClicked));
|
this._settingsAction.connect('clicked', () => { this._onSettingsClicked(); });
|
||||||
item.actor.add(this._settingsAction, { expand: true, x_fill: false });
|
item.actor.add(this._settingsAction, { expand: true, x_fill: false });
|
||||||
|
|
||||||
this._orientationLockAction = this._createActionButton('', _("Orientation Lock"));
|
this._orientationLockAction = this._createActionButton('', _("Orientation Lock"));
|
||||||
this._orientationLockAction.connect('clicked', Lang.bind(this, this._onOrientationLockClicked));
|
this._orientationLockAction.connect('clicked', () => {
|
||||||
|
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE),
|
||||||
|
this._systemActions.activateLockOrientation();
|
||||||
|
});
|
||||||
item.actor.add(this._orientationLockAction, { expand: true, x_fill: false });
|
item.actor.add(this._orientationLockAction, { expand: true, x_fill: false });
|
||||||
|
this._systemActions.bind_property('can-lock-orientation',
|
||||||
|
this._orientationLockAction,
|
||||||
|
'visible',
|
||||||
|
bindFlags);
|
||||||
|
this._systemActions.bind_property('orientation-lock-icon',
|
||||||
|
this._orientationLockAction.child,
|
||||||
|
'icon-name',
|
||||||
|
bindFlags);
|
||||||
|
|
||||||
this._lockScreenAction = this._createActionButton('changes-prevent-symbolic', _("Lock"));
|
this._lockScreenAction = this._createActionButton('changes-prevent-symbolic', _("Lock"));
|
||||||
this._lockScreenAction.connect('clicked', Lang.bind(this, this._onLockScreenClicked));
|
this._lockScreenAction.connect('clicked', () => {
|
||||||
|
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||||
|
this._systemActions.activateLockScreen();
|
||||||
|
});
|
||||||
item.actor.add(this._lockScreenAction, { expand: true, x_fill: false });
|
item.actor.add(this._lockScreenAction, { expand: true, x_fill: false });
|
||||||
|
this._systemActions.bind_property('can-lock-screen',
|
||||||
|
this._lockScreenAction,
|
||||||
|
'visible',
|
||||||
|
bindFlags);
|
||||||
|
|
||||||
this._suspendAction = this._createActionButton('media-playback-pause-symbolic', _("Suspend"));
|
this._suspendAction = this._createActionButton('media-playback-pause-symbolic', _("Suspend"));
|
||||||
this._suspendAction.connect('clicked', Lang.bind(this, this._onSuspendClicked));
|
this._suspendAction.connect('clicked', () => {
|
||||||
|
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||||
|
this._systemActions.activateSuspend();
|
||||||
|
});
|
||||||
|
this._systemActions.bind_property('can-suspend',
|
||||||
|
this._suspendAction,
|
||||||
|
'visible',
|
||||||
|
bindFlags);
|
||||||
|
|
||||||
this._powerOffAction = this._createActionButton('system-shutdown-symbolic', _("Power Off"));
|
this._powerOffAction = this._createActionButton('system-shutdown-symbolic', _("Power Off"));
|
||||||
this._powerOffAction.connect('clicked', Lang.bind(this, this._onPowerOffClicked));
|
this._powerOffAction.connect('clicked', () => {
|
||||||
|
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||||
|
this._systemActions.activatePowerOff();
|
||||||
|
});
|
||||||
|
this._systemActions.bind_property('can-power-off',
|
||||||
|
this._powerOffAction,
|
||||||
|
'visible',
|
||||||
|
bindFlags);
|
||||||
|
|
||||||
this._altSwitcher = new AltSwitcher(this._powerOffAction, this._suspendAction);
|
this._altSwitcher = new AltSwitcher(this._powerOffAction, this._suspendAction);
|
||||||
item.actor.add(this._altSwitcher.actor, { expand: true, x_fill: false });
|
item.actor.add(this._altSwitcher.actor, { expand: true, x_fill: false });
|
||||||
|
|
||||||
this._actionsItem = item;
|
this._actionsItem = item;
|
||||||
this.menu.addMenuItem(item);
|
this.menu.addMenuItem(item);
|
||||||
|
|
||||||
|
|
||||||
|
this._settingsAction.connect('notify::visible',
|
||||||
|
() => { this._updateActionsVisibility(); });
|
||||||
|
this._orientationLockAction.connect('notify::visible',
|
||||||
|
() => { this._updateActionsVisibility(); });
|
||||||
|
this._lockScreenAction.connect('notify::visible',
|
||||||
|
() => { this._updateActionsVisibility(); });
|
||||||
|
this._altSwitcher.actor.connect('notify::visible',
|
||||||
|
() => { this._updateActionsVisibility(); });
|
||||||
},
|
},
|
||||||
|
|
||||||
_onSettingsClicked: function() {
|
_onSettingsClicked: function() {
|
||||||
@ -434,46 +334,5 @@ var Indicator = new Lang.Class({
|
|||||||
let app = Shell.AppSystem.get_default().lookup_app('gnome-control-center.desktop');
|
let app = Shell.AppSystem.get_default().lookup_app('gnome-control-center.desktop');
|
||||||
Main.overview.hide();
|
Main.overview.hide();
|
||||||
app.activate();
|
app.activate();
|
||||||
},
|
}
|
||||||
|
|
||||||
_onOrientationLockClicked: function() {
|
|
||||||
this.menu.itemActivated();
|
|
||||||
let locked = this._orientationSettings.get_boolean('orientation-lock');
|
|
||||||
this._orientationSettings.set_boolean('orientation-lock', !locked);
|
|
||||||
this._updateOrientationLock();
|
|
||||||
},
|
|
||||||
|
|
||||||
_onLockScreenClicked: function() {
|
|
||||||
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
|
||||||
Main.overview.hide();
|
|
||||||
Main.screenShield.lock(true);
|
|
||||||
},
|
|
||||||
|
|
||||||
_onLoginScreenActivate: function() {
|
|
||||||
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
|
||||||
Main.overview.hide();
|
|
||||||
if (Main.screenShield)
|
|
||||||
Main.screenShield.lock(false);
|
|
||||||
|
|
||||||
Clutter.threads_add_repaint_func_full(Clutter.RepaintFlags.POST_PAINT, function() {
|
|
||||||
Gdm.goto_login_session_sync(null);
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
_onQuitSessionActivate: function() {
|
|
||||||
Main.overview.hide();
|
|
||||||
this._session.LogoutRemote(0);
|
|
||||||
},
|
|
||||||
|
|
||||||
_onPowerOffClicked: function() {
|
|
||||||
this.menu.itemActivated();
|
|
||||||
Main.overview.hide();
|
|
||||||
this._session.ShutdownRemote(0);
|
|
||||||
},
|
|
||||||
|
|
||||||
_onSuspendClicked: function() {
|
|
||||||
this.menu.itemActivated();
|
|
||||||
this._loginManager.suspend();
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
101
js/ui/switchMonitor.js
Normal file
101
js/ui/switchMonitor.js
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||||
|
|
||||||
|
const Clutter = imports.gi.Clutter;
|
||||||
|
const Lang = imports.lang;
|
||||||
|
const Meta = imports.gi.Meta;
|
||||||
|
const St = imports.gi.St;
|
||||||
|
|
||||||
|
const SwitcherPopup = imports.ui.switcherPopup;
|
||||||
|
|
||||||
|
var APP_ICON_SIZE = 96;
|
||||||
|
|
||||||
|
var SwitchMonitorPopup = new Lang.Class({
|
||||||
|
Name: 'SwitchMonitorPopup',
|
||||||
|
Extends: SwitcherPopup.SwitcherPopup,
|
||||||
|
|
||||||
|
_init: function() {
|
||||||
|
let items = [{ icon: 'view-mirror-symbolic',
|
||||||
|
/* Translators: this is for display mirroring i.e. cloning.
|
||||||
|
* Try to keep it under around 15 characters.
|
||||||
|
*/
|
||||||
|
label: _('Mirror') },
|
||||||
|
{ icon: 'video-joined-displays-symbolic',
|
||||||
|
/* Translators: this is for the desktop spanning displays.
|
||||||
|
* Try to keep it under around 15 characters.
|
||||||
|
*/
|
||||||
|
label: _('Join Displays') },
|
||||||
|
{ icon: 'video-single-display-symbolic',
|
||||||
|
/* Translators: this is for using only an external display.
|
||||||
|
* Try to keep it under around 15 characters.
|
||||||
|
*/
|
||||||
|
label: _('External Only') },
|
||||||
|
{ icon: 'computer-symbolic',
|
||||||
|
/* Translators: this is for using only the laptop display.
|
||||||
|
* Try to keep it under around 15 characters.
|
||||||
|
*/
|
||||||
|
label: _('Built-in Only') }];
|
||||||
|
|
||||||
|
this.parent(items);
|
||||||
|
|
||||||
|
this._switcherList = new SwitchMonitorSwitcher(items);
|
||||||
|
},
|
||||||
|
|
||||||
|
show: function(backward, binding, mask) {
|
||||||
|
if (!Meta.MonitorManager.get().can_switch_config())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return this.parent(backward, binding, mask);
|
||||||
|
},
|
||||||
|
|
||||||
|
_initialSelection: function() {
|
||||||
|
let currentConfig = Meta.MonitorManager.get().get_switch_config();
|
||||||
|
currentConfig %= Meta.MonitorSwitchConfigType.UNKNOWN;
|
||||||
|
this._select(currentConfig);
|
||||||
|
},
|
||||||
|
|
||||||
|
_keyPressHandler: function(keysym, action) {
|
||||||
|
if (action == Meta.KeyBindingAction.SWITCH_MONITOR)
|
||||||
|
this._select(this._next());
|
||||||
|
else if (keysym == Clutter.Left)
|
||||||
|
this._select(this._previous());
|
||||||
|
else if (keysym == Clutter.Right)
|
||||||
|
this._select(this._next());
|
||||||
|
else
|
||||||
|
return Clutter.EVENT_PROPAGATE;
|
||||||
|
|
||||||
|
return Clutter.EVENT_STOP;
|
||||||
|
},
|
||||||
|
|
||||||
|
_finish : function() {
|
||||||
|
this.parent();
|
||||||
|
|
||||||
|
Meta.MonitorManager.get().switch_config(this._selectedIndex);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
var SwitchMonitorSwitcher = new Lang.Class({
|
||||||
|
Name: 'SwitchMonitorSwitcher',
|
||||||
|
Extends: SwitcherPopup.SwitcherList,
|
||||||
|
|
||||||
|
_init: function(items) {
|
||||||
|
this.parent(true);
|
||||||
|
|
||||||
|
for (let i = 0; i < items.length; i++)
|
||||||
|
this._addIcon(items[i]);
|
||||||
|
},
|
||||||
|
|
||||||
|
_addIcon: function(item) {
|
||||||
|
let box = new St.BoxLayout({ style_class: 'alt-tab-app',
|
||||||
|
vertical: true });
|
||||||
|
|
||||||
|
let icon = new St.Icon({ icon_name: item.icon,
|
||||||
|
icon_size: APP_ICON_SIZE });
|
||||||
|
box.add(icon, { x_fill: false, y_fill: false } );
|
||||||
|
|
||||||
|
let text = new St.Label({ text: item.label });
|
||||||
|
box.add(text, { x_fill: false });
|
||||||
|
|
||||||
|
this.addItem(box, text);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
@ -19,6 +19,7 @@ var POPUP_SCROLL_TIME = 0.10; // seconds
|
|||||||
var POPUP_FADE_OUT_TIME = 0.1; // seconds
|
var POPUP_FADE_OUT_TIME = 0.1; // seconds
|
||||||
|
|
||||||
var DISABLE_HOVER_TIMEOUT = 500; // milliseconds
|
var DISABLE_HOVER_TIMEOUT = 500; // milliseconds
|
||||||
|
var NO_MODS_TIMEOUT = 1500; // milliseconds
|
||||||
|
|
||||||
function mod(a, b) {
|
function mod(a, b) {
|
||||||
return (a + b) % b;
|
return (a + b) % b;
|
||||||
@ -61,6 +62,7 @@ var SwitcherPopup = new Lang.Class({
|
|||||||
|
|
||||||
this._motionTimeoutId = 0;
|
this._motionTimeoutId = 0;
|
||||||
this._initialDelayTimeoutId = 0;
|
this._initialDelayTimeoutId = 0;
|
||||||
|
this._noModsTimeoutId = 0;
|
||||||
|
|
||||||
// Initially disable hover so we ignore the enter-event if
|
// Initially disable hover so we ignore the enter-event if
|
||||||
// the switcher appears underneath the current pointer location
|
// the switcher appears underneath the current pointer location
|
||||||
@ -145,10 +147,14 @@ var SwitcherPopup = new Lang.Class({
|
|||||||
// https://bugzilla.gnome.org/show_bug.cgi?id=596695 for
|
// https://bugzilla.gnome.org/show_bug.cgi?id=596695 for
|
||||||
// details.) So we check now. (Have to do this after updating
|
// details.) So we check now. (Have to do this after updating
|
||||||
// selection.)
|
// selection.)
|
||||||
let [x, y, mods] = global.get_pointer();
|
if (this._modifierMask) {
|
||||||
if (!(mods & this._modifierMask)) {
|
let [x, y, mods] = global.get_pointer();
|
||||||
this._finish(global.get_current_time());
|
if (!(mods & this._modifierMask)) {
|
||||||
return false;
|
this._finish(global.get_current_time());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this._resetNoModsTimeout();
|
||||||
}
|
}
|
||||||
|
|
||||||
// We delay showing the popup so that fast Alt+Tab users aren't
|
// We delay showing the popup so that fast Alt+Tab users aren't
|
||||||
@ -192,11 +198,15 @@ var SwitcherPopup = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_keyReleaseEvent: function(actor, event) {
|
_keyReleaseEvent: function(actor, event) {
|
||||||
let [x, y, mods] = global.get_pointer();
|
if (this._modifierMask) {
|
||||||
let state = mods & this._modifierMask;
|
let [x, y, mods] = global.get_pointer();
|
||||||
|
let state = mods & this._modifierMask;
|
||||||
|
|
||||||
if (state == 0)
|
if (state == 0)
|
||||||
this._finish(event.get_time());
|
this._finish(event.get_time());
|
||||||
|
} else {
|
||||||
|
this._resetNoModsTimeout();
|
||||||
|
}
|
||||||
|
|
||||||
return Clutter.EVENT_STOP;
|
return Clutter.EVENT_STOP;
|
||||||
},
|
},
|
||||||
@ -253,6 +263,18 @@ var SwitcherPopup = new Lang.Class({
|
|||||||
return GLib.SOURCE_REMOVE;
|
return GLib.SOURCE_REMOVE;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_resetNoModsTimeout: function() {
|
||||||
|
if (this._noModsTimeoutId != 0)
|
||||||
|
Mainloop.source_remove(this._noModsTimeoutId);
|
||||||
|
|
||||||
|
this._noModsTimeoutId = Mainloop.timeout_add(NO_MODS_TIMEOUT,
|
||||||
|
Lang.bind(this, function () {
|
||||||
|
this._finish(global.get_current_time());
|
||||||
|
this._noModsTimeoutId = 0;
|
||||||
|
return GLib.SOURCE_REMOVE;
|
||||||
|
}));
|
||||||
|
},
|
||||||
|
|
||||||
_popModal: function() {
|
_popModal: function() {
|
||||||
if (this._haveModal) {
|
if (this._haveModal) {
|
||||||
Main.popModal(this.actor);
|
Main.popModal(this.actor);
|
||||||
@ -287,6 +309,8 @@ var SwitcherPopup = new Lang.Class({
|
|||||||
Mainloop.source_remove(this._motionTimeoutId);
|
Mainloop.source_remove(this._motionTimeoutId);
|
||||||
if (this._initialDelayTimeoutId != 0)
|
if (this._initialDelayTimeoutId != 0)
|
||||||
Mainloop.source_remove(this._initialDelayTimeoutId);
|
Mainloop.source_remove(this._initialDelayTimeoutId);
|
||||||
|
if (this._noModsTimeoutId != 0)
|
||||||
|
Mainloop.source_remove(this._noModsTimeoutId);
|
||||||
},
|
},
|
||||||
|
|
||||||
_select: function(num) {
|
_select: function(num) {
|
||||||
|
@ -35,6 +35,10 @@ var Avatar = new Lang.Class({
|
|||||||
reactive: params.reactive,
|
reactive: params.reactive,
|
||||||
width: this._iconSize * scaleFactor,
|
width: this._iconSize * scaleFactor,
|
||||||
height: this._iconSize * scaleFactor });
|
height: this._iconSize * scaleFactor });
|
||||||
|
|
||||||
|
// Monitor the scaling factor to make sure we recreate the avatar when needed.
|
||||||
|
let themeContext = St.ThemeContext.get_for_stage(global.stage);
|
||||||
|
themeContext.connect('notify::scale-factor', Lang.bind(this, this.update));
|
||||||
},
|
},
|
||||||
|
|
||||||
setSensitive: function(sensitive) {
|
setSensitive: function(sensitive) {
|
||||||
@ -56,6 +60,9 @@ var Avatar = new Lang.Class({
|
|||||||
this.actor.child = new St.Icon({ icon_name: 'avatar-default-symbolic',
|
this.actor.child = new St.Icon({ icon_name: 'avatar-default-symbolic',
|
||||||
icon_size: this._iconSize });
|
icon_size: this._iconSize });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||||
|
this.actor.set_size(this._iconSize * scaleFactor, this._iconSize * scaleFactor);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -163,6 +163,13 @@ var ViewSelector = new Lang.Class({
|
|||||||
this._text.connect('key-focus-out', Lang.bind(this, function() {
|
this._text.connect('key-focus-out', Lang.bind(this, function() {
|
||||||
this._searchResults.highlightDefault(false);
|
this._searchResults.highlightDefault(false);
|
||||||
}));
|
}));
|
||||||
|
this._entry.connect('popup-menu', () => {
|
||||||
|
if (!this._searchActive)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this._entry.menu.close();
|
||||||
|
this._searchResults.popupMenuDefault();
|
||||||
|
});
|
||||||
this._entry.connect('notify::mapped', Lang.bind(this, this._onMapped));
|
this._entry.connect('notify::mapped', Lang.bind(this, this._onMapped));
|
||||||
global.stage.connect('notify::key-focus', Lang.bind(this, this._onStageKeyFocusChanged));
|
global.stage.connect('notify::key-focus', Lang.bind(this, this._onStageKeyFocusChanged));
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ const WindowMenu = imports.ui.windowMenu;
|
|||||||
const PadOsd = imports.ui.padOsd;
|
const PadOsd = imports.ui.padOsd;
|
||||||
const EdgeDragAction = imports.ui.edgeDragAction;
|
const EdgeDragAction = imports.ui.edgeDragAction;
|
||||||
const CloseDialog = imports.ui.closeDialog;
|
const CloseDialog = imports.ui.closeDialog;
|
||||||
|
const SwitchMonitor = imports.ui.switchMonitor;
|
||||||
|
|
||||||
const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings';
|
const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings';
|
||||||
var MINIMIZE_WINDOW_ANIMATION_TIME = 0.2;
|
var MINIMIZE_WINDOW_ANIMATION_TIME = 0.2;
|
||||||
@ -515,7 +516,7 @@ var TouchpadWorkspaceSwitchAction = new Lang.Class({
|
|||||||
return Clutter.EVENT_PROPAGATE;
|
return Clutter.EVENT_PROPAGATE;
|
||||||
|
|
||||||
if (event.get_gesture_phase() == Clutter.TouchpadGesturePhase.UPDATE) {
|
if (event.get_gesture_phase() == Clutter.TouchpadGesturePhase.UPDATE) {
|
||||||
let [dx, dy] = event.get_gesture_motion_delta(event);
|
let [dx, dy] = event.get_gesture_motion_delta();
|
||||||
|
|
||||||
this._dx += dx;
|
this._dx += dx;
|
||||||
this._dy += dy;
|
this._dy += dy;
|
||||||
@ -898,6 +899,10 @@ var WindowManager = new Lang.Class({
|
|||||||
Shell.ActionMode.UNLOCK_SCREEN |
|
Shell.ActionMode.UNLOCK_SCREEN |
|
||||||
Shell.ActionMode.LOGIN_SCREEN,
|
Shell.ActionMode.LOGIN_SCREEN,
|
||||||
Lang.bind(this, this._startA11ySwitcher));
|
Lang.bind(this, this._startA11ySwitcher));
|
||||||
|
this.setCustomKeybindingHandler('switch-monitor',
|
||||||
|
Shell.ActionMode.NORMAL |
|
||||||
|
Shell.ActionMode.OVERVIEW,
|
||||||
|
Lang.bind(this, this._startSwitcher));
|
||||||
|
|
||||||
this.addKeybinding('pause-resume-tweens',
|
this.addKeybinding('pause-resume-tweens',
|
||||||
new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }),
|
new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }),
|
||||||
@ -980,7 +985,8 @@ var WindowManager = new Lang.Class({
|
|||||||
gesture.connect('activated', Lang.bind(this, this._switchApp));
|
gesture.connect('activated', Lang.bind(this, this._switchApp));
|
||||||
global.stage.add_action(gesture);
|
global.stage.add_action(gesture);
|
||||||
|
|
||||||
gesture = new EdgeDragAction.EdgeDragAction(St.Side.BOTTOM, Shell.ActionMode.ALL);
|
let mode = Shell.ActionMode.ALL & ~Shell.ActionMode.LOCK_SCREEN;
|
||||||
|
gesture = new EdgeDragAction.EdgeDragAction(St.Side.BOTTOM, mode);
|
||||||
gesture.connect('activated', Lang.bind(this, function() {
|
gesture.connect('activated', Lang.bind(this, function() {
|
||||||
Main.keyboard.show(Main.layoutManager.bottomIndex);
|
Main.keyboard.show(Main.layoutManager.bottomIndex);
|
||||||
}));
|
}));
|
||||||
@ -1838,6 +1844,9 @@ var WindowManager = new Lang.Class({
|
|||||||
case 'cycle-group-backward':
|
case 'cycle-group-backward':
|
||||||
constructor = AltTab.GroupCyclerPopup;
|
constructor = AltTab.GroupCyclerPopup;
|
||||||
break;
|
break;
|
||||||
|
case 'switch-monitor':
|
||||||
|
constructor = SwitchMonitor.SwitchMonitorPopup;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!constructor)
|
if (!constructor)
|
||||||
|
@ -20,7 +20,7 @@ const WindowManager = imports.ui.windowManager;
|
|||||||
|
|
||||||
var WINDOW_DND_SIZE = 256;
|
var WINDOW_DND_SIZE = 256;
|
||||||
|
|
||||||
var WINDOW_CLONE_MAXIMUM_SCALE = 0.7;
|
var WINDOW_CLONE_MAXIMUM_SCALE = 1.0;
|
||||||
|
|
||||||
var CLOSE_BUTTON_FADE_TIME = 0.1;
|
var CLOSE_BUTTON_FADE_TIME = 0.1;
|
||||||
|
|
||||||
@ -132,6 +132,7 @@ var WindowClone = new Lang.Class({
|
|||||||
|
|
||||||
this.actor._delegate = this;
|
this.actor._delegate = this;
|
||||||
|
|
||||||
|
this.slotId = 0;
|
||||||
this._slot = [0, 0, 0, 0];
|
this._slot = [0, 0, 0, 0];
|
||||||
this._dragSlot = [0, 0, 0, 0];
|
this._dragSlot = [0, 0, 0, 0];
|
||||||
this._stackAbove = null;
|
this._stackAbove = null;
|
||||||
@ -157,6 +158,12 @@ var WindowClone = new Lang.Class({
|
|||||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||||
this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPress));
|
this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPress));
|
||||||
|
|
||||||
|
this.actor.connect('enter-event', () => { this.emit('show-chrome'); });
|
||||||
|
this.actor.connect('key-focus-in', () => { this.emit('show-chrome'); });
|
||||||
|
|
||||||
|
this.actor.connect('leave-event', () => { this.emit('hide-chrome'); });
|
||||||
|
this.actor.connect('key-focus-out', () => { this.emit('hide-chrome'); });
|
||||||
|
|
||||||
this._draggable = DND.makeDraggable(this.actor,
|
this._draggable = DND.makeDraggable(this.actor,
|
||||||
{ restoreOnSuccess: true,
|
{ restoreOnSuccess: true,
|
||||||
manualMode: true,
|
manualMode: true,
|
||||||
@ -374,6 +381,8 @@ var WindowClone = new Lang.Class({
|
|||||||
action.release();
|
action.release();
|
||||||
this._draggable.startDrag(x, y, global.get_current_time(), this._dragTouchSequence);
|
this._draggable.startDrag(x, y, global.get_current_time(), this._dragTouchSequence);
|
||||||
}));
|
}));
|
||||||
|
} else {
|
||||||
|
this.emit('show-chrome');
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
@ -439,7 +448,6 @@ var WindowOverlay = new Lang.Class({
|
|||||||
let title = new St.Label({ style_class: 'window-caption',
|
let title = new St.Label({ style_class: 'window-caption',
|
||||||
text: metaWindow.title });
|
text: metaWindow.title });
|
||||||
title.clutter_text.ellipsize = Pango.EllipsizeMode.END;
|
title.clutter_text.ellipsize = Pango.EllipsizeMode.END;
|
||||||
title._spacing = 0;
|
|
||||||
windowClone.actor.label_actor = title;
|
windowClone.actor.label_actor = title;
|
||||||
|
|
||||||
this._updateCaptionId = metaWindow.connect('notify::title',
|
this._updateCaptionId = metaWindow.connect('notify::title',
|
||||||
@ -455,18 +463,13 @@ var WindowOverlay = new Lang.Class({
|
|||||||
button.connect('clicked', Lang.bind(this, this._closeWindow));
|
button.connect('clicked', Lang.bind(this, this._closeWindow));
|
||||||
|
|
||||||
windowClone.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
windowClone.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||||
windowClone.actor.connect('enter-event',
|
windowClone.connect('show-chrome', Lang.bind(this, this._onShowChrome));
|
||||||
Lang.bind(this, this._onEnter));
|
windowClone.connect('hide-chrome', Lang.bind(this, this._onHideChrome));
|
||||||
windowClone.actor.connect('leave-event',
|
|
||||||
Lang.bind(this, this._onLeave));
|
|
||||||
windowClone.actor.connect('key-focus-in',
|
|
||||||
Lang.bind(this, this._onEnter));
|
|
||||||
windowClone.actor.connect('key-focus-out',
|
|
||||||
Lang.bind(this, this._onLeave));
|
|
||||||
|
|
||||||
this._windowAddedId = 0;
|
this._windowAddedId = 0;
|
||||||
|
|
||||||
button.hide();
|
button.hide();
|
||||||
|
title.hide();
|
||||||
|
|
||||||
this.title = title;
|
this.title = title;
|
||||||
this.closeButton = button;
|
this.closeButton = button;
|
||||||
@ -475,8 +478,8 @@ var WindowOverlay = new Lang.Class({
|
|||||||
Shell.util_set_hidden_from_pick(this.title, true);
|
Shell.util_set_hidden_from_pick(this.title, true);
|
||||||
Shell.util_set_hidden_from_pick(this.border, true);
|
Shell.util_set_hidden_from_pick(this.border, true);
|
||||||
|
|
||||||
parentActor.add_actor(this.title);
|
|
||||||
parentActor.add_actor(this.border);
|
parentActor.add_actor(this.border);
|
||||||
|
parentActor.add_actor(this.title);
|
||||||
parentActor.add_actor(this.closeButton);
|
parentActor.add_actor(this.closeButton);
|
||||||
title.connect('style-changed',
|
title.connect('style-changed',
|
||||||
Lang.bind(this, this._onStyleChanged));
|
Lang.bind(this, this._onStyleChanged));
|
||||||
@ -491,7 +494,6 @@ var WindowOverlay = new Lang.Class({
|
|||||||
|
|
||||||
hide: function() {
|
hide: function() {
|
||||||
this._hidden = true;
|
this._hidden = true;
|
||||||
this.title.hide();
|
|
||||||
|
|
||||||
this.hideCloseButton();
|
this.hideCloseButton();
|
||||||
},
|
},
|
||||||
@ -499,14 +501,13 @@ var WindowOverlay = new Lang.Class({
|
|||||||
show: function() {
|
show: function() {
|
||||||
this._hidden = false;
|
this._hidden = false;
|
||||||
|
|
||||||
this.title.show();
|
|
||||||
if (this._windowClone.actor['has-pointer'])
|
if (this._windowClone.actor['has-pointer'])
|
||||||
this._animateVisible();
|
this._animateVisible();
|
||||||
},
|
},
|
||||||
|
|
||||||
chromeHeights: function () {
|
chromeHeights: function () {
|
||||||
return [Math.max(this.borderSize, this.closeButton.height - this.closeButton._overlap),
|
return [Math.max(this.borderSize, this.closeButton.height - this.closeButton._overlap),
|
||||||
this.title.height + this.title._spacing];
|
(this.title.height - this.borderSize) / 2];
|
||||||
},
|
},
|
||||||
|
|
||||||
chromeWidths: function () {
|
chromeWidths: function () {
|
||||||
@ -540,24 +541,13 @@ var WindowOverlay = new Lang.Class({
|
|||||||
else
|
else
|
||||||
button.set_position(Math.floor(buttonX), Math.floor(buttonY));
|
button.set_position(Math.floor(buttonX), Math.floor(buttonY));
|
||||||
|
|
||||||
// Clutter.Actor.get_preferred_width() will return the fixed width if one
|
let titleX = cloneX + (cloneWidth - title.width) / 2;
|
||||||
// is set, so we need to reset the width by calling set_width(-1), to forward
|
let titleY = cloneY + cloneHeight - (title.height - this.borderSize) / 2;
|
||||||
// the call down to StLabel.
|
|
||||||
// We also need to save and restore the current width, otherwise the animation
|
|
||||||
// starts from the wrong point.
|
|
||||||
let prevTitleWidth = title.width;
|
|
||||||
title.set_width(-1);
|
|
||||||
let [titleMinWidth, titleNatWidth] = title.get_preferred_width(-1);
|
|
||||||
let titleWidth = Math.max(titleMinWidth, Math.min(titleNatWidth, cloneWidth));
|
|
||||||
title.width = prevTitleWidth;
|
|
||||||
|
|
||||||
let titleX = cloneX + (cloneWidth - titleWidth) / 2;
|
if (animate) {
|
||||||
let titleY = cloneY + cloneHeight + title._spacing;
|
this._animateOverlayActor(title, Math.floor(titleX), Math.floor(titleY), title.width);
|
||||||
|
} else {
|
||||||
if (animate)
|
title.width = title.width;
|
||||||
this._animateOverlayActor(title, Math.floor(titleX), Math.floor(titleY), titleWidth);
|
|
||||||
else {
|
|
||||||
title.width = titleWidth;
|
|
||||||
title.set_position(Math.floor(titleX), Math.floor(titleY));
|
title.set_position(Math.floor(titleX), Math.floor(titleY));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -640,60 +630,48 @@ var WindowOverlay = new Lang.Class({
|
|||||||
_animateVisible: function() {
|
_animateVisible: function() {
|
||||||
this._parentActor.raise_top();
|
this._parentActor.raise_top();
|
||||||
|
|
||||||
if (this._windowCanClose()) {
|
let toAnimate = [this.border, this.title];
|
||||||
this.closeButton.show();
|
if (this._windowCanClose())
|
||||||
this.closeButton.opacity = 0;
|
toAnimate.push(this.closeButton);
|
||||||
Tweener.addTween(this.closeButton,
|
|
||||||
|
toAnimate.forEach(a => {
|
||||||
|
a.show();
|
||||||
|
a.opacity = 0;
|
||||||
|
Tweener.addTween(a,
|
||||||
{ opacity: 255,
|
{ opacity: 255,
|
||||||
time: CLOSE_BUTTON_FADE_TIME,
|
time: CLOSE_BUTTON_FADE_TIME,
|
||||||
transition: 'easeOutQuad' });
|
transition: 'easeOutQuad' });
|
||||||
}
|
});
|
||||||
|
|
||||||
this.border.show();
|
|
||||||
this.border.opacity = 0;
|
|
||||||
Tweener.addTween(this.border,
|
|
||||||
{ opacity: 255,
|
|
||||||
time: CLOSE_BUTTON_FADE_TIME,
|
|
||||||
transition: 'easeOutQuad' });
|
|
||||||
|
|
||||||
this.title.add_style_pseudo_class('hover');
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_animateInvisible: function() {
|
_animateInvisible: function() {
|
||||||
this.closeButton.opacity = 255;
|
[this.closeButton, this.border, this.title].forEach(a => {
|
||||||
Tweener.addTween(this.closeButton,
|
a.opacity = 255;
|
||||||
{ opacity: 0,
|
Tweener.addTween(a,
|
||||||
time: CLOSE_BUTTON_FADE_TIME,
|
{ opacity: 0,
|
||||||
transition: 'easeInQuad' });
|
time: CLOSE_BUTTON_FADE_TIME,
|
||||||
|
transition: 'easeInQuad' });
|
||||||
this.border.opacity = 255;
|
});
|
||||||
Tweener.addTween(this.border,
|
|
||||||
{ opacity: 0,
|
|
||||||
time: CLOSE_BUTTON_FADE_TIME,
|
|
||||||
transition: 'easeInQuad' });
|
|
||||||
|
|
||||||
this.title.remove_style_pseudo_class('hover');
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_onEnter: function() {
|
_onShowChrome: function() {
|
||||||
// We might get enter events on the clone while the overlay is
|
// We might get enter events on the clone while the overlay is
|
||||||
// hidden, e.g. during animations, we ignore these events,
|
// hidden, e.g. during animations, we ignore these events,
|
||||||
// as the close button will be shown as needed when the overlays
|
// as the close button will be shown as needed when the overlays
|
||||||
// are shown again
|
// are shown again
|
||||||
if (this._hidden)
|
if (this._hidden)
|
||||||
return Clutter.EVENT_PROPAGATE;
|
return;
|
||||||
|
|
||||||
|
this._windowClone.actor.grab_key_focus();
|
||||||
this._animateVisible();
|
this._animateVisible();
|
||||||
this.emit('show-close-button');
|
this.emit('show-close-button');
|
||||||
return Clutter.EVENT_PROPAGATE;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_onLeave: function() {
|
_onHideChrome: function() {
|
||||||
if (this._idleToggleCloseId == 0) {
|
if (this._idleToggleCloseId == 0) {
|
||||||
this._idleToggleCloseId = Mainloop.timeout_add(750, Lang.bind(this, this._idleToggleCloseButton));
|
this._idleToggleCloseId = Mainloop.timeout_add(750, Lang.bind(this, this._idleToggleCloseButton));
|
||||||
GLib.Source.set_name_by_id(this._idleToggleCloseId, '[gnome-shell] this._idleToggleCloseButton');
|
GLib.Source.set_name_by_id(this._idleToggleCloseId, '[gnome-shell] this._idleToggleCloseButton');
|
||||||
}
|
}
|
||||||
return Clutter.EVENT_PROPAGATE;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_idleToggleCloseButton: function() {
|
_idleToggleCloseButton: function() {
|
||||||
@ -713,13 +691,10 @@ var WindowOverlay = new Lang.Class({
|
|||||||
}
|
}
|
||||||
this.closeButton.hide();
|
this.closeButton.hide();
|
||||||
this.border.hide();
|
this.border.hide();
|
||||||
this.title.remove_style_pseudo_class('hover');
|
this.title.hide();
|
||||||
},
|
},
|
||||||
|
|
||||||
_onStyleChanged: function() {
|
_onStyleChanged: function() {
|
||||||
let titleNode = this.title.get_theme_node();
|
|
||||||
this.title._spacing = titleNode.get_length('-shell-caption-spacing');
|
|
||||||
|
|
||||||
let closeNode = this.closeButton.get_theme_node();
|
let closeNode = this.closeButton.get_theme_node();
|
||||||
this.closeButton._overlap = closeNode.get_length('-shell-close-overlap');
|
this.closeButton._overlap = closeNode.get_length('-shell-close-overlap');
|
||||||
|
|
||||||
@ -975,6 +950,10 @@ var LayoutStrategy = new Lang.Class({
|
|||||||
let cloneX = x + (cellWidth - cloneWidth) / 2;
|
let cloneX = x + (cellWidth - cloneWidth) / 2;
|
||||||
let cloneY = row.y + row.height * row.additionalScale - cellHeight + compensation;
|
let cloneY = row.y + row.height * row.additionalScale - cellHeight + compensation;
|
||||||
|
|
||||||
|
// Align with the pixel grid to prevent blurry windows at scale = 1
|
||||||
|
cloneX = Math.floor(cloneX);
|
||||||
|
cloneY = Math.floor(cloneY);
|
||||||
|
|
||||||
slots.push([cloneX, cloneY, s, window]);
|
slots.push([cloneX, cloneY, s, window]);
|
||||||
x += cellWidth + this._columnSpacing;
|
x += cellWidth + this._columnSpacing;
|
||||||
}
|
}
|
||||||
@ -1091,6 +1070,22 @@ function rectEqual(one, two) {
|
|||||||
one.height == two.height);
|
one.height == two.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const WorkspaceActor = new Lang.Class({
|
||||||
|
Name: 'WorkspaceActor',
|
||||||
|
Extends: St.Widget,
|
||||||
|
|
||||||
|
vfunc_get_focus_chain: function() {
|
||||||
|
return this.get_children().filter(c => c.visible).sort((a,b) => {
|
||||||
|
let cloneA = (a._delegate && a._delegate instanceof WindowClone) ? a._delegate: null;
|
||||||
|
let cloneB = (b._delegate && b._delegate instanceof WindowClone) ? b._delegate: null;
|
||||||
|
if (cloneA && cloneB)
|
||||||
|
return cloneA.slotId - cloneB.slotId;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @metaWorkspace: a #Meta.Workspace, or null
|
* @metaWorkspace: a #Meta.Workspace, or null
|
||||||
*/
|
*/
|
||||||
@ -1113,6 +1108,7 @@ var Workspace = new Lang.Class({
|
|||||||
// do some simple aspect ratio like math to fit the layout calculated
|
// do some simple aspect ratio like math to fit the layout calculated
|
||||||
// for the full geometry into this area.
|
// for the full geometry into this area.
|
||||||
this._actualGeometry = null;
|
this._actualGeometry = null;
|
||||||
|
this._actualGeometryLater = 0;
|
||||||
|
|
||||||
this._currentLayout = null;
|
this._currentLayout = null;
|
||||||
|
|
||||||
@ -1122,7 +1118,7 @@ var Workspace = new Lang.Class({
|
|||||||
// Without this the drop area will be overlapped.
|
// Without this the drop area will be overlapped.
|
||||||
this._windowOverlaysGroup.set_size(0, 0);
|
this._windowOverlaysGroup.set_size(0, 0);
|
||||||
|
|
||||||
this.actor = new St.Widget({ style_class: 'window-picker' });
|
this.actor = new WorkspaceActor({ style_class: 'window-picker' });
|
||||||
if (monitorIndex != Main.layoutManager.primaryIndex)
|
if (monitorIndex != Main.layoutManager.primaryIndex)
|
||||||
this.actor.add_style_class_name('external-monitor');
|
this.actor.add_style_class_name('external-monitor');
|
||||||
this.actor.set_size(0, 0);
|
this.actor.set_size(0, 0);
|
||||||
@ -1951,19 +1947,16 @@ var Workspace = new Lang.Class({
|
|||||||
right: node.get_padding(St.Side.RIGHT),
|
right: node.get_padding(St.Side.RIGHT),
|
||||||
};
|
};
|
||||||
|
|
||||||
let closeButtonHeight, captionHeight;
|
|
||||||
let leftBorder, rightBorder;
|
|
||||||
|
|
||||||
// All of the overlays have the same chrome sizes,
|
// All of the overlays have the same chrome sizes,
|
||||||
// so just pick the first one.
|
// so just pick the first one.
|
||||||
let overlay = this._windowOverlays[0];
|
let overlay = this._windowOverlays[0];
|
||||||
[closeButtonHeight, captionHeight] = overlay.chromeHeights();
|
let [topBorder, bottomBorder] = overlay.chromeHeights();
|
||||||
[leftBorder, rightBorder] = overlay.chromeWidths();
|
let [leftBorder, rightBorder] = overlay.chromeWidths();
|
||||||
|
|
||||||
rowSpacing += captionHeight;
|
rowSpacing += (topBorder + bottomBorder) / 2;
|
||||||
columnSpacing += (rightBorder + leftBorder) / 2;
|
columnSpacing += (rightBorder + leftBorder) / 2;
|
||||||
padding.top += closeButtonHeight;
|
padding.top += topBorder;
|
||||||
padding.bottom += captionHeight;
|
padding.bottom += bottomBorder;
|
||||||
padding.left += leftBorder;
|
padding.left += leftBorder;
|
||||||
padding.right += rightBorder;
|
padding.right += rightBorder;
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@ var WorkspaceSwitcherPopup = new Lang.Class({
|
|||||||
this._itemSpacing = 0;
|
this._itemSpacing = 0;
|
||||||
this._childHeight = 0;
|
this._childHeight = 0;
|
||||||
this._childWidth = 0;
|
this._childWidth = 0;
|
||||||
|
this._timeoutId = 0;
|
||||||
this._list.connect('style-changed', Lang.bind(this, function() {
|
this._list.connect('style-changed', Lang.bind(this, function() {
|
||||||
this._itemSpacing = this._list.get_theme_node().get_length('spacing');
|
this._itemSpacing = this._list.get_theme_node().get_length('spacing');
|
||||||
}));
|
}));
|
||||||
@ -49,9 +50,6 @@ var WorkspaceSwitcherPopup = new Lang.Class({
|
|||||||
this._globalSignals = [];
|
this._globalSignals = [];
|
||||||
this._globalSignals.push(global.screen.connect('workspace-added', Lang.bind(this, this._redisplay)));
|
this._globalSignals.push(global.screen.connect('workspace-added', Lang.bind(this, this._redisplay)));
|
||||||
this._globalSignals.push(global.screen.connect('workspace-removed', Lang.bind(this, this._redisplay)));
|
this._globalSignals.push(global.screen.connect('workspace-removed', Lang.bind(this, this._redisplay)));
|
||||||
|
|
||||||
this._timeoutId = Mainloop.timeout_add(DISPLAY_TIMEOUT, Lang.bind(this, this._onTimeout));
|
|
||||||
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._onTimeout');
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_getPreferredHeight : function (actor, forWidth, alloc) {
|
_getPreferredHeight : function (actor, forWidth, alloc) {
|
||||||
|
@ -18,8 +18,8 @@ const WindowManager = imports.ui.windowManager;
|
|||||||
const Workspace = imports.ui.workspace;
|
const Workspace = imports.ui.workspace;
|
||||||
const WorkspacesView = imports.ui.workspacesView;
|
const WorkspacesView = imports.ui.workspacesView;
|
||||||
|
|
||||||
// The maximum size of a thumbnail is 1/8 the width and height of the screen
|
// The maximum size of a thumbnail is 1/10 the width and height of the screen
|
||||||
let MAX_THUMBNAIL_SCALE = 1/8.;
|
let MAX_THUMBNAIL_SCALE = 1/10.;
|
||||||
|
|
||||||
var RESCALE_ANIMATION_TIME = 0.2;
|
var RESCALE_ANIMATION_TIME = 0.2;
|
||||||
var SLIDE_ANIMATION_TIME = 0.2;
|
var SLIDE_ANIMATION_TIME = 0.2;
|
||||||
@ -937,7 +937,8 @@ var ThumbnailsBox = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
addThumbnails: function(start, count) {
|
addThumbnails: function(start, count) {
|
||||||
this._ensurePorthole();
|
if (!this._ensurePorthole())
|
||||||
|
return;
|
||||||
for (let k = start; k < start + count; k++) {
|
for (let k = start; k < start + count; k++) {
|
||||||
let metaWorkspace = global.screen.get_workspace_by_index(k);
|
let metaWorkspace = global.screen.get_workspace_by_index(k);
|
||||||
let thumbnail = new WorkspaceThumbnail(metaWorkspace);
|
let thumbnail = new WorkspaceThumbnail(metaWorkspace);
|
||||||
@ -1125,7 +1126,12 @@ var ThumbnailsBox = new Lang.Class({
|
|||||||
// the size request to our children because we know how big they are and know
|
// the size request to our children because we know how big they are and know
|
||||||
// that the actors aren't depending on the virtual functions being called.
|
// that the actors aren't depending on the virtual functions being called.
|
||||||
|
|
||||||
this._ensurePorthole();
|
if (!this._ensurePorthole()) {
|
||||||
|
alloc.min_size = -1;
|
||||||
|
alloc.natural_size = -1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let themeNode = this.actor.get_theme_node();
|
let themeNode = this.actor.get_theme_node();
|
||||||
|
|
||||||
let spacing = themeNode.get_length('spacing');
|
let spacing = themeNode.get_length('spacing');
|
||||||
@ -1137,7 +1143,11 @@ var ThumbnailsBox = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_getPreferredWidth: function(actor, forHeight, alloc) {
|
_getPreferredWidth: function(actor, forHeight, alloc) {
|
||||||
this._ensurePorthole();
|
if (!this._ensurePorthole()) {
|
||||||
|
alloc.min_size = -1;
|
||||||
|
alloc.natural_size = -1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let themeNode = this.actor.get_theme_node();
|
let themeNode = this.actor.get_theme_node();
|
||||||
|
|
||||||
@ -1158,8 +1168,13 @@ var ThumbnailsBox = new Lang.Class({
|
|||||||
// The "porthole" is the portion of the screen that we show in the
|
// The "porthole" is the portion of the screen that we show in the
|
||||||
// workspaces
|
// workspaces
|
||||||
_ensurePorthole: function() {
|
_ensurePorthole: function() {
|
||||||
|
if (!Main.layoutManager.primaryMonitor)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (!this._porthole)
|
if (!this._porthole)
|
||||||
this._porthole = Main.layoutManager.getWorkAreaForMonitor(Main.layoutManager.primaryIndex);
|
this._porthole = Main.layoutManager.getWorkAreaForMonitor(Main.layoutManager.primaryIndex);
|
||||||
|
|
||||||
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
_allocate: function(actor, box, flags) {
|
_allocate: function(actor, box, flags) {
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
XSLTPROC_FLAGS = \
|
|
||||||
--nonet \
|
|
||||||
--stringparam man.output.quietly 1 \
|
|
||||||
--stringparam funcsynopsis.style ansi \
|
|
||||||
--stringparam man.th.extra1.suppress 1 \
|
|
||||||
--stringparam man.authors.section.enabled 0 \
|
|
||||||
--stringparam man.copyright.section.enabled 0
|
|
||||||
|
|
||||||
.xml.1:
|
|
||||||
$(AM_V_GEN) $(XSLTPROC) $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
|
|
||||||
|
|
||||||
man_MANS = \
|
|
||||||
gnome-shell.1
|
|
||||||
|
|
||||||
xml_files = $(man_MANS:.1=.xml)
|
|
||||||
|
|
||||||
EXTRA_DIST = $(xml_files)
|
|
||||||
|
|
||||||
DISTCLEANFILES = $(man_MANS)
|
|
@ -1,6 +1,6 @@
|
|||||||
project('gnome-shell', 'c',
|
project('gnome-shell', 'c',
|
||||||
version: '3.25.4',
|
version: '3.26.2',
|
||||||
meson_version: '>= 0.41.0',
|
meson_version: '>= 0.42.0',
|
||||||
license: 'GPLv2+'
|
license: 'GPLv2+'
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ gi_req = '>= 1.49.1'
|
|||||||
gjs_req = '>= 1.47.0'
|
gjs_req = '>= 1.47.0'
|
||||||
gtk_req = '>= 3.15.0'
|
gtk_req = '>= 3.15.0'
|
||||||
json_glib_req = '>= 0.13.2'
|
json_glib_req = '>= 0.13.2'
|
||||||
mutter_req = '>= 3.25.2'
|
mutter_req = '>= 3.26.0'
|
||||||
polkit_req = '>= 0.100'
|
polkit_req = '>= 0.100'
|
||||||
schemas_req = '>= 3.21.3'
|
schemas_req = '>= 3.21.3'
|
||||||
startup_req = '>= 0.11'
|
startup_req = '>= 0.11'
|
||||||
|
@ -9,6 +9,7 @@ js/extensionPrefs/main.js
|
|||||||
js/gdm/authPrompt.js
|
js/gdm/authPrompt.js
|
||||||
js/gdm/loginDialog.js
|
js/gdm/loginDialog.js
|
||||||
js/gdm/util.js
|
js/gdm/util.js
|
||||||
|
js/misc/systemActions.js
|
||||||
js/misc/util.js
|
js/misc/util.js
|
||||||
js/portalHelper/main.js
|
js/portalHelper/main.js
|
||||||
js/ui/accessDialog.js
|
js/ui/accessDialog.js
|
||||||
@ -30,8 +31,8 @@ js/ui/dateMenu.js
|
|||||||
js/ui/endSessionDialog.js
|
js/ui/endSessionDialog.js
|
||||||
js/ui/extensionDownloader.js
|
js/ui/extensionDownloader.js
|
||||||
js/ui/extensionSystem.js
|
js/ui/extensionSystem.js
|
||||||
|
js/ui/inhibitShortcutsDialog.js
|
||||||
js/ui/keyboard.js
|
js/ui/keyboard.js
|
||||||
js/ui/legacyTray.js
|
|
||||||
js/ui/lookingGlass.js
|
js/ui/lookingGlass.js
|
||||||
js/ui/main.js
|
js/ui/main.js
|
||||||
js/ui/messageList.js
|
js/ui/messageList.js
|
||||||
@ -59,6 +60,7 @@ js/ui/status/power.js
|
|||||||
js/ui/status/rfkill.js
|
js/ui/status/rfkill.js
|
||||||
js/ui/status/system.js
|
js/ui/status/system.js
|
||||||
js/ui/status/volume.js
|
js/ui/status/volume.js
|
||||||
|
js/ui/switchMonitor.js
|
||||||
js/ui/unlockDialog.js
|
js/ui/unlockDialog.js
|
||||||
js/ui/viewSelector.js
|
js/ui/viewSelector.js
|
||||||
js/ui/windowAttentionHandler.js
|
js/ui/windowAttentionHandler.js
|
||||||
|
2571
po/ca@valencia.po
2571
po/ca@valencia.po
File diff suppressed because it is too large
Load Diff
351
po/es.po
351
po/es.po
@ -10,8 +10,8 @@ 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-07-20 03:49+0000\n"
|
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
|
||||||
"PO-Revision-Date: 2017-07-24 15:38+0200\n"
|
"PO-Revision-Date: 2017-08-22 13:38+0200\n"
|
||||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||||
"Language-Team: es <gnome-es-list@gnome.org>\n"
|
"Language-Team: es <gnome-es-list@gnome.org>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
@ -349,7 +349,7 @@ msgstr "Hubo un error al lanzar el diálogo de preferencias para %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:117 js/ui/components/polkitAgent.js:148
|
#: js/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||||
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
||||||
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:947
|
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:936
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
@ -410,6 +410,82 @@ msgstr "Error de autenticación"
|
|||||||
msgid "(or swipe finger)"
|
msgid "(or swipe finger)"
|
||||||
msgstr "(o pase el dedo)"
|
msgstr "(o pase el dedo)"
|
||||||
|
|
||||||
|
#. Translators: The name of the power-off action in search
|
||||||
|
#: js/misc/systemActions.js:99
|
||||||
|
#| msgid "Power Off"
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Power off"
|
||||||
|
msgstr "Apagar"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the power-off action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:102
|
||||||
|
msgid "power off;shutdown"
|
||||||
|
msgstr "apagar;apagado"
|
||||||
|
|
||||||
|
#. Translators: The name of the lock screen action in search
|
||||||
|
#: js/misc/systemActions.js:106
|
||||||
|
#| msgid "Lock Screen"
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Lock screen"
|
||||||
|
msgstr "Bloquear la pantalla"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the lock screen action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:109
|
||||||
|
#| msgid "Lock Screen"
|
||||||
|
msgid "lock screen"
|
||||||
|
msgstr "bloquear;pantalla"
|
||||||
|
|
||||||
|
#. Translators: The name of the logout action in search
|
||||||
|
#: js/misc/systemActions.js:113
|
||||||
|
#| msgid "Log Out"
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Log out"
|
||||||
|
msgstr "Cerrar la sesión"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the logout action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:116
|
||||||
|
msgid "logout;sign off"
|
||||||
|
msgstr "cerrar;sesión;salir"
|
||||||
|
|
||||||
|
#. Translators: The name of the suspend action in search
|
||||||
|
#: js/misc/systemActions.js:120
|
||||||
|
#| msgid "Suspend"
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Suspend"
|
||||||
|
msgstr "Suspender"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:123
|
||||||
|
#| msgid "Suspend"
|
||||||
|
msgid "suspend;sleep"
|
||||||
|
msgstr "suspender;dormir"
|
||||||
|
|
||||||
|
#. Translators: The name of the switch user action in search
|
||||||
|
#: js/misc/systemActions.js:127
|
||||||
|
#| msgid "Switch User"
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Switch user"
|
||||||
|
msgstr "Cambiar de usuario"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the switch user action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:130
|
||||||
|
#| msgid "Switch User"
|
||||||
|
msgid "switch user"
|
||||||
|
msgstr "cambiar;usuario"
|
||||||
|
|
||||||
|
#. Translators: The name of the lock orientation action in search
|
||||||
|
#: js/misc/systemActions.js:134
|
||||||
|
#| msgid "Orientation Lock"
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Lock orientation"
|
||||||
|
msgstr "Bloqueo de orientación"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:137
|
||||||
|
#| msgid "Clock Format"
|
||||||
|
msgid "lock orientation"
|
||||||
|
msgstr "bloqueo;orientación"
|
||||||
|
|
||||||
#: js/misc/util.js:122
|
#: js/misc/util.js:122
|
||||||
msgid "Command not found"
|
msgid "Command not found"
|
||||||
msgstr "Comando no encontrado"
|
msgstr "Comando no encontrado"
|
||||||
@ -568,35 +644,35 @@ msgstr "Denegar acceso"
|
|||||||
msgid "Grant Access"
|
msgid "Grant Access"
|
||||||
msgstr "Conceder acceso"
|
msgstr "Conceder acceso"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:806
|
#: js/ui/appDisplay.js:809
|
||||||
msgid "Frequently used applications will appear here"
|
msgid "Frequently used applications will appear here"
|
||||||
msgstr "Las aplicaciones usadas frecuentemente aparecerán aquí"
|
msgstr "Las aplicaciones usadas frecuentemente aparecerán aquí"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:927
|
#: js/ui/appDisplay.js:930
|
||||||
msgid "Frequent"
|
msgid "Frequent"
|
||||||
msgstr "Frecuentes"
|
msgstr "Frecuentes"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:934
|
#: js/ui/appDisplay.js:937
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Todas"
|
msgstr "Todas"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1895
|
#: js/ui/appDisplay.js:1915
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Ventana nueva"
|
msgstr "Ventana nueva"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1909
|
#: js/ui/appDisplay.js:1929
|
||||||
msgid "Launch using Dedicated Graphics Card"
|
msgid "Launch using Dedicated Graphics Card"
|
||||||
msgstr "Lanzar usando la tarjeta gráfica dedicada"
|
msgstr "Lanzar usando la tarjeta gráfica dedicada"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1936 js/ui/dash.js:289
|
#: js/ui/appDisplay.js:1956 js/ui/dash.js:289
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Quitar de los favoritos"
|
msgstr "Quitar de los favoritos"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1942
|
#: js/ui/appDisplay.js:1962
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Añadir a los favoritos"
|
msgstr "Añadir a los favoritos"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1952
|
#: js/ui/appDisplay.js:1972
|
||||||
msgid "Show Details"
|
msgid "Show Details"
|
||||||
msgstr "Mostrar detalles"
|
msgstr "Mostrar detalles"
|
||||||
|
|
||||||
@ -638,7 +714,7 @@ msgstr "Cambiar el fondo…"
|
|||||||
msgid "Display Settings"
|
msgid "Display Settings"
|
||||||
msgstr "Configuración de pantalla"
|
msgstr "Configuración de pantalla"
|
||||||
|
|
||||||
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:407
|
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:265
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Configuración"
|
msgstr "Configuración"
|
||||||
|
|
||||||
@ -745,7 +821,6 @@ msgstr "Limpiar todo"
|
|||||||
#. Translators: %s is an application name
|
#. Translators: %s is an application name
|
||||||
#: js/ui/closeDialog.js:44
|
#: js/ui/closeDialog.js:44
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
#| msgid "“%s” is ready"
|
|
||||||
msgid "“%s” is not responding."
|
msgid "“%s” is not responding."
|
||||||
msgstr "«%s» no responde."
|
msgstr "«%s» no responde."
|
||||||
|
|
||||||
@ -786,8 +861,8 @@ msgstr "Contraseña:"
|
|||||||
msgid "Type again:"
|
msgid "Type again:"
|
||||||
msgstr "Escriba de nuevo:"
|
msgstr "Escriba de nuevo:"
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:272
|
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:261
|
||||||
#: js/ui/status/network.js:366 js/ui/status/network.js:950
|
#: js/ui/status/network.js:355 js/ui/status/network.js:939
|
||||||
msgid "Connect"
|
msgid "Connect"
|
||||||
msgstr "Conectar"
|
msgstr "Conectar"
|
||||||
|
|
||||||
@ -862,7 +937,7 @@ msgstr "Contraseña de la red de banda ancha móvil"
|
|||||||
msgid "A password is required to connect to “%s”."
|
msgid "A password is required to connect to “%s”."
|
||||||
msgstr "Se requiere una contraseña para conectarse a «%s»."
|
msgstr "Se requiere una contraseña para conectarse a «%s»."
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1760
|
#: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1720
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Gestor de la red"
|
msgstr "Gestor de la red"
|
||||||
|
|
||||||
@ -893,7 +968,7 @@ msgstr "Eso no ha funcionado. Inténtelo de nuevo."
|
|||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "Ahora %s se llama %s"
|
msgstr "Ahora %s se llama %s"
|
||||||
|
|
||||||
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:179
|
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:186
|
||||||
msgid "Windows"
|
msgid "Windows"
|
||||||
msgstr "Ventanas"
|
msgstr "Ventanas"
|
||||||
|
|
||||||
@ -938,7 +1013,7 @@ msgstr "Meteorología"
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:281
|
#: js/ui/dateMenu.js:286
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s all day."
|
msgid "%s all day."
|
||||||
msgstr "%s todo el día."
|
msgstr "%s todo el día."
|
||||||
@ -947,7 +1022,7 @@ msgstr "%s todo el día."
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:287
|
#: js/ui/dateMenu.js:292
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s, then %s later."
|
msgid "%s, then %s later."
|
||||||
msgstr "%s, luego %s."
|
msgstr "%s, luego %s."
|
||||||
@ -956,30 +1031,30 @@ msgstr "%s, luego %s."
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:293
|
#: js/ui/dateMenu.js:298
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s, then %s, followed by %s later."
|
msgid "%s, then %s, followed by %s later."
|
||||||
msgstr "%s, luego %s seguido de %s."
|
msgstr "%s, luego %s seguido de %s."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:300
|
#: js/ui/dateMenu.js:309
|
||||||
msgid "Select a location…"
|
msgid "Select a location…"
|
||||||
msgstr "Seleccionar ubicación…"
|
msgstr "Seleccionar ubicación…"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:303
|
#: js/ui/dateMenu.js:312
|
||||||
msgid "Loading…"
|
msgid "Loading…"
|
||||||
msgstr "Cargando…"
|
msgstr "Cargando…"
|
||||||
|
|
||||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
||||||
#: js/ui/dateMenu.js:309
|
#: js/ui/dateMenu.js:318
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Feels like %s."
|
msgid "Feels like %s."
|
||||||
msgstr "Sensación térmica de %s."
|
msgstr "Sensación térmica de %s."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:312
|
#: js/ui/dateMenu.js:321
|
||||||
msgid "Go online for weather information"
|
msgid "Go online for weather information"
|
||||||
msgstr "Conectarse para obtener la información meteorológica"
|
msgstr "Conectarse para obtener la información meteorológica"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:314
|
#: js/ui/dateMenu.js:323
|
||||||
msgid "Weather information is currently unavailable"
|
msgid "Weather information is currently unavailable"
|
||||||
msgstr "La información meteorológica no está disponible actualmente."
|
msgstr "La información meteorológica no está disponible actualmente."
|
||||||
|
|
||||||
@ -1141,19 +1216,34 @@ msgstr "Instalar"
|
|||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
|
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
|
||||||
|
|
||||||
#: js/ui/keyboard.js:740 js/ui/status/keyboard.js:782
|
#. Translators: %s is an application name like "Settings"
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:59
|
||||||
|
#, javascript-format
|
||||||
|
msgid "%s wants to inhibit shortcuts"
|
||||||
|
msgstr "%s quiere inhibir los atajos"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:60
|
||||||
|
msgid "Application wants to inhibit shortcuts"
|
||||||
|
msgstr "Su aplicación quiere inhibir los atajos"
|
||||||
|
|
||||||
|
#. Translators: %s is a keyboard shortcut like "Super+x"
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:69
|
||||||
|
#, javascript-format
|
||||||
|
msgid "You can restore shortcuts by pressing %s."
|
||||||
|
msgstr "Puede restaurar los atajos pulsando %s."
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:74
|
||||||
|
msgid "Deny"
|
||||||
|
msgstr "Denegar"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:80
|
||||||
|
msgid "Allow"
|
||||||
|
msgstr "Permitir"
|
||||||
|
|
||||||
|
#: js/ui/keyboard.js:738 js/ui/status/keyboard.js:782
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Teclado"
|
msgstr "Teclado"
|
||||||
|
|
||||||
#. translators: 'Hide' is a verb
|
|
||||||
#: js/ui/legacyTray.js:65
|
|
||||||
msgid "Hide tray"
|
|
||||||
msgstr "Ocultar bandeja"
|
|
||||||
|
|
||||||
#: js/ui/legacyTray.js:106
|
|
||||||
msgid "Status Icons"
|
|
||||||
msgstr "Iconos de estado"
|
|
||||||
|
|
||||||
#: js/ui/lookingGlass.js:642
|
#: js/ui/lookingGlass.js:642
|
||||||
msgid "No extensions installed"
|
msgid "No extensions installed"
|
||||||
msgstr "No hay extensiones instaladas"
|
msgstr "No hay extensiones instaladas"
|
||||||
@ -1340,7 +1430,7 @@ msgid_plural "%d new notifications"
|
|||||||
msgstr[0] "%d notificación nueva"
|
msgstr[0] "%d notificación nueva"
|
||||||
msgstr[1] "%d notificaciones nuevas"
|
msgstr[1] "%d notificaciones nuevas"
|
||||||
|
|
||||||
#: js/ui/screenShield.js:452 js/ui/status/system.js:415
|
#: js/ui/screenShield.js:452 js/ui/status/system.js:284
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Bloquear"
|
msgstr "Bloquear"
|
||||||
|
|
||||||
@ -1371,10 +1461,13 @@ msgstr "Buscando…"
|
|||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "No se encontraron resultados."
|
msgstr "No se encontraron resultados."
|
||||||
|
|
||||||
#: js/ui/search.js:768
|
#: js/ui/search.js:777
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
|
#| msgid "%d more"
|
||||||
msgid "%d more"
|
msgid "%d more"
|
||||||
msgstr "%d más"
|
msgid_plural "%d more"
|
||||||
|
msgstr[0] "%d más"
|
||||||
|
msgstr[1] "%d más"
|
||||||
|
|
||||||
#: js/ui/shellEntry.js:25
|
#: js/ui/shellEntry.js:25
|
||||||
msgid "Copy"
|
msgid "Copy"
|
||||||
@ -1448,7 +1541,7 @@ msgstr "Texto grande"
|
|||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:638
|
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:627
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Configuración de Bluetooth"
|
msgstr "Configuración de Bluetooth"
|
||||||
|
|
||||||
@ -1468,13 +1561,13 @@ msgstr "Desconectado"
|
|||||||
msgid "On"
|
msgid "On"
|
||||||
msgstr "Encender"
|
msgstr "Encender"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
|
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1299
|
||||||
msgid "Turn On"
|
msgid "Turn On"
|
||||||
msgstr "Encender"
|
msgstr "Encender"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
|
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
|
||||||
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
|
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
|
||||||
#: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
|
#: js/ui/status/network.js:1418 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 "Apagar"
|
msgstr "Apagar"
|
||||||
@ -1528,13 +1621,13 @@ msgid "<unknown>"
|
|||||||
msgstr "<desconocido>"
|
msgstr "<desconocido>"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:465 js/ui/status/network.js:1339
|
#: js/ui/status/network.js:454 js/ui/status/network.js:1328
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Off"
|
msgid "%s Off"
|
||||||
msgstr "%s apagada"
|
msgstr "%s apagada"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:468
|
#: js/ui/status/network.js:457
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connected"
|
msgid "%s Connected"
|
||||||
msgstr "%s conectada"
|
msgstr "%s conectada"
|
||||||
@ -1542,190 +1635,189 @@ msgstr "%s conectada"
|
|||||||
#. Translators: this is for network devices that are physically present but are not
|
#. Translators: this is for network devices that are physically present but are not
|
||||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||||
#. %s is a network identifier
|
#. %s is a network identifier
|
||||||
#: js/ui/status/network.js:473
|
#: js/ui/status/network.js:462
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Unmanaged"
|
msgid "%s Unmanaged"
|
||||||
msgstr "%s sin gestionar"
|
msgstr "%s sin gestionar"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:476
|
#: js/ui/status/network.js:465
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Disconnecting"
|
msgid "%s Disconnecting"
|
||||||
msgstr "Desconectando %s"
|
msgstr "Desconectando %s"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:483 js/ui/status/network.js:1331
|
#: js/ui/status/network.js:472 js/ui/status/network.js:1320
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connecting"
|
msgid "%s Connecting"
|
||||||
msgstr "Conectando %s"
|
msgstr "Conectando %s"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
||||||
#: js/ui/status/network.js:486
|
#: js/ui/status/network.js:475
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Requires Authentication"
|
msgid "%s Requires Authentication"
|
||||||
msgstr "%s requiere autenticación"
|
msgstr "%s requiere autenticación"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing; %s is a network identifier
|
#. module, which is missing; %s is a network identifier
|
||||||
#: js/ui/status/network.js:494
|
#: js/ui/status/network.js:483
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Firmware Missing For %s"
|
msgid "Firmware Missing For %s"
|
||||||
msgstr "Falta el «firmware» para %s"
|
msgstr "Falta el «firmware» para %s"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
||||||
#: js/ui/status/network.js:498
|
#: js/ui/status/network.js:487
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Unavailable"
|
msgid "%s Unavailable"
|
||||||
msgstr "%s no disponible"
|
msgstr "%s no disponible"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:501
|
#: js/ui/status/network.js:490
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connection Failed"
|
msgid "%s Connection Failed"
|
||||||
msgstr "Falló la conexión %s"
|
msgstr "Falló la conexión %s"
|
||||||
|
|
||||||
#: js/ui/status/network.js:517
|
#: js/ui/status/network.js:506
|
||||||
msgid "Wired Settings"
|
msgid "Wired Settings"
|
||||||
msgstr "Configuración de red cableada"
|
msgstr "Configuración de red cableada"
|
||||||
|
|
||||||
#: js/ui/status/network.js:559
|
#: js/ui/status/network.js:548
|
||||||
msgid "Mobile Broadband Settings"
|
msgid "Mobile Broadband Settings"
|
||||||
msgstr "Configuración de banda ancha móvil"
|
msgstr "Configuración de banda ancha móvil"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:602 js/ui/status/network.js:1336
|
#: js/ui/status/network.js:591 js/ui/status/network.js:1325
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hardware Disabled"
|
msgid "%s Hardware Disabled"
|
||||||
msgstr "Hardware %s desactivado"
|
msgstr "Hardware %s desactivado"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated
|
#. Translators: this is for a network device that cannot be activated
|
||||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||||
#: js/ui/status/network.js:606
|
#: js/ui/status/network.js:595
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Disabled"
|
msgid "%s Disabled"
|
||||||
msgstr "%s desactivado"
|
msgstr "%s desactivado"
|
||||||
|
|
||||||
#: js/ui/status/network.js:646
|
#: js/ui/status/network.js:635
|
||||||
msgid "Connect to Internet"
|
msgid "Connect to Internet"
|
||||||
msgstr "Conectar a Internet"
|
msgstr "Conectar a Internet"
|
||||||
|
|
||||||
#: js/ui/status/network.js:844
|
#: js/ui/status/network.js:833
|
||||||
msgid "Airplane Mode is On"
|
msgid "Airplane Mode is On"
|
||||||
msgstr "El modo avión está activado"
|
msgstr "El modo avión está activado"
|
||||||
|
|
||||||
#: js/ui/status/network.js:845
|
#: js/ui/status/network.js:834
|
||||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||||
msgstr "La Wi-Fi se desactiva cuando se activa el modo avión."
|
msgstr "La Wi-Fi se desactiva cuando se activa el modo avión."
|
||||||
|
|
||||||
#: js/ui/status/network.js:846
|
#: js/ui/status/network.js:835
|
||||||
msgid "Turn Off Airplane Mode"
|
msgid "Turn Off Airplane Mode"
|
||||||
msgstr "Apagar el modo avión"
|
msgstr "Apagar el modo avión"
|
||||||
|
|
||||||
#: js/ui/status/network.js:855
|
#: js/ui/status/network.js:844
|
||||||
msgid "Wi-Fi is Off"
|
msgid "Wi-Fi is Off"
|
||||||
msgstr "La Wi-Fi está desactivada"
|
msgstr "La Wi-Fi está desactivada"
|
||||||
|
|
||||||
#: js/ui/status/network.js:856
|
#: js/ui/status/network.js:845
|
||||||
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 "Se debe activar la Wi-Fi para poder conectarse a la red."
|
msgstr "Se debe activar la Wi-Fi para poder conectarse a la red."
|
||||||
|
|
||||||
#: js/ui/status/network.js:857
|
#: js/ui/status/network.js:846
|
||||||
msgid "Turn On Wi-Fi"
|
msgid "Turn On Wi-Fi"
|
||||||
msgstr "Activar la Wi-Fi"
|
msgstr "Activar la Wi-Fi"
|
||||||
|
|
||||||
#: js/ui/status/network.js:882
|
#: js/ui/status/network.js:871
|
||||||
msgid "Wi-Fi Networks"
|
msgid "Wi-Fi Networks"
|
||||||
msgstr "Redes Wi-Fi"
|
msgstr "Redes Wi-Fi"
|
||||||
|
|
||||||
#: js/ui/status/network.js:884
|
#: js/ui/status/network.js:873
|
||||||
msgid "Select a network"
|
msgid "Select a network"
|
||||||
msgstr "Seleccionar una red"
|
msgstr "Seleccionar una red"
|
||||||
|
|
||||||
#: js/ui/status/network.js:914
|
#: js/ui/status/network.js:903
|
||||||
msgid "No Networks"
|
msgid "No Networks"
|
||||||
msgstr "No hay redes"
|
msgstr "No hay redes"
|
||||||
|
|
||||||
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
|
#: js/ui/status/network.js:924 js/ui/status/rfkill.js:115
|
||||||
msgid "Use hardware switch to turn off"
|
msgid "Use hardware switch to turn off"
|
||||||
msgstr "Usar el interruptor hardware para apagar"
|
msgstr "Usar el interruptor hardware para apagar"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1202
|
#: js/ui/status/network.js:1191
|
||||||
msgid "Select Network"
|
msgid "Select Network"
|
||||||
msgstr "Seleccionar red"
|
msgstr "Seleccionar red"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1208
|
#: js/ui/status/network.js:1197
|
||||||
msgid "Wi-Fi Settings"
|
msgid "Wi-Fi Settings"
|
||||||
msgstr "Configuración de Wi-Fi"
|
msgstr "Configuración de Wi-Fi"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1327
|
#: js/ui/status/network.js:1316
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hotspot Active"
|
msgid "%s Hotspot Active"
|
||||||
msgstr "Punto de acceso %s activo"
|
msgstr "Punto de acceso %s activo"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1342
|
#: js/ui/status/network.js:1331
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Not Connected"
|
msgid "%s Not Connected"
|
||||||
msgstr "%s no conectado"
|
msgstr "%s no conectado"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1446
|
#: js/ui/status/network.js:1435
|
||||||
msgid "connecting…"
|
msgid "connecting…"
|
||||||
msgstr "conectando…"
|
msgstr "conectando…"
|
||||||
|
|
||||||
#. 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:1449
|
#: js/ui/status/network.js:1438
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "se necesita autenticación"
|
msgstr "se necesita autenticación"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1451
|
#: js/ui/status/network.js:1440
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "falló la conexión"
|
msgstr "falló la conexión"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1517 js/ui/status/network.js:1612
|
#: js/ui/status/network.js:1494
|
||||||
#: js/ui/status/rfkill.js:93
|
|
||||||
msgid "Network Settings"
|
|
||||||
msgstr "Configuración de la red"
|
|
||||||
|
|
||||||
#: js/ui/status/network.js:1519
|
|
||||||
msgid "VPN Settings"
|
msgid "VPN Settings"
|
||||||
msgstr "Configuración de VPN"
|
msgstr "Configuración de VPN"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1538
|
#: js/ui/status/network.js:1498
|
||||||
msgid "VPN"
|
msgid "VPN"
|
||||||
msgstr "VPN"
|
msgstr "VPN"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1548
|
#: js/ui/status/network.js:1508
|
||||||
msgid "VPN Off"
|
msgid "VPN Off"
|
||||||
msgstr "VPN apagada"
|
msgstr "VPN apagada"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1643
|
#: js/ui/status/network.js:1572 js/ui/status/rfkill.js:93
|
||||||
|
msgid "Network Settings"
|
||||||
|
msgstr "Configuración de la red"
|
||||||
|
|
||||||
|
#: js/ui/status/network.js:1603
|
||||||
#, 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 conexión cableada"
|
msgstr[0] "%s conexión cableada"
|
||||||
msgstr[1] "%s conexiones cableadas"
|
msgstr[1] "%s conexiones cableadas"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1647
|
#: js/ui/status/network.js:1607
|
||||||
#, 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 conexión inalámbrica"
|
msgstr[0] "%s conexión inalámbrica"
|
||||||
msgstr[1] "%s conexiones inalámbricas"
|
msgstr[1] "%s conexiones inalámbricas"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1651
|
#: js/ui/status/network.js:1611
|
||||||
#, 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 conexión por módem"
|
msgstr[0] "%s conexión por módem"
|
||||||
msgstr[1] "%s conexiones por módem"
|
msgstr[1] "%s conexiones por módem"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1799
|
#: js/ui/status/network.js:1759
|
||||||
msgid "Connection failed"
|
msgid "Connection failed"
|
||||||
msgstr "Falló la conexión"
|
msgstr "Falló la conexión"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1800
|
#: js/ui/status/network.js:1760
|
||||||
msgid "Activation of network connection failed"
|
msgid "Activation of network connection failed"
|
||||||
msgstr "Falló la activación de la conexión de red"
|
msgstr "Falló la activación de la conexión de red"
|
||||||
|
|
||||||
@ -1783,27 +1875,27 @@ msgstr "%d %%"
|
|||||||
msgid "Airplane Mode On"
|
msgid "Airplane Mode On"
|
||||||
msgstr "Modo avión activado"
|
msgstr "Modo avión activado"
|
||||||
|
|
||||||
#: js/ui/status/system.js:384
|
#: js/ui/status/system.js:228
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Cambiar de usuario"
|
msgstr "Cambiar de usuario"
|
||||||
|
|
||||||
#: js/ui/status/system.js:389
|
#: js/ui/status/system.js:240
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Cerrar la sesión"
|
msgstr "Cerrar la sesión"
|
||||||
|
|
||||||
#: js/ui/status/system.js:394
|
#: js/ui/status/system.js:252
|
||||||
msgid "Account Settings"
|
msgid "Account Settings"
|
||||||
msgstr "Configuración de la cuenta"
|
msgstr "Configuración de la cuenta"
|
||||||
|
|
||||||
#: js/ui/status/system.js:411
|
#: js/ui/status/system.js:269
|
||||||
msgid "Orientation Lock"
|
msgid "Orientation Lock"
|
||||||
msgstr "Bloqueo de orientación"
|
msgstr "Bloqueo de orientación"
|
||||||
|
|
||||||
#: js/ui/status/system.js:419
|
#: js/ui/status/system.js:295
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Suspender"
|
msgstr "Suspender"
|
||||||
|
|
||||||
#: js/ui/status/system.js:422
|
#: js/ui/status/system.js:305
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Apagar"
|
msgstr "Apagar"
|
||||||
|
|
||||||
@ -1815,6 +1907,36 @@ msgstr "Volumen modificado"
|
|||||||
msgid "Volume"
|
msgid "Volume"
|
||||||
msgstr "Volumen"
|
msgstr "Volumen"
|
||||||
|
|
||||||
|
#. Translators: this is for display mirroring i.e. cloning.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:21
|
||||||
|
#| msgid "Error"
|
||||||
|
msgid "Mirror"
|
||||||
|
msgstr "Espejo"
|
||||||
|
|
||||||
|
#. Translators: this is for the desktop spanning displays.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:26
|
||||||
|
#| msgid "Panel Display"
|
||||||
|
msgid "Join Displays"
|
||||||
|
msgstr "Unir pantallas"
|
||||||
|
|
||||||
|
#. Translators: this is for using only an external display.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:31
|
||||||
|
msgid "External Only"
|
||||||
|
msgstr "Sólo la externa"
|
||||||
|
|
||||||
|
#. Translators: this is for using only the laptop display.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:36
|
||||||
|
msgid "Built-in Only"
|
||||||
|
msgstr "Sólo la integrada"
|
||||||
|
|
||||||
#: js/ui/unlockDialog.js:67
|
#: js/ui/unlockDialog.js:67
|
||||||
msgid "Log in as another user"
|
msgid "Log in as another user"
|
||||||
msgstr "Iniciar sesión como otro usuario"
|
msgstr "Iniciar sesión como otro usuario"
|
||||||
@ -1823,11 +1945,11 @@ msgstr "Iniciar sesión como otro usuario"
|
|||||||
msgid "Unlock Window"
|
msgid "Unlock Window"
|
||||||
msgstr "Desbloquear ventana"
|
msgstr "Desbloquear ventana"
|
||||||
|
|
||||||
#: js/ui/viewSelector.js:183
|
#: js/ui/viewSelector.js:190
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Aplicaciones"
|
msgstr "Aplicaciones"
|
||||||
|
|
||||||
#: js/ui/viewSelector.js:187
|
#: js/ui/viewSelector.js:194
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Buscar"
|
msgstr "Buscar"
|
||||||
|
|
||||||
@ -1836,22 +1958,22 @@ msgstr "Buscar"
|
|||||||
msgid "“%s” is ready"
|
msgid "“%s” is ready"
|
||||||
msgstr "«%s» está preparado"
|
msgstr "«%s» está preparado"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:71
|
#: js/ui/windowManager.js:72
|
||||||
msgid "Do you want to keep these display settings?"
|
msgid "Do you want to keep these display settings?"
|
||||||
msgstr "¿Quiere mantener esta configuración de la pantalla?"
|
msgstr "¿Quiere mantener esta configuración de la pantalla?"
|
||||||
|
|
||||||
#. Translators: this and the following message should be limited in lenght,
|
#. Translators: this and the following message should be limited in lenght,
|
||||||
#. to avoid ellipsizing the labels.
|
#. to avoid ellipsizing the labels.
|
||||||
#.
|
#.
|
||||||
#: js/ui/windowManager.js:83
|
#: js/ui/windowManager.js:84
|
||||||
msgid "Revert Settings"
|
msgid "Revert Settings"
|
||||||
msgstr "Revertir configuración"
|
msgstr "Revertir configuración"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:86
|
#: js/ui/windowManager.js:87
|
||||||
msgid "Keep Changes"
|
msgid "Keep Changes"
|
||||||
msgstr "Mantener cambios"
|
msgstr "Mantener cambios"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:104
|
#: js/ui/windowManager.js:105
|
||||||
#, 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"
|
||||||
@ -1860,7 +1982,7 @@ msgstr[1] "La configuración se revertirá en %d segundos"
|
|||||||
|
|
||||||
#. Translators: This represents the size of a window. The first number is
|
#. Translators: This represents the size of a window. The first number is
|
||||||
#. * the width of the window and the second is the height.
|
#. * the width of the window and the second is the height.
|
||||||
#: js/ui/windowManager.js:659
|
#: js/ui/windowManager.js:660
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d × %d"
|
msgid "%d × %d"
|
||||||
msgstr "%d × %d"
|
msgstr "%d × %d"
|
||||||
@ -1938,21 +2060,21 @@ msgstr "Calendario de Evolution"
|
|||||||
msgid "evolution"
|
msgid "evolution"
|
||||||
msgstr "evolution"
|
msgstr "evolution"
|
||||||
|
|
||||||
#: src/main.c:372
|
#: src/main.c:380
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Imprimir versión"
|
msgstr "Imprimir versión"
|
||||||
|
|
||||||
#: src/main.c:378
|
#: src/main.c:386
|
||||||
msgid "Mode used by GDM for login screen"
|
msgid "Mode used by GDM for login screen"
|
||||||
msgstr "Modo usado por GDM para la pantalla de inicio"
|
msgstr "Modo usado por GDM para la pantalla de inicio"
|
||||||
|
|
||||||
#: src/main.c:384
|
#: src/main.c:392
|
||||||
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Usar un modo específico, por ejemplo, «gdm» para la pantalla de inicio de "
|
"Usar un modo específico, por ejemplo, «gdm» para la pantalla de inicio de "
|
||||||
"sesión"
|
"sesión"
|
||||||
|
|
||||||
#: src/main.c:390
|
#: src/main.c:398
|
||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Listar los modos posibles"
|
msgstr "Listar los modos posibles"
|
||||||
|
|
||||||
@ -2000,6 +2122,12 @@ msgstr[1] "%u entradas"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Sonidos del sistema"
|
msgstr "Sonidos del sistema"
|
||||||
|
|
||||||
|
#~ msgid "Hide tray"
|
||||||
|
#~ msgstr "Ocultar bandeja"
|
||||||
|
|
||||||
|
#~ msgid "Status Icons"
|
||||||
|
#~ msgstr "Iconos de estado"
|
||||||
|
|
||||||
#~ msgid "Events"
|
#~ msgid "Events"
|
||||||
#~ msgstr "Eventos"
|
#~ msgstr "Eventos"
|
||||||
|
|
||||||
@ -2353,12 +2481,6 @@ msgstr "Sonidos del sistema"
|
|||||||
#~ msgid "Device %s wants to pair with this computer"
|
#~ msgid "Device %s wants to pair with this computer"
|
||||||
#~ msgstr "El dispositivo «%s» quiere emparejarse con este equipo"
|
#~ msgstr "El dispositivo «%s» quiere emparejarse con este equipo"
|
||||||
|
|
||||||
#~ msgid "Allow"
|
|
||||||
#~ msgstr "Permitir"
|
|
||||||
|
|
||||||
#~ msgid "Deny"
|
|
||||||
#~ msgstr "Denegar"
|
|
||||||
|
|
||||||
#~ msgid "Device %s wants access to the service '%s'"
|
#~ msgid "Device %s wants access to the service '%s'"
|
||||||
#~ msgstr "El dispositivo %s quiere acceder al servicio «%s»"
|
#~ msgstr "El dispositivo %s quiere acceder al servicio «%s»"
|
||||||
|
|
||||||
@ -2815,9 +2937,6 @@ msgstr "Sonidos del sistema"
|
|||||||
#~ msgid "Online Accounts"
|
#~ msgid "Online Accounts"
|
||||||
#~ msgstr "Cuentas en línea"
|
#~ msgstr "Cuentas en línea"
|
||||||
|
|
||||||
#~ msgid "Lock Screen"
|
|
||||||
#~ msgstr "Bloquear la pantalla"
|
|
||||||
|
|
||||||
#~ msgid "Log Out..."
|
#~ msgid "Log Out..."
|
||||||
#~ msgstr "Cerrar la sesión…"
|
#~ msgstr "Cerrar la sesión…"
|
||||||
|
|
||||||
@ -3095,15 +3214,9 @@ msgstr "Sonidos del sistema"
|
|||||||
#~ "especificado en la clave «custom_format». Note que si se establece a "
|
#~ "especificado en la clave «custom_format». Note que si se establece a "
|
||||||
#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»."
|
#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»."
|
||||||
|
|
||||||
#~ msgid "Clock Format"
|
|
||||||
#~ msgstr "Formato del reloj"
|
|
||||||
|
|
||||||
#~ msgid "Clock Preferences"
|
#~ msgid "Clock Preferences"
|
||||||
#~ msgstr "Preferencias del reloj"
|
#~ msgstr "Preferencias del reloj"
|
||||||
|
|
||||||
#~ msgid "Panel Display"
|
|
||||||
#~ msgstr "Panel de visualización"
|
|
||||||
|
|
||||||
#~ msgid "Show seco_nds"
|
#~ msgid "Show seco_nds"
|
||||||
#~ msgstr "Mostrar los segu_ndos"
|
#~ msgstr "Mostrar los segu_ndos"
|
||||||
|
|
||||||
|
360
po/fur.po
360
po/fur.po
@ -8,15 +8,15 @@ msgstr ""
|
|||||||
"Project-Id-Version: video-subtitles master\n"
|
"Project-Id-Version: video-subtitles 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-07-28 11:38+0000\n"
|
"POT-Creation-Date: 2017-10-04 18:03+0000\n"
|
||||||
"PO-Revision-Date: 2017-07-25 15:43+0200\n"
|
"PO-Revision-Date: 2017-10-11 08:34+0200\n"
|
||||||
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
|
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
|
||||||
"Language-Team: Friulian <fur@li.org>\n"
|
"Language-Team: Friulian <fur@li.org>\n"
|
||||||
"Language: fur\n"
|
"Language: fur\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"
|
||||||
"X-Generator: Poedit 2.0.2\n"
|
"X-Generator: Poedit 2.0.3\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: data/50-gnome-shell-system.xml:6
|
#: data/50-gnome-shell-system.xml:6
|
||||||
@ -341,7 +341,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:117 js/ui/components/polkitAgent.js:148
|
#: js/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||||
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
||||||
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:947
|
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:936
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Anule"
|
msgstr "Anule"
|
||||||
|
|
||||||
@ -402,6 +402,72 @@ msgstr "Erôr di autenticazion"
|
|||||||
msgid "(or swipe finger)"
|
msgid "(or swipe finger)"
|
||||||
msgstr "(o passe cul dêt)"
|
msgstr "(o passe cul dêt)"
|
||||||
|
|
||||||
|
#. Translators: The name of the power-off action in search
|
||||||
|
#: js/misc/systemActions.js:99
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Power off"
|
||||||
|
msgstr "Distudâ"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the power-off action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:102
|
||||||
|
msgid "power off;shutdown"
|
||||||
|
msgstr "distudâ;studâ"
|
||||||
|
|
||||||
|
#. Translators: The name of the lock screen action in search
|
||||||
|
#: js/misc/systemActions.js:106
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Lock screen"
|
||||||
|
msgstr "Blocâ il schermi"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the lock screen action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:109
|
||||||
|
msgid "lock screen"
|
||||||
|
msgstr "blocâ schermi;blocâ"
|
||||||
|
|
||||||
|
#. Translators: The name of the logout action in search
|
||||||
|
#: js/misc/systemActions.js:113
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Log out"
|
||||||
|
msgstr "Jessî"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the logout action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:116
|
||||||
|
msgid "logout;sign off"
|
||||||
|
msgstr "jessî;sierâ session"
|
||||||
|
|
||||||
|
#. Translators: The name of the suspend action in search
|
||||||
|
#: js/misc/systemActions.js:120
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Suspend"
|
||||||
|
msgstr "Sospindi"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:123
|
||||||
|
msgid "suspend;sleep"
|
||||||
|
msgstr "sospindi;polse"
|
||||||
|
|
||||||
|
#. Translators: The name of the switch user action in search
|
||||||
|
#: js/misc/systemActions.js:127
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Switch user"
|
||||||
|
msgstr "Cambiâ utent"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the switch user action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:130
|
||||||
|
msgid "switch user"
|
||||||
|
msgstr "cambiâ utent"
|
||||||
|
|
||||||
|
#. Translators: The name of the lock orientation action in search
|
||||||
|
#: js/misc/systemActions.js:134
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Lock orientation"
|
||||||
|
msgstr "Blocâ orientament"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:137
|
||||||
|
msgid "lock orientation"
|
||||||
|
msgstr "blocâ orientament"
|
||||||
|
|
||||||
#: js/misc/util.js:122
|
#: js/misc/util.js:122
|
||||||
msgid "Command not found"
|
msgid "Command not found"
|
||||||
msgstr "Comant no cjatât"
|
msgstr "Comant no cjatât"
|
||||||
@ -561,44 +627,44 @@ msgstr "Dinee acès"
|
|||||||
msgid "Grant Access"
|
msgid "Grant Access"
|
||||||
msgstr "Garantìs l'acès"
|
msgstr "Garantìs l'acès"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:806
|
#: js/ui/appDisplay.js:809
|
||||||
msgid "Frequently used applications will appear here"
|
msgid "Frequently used applications will appear here"
|
||||||
msgstr "Lis aplicazions dopradis dispès a vignaran mostradis culì"
|
msgstr "Lis aplicazions dopradis dispès a vignaran mostradis culì"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:927
|
#: js/ui/appDisplay.js:930
|
||||||
msgid "Frequent"
|
msgid "Frequent"
|
||||||
msgstr "Dispès"
|
msgstr "Dispès"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:934
|
#: js/ui/appDisplay.js:937
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Dutis"
|
msgstr "Dutis"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1895
|
#: js/ui/appDisplay.js:1915
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Gnûf barcon"
|
msgstr "Gnûf barcon"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1909
|
#: js/ui/appDisplay.js:1929
|
||||||
msgid "Launch using Dedicated Graphics Card"
|
msgid "Launch using Dedicated Graphics Card"
|
||||||
msgstr "Invie doprant une schede grafiche dedicade"
|
msgstr "Invie doprant une schede grafiche dedicade"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1936 js/ui/dash.js:289
|
#: js/ui/appDisplay.js:1956 js/ui/dash.js:289
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Gjave dai preferîts"
|
msgstr "Gjave dai preferîts"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1942
|
#: js/ui/appDisplay.js:1962
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Zonte tai preferîts"
|
msgstr "Zonte tai preferîts"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1952
|
#: js/ui/appDisplay.js:1972
|
||||||
msgid "Show Details"
|
msgid "Show Details"
|
||||||
msgstr "Mostre Detais"
|
msgstr "Mostre Detais"
|
||||||
|
|
||||||
#: js/ui/appFavorites.js:140
|
#: js/ui/appFavorites.js:141
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s has been added to your favorites."
|
msgid "%s has been added to your favorites."
|
||||||
msgstr "%s al è stât zontât tai tiei preferîts."
|
msgstr "%s al è stât zontât tai tiei preferîts."
|
||||||
|
|
||||||
#: js/ui/appFavorites.js:174
|
#: js/ui/appFavorites.js:175
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s has been removed from your favorites."
|
msgid "%s has been removed from your favorites."
|
||||||
msgstr "%s al è stât gjavât dai tiei preferîts."
|
msgstr "%s al è stât gjavât dai tiei preferîts."
|
||||||
@ -631,7 +697,7 @@ msgstr "Cambie sfont..."
|
|||||||
msgid "Display Settings"
|
msgid "Display Settings"
|
||||||
msgstr "Impostazions visôr"
|
msgstr "Impostazions visôr"
|
||||||
|
|
||||||
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:407
|
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:265
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Impostazions"
|
msgstr "Impostazions"
|
||||||
|
|
||||||
@ -687,51 +753,51 @@ msgctxt "grid saturday"
|
|||||||
msgid "S"
|
msgid "S"
|
||||||
msgstr "S"
|
msgstr "S"
|
||||||
|
|
||||||
#: js/ui/calendar.js:442
|
#: js/ui/calendar.js:449
|
||||||
msgid "Previous month"
|
msgid "Previous month"
|
||||||
msgstr "Mês indaûr"
|
msgstr "Mês indaûr"
|
||||||
|
|
||||||
#: js/ui/calendar.js:452
|
#: js/ui/calendar.js:459
|
||||||
msgid "Next month"
|
msgid "Next month"
|
||||||
msgstr "Prossim mês"
|
msgstr "Prossim mês"
|
||||||
|
|
||||||
#: js/ui/calendar.js:605
|
#: js/ui/calendar.js:612
|
||||||
#, no-javascript-format
|
#, no-javascript-format
|
||||||
msgctxt "date day number format"
|
msgctxt "date day number format"
|
||||||
msgid "%d"
|
msgid "%d"
|
||||||
msgstr "%d"
|
msgstr "%d"
|
||||||
|
|
||||||
#: js/ui/calendar.js:660
|
#: js/ui/calendar.js:667
|
||||||
msgid "Week %V"
|
msgid "Week %V"
|
||||||
msgstr "Setemane %V"
|
msgstr "Setemane %V"
|
||||||
|
|
||||||
#. Translators: Shown in calendar event list for all day events
|
#. Translators: Shown in calendar event list for all day events
|
||||||
#. * Keep it short, best if you can use less then 10 characters
|
#. * Keep it short, best if you can use less then 10 characters
|
||||||
#.
|
#.
|
||||||
#: js/ui/calendar.js:729
|
#: js/ui/calendar.js:736
|
||||||
msgctxt "event list time"
|
msgctxt "event list time"
|
||||||
msgid "All Day"
|
msgid "All Day"
|
||||||
msgstr "Dut il dì"
|
msgstr "Dut il dì"
|
||||||
|
|
||||||
#: js/ui/calendar.js:862
|
#: js/ui/calendar.js:869
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A, %d di %B"
|
msgstr "%A, %d di %B"
|
||||||
|
|
||||||
#: js/ui/calendar.js:866
|
#: js/ui/calendar.js:873
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A, %d di %B dal %Y"
|
msgstr "%A, %d di %B dal %Y"
|
||||||
|
|
||||||
#: js/ui/calendar.js:1086
|
#: js/ui/calendar.js:1093
|
||||||
msgid "No Notifications"
|
msgid "No Notifications"
|
||||||
msgstr "Nissune notifiche"
|
msgstr "Nissune notifiche"
|
||||||
|
|
||||||
#: js/ui/calendar.js:1089
|
#: js/ui/calendar.js:1096
|
||||||
msgid "No Events"
|
msgid "No Events"
|
||||||
msgstr "Nissun event"
|
msgstr "Nissun event"
|
||||||
|
|
||||||
#: js/ui/calendar.js:1117
|
#: js/ui/calendar.js:1124
|
||||||
msgid "Clear All"
|
msgid "Clear All"
|
||||||
msgstr "Nete dut"
|
msgstr "Nete dut"
|
||||||
|
|
||||||
@ -765,7 +831,7 @@ msgstr "Dispositîf esterni tacât"
|
|||||||
msgid "External drive disconnected"
|
msgid "External drive disconnected"
|
||||||
msgstr "Dispositîf esterni distacât"
|
msgstr "Dispositîf esterni distacât"
|
||||||
|
|
||||||
#: js/ui/components/autorunManager.js:354
|
#: js/ui/components/autorunManager.js:358
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Open with %s"
|
msgid "Open with %s"
|
||||||
msgstr "Vierç cun %s"
|
msgstr "Vierç cun %s"
|
||||||
@ -778,8 +844,8 @@ msgstr "Password:"
|
|||||||
msgid "Type again:"
|
msgid "Type again:"
|
||||||
msgstr "Scîf di gnûf:"
|
msgstr "Scîf di gnûf:"
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:272
|
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:261
|
||||||
#: js/ui/status/network.js:366 js/ui/status/network.js:950
|
#: js/ui/status/network.js:355 js/ui/status/network.js:939
|
||||||
msgid "Connect"
|
msgid "Connect"
|
||||||
msgstr "Conet"
|
msgstr "Conet"
|
||||||
|
|
||||||
@ -854,7 +920,7 @@ msgstr "Passowrd rêt mobil a bande largje"
|
|||||||
msgid "A password is required to connect to “%s”."
|
msgid "A password is required to connect to “%s”."
|
||||||
msgstr "A covente une password par tacâsi a '%s'."
|
msgstr "A covente une password par tacâsi a '%s'."
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1760
|
#: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1720
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Ministradôr di rêt"
|
msgstr "Ministradôr di rêt"
|
||||||
|
|
||||||
@ -885,7 +951,7 @@ msgstr "Mi displâs, no je lade drete. Prove di gnûf."
|
|||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "L'utent %s al è cognossût cumò come %s"
|
msgstr "L'utent %s al è cognossût cumò come %s"
|
||||||
|
|
||||||
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:179
|
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:186
|
||||||
msgid "Windows"
|
msgid "Windows"
|
||||||
msgstr "Barcons"
|
msgstr "Barcons"
|
||||||
|
|
||||||
@ -902,7 +968,7 @@ msgstr "Dash"
|
|||||||
#. 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:75
|
#: js/ui/dateMenu.js:76
|
||||||
msgid "%B %e %Y"
|
msgid "%B %e %Y"
|
||||||
msgstr "%e di %B dal %Y"
|
msgstr "%e di %B dal %Y"
|
||||||
|
|
||||||
@ -910,19 +976,19 @@ msgstr "%e di %B dal %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:82
|
#: js/ui/dateMenu.js:83
|
||||||
msgid "%A %B %e %Y"
|
msgid "%A %B %e %Y"
|
||||||
msgstr "%A %e di %B dal %Y"
|
msgstr "%A %e di %B dal %Y"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:144
|
#: js/ui/dateMenu.js:145
|
||||||
msgid "Add world clocks…"
|
msgid "Add world clocks…"
|
||||||
msgstr "Zonte orlois mondiâi..."
|
msgstr "Zonte orlois mondiâi..."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:145
|
#: js/ui/dateMenu.js:146
|
||||||
msgid "World Clocks"
|
msgid "World Clocks"
|
||||||
msgstr "Orlois mondiâi"
|
msgstr "Orlois mondiâi"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:224
|
#: js/ui/dateMenu.js:225
|
||||||
msgid "Weather"
|
msgid "Weather"
|
||||||
msgstr "Timp"
|
msgstr "Timp"
|
||||||
|
|
||||||
@ -930,7 +996,7 @@ msgstr "Timp"
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:281
|
#: js/ui/dateMenu.js:289
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s all day."
|
msgid "%s all day."
|
||||||
msgstr "%s dut il dì."
|
msgstr "%s dut il dì."
|
||||||
@ -939,7 +1005,7 @@ msgstr "%s dut il dì."
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:287
|
#: js/ui/dateMenu.js:295
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s, then %s later."
|
msgid "%s, then %s later."
|
||||||
msgstr "%s, plui tart %s."
|
msgstr "%s, plui tart %s."
|
||||||
@ -948,30 +1014,30 @@ msgstr "%s, plui tart %s."
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:293
|
#: js/ui/dateMenu.js:301
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s, then %s, followed by %s later."
|
msgid "%s, then %s, followed by %s later."
|
||||||
msgstr "%s, chi di un pôc %s, e plui tart %s."
|
msgstr "%s, chi di un pôc %s, e plui tart %s."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:300
|
#: js/ui/dateMenu.js:312
|
||||||
msgid "Select a location…"
|
msgid "Select a location…"
|
||||||
msgstr "Selezione une posizion..."
|
msgstr "Selezione une posizion..."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:303
|
#: js/ui/dateMenu.js:315
|
||||||
msgid "Loading…"
|
msgid "Loading…"
|
||||||
msgstr "Daûr a cjariâ..."
|
msgstr "Daûr a cjariâ..."
|
||||||
|
|
||||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
||||||
#: js/ui/dateMenu.js:309
|
#: js/ui/dateMenu.js:321
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Feels like %s."
|
msgid "Feels like %s."
|
||||||
msgstr "Si sint %s."
|
msgstr "Si sint %s."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:312
|
#: js/ui/dateMenu.js:324
|
||||||
msgid "Go online for weather information"
|
msgid "Go online for weather information"
|
||||||
msgstr "Va in rêt pes informazions sul timp"
|
msgstr "Va in rêt pes informazions sul timp"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:314
|
#: js/ui/dateMenu.js:326
|
||||||
msgid "Weather information is currently unavailable"
|
msgid "Weather information is currently unavailable"
|
||||||
msgstr "Lis informazions sul timp al moment no son disponibilis"
|
msgstr "Lis informazions sul timp al moment no son disponibilis"
|
||||||
|
|
||||||
@ -1134,19 +1200,34 @@ msgstr "Instale"
|
|||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "Scjariâ e instalâ '%s' da extensions.gnome.org?"
|
msgstr "Scjariâ e instalâ '%s' da extensions.gnome.org?"
|
||||||
|
|
||||||
|
#. Translators: %s is an application name like "Settings"
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:59
|
||||||
|
#, javascript-format
|
||||||
|
msgid "%s wants to inhibit shortcuts"
|
||||||
|
msgstr "%s al desidere inibî lis scurtis"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:60
|
||||||
|
msgid "Application wants to inhibit shortcuts"
|
||||||
|
msgstr "Une aplicazion e desidere inibî lis scurtis"
|
||||||
|
|
||||||
|
#. Translators: %s is a keyboard shortcut like "Super+x"
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:69
|
||||||
|
#, javascript-format
|
||||||
|
msgid "You can restore shortcuts by pressing %s."
|
||||||
|
msgstr "Si pues ripristinâ lis scurtis fracant %s."
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:74
|
||||||
|
msgid "Deny"
|
||||||
|
msgstr "Dinee"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:80
|
||||||
|
msgid "Allow"
|
||||||
|
msgstr "Pemet"
|
||||||
|
|
||||||
#: js/ui/keyboard.js:738 js/ui/status/keyboard.js:782
|
#: js/ui/keyboard.js:738 js/ui/status/keyboard.js:782
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Tastiere"
|
msgstr "Tastiere"
|
||||||
|
|
||||||
#. translators: 'Hide' is a verb
|
|
||||||
#: js/ui/legacyTray.js:65
|
|
||||||
msgid "Hide tray"
|
|
||||||
msgstr "Plate casset"
|
|
||||||
|
|
||||||
#: js/ui/legacyTray.js:106
|
|
||||||
msgid "Status Icons"
|
|
||||||
msgstr "Iconis di stât"
|
|
||||||
|
|
||||||
#: js/ui/lookingGlass.js:642
|
#: js/ui/lookingGlass.js:642
|
||||||
msgid "No extensions installed"
|
msgid "No extensions installed"
|
||||||
msgstr "Nissune estension instalade"
|
msgstr "Nissune estension instalade"
|
||||||
@ -1195,7 +1276,7 @@ msgstr "Viôt sorzint"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "Pagjine Web"
|
msgstr "Pagjine Web"
|
||||||
|
|
||||||
#: js/ui/messageTray.js:1493
|
#: js/ui/messageTray.js:1494
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Informazion di sisteme"
|
msgstr "Informazion di sisteme"
|
||||||
|
|
||||||
@ -1335,7 +1416,7 @@ msgid_plural "%d new notifications"
|
|||||||
msgstr[0] "%d gnove notifiche"
|
msgstr[0] "%d gnove notifiche"
|
||||||
msgstr[1] "%d gnovis modifichis"
|
msgstr[1] "%d gnovis modifichis"
|
||||||
|
|
||||||
#: js/ui/screenShield.js:452 js/ui/status/system.js:415
|
#: js/ui/screenShield.js:452 js/ui/status/system.js:284
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Bloche"
|
msgstr "Bloche"
|
||||||
|
|
||||||
@ -1367,10 +1448,12 @@ msgid "No results."
|
|||||||
msgstr "Nissun risultât."
|
msgstr "Nissun risultât."
|
||||||
|
|
||||||
# o ancjemò %d
|
# o ancjemò %d
|
||||||
#: js/ui/search.js:768
|
#: js/ui/search.js:777
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d more"
|
msgid "%d more"
|
||||||
msgstr "Ancjemò %d"
|
msgid_plural "%d more"
|
||||||
|
msgstr[0] "%d altri"
|
||||||
|
msgstr[1] "%d altris"
|
||||||
|
|
||||||
#: js/ui/shellEntry.js:25
|
#: js/ui/shellEntry.js:25
|
||||||
msgid "Copy"
|
msgid "Copy"
|
||||||
@ -1444,7 +1527,7 @@ msgstr "Test Larc"
|
|||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:638
|
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:627
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Impostazions Bluetooth"
|
msgstr "Impostazions Bluetooth"
|
||||||
|
|
||||||
@ -1464,13 +1547,13 @@ msgstr "Distudât"
|
|||||||
msgid "On"
|
msgid "On"
|
||||||
msgstr "Impiât"
|
msgstr "Impiât"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
|
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1299
|
||||||
msgid "Turn On"
|
msgid "Turn On"
|
||||||
msgstr "Impie"
|
msgstr "Impie"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
|
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
|
||||||
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
|
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
|
||||||
#: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
|
#: js/ui/status/network.js:1418 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 "Distude"
|
msgstr "Distude"
|
||||||
@ -1524,13 +1607,13 @@ msgid "<unknown>"
|
|||||||
msgstr "<no cognossût>"
|
msgstr "<no cognossût>"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:465 js/ui/status/network.js:1339
|
#: js/ui/status/network.js:454 js/ui/status/network.js:1328
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Off"
|
msgid "%s Off"
|
||||||
msgstr "%s distudât"
|
msgstr "%s distudât"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:468
|
#: js/ui/status/network.js:457
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connected"
|
msgid "%s Connected"
|
||||||
msgstr "%s tacât"
|
msgstr "%s tacât"
|
||||||
@ -1538,190 +1621,189 @@ msgstr "%s tacât"
|
|||||||
#. Translators: this is for network devices that are physically present but are not
|
#. Translators: this is for network devices that are physically present but are not
|
||||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||||
#. %s is a network identifier
|
#. %s is a network identifier
|
||||||
#: js/ui/status/network.js:473
|
#: js/ui/status/network.js:462
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Unmanaged"
|
msgid "%s Unmanaged"
|
||||||
msgstr "%s no ministrât"
|
msgstr "%s no ministrât"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:476
|
#: js/ui/status/network.js:465
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Disconnecting"
|
msgid "%s Disconnecting"
|
||||||
msgstr "%s daûr a disconeti"
|
msgstr "%s daûr a disconeti"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:483 js/ui/status/network.js:1331
|
#: js/ui/status/network.js:472 js/ui/status/network.js:1320
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connecting"
|
msgid "%s Connecting"
|
||||||
msgstr "%s in conession"
|
msgstr "%s in conession"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
||||||
#: js/ui/status/network.js:486
|
#: js/ui/status/network.js:475
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Requires Authentication"
|
msgid "%s Requires Authentication"
|
||||||
msgstr "%s al à dibisugne di autenticazion"
|
msgstr "%s al à dibisugne di autenticazion"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing; %s is a network identifier
|
#. module, which is missing; %s is a network identifier
|
||||||
#: js/ui/status/network.js:494
|
#: js/ui/status/network.js:483
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Firmware Missing For %s"
|
msgid "Firmware Missing For %s"
|
||||||
msgstr "Al mancje il firmware par %s"
|
msgstr "Al mancje il firmware par %s"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
||||||
#: js/ui/status/network.js:498
|
#: js/ui/status/network.js:487
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Unavailable"
|
msgid "%s Unavailable"
|
||||||
msgstr "%s no disponibil"
|
msgstr "%s no disponibil"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:501
|
#: js/ui/status/network.js:490
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connection Failed"
|
msgid "%s Connection Failed"
|
||||||
msgstr "Conession falide su %s"
|
msgstr "Conession falide su %s"
|
||||||
|
|
||||||
#: js/ui/status/network.js:517
|
#: js/ui/status/network.js:506
|
||||||
msgid "Wired Settings"
|
msgid "Wired Settings"
|
||||||
msgstr "Impostazions rêt vie fîl"
|
msgstr "Impostazions rêt vie fîl"
|
||||||
|
|
||||||
#: js/ui/status/network.js:559
|
#: js/ui/status/network.js:548
|
||||||
msgid "Mobile Broadband Settings"
|
msgid "Mobile Broadband Settings"
|
||||||
msgstr "Impostazions bande largje mobil"
|
msgstr "Impostazions bande largje mobil"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:602 js/ui/status/network.js:1336
|
#: js/ui/status/network.js:591 js/ui/status/network.js:1325
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hardware Disabled"
|
msgid "%s Hardware Disabled"
|
||||||
msgstr "%s disabilitât vie hardware "
|
msgstr "%s disabilitât vie hardware "
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated
|
#. Translators: this is for a network device that cannot be activated
|
||||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||||
#: js/ui/status/network.js:606
|
#: js/ui/status/network.js:595
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Disabled"
|
msgid "%s Disabled"
|
||||||
msgstr "%s disabilitât"
|
msgstr "%s disabilitât"
|
||||||
|
|
||||||
#: js/ui/status/network.js:646
|
#: js/ui/status/network.js:635
|
||||||
msgid "Connect to Internet"
|
msgid "Connect to Internet"
|
||||||
msgstr "Conet a internet"
|
msgstr "Conet a internet"
|
||||||
|
|
||||||
#: js/ui/status/network.js:844
|
#: js/ui/status/network.js:833
|
||||||
msgid "Airplane Mode is On"
|
msgid "Airplane Mode is On"
|
||||||
msgstr "Modalitât avion piade"
|
msgstr "Modalitât avion piade"
|
||||||
|
|
||||||
#: js/ui/status/network.js:845
|
#: js/ui/status/network.js:834
|
||||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||||
msgstr "Il Wi-Fi al è disabilitât cuant che la modalitât avion e je impiade."
|
msgstr "Il Wi-Fi al è disabilitât cuant che la modalitât avion e je impiade."
|
||||||
|
|
||||||
#: js/ui/status/network.js:846
|
#: js/ui/status/network.js:835
|
||||||
msgid "Turn Off Airplane Mode"
|
msgid "Turn Off Airplane Mode"
|
||||||
msgstr "Distude modalitât avion"
|
msgstr "Distude modalitât avion"
|
||||||
|
|
||||||
#: js/ui/status/network.js:855
|
#: js/ui/status/network.js:844
|
||||||
msgid "Wi-Fi is Off"
|
msgid "Wi-Fi is Off"
|
||||||
msgstr "Il Wi-Fi al è distudât"
|
msgstr "Il Wi-Fi al è distudât"
|
||||||
|
|
||||||
#: js/ui/status/network.js:856
|
#: js/ui/status/network.js:845
|
||||||
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 "Il Wi-Fi al scugne jessi impiât par podêsi tacâ a une rêt."
|
msgstr "Il Wi-Fi al scugne jessi impiât par podêsi tacâ a une rêt."
|
||||||
|
|
||||||
#: js/ui/status/network.js:857
|
#: js/ui/status/network.js:846
|
||||||
msgid "Turn On Wi-Fi"
|
msgid "Turn On Wi-Fi"
|
||||||
msgstr "Impie il Wi-Fi"
|
msgstr "Impie il Wi-Fi"
|
||||||
|
|
||||||
#: js/ui/status/network.js:882
|
#: js/ui/status/network.js:871
|
||||||
msgid "Wi-Fi Networks"
|
msgid "Wi-Fi Networks"
|
||||||
msgstr "Rêts Wi-Fi"
|
msgstr "Rêts Wi-Fi"
|
||||||
|
|
||||||
#: js/ui/status/network.js:884
|
#: js/ui/status/network.js:873
|
||||||
msgid "Select a network"
|
msgid "Select a network"
|
||||||
msgstr "Selezione une rêt"
|
msgstr "Selezione une rêt"
|
||||||
|
|
||||||
#: js/ui/status/network.js:914
|
#: js/ui/status/network.js:903
|
||||||
msgid "No Networks"
|
msgid "No Networks"
|
||||||
msgstr "Nissune rêt"
|
msgstr "Nissune rêt"
|
||||||
|
|
||||||
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
|
#: js/ui/status/network.js:924 js/ui/status/rfkill.js:115
|
||||||
msgid "Use hardware switch to turn off"
|
msgid "Use hardware switch to turn off"
|
||||||
msgstr "Dopre interutôr fisic par distudâ"
|
msgstr "Dopre interutôr fisic par distudâ"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1202
|
#: js/ui/status/network.js:1191
|
||||||
msgid "Select Network"
|
msgid "Select Network"
|
||||||
msgstr "Selezione rêt"
|
msgstr "Selezione rêt"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1208
|
#: js/ui/status/network.js:1197
|
||||||
msgid "Wi-Fi Settings"
|
msgid "Wi-Fi Settings"
|
||||||
msgstr "Impostazions Wi-Fi"
|
msgstr "Impostazions Wi-Fi"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1327
|
#: js/ui/status/network.js:1316
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hotspot Active"
|
msgid "%s Hotspot Active"
|
||||||
msgstr "Hotspot %s atîf"
|
msgstr "Hotspot %s atîf"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1342
|
#: js/ui/status/network.js:1331
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Not Connected"
|
msgid "%s Not Connected"
|
||||||
msgstr "%s distacât"
|
msgstr "%s distacât"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1446
|
#: js/ui/status/network.js:1435
|
||||||
msgid "connecting…"
|
msgid "connecting…"
|
||||||
msgstr "daûr a coneti…"
|
msgstr "daûr a coneti…"
|
||||||
|
|
||||||
#. 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:1449
|
#: js/ui/status/network.js:1438
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "autenticazion necessarie"
|
msgstr "autenticazion necessarie"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1451
|
#: js/ui/status/network.js:1440
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "conession falide"
|
msgstr "conession falide"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1517 js/ui/status/network.js:1612
|
#: js/ui/status/network.js:1494
|
||||||
#: js/ui/status/rfkill.js:93
|
|
||||||
msgid "Network Settings"
|
|
||||||
msgstr "Impostazions rêt"
|
|
||||||
|
|
||||||
#: js/ui/status/network.js:1519
|
|
||||||
msgid "VPN Settings"
|
msgid "VPN Settings"
|
||||||
msgstr "Impostazions VPN"
|
msgstr "Impostazions VPN"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1538
|
#: js/ui/status/network.js:1498
|
||||||
msgid "VPN"
|
msgid "VPN"
|
||||||
msgstr "VPN"
|
msgstr "VPN"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1548
|
#: js/ui/status/network.js:1508
|
||||||
msgid "VPN Off"
|
msgid "VPN Off"
|
||||||
msgstr "VPN distudât"
|
msgstr "VPN distudât"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1643
|
#: js/ui/status/network.js:1572 js/ui/status/rfkill.js:93
|
||||||
|
msgid "Network Settings"
|
||||||
|
msgstr "Impostazions rêt"
|
||||||
|
|
||||||
|
#: js/ui/status/network.js:1603
|
||||||
#, 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 conession cablade"
|
msgstr[0] "%s conession cablade"
|
||||||
msgstr[1] "%s conessions cabladis"
|
msgstr[1] "%s conessions cabladis"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1647
|
#: js/ui/status/network.js:1607
|
||||||
#, 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 conession cence fîi"
|
msgstr[0] "%s conession cence fîi"
|
||||||
msgstr[1] "%s conessions cence fîi"
|
msgstr[1] "%s conessions cence fîi"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1651
|
#: js/ui/status/network.js:1611
|
||||||
#, 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 conession modem"
|
msgstr[0] "%s conession modem"
|
||||||
msgstr[1] "%s conessions modem"
|
msgstr[1] "%s conessions modem"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1799
|
#: js/ui/status/network.js:1759
|
||||||
msgid "Connection failed"
|
msgid "Connection failed"
|
||||||
msgstr "Conession falide"
|
msgstr "Conession falide"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1800
|
#: js/ui/status/network.js:1760
|
||||||
msgid "Activation of network connection failed"
|
msgid "Activation of network connection failed"
|
||||||
msgstr "Ativazion de conession di rêt falide"
|
msgstr "Ativazion de conession di rêt falide"
|
||||||
|
|
||||||
@ -1779,27 +1861,27 @@ msgstr "%d %%"
|
|||||||
msgid "Airplane Mode On"
|
msgid "Airplane Mode On"
|
||||||
msgstr "Modalitât Avion ative"
|
msgstr "Modalitât Avion ative"
|
||||||
|
|
||||||
#: js/ui/status/system.js:384
|
#: js/ui/status/system.js:228
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Cambie Utent"
|
msgstr "Cambie Utent"
|
||||||
|
|
||||||
#: js/ui/status/system.js:389
|
#: js/ui/status/system.js:240
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Jes"
|
msgstr "Jes"
|
||||||
|
|
||||||
#: js/ui/status/system.js:394
|
#: js/ui/status/system.js:252
|
||||||
msgid "Account Settings"
|
msgid "Account Settings"
|
||||||
msgstr "Impostazions account"
|
msgstr "Impostazions account"
|
||||||
|
|
||||||
#: js/ui/status/system.js:411
|
#: js/ui/status/system.js:269
|
||||||
msgid "Orientation Lock"
|
msgid "Orientation Lock"
|
||||||
msgstr "Bloche Orientament"
|
msgstr "Bloche Orientament"
|
||||||
|
|
||||||
#: js/ui/status/system.js:419
|
#: js/ui/status/system.js:295
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Sospindi"
|
msgstr "Sospindi"
|
||||||
|
|
||||||
#: js/ui/status/system.js:422
|
#: js/ui/status/system.js:305
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Distude"
|
msgstr "Distude"
|
||||||
|
|
||||||
@ -1811,6 +1893,34 @@ msgstr "Volum modificât"
|
|||||||
msgid "Volume"
|
msgid "Volume"
|
||||||
msgstr "Volum"
|
msgstr "Volum"
|
||||||
|
|
||||||
|
#. Translators: this is for display mirroring i.e. cloning.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:21
|
||||||
|
msgid "Mirror"
|
||||||
|
msgstr "Sdopleâ"
|
||||||
|
|
||||||
|
#. Translators: this is for the desktop spanning displays.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:26
|
||||||
|
msgid "Join Displays"
|
||||||
|
msgstr "Unìs schermis"
|
||||||
|
|
||||||
|
#. Translators: this is for using only an external display.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:31
|
||||||
|
msgid "External Only"
|
||||||
|
msgstr "Dome esterni"
|
||||||
|
|
||||||
|
#. Translators: this is for using only the laptop display.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:36
|
||||||
|
msgid "Built-in Only"
|
||||||
|
msgstr "Dome incorporât"
|
||||||
|
|
||||||
#: js/ui/unlockDialog.js:67
|
#: js/ui/unlockDialog.js:67
|
||||||
msgid "Log in as another user"
|
msgid "Log in as another user"
|
||||||
msgstr "Jentre come altri utent"
|
msgstr "Jentre come altri utent"
|
||||||
@ -1819,11 +1929,11 @@ msgstr "Jentre come altri utent"
|
|||||||
msgid "Unlock Window"
|
msgid "Unlock Window"
|
||||||
msgstr "Sbloche barcon"
|
msgstr "Sbloche barcon"
|
||||||
|
|
||||||
#: js/ui/viewSelector.js:183
|
#: js/ui/viewSelector.js:190
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Aplicazions"
|
msgstr "Aplicazions"
|
||||||
|
|
||||||
#: js/ui/viewSelector.js:187
|
#: js/ui/viewSelector.js:194
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Cîr"
|
msgstr "Cîr"
|
||||||
|
|
||||||
@ -1832,22 +1942,22 @@ msgstr "Cîr"
|
|||||||
msgid "“%s” is ready"
|
msgid "“%s” is ready"
|
||||||
msgstr "'%s' al è pront"
|
msgstr "'%s' al è pront"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:71
|
#: js/ui/windowManager.js:72
|
||||||
msgid "Do you want to keep these display settings?"
|
msgid "Do you want to keep these display settings?"
|
||||||
msgstr "Vûstu tignî chestis impostazions di visôr?"
|
msgstr "Vûstu tignî chestis impostazions di visôr?"
|
||||||
|
|
||||||
#. 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:83
|
#: js/ui/windowManager.js:84
|
||||||
msgid "Revert Settings"
|
msgid "Revert Settings"
|
||||||
msgstr "Ripristine impostazions"
|
msgstr "Ripristine impostazions"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:86
|
#: js/ui/windowManager.js:87
|
||||||
msgid "Keep Changes"
|
msgid "Keep Changes"
|
||||||
msgstr "Ten lis modifichis"
|
msgstr "Ten lis modifichis"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:104
|
#: js/ui/windowManager.js:105
|
||||||
#, 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"
|
||||||
@ -1858,7 +1968,7 @@ msgstr[1] ""
|
|||||||
|
|
||||||
#. 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:659
|
#: js/ui/windowManager.js:660
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d × %d"
|
msgid "%d × %d"
|
||||||
msgstr "%d × %d"
|
msgstr "%d × %d"
|
||||||
@ -1936,19 +2046,19 @@ msgstr "Calendari di Evolution"
|
|||||||
msgid "evolution"
|
msgid "evolution"
|
||||||
msgstr "evolution"
|
msgstr "evolution"
|
||||||
|
|
||||||
#: src/main.c:372
|
#: src/main.c:380
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Stampe version"
|
msgstr "Stampe version"
|
||||||
|
|
||||||
#: src/main.c:378
|
#: src/main.c:386
|
||||||
msgid "Mode used by GDM for login screen"
|
msgid "Mode used by GDM for login screen"
|
||||||
msgstr "Modalitât doprade da GDM pe videade di acès"
|
msgstr "Modalitât doprade da GDM pe videade di acès"
|
||||||
|
|
||||||
#: src/main.c:384
|
#: src/main.c:392
|
||||||
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
||||||
msgstr "Dopre une modalitât specifiche, par esempli “gdm” pe videade di acès"
|
msgstr "Dopre une modalitât specifiche, par esempli “gdm” pe videade di acès"
|
||||||
|
|
||||||
#: src/main.c:390
|
#: src/main.c:398
|
||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Liste modalitâts pussibilis"
|
msgstr "Liste modalitâts pussibilis"
|
||||||
|
|
||||||
@ -1996,6 +2106,12 @@ msgstr[1] "%u jentradis"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Suns di sisteme"
|
msgstr "Suns di sisteme"
|
||||||
|
|
||||||
|
#~ msgid "Hide tray"
|
||||||
|
#~ msgstr "Plate casset"
|
||||||
|
|
||||||
|
#~ msgid "Status Icons"
|
||||||
|
#~ msgstr "Iconis di stât"
|
||||||
|
|
||||||
#~ msgid "Events"
|
#~ msgid "Events"
|
||||||
#~ msgstr "Events"
|
#~ msgstr "Events"
|
||||||
|
|
||||||
|
371
po/hr.po
371
po/hr.po
@ -8,8 +8,8 @@ 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-07-20 03:49+0000\n"
|
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
|
||||||
"PO-Revision-Date: 2017-07-25 20:05+0200\n"
|
"PO-Revision-Date: 2017-08-23 17:35+0200\n"
|
||||||
"Last-Translator: gogo <trebelnik2@gmail.com>\n"
|
"Last-Translator: gogo <trebelnik2@gmail.com>\n"
|
||||||
"Language-Team: Croatian <hr@li.org>\n"
|
"Language-Team: Croatian <hr@li.org>\n"
|
||||||
"Language: hr\n"
|
"Language: hr\n"
|
||||||
@ -18,7 +18,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||||
"X-Generator: Poedit 2.0.2\n"
|
"X-Generator: Poedit 2.0.3\n"
|
||||||
|
|
||||||
#: data/50-gnome-shell-system.xml:6
|
#: data/50-gnome-shell-system.xml:6
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@ -59,13 +59,13 @@ msgstr "GNOME ljuska"
|
|||||||
|
|
||||||
#: 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 "Pokretanje upravljanja prozorima i aplikacijama."
|
msgstr "Pokretanje upravljanja prozorima i aplikacijama"
|
||||||
|
|
||||||
#: 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 ""
|
||||||
"Omogući unutrašnji alat koristan za razvijatelje i testiratelje koristeći "
|
"Omogući unutrašnji alat koristan za razvijatelje i testiratelje koristeći "
|
||||||
"Alt-F2 dijalog."
|
"Alt-F2 dijalog"
|
||||||
|
|
||||||
#: data/org.gnome.shell.gschema.xml.in:9
|
#: data/org.gnome.shell.gschema.xml.in:9
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -219,7 +219,7 @@ msgstr "Prečac tipkovnice za otvaranje pogleda"
|
|||||||
|
|
||||||
#: data/org.gnome.shell.gschema.xml.in:117
|
#: data/org.gnome.shell.gschema.xml.in:117
|
||||||
msgid "Keybinding to open the Activities Overview."
|
msgid "Keybinding to open the Activities Overview."
|
||||||
msgstr "Prečac tipkovnice za otvaranje pogleda Aktivnosti"
|
msgstr "Prečac tipkovnice za otvaranje pogleda Aktivnosti."
|
||||||
|
|
||||||
#: data/org.gnome.shell.gschema.xml.in:123
|
#: data/org.gnome.shell.gschema.xml.in:123
|
||||||
msgid "Keybinding to toggle the visibility of the notification list"
|
msgid "Keybinding to toggle the visibility of the notification list"
|
||||||
@ -245,7 +245,7 @@ msgid ""
|
|||||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Prečac tipkovnice za pauziranje i nastavljanje svih pokrenutih duplikata, u "
|
"Prečac tipkovnice za pauziranje i nastavljanje svih pokrenutih duplikata, u "
|
||||||
"svrhu otklanjanja grešaka."
|
"svrhu otklanjanja grešaka"
|
||||||
|
|
||||||
#: data/org.gnome.shell.gschema.xml.in:146
|
#: data/org.gnome.shell.gschema.xml.in:146
|
||||||
msgid "Which keyboard to use"
|
msgid "Which keyboard to use"
|
||||||
@ -253,7 +253,7 @@ msgstr "Koju tipkovnicu koristiti"
|
|||||||
|
|
||||||
#: data/org.gnome.shell.gschema.xml.in:147
|
#: data/org.gnome.shell.gschema.xml.in:147
|
||||||
msgid "The type of keyboard to use."
|
msgid "The type of keyboard to use."
|
||||||
msgstr "Vrsta tipkovnice koja se koristi"
|
msgstr "Vrsta tipkovnice koja se koristi."
|
||||||
|
|
||||||
#: data/org.gnome.shell.gschema.xml.in:158
|
#: data/org.gnome.shell.gschema.xml.in:158
|
||||||
#: data/org.gnome.shell.gschema.xml.in:185
|
#: data/org.gnome.shell.gschema.xml.in:185
|
||||||
@ -340,7 +340,7 @@ msgstr "Dogodila se greška učitavanja dijaloga osobitosti 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:117 js/ui/components/polkitAgent.js:148
|
#: js/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||||
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
||||||
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:947
|
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:936
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Odustani"
|
msgstr "Odustani"
|
||||||
|
|
||||||
@ -367,7 +367,7 @@ msgstr "Odaberi sesiju"
|
|||||||
#. manually entering the username.
|
#. manually entering the username.
|
||||||
#: js/gdm/loginDialog.js:458
|
#: js/gdm/loginDialog.js:458
|
||||||
msgid "Not listed?"
|
msgid "Not listed?"
|
||||||
msgstr "Nije na popisu?"
|
msgstr "Niste na popisu?"
|
||||||
|
|
||||||
#. Translators: this message is shown below the username entry field
|
#. Translators: this message is shown below the username entry field
|
||||||
#. to clue the user in on how to login to the local network realm
|
#. to clue the user in on how to login to the local network realm
|
||||||
@ -382,7 +382,7 @@ msgstr "(npr., korisnik ili %s)"
|
|||||||
#: js/gdm/loginDialog.js:893 js/ui/components/networkAgent.js:243
|
#: js/gdm/loginDialog.js:893 js/ui/components/networkAgent.js:243
|
||||||
#: js/ui/components/networkAgent.js:261
|
#: js/ui/components/networkAgent.js:261
|
||||||
msgid "Username: "
|
msgid "Username: "
|
||||||
msgstr "Korisničko ime:"
|
msgstr "Korisničko ime: "
|
||||||
|
|
||||||
#: js/gdm/loginDialog.js:1236
|
#: js/gdm/loginDialog.js:1236
|
||||||
msgid "Login Window"
|
msgid "Login Window"
|
||||||
@ -401,6 +401,72 @@ msgstr "Greška ovjere"
|
|||||||
msgid "(or swipe finger)"
|
msgid "(or swipe finger)"
|
||||||
msgstr "(ili pomakni prst)"
|
msgstr "(ili pomakni prst)"
|
||||||
|
|
||||||
|
#. Translators: The name of the power-off action in search
|
||||||
|
#: js/misc/systemActions.js:99
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Power off"
|
||||||
|
msgstr "Isključivanje"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the power-off action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:102
|
||||||
|
msgid "power off;shutdown"
|
||||||
|
msgstr "isključi;isključivanje"
|
||||||
|
|
||||||
|
#. Translators: The name of the lock screen action in search
|
||||||
|
#: js/misc/systemActions.js:106
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Lock screen"
|
||||||
|
msgstr "Zaključavanje zaslona"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the lock screen action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:109
|
||||||
|
msgid "lock screen"
|
||||||
|
msgstr "zaključavanje zaslona"
|
||||||
|
|
||||||
|
#. Translators: The name of the logout action in search
|
||||||
|
#: js/misc/systemActions.js:113
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Log out"
|
||||||
|
msgstr "Odjava"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the logout action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:116
|
||||||
|
msgid "logout;sign off"
|
||||||
|
msgstr "odjava:odjavljivanje"
|
||||||
|
|
||||||
|
#. Translators: The name of the suspend action in search
|
||||||
|
#: js/misc/systemActions.js:120
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Suspend"
|
||||||
|
msgstr "Suspenzija"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:123
|
||||||
|
msgid "suspend;sleep"
|
||||||
|
msgstr "suspendiraj;spavaj"
|
||||||
|
|
||||||
|
#. Translators: The name of the switch user action in search
|
||||||
|
#: js/misc/systemActions.js:127
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Switch user"
|
||||||
|
msgstr "Zamjena korisnika"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the switch user action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:130
|
||||||
|
msgid "switch user"
|
||||||
|
msgstr "zamjena korisnika"
|
||||||
|
|
||||||
|
#. Translators: The name of the lock orientation action in search
|
||||||
|
#: js/misc/systemActions.js:134
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Lock orientation"
|
||||||
|
msgstr "Zaključavanje orjentacije"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:137
|
||||||
|
msgid "lock orientation"
|
||||||
|
msgstr "zaključavanje orjentacije"
|
||||||
|
|
||||||
#: js/misc/util.js:122
|
#: js/misc/util.js:122
|
||||||
msgid "Command not found"
|
msgid "Command not found"
|
||||||
msgstr "Naredba nije pronađena"
|
msgstr "Naredba nije pronađena"
|
||||||
@ -566,35 +632,35 @@ msgstr "Zabrani pristup"
|
|||||||
msgid "Grant Access"
|
msgid "Grant Access"
|
||||||
msgstr "Dopusti pristup"
|
msgstr "Dopusti pristup"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:806
|
#: js/ui/appDisplay.js:809
|
||||||
msgid "Frequently used applications will appear here"
|
msgid "Frequently used applications will appear here"
|
||||||
msgstr "Najčešće korištene aplikacije će se pojaviti ovdje"
|
msgstr "Najčešće korištene aplikacije će se pojaviti ovdje"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:927
|
#: js/ui/appDisplay.js:930
|
||||||
msgid "Frequent"
|
msgid "Frequent"
|
||||||
msgstr "Najčešće"
|
msgstr "Najčešće"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:934
|
#: js/ui/appDisplay.js:937
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Sve"
|
msgstr "Sve"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1895
|
#: js/ui/appDisplay.js:1915
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Novi prozor"
|
msgstr "Novi prozor"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1909
|
#: js/ui/appDisplay.js:1929
|
||||||
msgid "Launch using Dedicated Graphics Card"
|
msgid "Launch using Dedicated Graphics Card"
|
||||||
msgstr "Pokreni pomoću namjenske grafičke kartice"
|
msgstr "Pokreni pomoću namjenske grafičke kartice"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1936 js/ui/dash.js:289
|
#: js/ui/appDisplay.js:1956 js/ui/dash.js:289
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Ukloni iz omiljenih"
|
msgstr "Ukloni iz omiljenih"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1942
|
#: js/ui/appDisplay.js:1962
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Dodaj u omiljene"
|
msgstr "Dodaj u omiljene"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1952
|
#: js/ui/appDisplay.js:1972
|
||||||
msgid "Show Details"
|
msgid "Show Details"
|
||||||
msgstr "Prikaži pojedinosti"
|
msgstr "Prikaži pojedinosti"
|
||||||
|
|
||||||
@ -630,13 +696,13 @@ msgstr "Mikrofon"
|
|||||||
|
|
||||||
#: js/ui/backgroundMenu.js:19
|
#: js/ui/backgroundMenu.js:19
|
||||||
msgid "Change Background…"
|
msgid "Change Background…"
|
||||||
msgstr "Promijeni pozadinu..."
|
msgstr "Promijeni pozadinu…"
|
||||||
|
|
||||||
#: js/ui/backgroundMenu.js:21 js/ui/status/nightLight.js:51
|
#: js/ui/backgroundMenu.js:21 js/ui/status/nightLight.js:51
|
||||||
msgid "Display Settings"
|
msgid "Display Settings"
|
||||||
msgstr "Postavke prikaza"
|
msgstr "Postavke prikaza"
|
||||||
|
|
||||||
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:407
|
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:265
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Postavke"
|
msgstr "Postavke"
|
||||||
|
|
||||||
@ -783,8 +849,8 @@ msgstr "Lozinka:"
|
|||||||
msgid "Type again:"
|
msgid "Type again:"
|
||||||
msgstr "Pokušaj ponovno:"
|
msgstr "Pokušaj ponovno:"
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:272
|
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:261
|
||||||
#: js/ui/status/network.js:366 js/ui/status/network.js:950
|
#: js/ui/status/network.js:355 js/ui/status/network.js:939
|
||||||
msgid "Connect"
|
msgid "Connect"
|
||||||
msgstr "Povezivanje"
|
msgstr "Povezivanje"
|
||||||
|
|
||||||
@ -793,24 +859,24 @@ msgstr "Povezivanje"
|
|||||||
#: js/ui/components/networkAgent.js:245 js/ui/components/networkAgent.js:265
|
#: js/ui/components/networkAgent.js:245 js/ui/components/networkAgent.js:265
|
||||||
#: js/ui/components/networkAgent.js:275
|
#: js/ui/components/networkAgent.js:275
|
||||||
msgid "Password: "
|
msgid "Password: "
|
||||||
msgstr "Lozinka:"
|
msgstr "Lozinka: "
|
||||||
|
|
||||||
#. static WEP
|
#. static WEP
|
||||||
#: js/ui/components/networkAgent.js:210
|
#: js/ui/components/networkAgent.js:210
|
||||||
msgid "Key: "
|
msgid "Key: "
|
||||||
msgstr "Ključ:"
|
msgstr "Ključ: "
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:249
|
#: js/ui/components/networkAgent.js:249
|
||||||
msgid "Identity: "
|
msgid "Identity: "
|
||||||
msgstr "Identitet:"
|
msgstr "Identitet: "
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:251
|
#: js/ui/components/networkAgent.js:251
|
||||||
msgid "Private key password: "
|
msgid "Private key password: "
|
||||||
msgstr "Lozinka privatnog ključa:"
|
msgstr "Lozinka privatnog ključa: "
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:263
|
#: js/ui/components/networkAgent.js:263
|
||||||
msgid "Service: "
|
msgid "Service: "
|
||||||
msgstr "Usluga:"
|
msgstr "Usluga: "
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:292 js/ui/components/networkAgent.js:638
|
#: js/ui/components/networkAgent.js:292 js/ui/components/networkAgent.js:638
|
||||||
msgid "Authentication required by wireless network"
|
msgid "Authentication required by wireless network"
|
||||||
@ -830,7 +896,7 @@ msgstr "Wired 802.1X ovjera"
|
|||||||
|
|
||||||
#: js/ui/components/networkAgent.js:299
|
#: js/ui/components/networkAgent.js:299
|
||||||
msgid "Network name: "
|
msgid "Network name: "
|
||||||
msgstr "Naziv mreže:"
|
msgstr "Naziv mreže: "
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:304 js/ui/components/networkAgent.js:646
|
#: js/ui/components/networkAgent.js:304 js/ui/components/networkAgent.js:646
|
||||||
msgid "DSL authentication"
|
msgid "DSL authentication"
|
||||||
@ -846,7 +912,7 @@ msgstr "PIN kôd je potreban za uređaj mobilnog interneta"
|
|||||||
|
|
||||||
#: js/ui/components/networkAgent.js:313
|
#: js/ui/components/networkAgent.js:313
|
||||||
msgid "PIN: "
|
msgid "PIN: "
|
||||||
msgstr "PIN:"
|
msgstr "PIN: "
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:659
|
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:659
|
||||||
msgid "Mobile broadband network password"
|
msgid "Mobile broadband network password"
|
||||||
@ -858,7 +924,7 @@ msgstr "Lozinka mreže mobilnog interneta"
|
|||||||
msgid "A password is required to connect to “%s”."
|
msgid "A password is required to connect to “%s”."
|
||||||
msgstr "Potrebna je lozinka za povezivanje s “%s”."
|
msgstr "Potrebna je lozinka za povezivanje s “%s”."
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1760
|
#: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1720
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Mrežni upravitelj"
|
msgstr "Mrežni upravitelj"
|
||||||
|
|
||||||
@ -889,7 +955,7 @@ msgstr "Nažalost, to ne radi. Pokušajte ponovno."
|
|||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "%s je poznat kao %s"
|
msgstr "%s je poznat kao %s"
|
||||||
|
|
||||||
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:179
|
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:186
|
||||||
msgid "Windows"
|
msgid "Windows"
|
||||||
msgstr "Prozori"
|
msgstr "Prozori"
|
||||||
|
|
||||||
@ -920,7 +986,7 @@ msgstr "%e %b, %Y"
|
|||||||
|
|
||||||
#: js/ui/dateMenu.js:144
|
#: js/ui/dateMenu.js:144
|
||||||
msgid "Add world clocks…"
|
msgid "Add world clocks…"
|
||||||
msgstr "Dodaj satove iz svijeta..."
|
msgstr "Dodaj satove iz svijeta…"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:145
|
#: js/ui/dateMenu.js:145
|
||||||
msgid "World Clocks"
|
msgid "World Clocks"
|
||||||
@ -934,7 +1000,7 @@ msgstr "Vrijeme"
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:281
|
#: js/ui/dateMenu.js:286
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s all day."
|
msgid "%s all day."
|
||||||
msgstr "%s cijeli dan."
|
msgstr "%s cijeli dan."
|
||||||
@ -943,7 +1009,7 @@ msgstr "%s cijeli dan."
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:287
|
#: js/ui/dateMenu.js:292
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s, then %s later."
|
msgid "%s, then %s later."
|
||||||
msgstr "%s, zatim %s kasnije."
|
msgstr "%s, zatim %s kasnije."
|
||||||
@ -952,30 +1018,30 @@ msgstr "%s, zatim %s kasnije."
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:293
|
#: js/ui/dateMenu.js:298
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s, then %s, followed by %s later."
|
msgid "%s, then %s, followed by %s later."
|
||||||
msgstr "%s, zatim %s, praćena s %s kasnije."
|
msgstr "%s, zatim %s, praćena s %s kasnije."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:300
|
#: js/ui/dateMenu.js:309
|
||||||
msgid "Select a location…"
|
msgid "Select a location…"
|
||||||
msgstr "Odaberi lokaciju..."
|
msgstr "Odaberi lokaciju…"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:303
|
#: js/ui/dateMenu.js:312
|
||||||
msgid "Loading…"
|
msgid "Loading…"
|
||||||
msgstr "Pretraživanje…"
|
msgstr "Pretraživanje…"
|
||||||
|
|
||||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
||||||
#: js/ui/dateMenu.js:309
|
#: js/ui/dateMenu.js:318
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Feels like %s."
|
msgid "Feels like %s."
|
||||||
msgstr "Kao da je %s."
|
msgstr "Kao da je %s."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:312
|
#: js/ui/dateMenu.js:321
|
||||||
msgid "Go online for weather information"
|
msgid "Go online for weather information"
|
||||||
msgstr "Posjetite za opširnije vremenske informacije"
|
msgstr "Posjetite za opširnije vremenske informacije"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:314
|
#: js/ui/dateMenu.js:323
|
||||||
msgid "Weather information is currently unavailable"
|
msgid "Weather information is currently unavailable"
|
||||||
msgstr "Vremenske informacije su trenutno nedostupne"
|
msgstr "Vremenske informacije su trenutno nedostupne"
|
||||||
|
|
||||||
@ -1145,19 +1211,34 @@ msgstr "Instaliraj"
|
|||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "Preuzmi i instaliraj “%s” sa extensions.gnome.org?"
|
msgstr "Preuzmi i instaliraj “%s” sa extensions.gnome.org?"
|
||||||
|
|
||||||
#: js/ui/keyboard.js:740 js/ui/status/keyboard.js:782
|
#. Translators: %s is an application name like "Settings"
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:59
|
||||||
|
#, javascript-format
|
||||||
|
msgid "%s wants to inhibit shortcuts"
|
||||||
|
msgstr "%s želi spriječiti prečac"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:60
|
||||||
|
msgid "Application wants to inhibit shortcuts"
|
||||||
|
msgstr "Aplikacija želi spriječiti prečac"
|
||||||
|
|
||||||
|
#. Translators: %s is a keyboard shortcut like "Super+x"
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:69
|
||||||
|
#, javascript-format
|
||||||
|
msgid "You can restore shortcuts by pressing %s."
|
||||||
|
msgstr "Možete obnoviti prečac pritiskom na %s."
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:74
|
||||||
|
msgid "Deny"
|
||||||
|
msgstr "Spriječi"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:80
|
||||||
|
msgid "Allow"
|
||||||
|
msgstr "Dopusti"
|
||||||
|
|
||||||
|
#: js/ui/keyboard.js:738 js/ui/status/keyboard.js:782
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Tipkovnica"
|
msgstr "Tipkovnica"
|
||||||
|
|
||||||
#. translators: 'Hide' is a verb
|
|
||||||
#: js/ui/legacyTray.js:65
|
|
||||||
msgid "Hide tray"
|
|
||||||
msgstr "Sakrij traku stanja"
|
|
||||||
|
|
||||||
#: js/ui/legacyTray.js:106
|
|
||||||
msgid "Status Icons"
|
|
||||||
msgstr "Ikona stanja"
|
|
||||||
|
|
||||||
#: js/ui/lookingGlass.js:642
|
#: js/ui/lookingGlass.js:642
|
||||||
msgid "No extensions installed"
|
msgid "No extensions installed"
|
||||||
msgstr "Nema instaliranih proširenja"
|
msgstr "Nema instaliranih proširenja"
|
||||||
@ -1234,11 +1315,11 @@ msgstr "Pregled"
|
|||||||
#. characters.
|
#. characters.
|
||||||
#: js/ui/overview.js:240
|
#: js/ui/overview.js:240
|
||||||
msgid "Type to search…"
|
msgid "Type to search…"
|
||||||
msgstr "Upiši za pretragu..."
|
msgstr "Upiši za pretragu…"
|
||||||
|
|
||||||
#: js/ui/padOsd.js:103
|
#: js/ui/padOsd.js:103
|
||||||
msgid "New shortcut…"
|
msgid "New shortcut…"
|
||||||
msgstr "Novi prečac..."
|
msgstr "Novi prečac…"
|
||||||
|
|
||||||
#: js/ui/padOsd.js:152
|
#: js/ui/padOsd.js:152
|
||||||
msgid "Application defined"
|
msgid "Application defined"
|
||||||
@ -1262,7 +1343,7 @@ msgstr "Završeno"
|
|||||||
|
|
||||||
#: js/ui/padOsd.js:734
|
#: js/ui/padOsd.js:734
|
||||||
msgid "Edit…"
|
msgid "Edit…"
|
||||||
msgstr "Uredi..."
|
msgstr "Uredi…"
|
||||||
|
|
||||||
#: js/ui/padOsd.js:774 js/ui/padOsd.js:879
|
#: js/ui/padOsd.js:774 js/ui/padOsd.js:879
|
||||||
msgid "None"
|
msgid "None"
|
||||||
@ -1306,7 +1387,7 @@ msgstr "Gornja traka"
|
|||||||
#. simply result in invisible toggle switches.
|
#. simply result in invisible toggle switches.
|
||||||
#: js/ui/popupMenu.js:291
|
#: js/ui/popupMenu.js:291
|
||||||
msgid "toggle-switch-us"
|
msgid "toggle-switch-us"
|
||||||
msgstr ""
|
msgstr "toggle-switch-us"
|
||||||
|
|
||||||
#: js/ui/runDialog.js:71
|
#: js/ui/runDialog.js:71
|
||||||
msgid "Enter a Command"
|
msgid "Enter a Command"
|
||||||
@ -1322,7 +1403,7 @@ msgstr "Ponovno pokretanje nije dostupno na Waylandu"
|
|||||||
|
|
||||||
#: js/ui/runDialog.js:282
|
#: js/ui/runDialog.js:282
|
||||||
msgid "Restarting…"
|
msgid "Restarting…"
|
||||||
msgstr "Ponovno pokretanje..."
|
msgstr "Ponovno pokretanje…"
|
||||||
|
|
||||||
#. Translators: This is a time format for a date in
|
#. Translators: This is a time format for a date in
|
||||||
#. long format
|
#. long format
|
||||||
@ -1346,7 +1427,7 @@ msgstr[0] "%d nova obavijest"
|
|||||||
msgstr[1] "%d nove obavijesti"
|
msgstr[1] "%d nove obavijesti"
|
||||||
msgstr[2] "%d novih obavijesti"
|
msgstr[2] "%d novih obavijesti"
|
||||||
|
|
||||||
#: js/ui/screenShield.js:452 js/ui/status/system.js:415
|
#: js/ui/screenShield.js:452 js/ui/status/system.js:284
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Zaključaj"
|
msgstr "Zaključaj"
|
||||||
|
|
||||||
@ -1377,10 +1458,13 @@ msgstr "Pretraživanje…"
|
|||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Nema rezultata."
|
msgstr "Nema rezultata."
|
||||||
|
|
||||||
#: js/ui/search.js:768
|
#: js/ui/search.js:777
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d more"
|
msgid "%d more"
|
||||||
msgstr "Još %d"
|
msgid_plural "%d more"
|
||||||
|
msgstr[0] "Još %d"
|
||||||
|
msgstr[1] "Još %d"
|
||||||
|
msgstr[2] "Još %d"
|
||||||
|
|
||||||
#: js/ui/shellEntry.js:25
|
#: js/ui/shellEntry.js:25
|
||||||
msgid "Copy"
|
msgid "Copy"
|
||||||
@ -1454,7 +1538,7 @@ msgstr "Velik tekst"
|
|||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:638
|
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:627
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Bluetooth postavke"
|
msgstr "Bluetooth postavke"
|
||||||
|
|
||||||
@ -1475,13 +1559,13 @@ msgstr "Isključeno"
|
|||||||
msgid "On"
|
msgid "On"
|
||||||
msgstr "Uključeno"
|
msgstr "Uključeno"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
|
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1299
|
||||||
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:170
|
||||||
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
|
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
|
||||||
#: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
|
#: js/ui/status/network.js:1418 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"
|
||||||
@ -1534,13 +1618,13 @@ 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:1339
|
#: js/ui/status/network.js:454 js/ui/status/network.js:1328
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Off"
|
msgid "%s Off"
|
||||||
msgstr "%s isključena"
|
msgstr "%s isključena"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:468
|
#: js/ui/status/network.js:457
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connected"
|
msgid "%s Connected"
|
||||||
msgstr "%s povezana"
|
msgstr "%s povezana"
|
||||||
@ -1548,165 +1632,164 @@ msgstr "%s povezana"
|
|||||||
#. Translators: this is for network devices that are physically present but are not
|
#. Translators: this is for network devices that are physically present but are not
|
||||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||||
#. %s is a network identifier
|
#. %s is a network identifier
|
||||||
#: js/ui/status/network.js:473
|
#: js/ui/status/network.js:462
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Unmanaged"
|
msgid "%s Unmanaged"
|
||||||
msgstr "%s neupravljana"
|
msgstr "%s neupravljana"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:476
|
#: js/ui/status/network.js:465
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Disconnecting"
|
msgid "%s Disconnecting"
|
||||||
msgstr "%s prekidanje povezivanja"
|
msgstr "%s prekidanje povezivanja"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:483 js/ui/status/network.js:1331
|
#: js/ui/status/network.js:472 js/ui/status/network.js:1320
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connecting"
|
msgid "%s Connecting"
|
||||||
msgstr "%s povezivanje"
|
msgstr "%s povezivanje"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
||||||
#: js/ui/status/network.js:486
|
#: js/ui/status/network.js:475
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Requires Authentication"
|
msgid "%s Requires Authentication"
|
||||||
msgstr "%s zahtijeva ovjeru"
|
msgstr "%s zahtijeva ovjeru"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing; %s is a network identifier
|
#. module, which is missing; %s is a network identifier
|
||||||
#: js/ui/status/network.js:494
|
#: js/ui/status/network.js:483
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Firmware Missing For %s"
|
msgid "Firmware Missing For %s"
|
||||||
msgstr "Nedostaje firmver za %s"
|
msgstr "Nedostaje firmver za %s"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
||||||
#: js/ui/status/network.js:498
|
#: js/ui/status/network.js:487
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Unavailable"
|
msgid "%s Unavailable"
|
||||||
msgstr "%s nedostupna"
|
msgstr "%s nedostupna"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:501
|
#: js/ui/status/network.js:490
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connection Failed"
|
msgid "%s Connection Failed"
|
||||||
msgstr "%s neuspješno povezivanje"
|
msgstr "%s neuspješno povezivanje"
|
||||||
|
|
||||||
#: js/ui/status/network.js:517
|
#: js/ui/status/network.js:506
|
||||||
msgid "Wired Settings"
|
msgid "Wired Settings"
|
||||||
msgstr "Postavke žične mreže"
|
msgstr "Postavke žične mreže"
|
||||||
|
|
||||||
#: js/ui/status/network.js:559
|
#: js/ui/status/network.js:548
|
||||||
msgid "Mobile Broadband Settings"
|
msgid "Mobile Broadband Settings"
|
||||||
msgstr "Mobilni internet"
|
msgstr "Mobilni internet"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:602 js/ui/status/network.js:1336
|
#: js/ui/status/network.js:591 js/ui/status/network.js:1325
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hardware Disabled"
|
msgid "%s Hardware Disabled"
|
||||||
msgstr "%s hardverski onemogućena"
|
msgstr "%s hardverski onemogućena"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated
|
#. Translators: this is for a network device that cannot be activated
|
||||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||||
#: js/ui/status/network.js:606
|
#: js/ui/status/network.js:595
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Disabled"
|
msgid "%s Disabled"
|
||||||
msgstr "%s onemogućeno"
|
msgstr "%s onemogućeno"
|
||||||
|
|
||||||
#: js/ui/status/network.js:646
|
#: js/ui/status/network.js:635
|
||||||
msgid "Connect to Internet"
|
msgid "Connect to Internet"
|
||||||
msgstr "Povežite se na internet"
|
msgstr "Povežite se na internet"
|
||||||
|
|
||||||
#: js/ui/status/network.js:844
|
#: js/ui/status/network.js:833
|
||||||
msgid "Airplane Mode is On"
|
msgid "Airplane Mode is On"
|
||||||
msgstr "Zrakoplovni način rada je omogućen"
|
msgstr "Zrakoplovni način rada je omogućen"
|
||||||
|
|
||||||
#: js/ui/status/network.js:845
|
#: js/ui/status/network.js:834
|
||||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||||
msgstr "Bežična mreža je onemogućena u zrakoplovnom načinu rada."
|
msgstr "Bežična mreža je onemogućena u zrakoplovnom načinu rada."
|
||||||
|
|
||||||
#: js/ui/status/network.js:846
|
#: js/ui/status/network.js:835
|
||||||
msgid "Turn Off Airplane Mode"
|
msgid "Turn Off Airplane Mode"
|
||||||
msgstr "Isključi zrakoplovni način rada"
|
msgstr "Isključi zrakoplovni način rada"
|
||||||
|
|
||||||
#: js/ui/status/network.js:855
|
#: js/ui/status/network.js:844
|
||||||
msgid "Wi-Fi is Off"
|
msgid "Wi-Fi is Off"
|
||||||
msgstr "Bežična mreža isključena"
|
msgstr "Bežična mreža isključena"
|
||||||
|
|
||||||
#: js/ui/status/network.js:856
|
#: js/ui/status/network.js:845
|
||||||
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 mreža se mora uključiti kako bi se povezala s internetom."
|
msgstr "Bežična mreža se mora uključiti kako bi se povezala s internetom."
|
||||||
|
|
||||||
#: js/ui/status/network.js:857
|
#: js/ui/status/network.js:846
|
||||||
msgid "Turn On Wi-Fi"
|
msgid "Turn On Wi-Fi"
|
||||||
msgstr "Uključi bežičnu mrežu"
|
msgstr "Uključi bežičnu mrežu"
|
||||||
|
|
||||||
#: js/ui/status/network.js:882
|
#: js/ui/status/network.js:871
|
||||||
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:884
|
#: js/ui/status/network.js:873
|
||||||
msgid "Select a network"
|
msgid "Select a network"
|
||||||
msgstr "Odaberi mrežu"
|
msgstr "Odaberi mrežu"
|
||||||
|
|
||||||
#: js/ui/status/network.js:914
|
#: js/ui/status/network.js:903
|
||||||
msgid "No Networks"
|
msgid "No Networks"
|
||||||
msgstr "Nema mreža"
|
msgstr "Nema mreža"
|
||||||
|
|
||||||
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
|
#: js/ui/status/network.js:924 js/ui/status/rfkill.js:115
|
||||||
msgid "Use hardware switch to turn off"
|
msgid "Use hardware switch to turn off"
|
||||||
msgstr "Koristi hardverski prekidač za isključivanje"
|
msgstr "Koristi hardverski prekidač za isključivanje"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1202
|
#: js/ui/status/network.js:1191
|
||||||
msgid "Select Network"
|
msgid "Select Network"
|
||||||
msgstr "Odaberi mrežu"
|
msgstr "Odaberi mrežu"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1208
|
#: js/ui/status/network.js:1197
|
||||||
msgid "Wi-Fi Settings"
|
msgid "Wi-Fi Settings"
|
||||||
msgstr "Postavke bežične mreže"
|
msgstr "Postavke bežične mreže"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1327
|
#: js/ui/status/network.js:1316
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hotspot Active"
|
msgid "%s Hotspot Active"
|
||||||
msgstr "%s pristupna točka aktivna"
|
msgstr "%s pristupna točka aktivna"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1342
|
#: js/ui/status/network.js:1331
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Not Connected"
|
msgid "%s Not Connected"
|
||||||
msgstr "%s nije povezana"
|
msgstr "%s nije povezana"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1446
|
#: js/ui/status/network.js:1435
|
||||||
msgid "connecting…"
|
msgid "connecting…"
|
||||||
msgstr "povezivanje…"
|
msgstr "povezivanje…"
|
||||||
|
|
||||||
#. 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:1449
|
#: js/ui/status/network.js:1438
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "potrebna je ovjera"
|
msgstr "potrebna je ovjera"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1451
|
#: js/ui/status/network.js:1440
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "neuspješno povezivanje"
|
msgstr "neuspješno povezivanje"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1517 js/ui/status/network.js:1612
|
#: js/ui/status/network.js:1494
|
||||||
#: js/ui/status/rfkill.js:93
|
|
||||||
msgid "Network Settings"
|
|
||||||
msgstr "Mrežne postavke"
|
|
||||||
|
|
||||||
#: js/ui/status/network.js:1519
|
|
||||||
msgid "VPN Settings"
|
msgid "VPN Settings"
|
||||||
msgstr "VPN postavke"
|
msgstr "VPN postavke"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1538
|
#: js/ui/status/network.js:1498
|
||||||
msgid "VPN"
|
msgid "VPN"
|
||||||
msgstr "VPN"
|
msgstr "VPN"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1548
|
#: js/ui/status/network.js:1508
|
||||||
msgid "VPN Off"
|
msgid "VPN Off"
|
||||||
msgstr "VPN isključen"
|
msgstr "VPN isključen"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1643
|
#: js/ui/status/network.js:1572 js/ui/status/rfkill.js:93
|
||||||
|
msgid "Network Settings"
|
||||||
|
msgstr "Mrežne postavke"
|
||||||
|
|
||||||
|
#: js/ui/status/network.js:1603
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Wired Connection"
|
msgid "%s Wired Connection"
|
||||||
msgid_plural "%s Wired Connections"
|
msgid_plural "%s Wired Connections"
|
||||||
@ -1714,7 +1797,7 @@ msgstr[0] "%s žično povezivanje"
|
|||||||
msgstr[1] "%s žična povezivanja"
|
msgstr[1] "%s žična povezivanja"
|
||||||
msgstr[2] "%s žičnih povezivanja"
|
msgstr[2] "%s žičnih povezivanja"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1647
|
#: js/ui/status/network.js:1607
|
||||||
#, 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"
|
||||||
@ -1722,7 +1805,7 @@ msgstr[0] "%s bežično povezivanje"
|
|||||||
msgstr[1] "%s bežična povezivanja"
|
msgstr[1] "%s bežična povezivanja"
|
||||||
msgstr[2] "%s bežičnih povezivanja"
|
msgstr[2] "%s bežičnih povezivanja"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1651
|
#: js/ui/status/network.js:1611
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Modem Connection"
|
msgid "%s Modem Connection"
|
||||||
msgid_plural "%s Modem Connections"
|
msgid_plural "%s Modem Connections"
|
||||||
@ -1730,11 +1813,11 @@ msgstr[0] "%s modemsko povezivanje"
|
|||||||
msgstr[1] "%s modemska povezivanja"
|
msgstr[1] "%s modemska povezivanja"
|
||||||
msgstr[2] "%s modemskih povezivanja"
|
msgstr[2] "%s modemskih povezivanja"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1799
|
#: js/ui/status/network.js:1759
|
||||||
msgid "Connection failed"
|
msgid "Connection failed"
|
||||||
msgstr "Neuspješno povezivanje"
|
msgstr "Neuspješno povezivanje"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1800
|
#: js/ui/status/network.js:1760
|
||||||
msgid "Activation of network connection failed"
|
msgid "Activation of network connection failed"
|
||||||
msgstr "Aktiviranje mrežnog povezivanja je neuspjelo"
|
msgstr "Aktiviranje mrežnog povezivanja je neuspjelo"
|
||||||
|
|
||||||
@ -1766,7 +1849,7 @@ msgstr "Potpuno napunjeno"
|
|||||||
#. to estimate battery life
|
#. to estimate battery life
|
||||||
#: js/ui/status/power.js:84 js/ui/status/power.js:90
|
#: js/ui/status/power.js:84 js/ui/status/power.js:90
|
||||||
msgid "Estimating…"
|
msgid "Estimating…"
|
||||||
msgstr "Procjenjivanje..."
|
msgstr "Procjenjivanje…"
|
||||||
|
|
||||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||||
#: js/ui/status/power.js:98
|
#: js/ui/status/power.js:98
|
||||||
@ -1792,27 +1875,27 @@ msgstr "%d %%"
|
|||||||
msgid "Airplane Mode On"
|
msgid "Airplane Mode On"
|
||||||
msgstr "Zrakoplovni način rada uključen"
|
msgstr "Zrakoplovni način rada uključen"
|
||||||
|
|
||||||
#: js/ui/status/system.js:384
|
#: js/ui/status/system.js:228
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Zamijeni korisnika"
|
msgstr "Zamijeni korisnika"
|
||||||
|
|
||||||
#: js/ui/status/system.js:389
|
#: js/ui/status/system.js:240
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Odjava"
|
msgstr "Odjava"
|
||||||
|
|
||||||
#: js/ui/status/system.js:394
|
#: js/ui/status/system.js:252
|
||||||
msgid "Account Settings"
|
msgid "Account Settings"
|
||||||
msgstr "Postavke računa"
|
msgstr "Postavke računa"
|
||||||
|
|
||||||
#: js/ui/status/system.js:411
|
#: js/ui/status/system.js:269
|
||||||
msgid "Orientation Lock"
|
msgid "Orientation Lock"
|
||||||
msgstr "Zaključavanje orjentacije"
|
msgstr "Zaključavanje orjentacije"
|
||||||
|
|
||||||
#: js/ui/status/system.js:419
|
#: js/ui/status/system.js:295
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Suspendiraj"
|
msgstr "Suspendiraj"
|
||||||
|
|
||||||
#: js/ui/status/system.js:422
|
#: js/ui/status/system.js:305
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Isključivanje"
|
msgstr "Isključivanje"
|
||||||
|
|
||||||
@ -1824,6 +1907,34 @@ msgstr "Glasnoća zvuka promijenjena"
|
|||||||
msgid "Volume"
|
msgid "Volume"
|
||||||
msgstr "Glasnoća zvuka"
|
msgstr "Glasnoća zvuka"
|
||||||
|
|
||||||
|
#. Translators: this is for display mirroring i.e. cloning.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:21
|
||||||
|
msgid "Mirror"
|
||||||
|
msgstr "Zrcaljenje"
|
||||||
|
|
||||||
|
#. Translators: this is for the desktop spanning displays.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:26
|
||||||
|
msgid "Join Displays"
|
||||||
|
msgstr "Spoji zaslone"
|
||||||
|
|
||||||
|
#. Translators: this is for using only an external display.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:31
|
||||||
|
msgid "External Only"
|
||||||
|
msgstr "Samo vanjski"
|
||||||
|
|
||||||
|
#. Translators: this is for using only the laptop display.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:36
|
||||||
|
msgid "Built-in Only"
|
||||||
|
msgstr "Samo ugrađeni"
|
||||||
|
|
||||||
#: js/ui/unlockDialog.js:67
|
#: js/ui/unlockDialog.js:67
|
||||||
msgid "Log in as another user"
|
msgid "Log in as another user"
|
||||||
msgstr "Prijavi se kao drugi korisnik"
|
msgstr "Prijavi se kao drugi korisnik"
|
||||||
@ -1832,11 +1943,11 @@ msgstr "Prijavi se kao drugi korisnik"
|
|||||||
msgid "Unlock Window"
|
msgid "Unlock Window"
|
||||||
msgstr "Otključaj prozor"
|
msgstr "Otključaj prozor"
|
||||||
|
|
||||||
#: js/ui/viewSelector.js:183
|
#: js/ui/viewSelector.js:190
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Aplikacije"
|
msgstr "Aplikacije"
|
||||||
|
|
||||||
#: js/ui/viewSelector.js:187
|
#: js/ui/viewSelector.js:194
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Pretraži"
|
msgstr "Pretraži"
|
||||||
|
|
||||||
@ -1845,22 +1956,22 @@ msgstr "Pretraži"
|
|||||||
msgid "“%s” is ready"
|
msgid "“%s” is ready"
|
||||||
msgstr "“%s” je spreman"
|
msgstr "“%s” je spreman"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:71
|
#: js/ui/windowManager.js:72
|
||||||
msgid "Do you want to keep these display settings?"
|
msgid "Do you want to keep these display settings?"
|
||||||
msgstr "Želite li zadržati ove postavke zaslona?"
|
msgstr "Želite li zadržati ove postavke zaslona?"
|
||||||
|
|
||||||
#. 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:83
|
#: js/ui/windowManager.js:84
|
||||||
msgid "Revert Settings"
|
msgid "Revert Settings"
|
||||||
msgstr "Vrati postavke"
|
msgstr "Vrati postavke"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:86
|
#: js/ui/windowManager.js:87
|
||||||
msgid "Keep Changes"
|
msgid "Keep Changes"
|
||||||
msgstr "Zadrži promjene"
|
msgstr "Zadrži promjene"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:104
|
#: js/ui/windowManager.js:105
|
||||||
#, 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"
|
||||||
@ -1870,7 +1981,7 @@ msgstr[2] "Promjene postavka će se vratiti za %d sekundi"
|
|||||||
|
|
||||||
#. 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:659
|
#: js/ui/windowManager.js:660
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d × %d"
|
msgid "%d × %d"
|
||||||
msgstr "%d × %d"
|
msgstr "%d × %d"
|
||||||
@ -1948,19 +2059,19 @@ msgstr "Evolution kalendar"
|
|||||||
msgid "evolution"
|
msgid "evolution"
|
||||||
msgstr "evolution"
|
msgstr "evolution"
|
||||||
|
|
||||||
#: src/main.c:372
|
#: src/main.c:380
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Ispiši inačicu"
|
msgstr "Ispiši inačicu"
|
||||||
|
|
||||||
#: src/main.c:378
|
#: src/main.c:386
|
||||||
msgid "Mode used by GDM for login screen"
|
msgid "Mode used by GDM for login screen"
|
||||||
msgstr "Način koji koristi GDM za zaslon prijave"
|
msgstr "Način koji koristi GDM za zaslon prijave"
|
||||||
|
|
||||||
#: src/main.c:384
|
#: src/main.c:392
|
||||||
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
||||||
msgstr "Koristi određen način, npr. \"gdm\" za zaslon prijave"
|
msgstr "Koristi određen način, npr. \"gdm\" za zaslon prijave"
|
||||||
|
|
||||||
#: src/main.c:390
|
#: src/main.c:398
|
||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Popis mogućih načina"
|
msgstr "Popis mogućih načina"
|
||||||
|
|
||||||
@ -2010,6 +2121,12 @@ msgstr[2] "%u ulaza"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Zvukovi sustava"
|
msgstr "Zvukovi sustava"
|
||||||
|
|
||||||
|
#~ msgid "Hide tray"
|
||||||
|
#~ msgstr "Sakrij traku stanja"
|
||||||
|
|
||||||
|
#~ msgid "Status Icons"
|
||||||
|
#~ msgstr "Ikona stanja"
|
||||||
|
|
||||||
#~ msgid "GNOME Shell Extension Preferences"
|
#~ msgid "GNOME Shell Extension Preferences"
|
||||||
#~ msgstr "Osobitosti proširenja GNOME ljuske"
|
#~ msgstr "Osobitosti proširenja GNOME ljuske"
|
||||||
|
|
||||||
|
401
po/id.po
401
po/id.po
@ -2,7 +2,7 @@
|
|||||||
# Copyright (C) 2010 THE gnome-shell'S COPYRIGHT HOLDER
|
# Copyright (C) 2010 THE gnome-shell'S COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the gnome-shell package.
|
# This file is distributed under the same license as the gnome-shell package.
|
||||||
#
|
#
|
||||||
# Andika Triwidada <andika@gmail.com>, 2010, 2011, 2012, 2013, 2014.
|
# Andika Triwidada <andika@gmail.com>, 2010-2014, 2017.
|
||||||
# Dirgita <dirgitadevina@yahoo.co.id>, 2011, 2012, 2014.
|
# Dirgita <dirgitadevina@yahoo.co.id>, 2011, 2012, 2014.
|
||||||
# Wibiharto <wibinem@yahoo.com>, 2011.
|
# Wibiharto <wibinem@yahoo.com>, 2011.
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -10,16 +10,16 @@ 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-07-16 17:31+0000\n"
|
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
|
||||||
"PO-Revision-Date: 2017-07-17 10:54+0700\n"
|
"PO-Revision-Date: 2017-08-23 00:03+0700\n"
|
||||||
"Last-Translator: Kukuh Syafaat <syafaatkukuh@gmail.com>\n"
|
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
|
||||||
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
|
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
|
||||||
"Language: id\n"
|
"Language: id\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 2.0.2\n"
|
"X-Generator: Poedit 2.0.3\n"
|
||||||
"X-DamnedLies-Scope: partial\n"
|
"X-DamnedLies-Scope: partial\n"
|
||||||
"X-Poedit-SourceCharset: UTF-8\n"
|
"X-Poedit-SourceCharset: UTF-8\n"
|
||||||
|
|
||||||
@ -342,8 +342,8 @@ msgstr "Ada galat saat memuat dialog preferensi bagi %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:117 js/ui/components/polkitAgent.js:148
|
#: js/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||||
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195
|
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
||||||
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:947
|
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:936
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Batal"
|
msgstr "Batal"
|
||||||
|
|
||||||
@ -404,6 +404,72 @@ msgstr "Galat otentikasi"
|
|||||||
msgid "(or swipe finger)"
|
msgid "(or swipe finger)"
|
||||||
msgstr "(atau gesekkan jari)"
|
msgstr "(atau gesekkan jari)"
|
||||||
|
|
||||||
|
#. Translators: The name of the power-off action in search
|
||||||
|
#: js/misc/systemActions.js:99
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Power off"
|
||||||
|
msgstr "Matikan"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the power-off action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:102
|
||||||
|
msgid "power off;shutdown"
|
||||||
|
msgstr "matikan"
|
||||||
|
|
||||||
|
#. Translators: The name of the lock screen action in search
|
||||||
|
#: js/misc/systemActions.js:106
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Lock screen"
|
||||||
|
msgstr "Kunci layar"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the lock screen action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:109
|
||||||
|
msgid "lock screen"
|
||||||
|
msgstr "kunci layar"
|
||||||
|
|
||||||
|
#. Translators: The name of the logout action in search
|
||||||
|
#: js/misc/systemActions.js:113
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Log out"
|
||||||
|
msgstr "Keluar"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the logout action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:116
|
||||||
|
msgid "logout;sign off"
|
||||||
|
msgstr "keluar"
|
||||||
|
|
||||||
|
#. Translators: The name of the suspend action in search
|
||||||
|
#: js/misc/systemActions.js:120
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Suspend"
|
||||||
|
msgstr "Suspensi"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:123
|
||||||
|
msgid "suspend;sleep"
|
||||||
|
msgstr "suspensi;tidur"
|
||||||
|
|
||||||
|
#. Translators: The name of the switch user action in search
|
||||||
|
#: js/misc/systemActions.js:127
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Switch user"
|
||||||
|
msgstr "Ganti pengguna"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the switch user action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:130
|
||||||
|
msgid "switch user"
|
||||||
|
msgstr "ganti pengguna"
|
||||||
|
|
||||||
|
#. Translators: The name of the lock orientation action in search
|
||||||
|
#: js/misc/systemActions.js:134
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Lock orientation"
|
||||||
|
msgstr "Kunci orientasi"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:137
|
||||||
|
msgid "lock orientation"
|
||||||
|
msgstr "kunci orientasi"
|
||||||
|
|
||||||
#: js/misc/util.js:122
|
#: js/misc/util.js:122
|
||||||
msgid "Command not found"
|
msgid "Command not found"
|
||||||
msgstr "Perintah tidak ditemukan"
|
msgstr "Perintah tidak ditemukan"
|
||||||
@ -557,35 +623,35 @@ msgstr "Tolak Akses"
|
|||||||
msgid "Grant Access"
|
msgid "Grant Access"
|
||||||
msgstr "Beri Akses"
|
msgstr "Beri Akses"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:813
|
#: js/ui/appDisplay.js:809
|
||||||
msgid "Frequently used applications will appear here"
|
msgid "Frequently used applications will appear here"
|
||||||
msgstr "Aplikasi yang sering dipakai akan muncul di sini"
|
msgstr "Aplikasi yang sering dipakai akan muncul di sini"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:934
|
#: js/ui/appDisplay.js:930
|
||||||
msgid "Frequent"
|
msgid "Frequent"
|
||||||
msgstr "Sering"
|
msgstr "Sering"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:941
|
#: js/ui/appDisplay.js:937
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Semua"
|
msgstr "Semua"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1902
|
#: js/ui/appDisplay.js:1915
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Jendela Baru"
|
msgstr "Jendela Baru"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1916
|
#: js/ui/appDisplay.js:1929
|
||||||
msgid "Launch using Dedicated Graphics Card"
|
msgid "Launch using Dedicated Graphics Card"
|
||||||
msgstr "Luncurkan menggunakan Kartu Grafis Terdedikasi"
|
msgstr "Luncurkan menggunakan Kartu Grafis Terdedikasi"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1943 js/ui/dash.js:289
|
#: js/ui/appDisplay.js:1956 js/ui/dash.js:289
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Hapus dari Favorit"
|
msgstr "Hapus dari Favorit"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1949
|
#: js/ui/appDisplay.js:1962
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Tambah ke Favorit"
|
msgstr "Tambah ke Favorit"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1959
|
#: js/ui/appDisplay.js:1972
|
||||||
msgid "Show Details"
|
msgid "Show Details"
|
||||||
msgstr "Tampilkan Rincian"
|
msgstr "Tampilkan Rincian"
|
||||||
|
|
||||||
@ -627,7 +693,7 @@ msgstr "Ubah Latar…"
|
|||||||
msgid "Display Settings"
|
msgid "Display Settings"
|
||||||
msgstr "Pengaturan Tampilan"
|
msgstr "Pengaturan Tampilan"
|
||||||
|
|
||||||
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:407
|
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:265
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Pengaturan"
|
msgstr "Pengaturan"
|
||||||
|
|
||||||
@ -761,7 +827,7 @@ msgstr "Drive eksternal tersambung"
|
|||||||
msgid "External drive disconnected"
|
msgid "External drive disconnected"
|
||||||
msgstr "Drive eksternal terputus"
|
msgstr "Drive eksternal terputus"
|
||||||
|
|
||||||
#: js/ui/components/autorunManager.js:355
|
#: js/ui/components/autorunManager.js:354
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Open with %s"
|
msgid "Open with %s"
|
||||||
msgstr "Buka dengan %s"
|
msgstr "Buka dengan %s"
|
||||||
@ -774,8 +840,8 @@ msgstr "Sandi:"
|
|||||||
msgid "Type again:"
|
msgid "Type again:"
|
||||||
msgstr "Ketik lagi:"
|
msgstr "Ketik lagi:"
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:272
|
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:261
|
||||||
#: js/ui/status/network.js:366 js/ui/status/network.js:950
|
#: js/ui/status/network.js:355 js/ui/status/network.js:939
|
||||||
msgid "Connect"
|
msgid "Connect"
|
||||||
msgstr "Sambung"
|
msgstr "Sambung"
|
||||||
|
|
||||||
@ -850,7 +916,7 @@ msgstr "Sandi jaringan data seluler"
|
|||||||
msgid "A password is required to connect to “%s”."
|
msgid "A password is required to connect to “%s”."
|
||||||
msgstr "Perlu suatu sandi untuk menyambung ke \"%s\"."
|
msgstr "Perlu suatu sandi untuk menyambung ke \"%s\"."
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1760
|
#: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1720
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Manajer Jaringan"
|
msgstr "Manajer Jaringan"
|
||||||
|
|
||||||
@ -881,7 +947,7 @@ msgstr "Maaf, tidak berhasil. Silakan coba lagi."
|
|||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "%s sekarang dikenal sebagai %s"
|
msgstr "%s sekarang dikenal sebagai %s"
|
||||||
|
|
||||||
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:179
|
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:186
|
||||||
msgid "Windows"
|
msgid "Windows"
|
||||||
msgstr "Jendela"
|
msgstr "Jendela"
|
||||||
|
|
||||||
@ -926,7 +992,7 @@ msgstr "Cuaca"
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:281
|
#: js/ui/dateMenu.js:286
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s all day."
|
msgid "%s all day."
|
||||||
msgstr "%s sepanjang hari."
|
msgstr "%s sepanjang hari."
|
||||||
@ -935,7 +1001,7 @@ msgstr "%s sepanjang hari."
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:287
|
#: js/ui/dateMenu.js:292
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s, then %s later."
|
msgid "%s, then %s later."
|
||||||
msgstr "%s, kemudian %s."
|
msgstr "%s, kemudian %s."
|
||||||
@ -944,30 +1010,30 @@ msgstr "%s, kemudian %s."
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:293
|
#: js/ui/dateMenu.js:298
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s, then %s, followed by %s later."
|
msgid "%s, then %s, followed by %s later."
|
||||||
msgstr "%s, kemudian %s, diikuti dengan %s nanti."
|
msgstr "%s, kemudian %s, diikuti dengan %s nanti."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:300
|
#: js/ui/dateMenu.js:309
|
||||||
msgid "Select a location…"
|
msgid "Select a location…"
|
||||||
msgstr "Pilih lokasi…"
|
msgstr "Pilih lokasi…"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:303
|
#: js/ui/dateMenu.js:312
|
||||||
msgid "Loading…"
|
msgid "Loading…"
|
||||||
msgstr "Memuat…"
|
msgstr "Memuat…"
|
||||||
|
|
||||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
||||||
#: js/ui/dateMenu.js:309
|
#: js/ui/dateMenu.js:318
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Feels like %s."
|
msgid "Feels like %s."
|
||||||
msgstr "Terasa seperti %s."
|
msgstr "Terasa seperti %s."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:312
|
#: js/ui/dateMenu.js:321
|
||||||
msgid "Go online for weather information"
|
msgid "Go online for weather information"
|
||||||
msgstr "Pergi daring untuk informasi cuaca"
|
msgstr "Pergi daring untuk informasi cuaca"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:314
|
#: js/ui/dateMenu.js:323
|
||||||
msgid "Weather information is currently unavailable"
|
msgid "Weather information is currently unavailable"
|
||||||
msgstr "Informasi cuaca saat ini tidak tersedia"
|
msgstr "Informasi cuaca saat ini tidak tersedia"
|
||||||
|
|
||||||
@ -1113,28 +1179,43 @@ msgstr "%s (jarak jauh)"
|
|||||||
msgid "%s (console)"
|
msgid "%s (console)"
|
||||||
msgstr "%s (konsol)"
|
msgstr "%s (konsol)"
|
||||||
|
|
||||||
#: js/ui/extensionDownloader.js:199
|
#: js/ui/extensionDownloader.js:201
|
||||||
msgid "Install"
|
msgid "Install"
|
||||||
msgstr "Pasang"
|
msgstr "Pasang"
|
||||||
|
|
||||||
#: js/ui/extensionDownloader.js:204
|
#: js/ui/extensionDownloader.js:206
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "Unduh dan pasang \"%s\" dari extensions.gnome.org?"
|
msgstr "Unduh dan pasang \"%s\" dari extensions.gnome.org?"
|
||||||
|
|
||||||
#: js/ui/keyboard.js:740 js/ui/status/keyboard.js:782
|
#. Translators: %s is an application name like "Settings"
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:59
|
||||||
|
#, javascript-format
|
||||||
|
msgid "%s wants to inhibit shortcuts"
|
||||||
|
msgstr "%s ingin mencegah pintasan"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:60
|
||||||
|
msgid "Application wants to inhibit shortcuts"
|
||||||
|
msgstr "Aplikasi ingin mencegah pintasan"
|
||||||
|
|
||||||
|
#. Translators: %s is a keyboard shortcut like "Super+x"
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:69
|
||||||
|
#, javascript-format
|
||||||
|
msgid "You can restore shortcuts by pressing %s."
|
||||||
|
msgstr "Anda dapat memulihkan pintasan dengan menekan %s."
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:74
|
||||||
|
msgid "Deny"
|
||||||
|
msgstr "Tolak"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:80
|
||||||
|
msgid "Allow"
|
||||||
|
msgstr "Izinkan"
|
||||||
|
|
||||||
|
#: js/ui/keyboard.js:738 js/ui/status/keyboard.js:782
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Papan Ketik"
|
msgstr "Papan Ketik"
|
||||||
|
|
||||||
#. translators: 'Hide' is a verb
|
|
||||||
#: js/ui/legacyTray.js:65
|
|
||||||
msgid "Hide tray"
|
|
||||||
msgstr "Sembunyikan baki"
|
|
||||||
|
|
||||||
#: js/ui/legacyTray.js:106
|
|
||||||
msgid "Status Icons"
|
|
||||||
msgstr "Ikon Status"
|
|
||||||
|
|
||||||
#: js/ui/lookingGlass.js:642
|
#: js/ui/lookingGlass.js:642
|
||||||
msgid "No extensions installed"
|
msgid "No extensions installed"
|
||||||
msgstr "Tak ada ekstensi terpasang"
|
msgstr "Tak ada ekstensi terpasang"
|
||||||
@ -1159,7 +1240,7 @@ msgstr "Diaktifkan"
|
|||||||
|
|
||||||
#. translators:
|
#. translators:
|
||||||
#. * The device has been disabled
|
#. * The device has been disabled
|
||||||
#: js/ui/lookingGlass.js:718 src/gvc/gvc-mixer-control.c:1866
|
#: js/ui/lookingGlass.js:718 subprojects/gvc/gvc-mixer-control.c:1866
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr "Dinonaktifkan"
|
msgstr "Dinonaktifkan"
|
||||||
|
|
||||||
@ -1233,27 +1314,27 @@ msgstr "Ganti monitor"
|
|||||||
msgid "Assign keystroke"
|
msgid "Assign keystroke"
|
||||||
msgstr "Tetapkan keystroke"
|
msgstr "Tetapkan keystroke"
|
||||||
|
|
||||||
#: js/ui/padOsd.js:209
|
#: js/ui/padOsd.js:220
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "Selesai"
|
msgstr "Selesai"
|
||||||
|
|
||||||
#: js/ui/padOsd.js:708
|
#: js/ui/padOsd.js:734
|
||||||
msgid "Edit…"
|
msgid "Edit…"
|
||||||
msgstr "Sunting…"
|
msgstr "Sunting…"
|
||||||
|
|
||||||
#: js/ui/padOsd.js:748 js/ui/padOsd.js:810
|
#: js/ui/padOsd.js:774 js/ui/padOsd.js:879
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Nihil"
|
msgstr "Nihil"
|
||||||
|
|
||||||
#: js/ui/padOsd.js:793
|
#: js/ui/padOsd.js:833
|
||||||
msgid "Press a button to configure"
|
msgid "Press a button to configure"
|
||||||
msgstr "Tekan tombol untuk mengkonfigurasi"
|
msgstr "Tekan tombol untuk mengkonfigurasi"
|
||||||
|
|
||||||
#: js/ui/padOsd.js:794
|
#: js/ui/padOsd.js:834
|
||||||
msgid "Press Esc to exit"
|
msgid "Press Esc to exit"
|
||||||
msgstr "Tekan Esc untuk keluar"
|
msgstr "Tekan Esc untuk keluar"
|
||||||
|
|
||||||
#: js/ui/padOsd.js:797
|
#: js/ui/padOsd.js:837
|
||||||
msgid "Press any key to exit"
|
msgid "Press any key to exit"
|
||||||
msgstr "Tekan tombol apa saja untuk keluar"
|
msgstr "Tekan tombol apa saja untuk keluar"
|
||||||
|
|
||||||
@ -1320,7 +1401,7 @@ msgid "%d new notification"
|
|||||||
msgid_plural "%d new notifications"
|
msgid_plural "%d new notifications"
|
||||||
msgstr[0] "%d pemberitahuan baru"
|
msgstr[0] "%d pemberitahuan baru"
|
||||||
|
|
||||||
#: js/ui/screenShield.js:452 js/ui/status/system.js:415
|
#: js/ui/screenShield.js:452 js/ui/status/system.js:284
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Kunci"
|
msgstr "Kunci"
|
||||||
|
|
||||||
@ -1351,10 +1432,11 @@ msgstr "Mencari…"
|
|||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Tak ada yang cocok."
|
msgstr "Tak ada yang cocok."
|
||||||
|
|
||||||
#: js/ui/search.js:768
|
#: js/ui/search.js:777
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d more"
|
msgid "%d more"
|
||||||
msgstr "%d lagi"
|
msgid_plural "%d more"
|
||||||
|
msgstr[0] "%d lagi"
|
||||||
|
|
||||||
#: js/ui/shellEntry.js:25
|
#: js/ui/shellEntry.js:25
|
||||||
msgid "Copy"
|
msgid "Copy"
|
||||||
@ -1428,7 +1510,7 @@ msgstr "Teks Besar"
|
|||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:638
|
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:627
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Pengaturan Bluetooth"
|
msgstr "Pengaturan Bluetooth"
|
||||||
|
|
||||||
@ -1447,13 +1529,13 @@ msgstr "Mati"
|
|||||||
msgid "On"
|
msgid "On"
|
||||||
msgstr "Hidup"
|
msgstr "Hidup"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
|
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1299
|
||||||
msgid "Turn On"
|
msgid "Turn On"
|
||||||
msgstr "Nyalakan"
|
msgstr "Nyalakan"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
|
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
|
||||||
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
|
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
|
||||||
#: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
|
#: js/ui/status/network.js:1418 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 "Matikan"
|
msgstr "Matikan"
|
||||||
@ -1505,13 +1587,13 @@ msgid "<unknown>"
|
|||||||
msgstr "<tak dikenal>"
|
msgstr "<tak dikenal>"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:465 js/ui/status/network.js:1339
|
#: js/ui/status/network.js:454 js/ui/status/network.js:1328
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Off"
|
msgid "%s Off"
|
||||||
msgstr "%s Mati"
|
msgstr "%s Mati"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:468
|
#: js/ui/status/network.js:457
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connected"
|
msgid "%s Connected"
|
||||||
msgstr "%s Tersambung"
|
msgstr "%s Tersambung"
|
||||||
@ -1519,187 +1601,186 @@ msgstr "%s Tersambung"
|
|||||||
#. Translators: this is for network devices that are physically present but are not
|
#. Translators: this is for network devices that are physically present but are not
|
||||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||||
#. %s is a network identifier
|
#. %s is a network identifier
|
||||||
#: js/ui/status/network.js:473
|
#: js/ui/status/network.js:462
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Unmanaged"
|
msgid "%s Unmanaged"
|
||||||
msgstr "%s Tak Dikelola"
|
msgstr "%s Tak Dikelola"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:476
|
#: js/ui/status/network.js:465
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Disconnecting"
|
msgid "%s Disconnecting"
|
||||||
msgstr "%s Memutus"
|
msgstr "%s Memutus"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:483 js/ui/status/network.js:1331
|
#: js/ui/status/network.js:472 js/ui/status/network.js:1320
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connecting"
|
msgid "%s Connecting"
|
||||||
msgstr "%s Menyambung"
|
msgstr "%s Menyambung"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
||||||
#: js/ui/status/network.js:486
|
#: js/ui/status/network.js:475
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Requires Authentication"
|
msgid "%s Requires Authentication"
|
||||||
msgstr "%s Memerlukan Otentikasi"
|
msgstr "%s Memerlukan Otentikasi"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing; %s is a network identifier
|
#. module, which is missing; %s is a network identifier
|
||||||
#: js/ui/status/network.js:494
|
#: js/ui/status/network.js:483
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Firmware Missing For %s"
|
msgid "Firmware Missing For %s"
|
||||||
msgstr "Firmware Hilang Untuk %s"
|
msgstr "Firmware Hilang Untuk %s"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
||||||
#: js/ui/status/network.js:498
|
#: js/ui/status/network.js:487
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Unavailable"
|
msgid "%s Unavailable"
|
||||||
msgstr "%s Tak tersedia"
|
msgstr "%s Tak tersedia"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:501
|
#: js/ui/status/network.js:490
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connection Failed"
|
msgid "%s Connection Failed"
|
||||||
msgstr "Koneksi %s Gagal"
|
msgstr "Koneksi %s Gagal"
|
||||||
|
|
||||||
#: js/ui/status/network.js:517
|
#: js/ui/status/network.js:506
|
||||||
msgid "Wired Settings"
|
msgid "Wired Settings"
|
||||||
msgstr "Pengaturan Kabel"
|
msgstr "Pengaturan Kabel"
|
||||||
|
|
||||||
#: js/ui/status/network.js:559
|
#: js/ui/status/network.js:548
|
||||||
msgid "Mobile Broadband Settings"
|
msgid "Mobile Broadband Settings"
|
||||||
msgstr "Pengaturan Data Seluler"
|
msgstr "Pengaturan Data Seluler"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:602 js/ui/status/network.js:1336
|
#: js/ui/status/network.js:591 js/ui/status/network.js:1325
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hardware Disabled"
|
msgid "%s Hardware Disabled"
|
||||||
msgstr "%s Perangkat Keras Dinonaktifkan"
|
msgstr "%s Perangkat Keras Dinonaktifkan"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated
|
#. Translators: this is for a network device that cannot be activated
|
||||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||||
#: js/ui/status/network.js:606
|
#: js/ui/status/network.js:595
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Disabled"
|
msgid "%s Disabled"
|
||||||
msgstr "%s Dinonaktifkan"
|
msgstr "%s Dinonaktifkan"
|
||||||
|
|
||||||
#: js/ui/status/network.js:646
|
#: js/ui/status/network.js:635
|
||||||
msgid "Connect to Internet"
|
msgid "Connect to Internet"
|
||||||
msgstr "Sambungkan ke Internet"
|
msgstr "Sambungkan ke Internet"
|
||||||
|
|
||||||
#: js/ui/status/network.js:844
|
#: js/ui/status/network.js:833
|
||||||
msgid "Airplane Mode is On"
|
msgid "Airplane Mode is On"
|
||||||
msgstr "Mode Pesawat Terbang Menyala"
|
msgstr "Mode Pesawat Terbang Menyala"
|
||||||
|
|
||||||
#: js/ui/status/network.js:845
|
#: js/ui/status/network.js:834
|
||||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||||
msgstr "Wi-Fi dinonaktifkan ketika mode pesawat terbang menyala."
|
msgstr "Wi-Fi dinonaktifkan ketika mode pesawat terbang menyala."
|
||||||
|
|
||||||
#: js/ui/status/network.js:846
|
#: js/ui/status/network.js:835
|
||||||
msgid "Turn Off Airplane Mode"
|
msgid "Turn Off Airplane Mode"
|
||||||
msgstr "Matikan Mode Pesawat Terbang"
|
msgstr "Matikan Mode Pesawat Terbang"
|
||||||
|
|
||||||
#: js/ui/status/network.js:855
|
#: js/ui/status/network.js:844
|
||||||
msgid "Wi-Fi is Off"
|
msgid "Wi-Fi is Off"
|
||||||
msgstr "Wi-Fi Mati"
|
msgstr "Wi-Fi Mati"
|
||||||
|
|
||||||
#: js/ui/status/network.js:856
|
#: js/ui/status/network.js:845
|
||||||
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 "Wi-Fi perlu dinyalakan untuk menyambung ke suatu jaringan."
|
msgstr "Wi-Fi perlu dinyalakan untuk menyambung ke suatu jaringan."
|
||||||
|
|
||||||
#: js/ui/status/network.js:857
|
#: js/ui/status/network.js:846
|
||||||
msgid "Turn On Wi-Fi"
|
msgid "Turn On Wi-Fi"
|
||||||
msgstr "Nyalakan Wi-Fi"
|
msgstr "Nyalakan Wi-Fi"
|
||||||
|
|
||||||
#: js/ui/status/network.js:882
|
#: js/ui/status/network.js:871
|
||||||
msgid "Wi-Fi Networks"
|
msgid "Wi-Fi Networks"
|
||||||
msgstr "Jaringan Wi-Fi"
|
msgstr "Jaringan Wi-Fi"
|
||||||
|
|
||||||
#: js/ui/status/network.js:884
|
#: js/ui/status/network.js:873
|
||||||
msgid "Select a network"
|
msgid "Select a network"
|
||||||
msgstr "Pilih jaringan"
|
msgstr "Pilih jaringan"
|
||||||
|
|
||||||
#: js/ui/status/network.js:914
|
#: js/ui/status/network.js:903
|
||||||
msgid "No Networks"
|
msgid "No Networks"
|
||||||
msgstr "Tiada Jaringan"
|
msgstr "Tiada Jaringan"
|
||||||
|
|
||||||
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
|
#: js/ui/status/network.js:924 js/ui/status/rfkill.js:115
|
||||||
msgid "Use hardware switch to turn off"
|
msgid "Use hardware switch to turn off"
|
||||||
msgstr "Pakai saklar perangkat keras untuk mematikan"
|
msgstr "Pakai saklar perangkat keras untuk mematikan"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1202
|
#: js/ui/status/network.js:1191
|
||||||
msgid "Select Network"
|
msgid "Select Network"
|
||||||
msgstr "Pilih Jaringan"
|
msgstr "Pilih Jaringan"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1208
|
#: js/ui/status/network.js:1197
|
||||||
msgid "Wi-Fi Settings"
|
msgid "Wi-Fi Settings"
|
||||||
msgstr "Pengaturan Wi-Fi"
|
msgstr "Pengaturan Wi-Fi"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1327
|
#: js/ui/status/network.js:1316
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hotspot Active"
|
msgid "%s Hotspot Active"
|
||||||
msgstr "%s Hotspot Aktif"
|
msgstr "%s Hotspot Aktif"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1342
|
#: js/ui/status/network.js:1331
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Not Connected"
|
msgid "%s Not Connected"
|
||||||
msgstr "%s Tak Tersambung"
|
msgstr "%s Tak Tersambung"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1446
|
#: js/ui/status/network.js:1435
|
||||||
msgid "connecting…"
|
msgid "connecting…"
|
||||||
msgstr "menghubungi..."
|
msgstr "menghubungi..."
|
||||||
|
|
||||||
#. 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:1449
|
#: js/ui/status/network.js:1438
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "diperlukan otentikasi"
|
msgstr "diperlukan otentikasi"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1451
|
#: js/ui/status/network.js:1440
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "koneksi gagal"
|
msgstr "koneksi gagal"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1517 js/ui/status/network.js:1612
|
#: js/ui/status/network.js:1494
|
||||||
#: js/ui/status/rfkill.js:93
|
|
||||||
msgid "Network Settings"
|
|
||||||
msgstr "Pengaturan Jaringan"
|
|
||||||
|
|
||||||
#: js/ui/status/network.js:1519
|
|
||||||
msgid "VPN Settings"
|
msgid "VPN Settings"
|
||||||
msgstr "Pengaturan VPN"
|
msgstr "Pengaturan VPN"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1538
|
#: js/ui/status/network.js:1498
|
||||||
msgid "VPN"
|
msgid "VPN"
|
||||||
msgstr "VPN"
|
msgstr "VPN"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1548
|
#: js/ui/status/network.js:1508
|
||||||
msgid "VPN Off"
|
msgid "VPN Off"
|
||||||
msgstr "VPN Mati"
|
msgstr "VPN Mati"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1643
|
#: js/ui/status/network.js:1572 js/ui/status/rfkill.js:93
|
||||||
|
msgid "Network Settings"
|
||||||
|
msgstr "Pengaturan Jaringan"
|
||||||
|
|
||||||
|
#: js/ui/status/network.js:1603
|
||||||
#, 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 Koneksi Kabel"
|
msgstr[0] "%s Koneksi Kabel"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1647
|
#: js/ui/status/network.js:1607
|
||||||
#, 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 Koneksi Wi-Fi"
|
msgstr[0] "%s Koneksi Wi-Fi"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1651
|
#: js/ui/status/network.js:1611
|
||||||
#, 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 Koneksi Modem"
|
msgstr[0] "%s Koneksi Modem"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1799
|
#: js/ui/status/network.js:1759
|
||||||
msgid "Connection failed"
|
msgid "Connection failed"
|
||||||
msgstr "Koneksi gagal"
|
msgstr "Koneksi gagal"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1800
|
#: js/ui/status/network.js:1760
|
||||||
msgid "Activation of network connection failed"
|
msgid "Activation of network connection failed"
|
||||||
msgstr "Aktivasi koneksi jaringan gagal"
|
msgstr "Aktivasi koneksi jaringan gagal"
|
||||||
|
|
||||||
@ -1757,27 +1838,27 @@ msgstr "%d %%"
|
|||||||
msgid "Airplane Mode On"
|
msgid "Airplane Mode On"
|
||||||
msgstr "Mode Pesawat Terbang Aktif"
|
msgstr "Mode Pesawat Terbang Aktif"
|
||||||
|
|
||||||
#: js/ui/status/system.js:384
|
#: js/ui/status/system.js:228
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Ganti Pengguna"
|
msgstr "Ganti Pengguna"
|
||||||
|
|
||||||
#: js/ui/status/system.js:389
|
#: js/ui/status/system.js:240
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Keluar"
|
msgstr "Keluar"
|
||||||
|
|
||||||
#: js/ui/status/system.js:394
|
#: js/ui/status/system.js:252
|
||||||
msgid "Account Settings"
|
msgid "Account Settings"
|
||||||
msgstr "Pengaturan Akun"
|
msgstr "Pengaturan Akun"
|
||||||
|
|
||||||
#: js/ui/status/system.js:411
|
#: js/ui/status/system.js:269
|
||||||
msgid "Orientation Lock"
|
msgid "Orientation Lock"
|
||||||
msgstr "Kunci Orientasi"
|
msgstr "Kunci Orientasi"
|
||||||
|
|
||||||
#: js/ui/status/system.js:419
|
#: js/ui/status/system.js:295
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Suspensi"
|
msgstr "Suspensi"
|
||||||
|
|
||||||
#: js/ui/status/system.js:422
|
#: js/ui/status/system.js:305
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Matikan"
|
msgstr "Matikan"
|
||||||
|
|
||||||
@ -1789,6 +1870,34 @@ msgstr "Volume diubah"
|
|||||||
msgid "Volume"
|
msgid "Volume"
|
||||||
msgstr "Volume"
|
msgstr "Volume"
|
||||||
|
|
||||||
|
#. Translators: this is for display mirroring i.e. cloning.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:21
|
||||||
|
msgid "Mirror"
|
||||||
|
msgstr "Kembar"
|
||||||
|
|
||||||
|
#. Translators: this is for the desktop spanning displays.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:26
|
||||||
|
msgid "Join Displays"
|
||||||
|
msgstr "Gabung Layar"
|
||||||
|
|
||||||
|
#. Translators: this is for using only an external display.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:31
|
||||||
|
msgid "External Only"
|
||||||
|
msgstr "Hanya Eksternal"
|
||||||
|
|
||||||
|
#. Translators: this is for using only the laptop display.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:36
|
||||||
|
msgid "Built-in Only"
|
||||||
|
msgstr "Hanya Bawaan"
|
||||||
|
|
||||||
#: js/ui/unlockDialog.js:67
|
#: js/ui/unlockDialog.js:67
|
||||||
msgid "Log in as another user"
|
msgid "Log in as another user"
|
||||||
msgstr "Masuk sebagai pengguna lain"
|
msgstr "Masuk sebagai pengguna lain"
|
||||||
@ -1797,11 +1906,11 @@ msgstr "Masuk sebagai pengguna lain"
|
|||||||
msgid "Unlock Window"
|
msgid "Unlock Window"
|
||||||
msgstr "Buka Kunci Jendela"
|
msgstr "Buka Kunci Jendela"
|
||||||
|
|
||||||
#: js/ui/viewSelector.js:183
|
#: js/ui/viewSelector.js:190
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Aplikasi"
|
msgstr "Aplikasi"
|
||||||
|
|
||||||
#: js/ui/viewSelector.js:187
|
#: js/ui/viewSelector.js:194
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Cari"
|
msgstr "Cari"
|
||||||
|
|
||||||
@ -1810,22 +1919,22 @@ msgstr "Cari"
|
|||||||
msgid "“%s” is ready"
|
msgid "“%s” is ready"
|
||||||
msgstr "'%s' siap"
|
msgstr "'%s' siap"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:71
|
#: js/ui/windowManager.js:72
|
||||||
msgid "Do you want to keep these display settings?"
|
msgid "Do you want to keep these display settings?"
|
||||||
msgstr "Apakah Anda ingin mempertahankan pengaturan tampilan ini?"
|
msgstr "Apakah Anda ingin mempertahankan pengaturan tampilan ini?"
|
||||||
|
|
||||||
#. 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:83
|
#: js/ui/windowManager.js:84
|
||||||
msgid "Revert Settings"
|
msgid "Revert Settings"
|
||||||
msgstr "Balikkan Tatanan"
|
msgstr "Balikkan Tatanan"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:86
|
#: js/ui/windowManager.js:87
|
||||||
msgid "Keep Changes"
|
msgid "Keep Changes"
|
||||||
msgstr "Simpan Perubahan"
|
msgstr "Simpan Perubahan"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:104
|
#: js/ui/windowManager.js:105
|
||||||
#, 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"
|
||||||
@ -1833,7 +1942,7 @@ msgstr[0] "Perubahan tatanan akan dikembalikan dalam %d detik"
|
|||||||
|
|
||||||
#. 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:659
|
#: js/ui/windowManager.js:660
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d × %d"
|
msgid "%d × %d"
|
||||||
msgstr "%d × %d"
|
msgstr "%d × %d"
|
||||||
@ -1911,39 +2020,19 @@ msgstr "Evolution Kalender"
|
|||||||
msgid "evolution"
|
msgid "evolution"
|
||||||
msgstr "evolution"
|
msgstr "evolution"
|
||||||
|
|
||||||
#. translators:
|
#: src/main.c:380
|
||||||
#. * The number of sound outputs on a particular device
|
|
||||||
#: src/gvc/gvc-mixer-control.c:1873
|
|
||||||
#, c-format
|
|
||||||
msgid "%u Output"
|
|
||||||
msgid_plural "%u Outputs"
|
|
||||||
msgstr[0] "%u Keluaran"
|
|
||||||
|
|
||||||
#. translators:
|
|
||||||
#. * The number of sound inputs on a particular device
|
|
||||||
#: src/gvc/gvc-mixer-control.c:1883
|
|
||||||
#, c-format
|
|
||||||
msgid "%u Input"
|
|
||||||
msgid_plural "%u Inputs"
|
|
||||||
msgstr[0] "%u Masukan"
|
|
||||||
|
|
||||||
#: src/gvc/gvc-mixer-control.c:2738
|
|
||||||
msgid "System Sounds"
|
|
||||||
msgstr "Suara Sistem"
|
|
||||||
|
|
||||||
#: src/main.c:372
|
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Versi Cetak"
|
msgstr "Versi Cetak"
|
||||||
|
|
||||||
#: src/main.c:378
|
#: src/main.c:386
|
||||||
msgid "Mode used by GDM for login screen"
|
msgid "Mode used by GDM for login screen"
|
||||||
msgstr "Mode yang dipakai oleh layar log masuk GDM"
|
msgstr "Mode yang dipakai oleh layar log masuk GDM"
|
||||||
|
|
||||||
#: src/main.c:384
|
#: src/main.c:392
|
||||||
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
||||||
msgstr "Menggunakan mode tertentu, mis. \"gdm\" untuk layar masuk"
|
msgstr "Menggunakan mode tertentu, mis. \"gdm\" untuk layar masuk"
|
||||||
|
|
||||||
#: src/main.c:390
|
#: src/main.c:398
|
||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Menampilkan mode yang mungkin"
|
msgstr "Menampilkan mode yang mungkin"
|
||||||
|
|
||||||
@ -1969,26 +2058,22 @@ msgstr "Sandi tidak boleh kosong"
|
|||||||
msgid "Authentication dialog was dismissed by the user"
|
msgid "Authentication dialog was dismissed by the user"
|
||||||
msgstr "Dialog otentikasi ditolak oleh pengguna"
|
msgstr "Dialog otentikasi ditolak oleh pengguna"
|
||||||
|
|
||||||
#~ msgid "Events"
|
#. translators:
|
||||||
#~ msgstr "Kejadian"
|
#. * The number of sound outputs on a particular device
|
||||||
|
#: subprojects/gvc/gvc-mixer-control.c:1873
|
||||||
|
#, c-format
|
||||||
|
msgid "%u Output"
|
||||||
|
msgid_plural "%u Outputs"
|
||||||
|
msgstr[0] "%u Keluaran"
|
||||||
|
|
||||||
#~ msgid "Notifications"
|
#. translators:
|
||||||
#~ msgstr "Pemberitahuan"
|
#. * The number of sound inputs on a particular device
|
||||||
|
#: subprojects/gvc/gvc-mixer-control.c:1883
|
||||||
|
#, c-format
|
||||||
|
msgid "%u Input"
|
||||||
|
msgid_plural "%u Inputs"
|
||||||
|
msgstr[0] "%u Masukan"
|
||||||
|
|
||||||
#~ msgid "Clear section"
|
#: subprojects/gvc/gvc-mixer-control.c:2738
|
||||||
#~ msgstr "Bersihkan seksi"
|
msgid "System Sounds"
|
||||||
|
msgstr "Suara Sistem"
|
||||||
#~ msgid "Media"
|
|
||||||
#~ msgstr "Media"
|
|
||||||
|
|
||||||
#~ msgid "GNOME Shell Extension Preferences"
|
|
||||||
#~ msgstr "Preferensi Ekstensi GNOME Shell"
|
|
||||||
|
|
||||||
#~ msgid "Web Authentication Redirect"
|
|
||||||
#~ msgstr "Pengalihan Otentikasi Web"
|
|
||||||
|
|
||||||
#~ msgid "%d x %d"
|
|
||||||
#~ msgstr "%d x %d"
|
|
||||||
|
|
||||||
#~ msgid "Not In Use"
|
|
||||||
#~ msgstr "Tidak Dipakai"
|
|
||||||
|
321
po/kk.po
321
po/kk.po
@ -8,8 +8,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: master\n"
|
"Project-Id-Version: 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-07-20 03:49+0000\n"
|
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
|
||||||
"PO-Revision-Date: 2017-07-27 17:09+0500\n"
|
"PO-Revision-Date: 2017-08-22 19:22+0500\n"
|
||||||
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
|
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
|
||||||
"Language-Team: Kazakh <kk_KZ@googlegroups.com>\n"
|
"Language-Team: Kazakh <kk_KZ@googlegroups.com>\n"
|
||||||
"Language: kk\n"
|
"Language: kk\n"
|
||||||
@ -339,7 +339,7 @@ msgstr "%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:117 js/ui/components/polkitAgent.js:148
|
#: js/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||||
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
||||||
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:947
|
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:936
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Бас тарту"
|
msgstr "Бас тарту"
|
||||||
|
|
||||||
@ -400,6 +400,72 @@ msgstr "Аутентификация қатесі"
|
|||||||
msgid "(or swipe finger)"
|
msgid "(or swipe finger)"
|
||||||
msgstr "(немесе саусағыңызды өткізіңіз)"
|
msgstr "(немесе саусағыңызды өткізіңіз)"
|
||||||
|
|
||||||
|
#. Translators: The name of the power-off action in search
|
||||||
|
#: js/misc/systemActions.js:99
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Power off"
|
||||||
|
msgstr "Сөндіру"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the power-off action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:102
|
||||||
|
msgid "power off;shutdown"
|
||||||
|
msgstr "сөндіру"
|
||||||
|
|
||||||
|
#. Translators: The name of the lock screen action in search
|
||||||
|
#: js/misc/systemActions.js:106
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Lock screen"
|
||||||
|
msgstr "Экранды блоктау"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the lock screen action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:109
|
||||||
|
msgid "lock screen"
|
||||||
|
msgstr "экранды блоктау"
|
||||||
|
|
||||||
|
#. Translators: The name of the logout action in search
|
||||||
|
#: js/misc/systemActions.js:113
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Log out"
|
||||||
|
msgstr "Жүйеден шығу"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the logout action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:116
|
||||||
|
msgid "logout;sign off"
|
||||||
|
msgstr "жүйеден шығу"
|
||||||
|
|
||||||
|
#. Translators: The name of the suspend action in search
|
||||||
|
#: js/misc/systemActions.js:120
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Suspend"
|
||||||
|
msgstr "Ұйықтату"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:123
|
||||||
|
msgid "suspend;sleep"
|
||||||
|
msgstr "ұйықтату"
|
||||||
|
|
||||||
|
#. Translators: The name of the switch user action in search
|
||||||
|
#: js/misc/systemActions.js:127
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Switch user"
|
||||||
|
msgstr "Пайдаланушыны ауыстыру"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the switch user action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:130
|
||||||
|
msgid "switch user"
|
||||||
|
msgstr "пайдаланушыны ауыстыру"
|
||||||
|
|
||||||
|
#. Translators: The name of the lock orientation action in search
|
||||||
|
#: js/misc/systemActions.js:134
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Lock orientation"
|
||||||
|
msgstr "Бағдарды бекіту"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:137
|
||||||
|
msgid "lock orientation"
|
||||||
|
msgstr "бағдарды бекіту"
|
||||||
|
|
||||||
#: js/misc/util.js:122
|
#: js/misc/util.js:122
|
||||||
msgid "Command not found"
|
msgid "Command not found"
|
||||||
msgstr "Команда табылмады"
|
msgstr "Команда табылмады"
|
||||||
@ -553,35 +619,35 @@ msgstr "Тыйым салу"
|
|||||||
msgid "Grant Access"
|
msgid "Grant Access"
|
||||||
msgstr "Рұқсат ету"
|
msgstr "Рұқсат ету"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:806
|
#: js/ui/appDisplay.js:809
|
||||||
msgid "Frequently used applications will appear here"
|
msgid "Frequently used applications will appear here"
|
||||||
msgstr "Жиі қолданылатын қолданбалар осында көрінеді"
|
msgstr "Жиі қолданылатын қолданбалар осында көрінеді"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:927
|
#: js/ui/appDisplay.js:930
|
||||||
msgid "Frequent"
|
msgid "Frequent"
|
||||||
msgstr "Жиі қолданылатын"
|
msgstr "Жиі қолданылатын"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:934
|
#: js/ui/appDisplay.js:937
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Барлығы"
|
msgstr "Барлығы"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1895
|
#: js/ui/appDisplay.js:1915
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Жаңа терезе"
|
msgstr "Жаңа терезе"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1909
|
#: js/ui/appDisplay.js:1929
|
||||||
msgid "Launch using Dedicated Graphics Card"
|
msgid "Launch using Dedicated Graphics Card"
|
||||||
msgstr "Бөлек графикалық картаны пайдаланып жөнелту"
|
msgstr "Бөлек графикалық картаны пайдаланып жөнелту"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1936 js/ui/dash.js:289
|
#: js/ui/appDisplay.js:1956 js/ui/dash.js:289
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Таңдамалылардан өшіру"
|
msgstr "Таңдамалылардан өшіру"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1942
|
#: js/ui/appDisplay.js:1962
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Таңдамалыларға қосу"
|
msgstr "Таңдамалыларға қосу"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1952
|
#: js/ui/appDisplay.js:1972
|
||||||
msgid "Show Details"
|
msgid "Show Details"
|
||||||
msgstr "Деректерді көрсету"
|
msgstr "Деректерді көрсету"
|
||||||
|
|
||||||
@ -623,7 +689,7 @@ msgstr "Фонды өзгерту..."
|
|||||||
msgid "Display Settings"
|
msgid "Display Settings"
|
||||||
msgstr "Экран баптаулары"
|
msgstr "Экран баптаулары"
|
||||||
|
|
||||||
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:407
|
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:265
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Баптаулар"
|
msgstr "Баптаулар"
|
||||||
|
|
||||||
@ -770,8 +836,8 @@ msgstr "Пароль:"
|
|||||||
msgid "Type again:"
|
msgid "Type again:"
|
||||||
msgstr "Қайтадан енгізіңіз:"
|
msgstr "Қайтадан енгізіңіз:"
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:272
|
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:261
|
||||||
#: js/ui/status/network.js:366 js/ui/status/network.js:950
|
#: js/ui/status/network.js:355 js/ui/status/network.js:939
|
||||||
msgid "Connect"
|
msgid "Connect"
|
||||||
msgstr "Байланысу"
|
msgstr "Байланысу"
|
||||||
|
|
||||||
@ -845,7 +911,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:627 js/ui/status/network.js:1760
|
#: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1720
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Желілер басқарушысы"
|
msgstr "Желілер басқарушысы"
|
||||||
|
|
||||||
@ -876,7 +942,7 @@ msgstr "Кешіріңіз, талап сәтсіз. Қайтадан көрің
|
|||||||
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:179
|
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:186
|
||||||
msgid "Windows"
|
msgid "Windows"
|
||||||
msgstr "Терезелер"
|
msgstr "Терезелер"
|
||||||
|
|
||||||
@ -921,7 +987,7 @@ msgstr "Ауа райы"
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:281
|
#: js/ui/dateMenu.js:286
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s all day."
|
msgid "%s all day."
|
||||||
msgstr "%s күні бойы."
|
msgstr "%s күні бойы."
|
||||||
@ -930,7 +996,7 @@ msgstr "%s күні бойы."
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:287
|
#: js/ui/dateMenu.js:292
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s, then %s later."
|
msgid "%s, then %s later."
|
||||||
msgstr "%s, одан кейін %s."
|
msgstr "%s, одан кейін %s."
|
||||||
@ -939,30 +1005,30 @@ msgstr "%s, одан кейін %s."
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:293
|
#: js/ui/dateMenu.js:298
|
||||||
#, 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:309
|
||||||
msgid "Select a location…"
|
msgid "Select a location…"
|
||||||
msgstr "Орналасуды таңдаңыз…"
|
msgstr "Орналасуды таңдаңыз…"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:303
|
#: js/ui/dateMenu.js:312
|
||||||
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:309
|
#: js/ui/dateMenu.js:318
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Feels like %s."
|
msgid "Feels like %s."
|
||||||
msgstr "%s сияқты сезіледі."
|
msgstr "%s сияқты сезіледі."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:312
|
#: js/ui/dateMenu.js:321
|
||||||
msgid "Go online for weather information"
|
msgid "Go online for weather information"
|
||||||
msgstr "Ауа райы ақпаратын алу үшін желіге байланысыңыз"
|
msgstr "Ауа райы ақпаратын алу үшін желіге байланысыңыз"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:314
|
#: js/ui/dateMenu.js:323
|
||||||
msgid "Weather information is currently unavailable"
|
msgid "Weather information is currently unavailable"
|
||||||
msgstr "Ауа райы ақпараты ағымдағы уақытта қолжетерсіз"
|
msgstr "Ауа райы ақпараты ағымдағы уақытта қолжетерсіз"
|
||||||
|
|
||||||
@ -1118,19 +1184,34 @@ msgstr "Орнату"
|
|||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "extensions.gnome.org адресінен \"%s\" жүктеп алып, орнату керек пе?"
|
msgstr "extensions.gnome.org адресінен \"%s\" жүктеп алып, орнату керек пе?"
|
||||||
|
|
||||||
#: js/ui/keyboard.js:740 js/ui/status/keyboard.js:782
|
#. Translators: %s is an application name like "Settings"
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:59
|
||||||
|
#, javascript-format
|
||||||
|
msgid "%s wants to inhibit shortcuts"
|
||||||
|
msgstr "%s жарлықтарды сөндіргісі келеді"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:60
|
||||||
|
msgid "Application wants to inhibit shortcuts"
|
||||||
|
msgstr "Қолданба жарлықтарды сөндіргісі келеді"
|
||||||
|
|
||||||
|
#. Translators: %s is a keyboard shortcut like "Super+x"
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:69
|
||||||
|
#, javascript-format
|
||||||
|
msgid "You can restore shortcuts by pressing %s."
|
||||||
|
msgstr "Сіз жарлықтарды %s басу арқылы қалпына келтіре аласыз."
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:74
|
||||||
|
msgid "Deny"
|
||||||
|
msgstr "Тыйым салу"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:80
|
||||||
|
msgid "Allow"
|
||||||
|
msgstr "Рұқсат ету"
|
||||||
|
|
||||||
|
#: js/ui/keyboard.js:738 js/ui/status/keyboard.js:782
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Пернетақта"
|
msgstr "Пернетақта"
|
||||||
|
|
||||||
#. translators: 'Hide' is a verb
|
|
||||||
#: js/ui/legacyTray.js:65
|
|
||||||
msgid "Hide tray"
|
|
||||||
msgstr "Жүйелік трейді жасыру"
|
|
||||||
|
|
||||||
#: js/ui/legacyTray.js:106
|
|
||||||
msgid "Status Icons"
|
|
||||||
msgstr "Қалып-күй таңбашалары"
|
|
||||||
|
|
||||||
#: js/ui/lookingGlass.js:642
|
#: js/ui/lookingGlass.js:642
|
||||||
msgid "No extensions installed"
|
msgid "No extensions installed"
|
||||||
msgstr "Кеңейтулер орнатылмаған"
|
msgstr "Кеңейтулер орнатылмаған"
|
||||||
@ -1315,7 +1396,7 @@ msgid "%d new notification"
|
|||||||
msgid_plural "%d new notifications"
|
msgid_plural "%d new notifications"
|
||||||
msgstr[0] "%d жаңа ескерту"
|
msgstr[0] "%d жаңа ескерту"
|
||||||
|
|
||||||
#: js/ui/screenShield.js:452 js/ui/status/system.js:415
|
#: js/ui/screenShield.js:452 js/ui/status/system.js:284
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Блоктау"
|
msgstr "Блоктау"
|
||||||
|
|
||||||
@ -1346,10 +1427,11 @@ msgstr "Іздеу..."
|
|||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Нәтижелер жоқ."
|
msgstr "Нәтижелер жоқ."
|
||||||
|
|
||||||
#: js/ui/search.js:768
|
#: js/ui/search.js:777
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d more"
|
msgid "%d more"
|
||||||
msgstr "тағы %d"
|
msgid_plural "%d more"
|
||||||
|
msgstr[0] "тағы %d"
|
||||||
|
|
||||||
#: js/ui/shellEntry.js:25
|
#: js/ui/shellEntry.js:25
|
||||||
msgid "Copy"
|
msgid "Copy"
|
||||||
@ -1423,7 +1505,7 @@ msgstr "Үлкен мәтін"
|
|||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:638
|
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:627
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Bluetooth баптаулары"
|
msgstr "Bluetooth баптаулары"
|
||||||
|
|
||||||
@ -1442,13 +1524,13 @@ msgstr "Сөнд."
|
|||||||
msgid "On"
|
msgid "On"
|
||||||
msgstr "Іске қос."
|
msgstr "Іске қос."
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
|
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1299
|
||||||
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:170
|
||||||
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
|
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
|
||||||
#: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
|
#: js/ui/status/network.js:1418 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 "Сөндіру"
|
||||||
@ -1502,13 +1584,13 @@ 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:1339
|
#: js/ui/status/network.js:454 js/ui/status/network.js:1328
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Off"
|
msgid "%s Off"
|
||||||
msgstr "%s сөндірулі"
|
msgstr "%s сөндірулі"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:468
|
#: js/ui/status/network.js:457
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connected"
|
msgid "%s Connected"
|
||||||
msgstr "%s байланысқан"
|
msgstr "%s байланысқан"
|
||||||
@ -1516,187 +1598,186 @@ msgstr "%s байланысқан"
|
|||||||
#. Translators: this is for network devices that are physically present but are not
|
#. Translators: this is for network devices that are physically present but are not
|
||||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||||
#. %s is a network identifier
|
#. %s is a network identifier
|
||||||
#: js/ui/status/network.js:473
|
#: js/ui/status/network.js:462
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Unmanaged"
|
msgid "%s Unmanaged"
|
||||||
msgstr "%s басқарылмайтын"
|
msgstr "%s басқарылмайтын"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:476
|
#: js/ui/status/network.js:465
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Disconnecting"
|
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:1331
|
#: js/ui/status/network.js:472 js/ui/status/network.js:1320
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connecting"
|
msgid "%s Connecting"
|
||||||
msgstr "%s байланысуда"
|
msgstr "%s байланысуда"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
||||||
#: js/ui/status/network.js:486
|
#: js/ui/status/network.js:475
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Requires Authentication"
|
msgid "%s Requires Authentication"
|
||||||
msgstr "%s аутентификацияны талап етеді"
|
msgstr "%s аутентификацияны талап етеді"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing; %s is a network identifier
|
#. module, which is missing; %s is a network identifier
|
||||||
#: js/ui/status/network.js:494
|
#: js/ui/status/network.js:483
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Firmware Missing For %s"
|
msgid "Firmware Missing For %s"
|
||||||
msgstr "%s үшін бинарлы кодтары жоқ"
|
msgstr "%s үшін бинарлы кодтары жоқ"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
||||||
#: js/ui/status/network.js:498
|
#: js/ui/status/network.js:487
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Unavailable"
|
msgid "%s Unavailable"
|
||||||
msgstr "%s қолжетерсіз"
|
msgstr "%s қолжетерсіз"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:501
|
#: js/ui/status/network.js:490
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connection Failed"
|
msgid "%s Connection Failed"
|
||||||
msgstr "%s байланысын орнату сәтсіз"
|
msgstr "%s байланысын орнату сәтсіз"
|
||||||
|
|
||||||
#: js/ui/status/network.js:517
|
#: js/ui/status/network.js:506
|
||||||
msgid "Wired Settings"
|
msgid "Wired Settings"
|
||||||
msgstr "Сымды желі баптаулары"
|
msgstr "Сымды желі баптаулары"
|
||||||
|
|
||||||
#: js/ui/status/network.js:559
|
#: js/ui/status/network.js:548
|
||||||
msgid "Mobile Broadband Settings"
|
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:1336
|
#: js/ui/status/network.js:591 js/ui/status/network.js:1325
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hardware Disabled"
|
msgid "%s Hardware Disabled"
|
||||||
msgstr "%s құрылғылық түрде сөндірулі тұр"
|
msgstr "%s құрылғылық түрде сөндірулі тұр"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated
|
#. Translators: this is for a network device that cannot be activated
|
||||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||||
#: js/ui/status/network.js:606
|
#: js/ui/status/network.js:595
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Disabled"
|
msgid "%s Disabled"
|
||||||
msgstr "%s сөндірулі тұр"
|
msgstr "%s сөндірулі тұр"
|
||||||
|
|
||||||
#: js/ui/status/network.js:646
|
#: js/ui/status/network.js:635
|
||||||
msgid "Connect to Internet"
|
msgid "Connect to Internet"
|
||||||
msgstr "Интернетке байланысу"
|
msgstr "Интернетке байланысу"
|
||||||
|
|
||||||
#: js/ui/status/network.js:844
|
#: js/ui/status/network.js:833
|
||||||
msgid "Airplane Mode is On"
|
msgid "Airplane Mode is On"
|
||||||
msgstr "Ұшақтағы режим іске қосылған"
|
msgstr "Ұшақтағы режим іске қосылған"
|
||||||
|
|
||||||
#: js/ui/status/network.js:845
|
#: js/ui/status/network.js:834
|
||||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||||
msgstr "Wi-Fi ұшақтағы режимі кезінде сөндірілген болады."
|
msgstr "Wi-Fi ұшақтағы режимі кезінде сөндірілген болады."
|
||||||
|
|
||||||
#: js/ui/status/network.js:846
|
#: js/ui/status/network.js:835
|
||||||
msgid "Turn Off Airplane Mode"
|
msgid "Turn Off Airplane Mode"
|
||||||
msgstr "Ұшақтағы режимді сөндіру"
|
msgstr "Ұшақтағы режимді сөндіру"
|
||||||
|
|
||||||
#: js/ui/status/network.js:855
|
#: js/ui/status/network.js:844
|
||||||
msgid "Wi-Fi is Off"
|
msgid "Wi-Fi is Off"
|
||||||
msgstr "Wi-Fi сөндірілген"
|
msgstr "Wi-Fi сөндірілген"
|
||||||
|
|
||||||
#: js/ui/status/network.js:856
|
#: js/ui/status/network.js:845
|
||||||
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 "Желіге байланысты орнату үшін Wi-Fi іске қосылған болуы тиіс."
|
msgstr "Желіге байланысты орнату үшін Wi-Fi іске қосылған болуы тиіс."
|
||||||
|
|
||||||
#: js/ui/status/network.js:857
|
#: js/ui/status/network.js:846
|
||||||
msgid "Turn On Wi-Fi"
|
msgid "Turn On Wi-Fi"
|
||||||
msgstr "Wi-Fi іске қосу"
|
msgstr "Wi-Fi іске қосу"
|
||||||
|
|
||||||
#: js/ui/status/network.js:882
|
#: js/ui/status/network.js:871
|
||||||
msgid "Wi-Fi Networks"
|
msgid "Wi-Fi Networks"
|
||||||
msgstr "Wi-Fi желілері"
|
msgstr "Wi-Fi желілері"
|
||||||
|
|
||||||
#: js/ui/status/network.js:884
|
#: js/ui/status/network.js:873
|
||||||
msgid "Select a network"
|
msgid "Select a network"
|
||||||
msgstr "Желіні таңдау"
|
msgstr "Желіні таңдау"
|
||||||
|
|
||||||
#: js/ui/status/network.js:914
|
#: js/ui/status/network.js:903
|
||||||
msgid "No Networks"
|
msgid "No Networks"
|
||||||
msgstr "Желілер жоқ"
|
msgstr "Желілер жоқ"
|
||||||
|
|
||||||
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
|
#: js/ui/status/network.js:924 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:1202
|
#: js/ui/status/network.js:1191
|
||||||
msgid "Select Network"
|
msgid "Select Network"
|
||||||
msgstr "Желіні таңдау"
|
msgstr "Желіні таңдау"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1208
|
#: js/ui/status/network.js:1197
|
||||||
msgid "Wi-Fi Settings"
|
msgid "Wi-Fi Settings"
|
||||||
msgstr "Wi-Fi баптаулары"
|
msgstr "Wi-Fi баптаулары"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1327
|
#: js/ui/status/network.js:1316
|
||||||
#, 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:1342
|
#: js/ui/status/network.js:1331
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Not Connected"
|
msgid "%s Not Connected"
|
||||||
msgstr "%s байланыспаған"
|
msgstr "%s байланыспаған"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1446
|
#: js/ui/status/network.js:1435
|
||||||
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:1449
|
#: js/ui/status/network.js:1438
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "аутентификация керек"
|
msgstr "аутентификация керек"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1451
|
#: js/ui/status/network.js:1440
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "байланысты орнату сәтсіз"
|
msgstr "байланысты орнату сәтсіз"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1517 js/ui/status/network.js:1612
|
#: js/ui/status/network.js:1494
|
||||||
#: js/ui/status/rfkill.js:93
|
|
||||||
msgid "Network Settings"
|
|
||||||
msgstr "Желі баптаулары"
|
|
||||||
|
|
||||||
#: js/ui/status/network.js:1519
|
|
||||||
msgid "VPN Settings"
|
msgid "VPN Settings"
|
||||||
msgstr "VPN баптаулары"
|
msgstr "VPN баптаулары"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1538
|
#: js/ui/status/network.js:1498
|
||||||
msgid "VPN"
|
msgid "VPN"
|
||||||
msgstr "VPN"
|
msgstr "VPN"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1548
|
#: js/ui/status/network.js:1508
|
||||||
msgid "VPN Off"
|
msgid "VPN Off"
|
||||||
msgstr "VPN сөндірілген"
|
msgstr "VPN сөндірілген"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1643
|
#: js/ui/status/network.js:1572 js/ui/status/rfkill.js:93
|
||||||
|
msgid "Network Settings"
|
||||||
|
msgstr "Желі баптаулары"
|
||||||
|
|
||||||
|
#: js/ui/status/network.js:1603
|
||||||
#, 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 сымды желі байланысы"
|
msgstr[0] "%s сымды желі байланысы"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1647
|
#: js/ui/status/network.js:1607
|
||||||
#, 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 Wi-Fi желі байланысы"
|
msgstr[0] "%s Wi-Fi желі байланысы"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1651
|
#: js/ui/status/network.js:1611
|
||||||
#, 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 модем желі байланысы"
|
msgstr[0] "%s модем желі байланысы"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1799
|
#: js/ui/status/network.js:1759
|
||||||
msgid "Connection failed"
|
msgid "Connection failed"
|
||||||
msgstr "Байланыс орнату сәтсіз"
|
msgstr "Байланыс орнату сәтсіз"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1800
|
#: js/ui/status/network.js:1760
|
||||||
msgid "Activation of network connection failed"
|
msgid "Activation of network connection failed"
|
||||||
msgstr "Желілік байланысты белсендіру сәтсіз"
|
msgstr "Желілік байланысты белсендіру сәтсіз"
|
||||||
|
|
||||||
@ -1754,27 +1835,27 @@ msgstr "%d %%"
|
|||||||
msgid "Airplane Mode On"
|
msgid "Airplane Mode On"
|
||||||
msgstr "Ұшақтағы режим іске қосулы"
|
msgstr "Ұшақтағы режим іске қосулы"
|
||||||
|
|
||||||
#: js/ui/status/system.js:384
|
#: js/ui/status/system.js:228
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Пайдаланушыны ауыстыру"
|
msgstr "Пайдаланушыны ауыстыру"
|
||||||
|
|
||||||
#: js/ui/status/system.js:389
|
#: js/ui/status/system.js:240
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Жүйеден шығу"
|
msgstr "Жүйеден шығу"
|
||||||
|
|
||||||
#: js/ui/status/system.js:394
|
#: js/ui/status/system.js:252
|
||||||
msgid "Account Settings"
|
msgid "Account Settings"
|
||||||
msgstr "Тіркелгі баптаулары"
|
msgstr "Тіркелгі баптаулары"
|
||||||
|
|
||||||
#: js/ui/status/system.js:411
|
#: js/ui/status/system.js:269
|
||||||
msgid "Orientation Lock"
|
msgid "Orientation Lock"
|
||||||
msgstr "Бағдарды бекіту"
|
msgstr "Бағдарды бекіту"
|
||||||
|
|
||||||
#: js/ui/status/system.js:419
|
#: js/ui/status/system.js:295
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Ұйықтату"
|
msgstr "Ұйықтату"
|
||||||
|
|
||||||
#: js/ui/status/system.js:422
|
#: js/ui/status/system.js:305
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Сөндіру"
|
msgstr "Сөндіру"
|
||||||
|
|
||||||
@ -1786,6 +1867,34 @@ msgstr "Дыбыс өзгертілді"
|
|||||||
msgid "Volume"
|
msgid "Volume"
|
||||||
msgstr "Дыбыс деңгейі"
|
msgstr "Дыбыс деңгейі"
|
||||||
|
|
||||||
|
#. Translators: this is for display mirroring i.e. cloning.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:21
|
||||||
|
msgid "Mirror"
|
||||||
|
msgstr "Айналы"
|
||||||
|
|
||||||
|
#. Translators: this is for the desktop spanning displays.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:26
|
||||||
|
msgid "Join Displays"
|
||||||
|
msgstr "Экрандарды біріктіру"
|
||||||
|
|
||||||
|
#. Translators: this is for using only an external display.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:31
|
||||||
|
msgid "External Only"
|
||||||
|
msgstr "Тек сыртқы"
|
||||||
|
|
||||||
|
#. Translators: this is for using only the laptop display.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:36
|
||||||
|
msgid "Built-in Only"
|
||||||
|
msgstr "Тек құрамындағы"
|
||||||
|
|
||||||
#: js/ui/unlockDialog.js:67
|
#: js/ui/unlockDialog.js:67
|
||||||
msgid "Log in as another user"
|
msgid "Log in as another user"
|
||||||
msgstr "Басқа пайдаланушы ретінде жүйеге кіру"
|
msgstr "Басқа пайдаланушы ретінде жүйеге кіру"
|
||||||
@ -1794,11 +1903,11 @@ msgstr "Басқа пайдаланушы ретінде жүйеге кіру"
|
|||||||
msgid "Unlock Window"
|
msgid "Unlock Window"
|
||||||
msgstr "Блоктауды алу терезесі"
|
msgstr "Блоктауды алу терезесі"
|
||||||
|
|
||||||
#: js/ui/viewSelector.js:183
|
#: js/ui/viewSelector.js:190
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Қолданбалар"
|
msgstr "Қолданбалар"
|
||||||
|
|
||||||
#: js/ui/viewSelector.js:187
|
#: js/ui/viewSelector.js:194
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Іздеу"
|
msgstr "Іздеу"
|
||||||
|
|
||||||
@ -1807,22 +1916,22 @@ msgstr "Іздеу"
|
|||||||
msgid "“%s” is ready"
|
msgid "“%s” is ready"
|
||||||
msgstr "\"%s\" дайын"
|
msgstr "\"%s\" дайын"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:71
|
#: js/ui/windowManager.js:72
|
||||||
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:83
|
#: js/ui/windowManager.js:84
|
||||||
msgid "Revert Settings"
|
msgid "Revert Settings"
|
||||||
msgstr "Баптауларды қалпына келтіру"
|
msgstr "Баптауларды қалпына келтіру"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:86
|
#: js/ui/windowManager.js:87
|
||||||
msgid "Keep Changes"
|
msgid "Keep Changes"
|
||||||
msgstr "Өзгерістерді сақтау"
|
msgstr "Өзгерістерді сақтау"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:104
|
#: js/ui/windowManager.js:105
|
||||||
#, 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"
|
||||||
@ -1830,7 +1939,7 @@ msgstr[0] "Өзгертілген баптаулар %d секундтан ке
|
|||||||
|
|
||||||
#. 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:659
|
#: js/ui/windowManager.js:660
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d × %d"
|
msgid "%d × %d"
|
||||||
msgstr "%d × %d"
|
msgstr "%d × %d"
|
||||||
@ -1908,19 +2017,19 @@ msgstr "Evolution күнтізбесі"
|
|||||||
msgid "evolution"
|
msgid "evolution"
|
||||||
msgstr "evolution"
|
msgstr "evolution"
|
||||||
|
|
||||||
#: src/main.c:372
|
#: src/main.c:380
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Баспа нұсқасы"
|
msgstr "Баспа нұсқасы"
|
||||||
|
|
||||||
#: src/main.c:378
|
#: src/main.c:386
|
||||||
msgid "Mode used by GDM for login screen"
|
msgid "Mode used by GDM for login screen"
|
||||||
msgstr "GDM жүйеге кіру экраны үшін қолданатын режимі"
|
msgstr "GDM жүйеге кіру экраны үшін қолданатын режимі"
|
||||||
|
|
||||||
#: src/main.c:384
|
#: src/main.c:392
|
||||||
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:390
|
#: src/main.c:398
|
||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Қолжетерлік режимдерді тізіп шығу"
|
msgstr "Қолжетерлік режимдерді тізіп шығу"
|
||||||
|
|
||||||
@ -1966,6 +2075,12 @@ msgstr[0] "%u кірісі"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Жүйелік дыбыстар"
|
msgstr "Жүйелік дыбыстар"
|
||||||
|
|
||||||
|
#~ msgid "Hide tray"
|
||||||
|
#~ msgstr "Жүйелік трейді жасыру"
|
||||||
|
|
||||||
|
#~ msgid "Status Icons"
|
||||||
|
#~ msgstr "Қалып-күй таңбашалары"
|
||||||
|
|
||||||
#~ msgid "Events"
|
#~ msgid "Events"
|
||||||
#~ msgstr "Оқиғалар"
|
#~ msgstr "Оқиғалар"
|
||||||
|
|
||||||
|
333
po/lt.po
333
po/lt.po
@ -11,8 +11,8 @@ 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-07-20 03:49+0000\n"
|
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
|
||||||
"PO-Revision-Date: 2017-07-24 23:45+0300\n"
|
"PO-Revision-Date: 2017-08-22 23:13+0300\n"
|
||||||
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
|
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
|
||||||
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
|
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
|
||||||
"Language: lt\n"
|
"Language: lt\n"
|
||||||
@ -337,7 +337,7 @@ msgstr "Kilo klaida įkeliant %s nuostatų dialogą:"
|
|||||||
#: 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:117 js/ui/components/polkitAgent.js:148
|
#: js/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||||
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
||||||
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:947
|
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:936
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Atsisakyti"
|
msgstr "Atsisakyti"
|
||||||
|
|
||||||
@ -398,6 +398,80 @@ msgstr "Tapatybės patvirtinimo klaida"
|
|||||||
msgid "(or swipe finger)"
|
msgid "(or swipe finger)"
|
||||||
msgstr "(arba perbraukite pirštu)"
|
msgstr "(arba perbraukite pirštu)"
|
||||||
|
|
||||||
|
#. Translators: The name of the power-off action in search
|
||||||
|
#: js/misc/systemActions.js:99
|
||||||
|
#| msgid "Power Off"
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Power off"
|
||||||
|
msgstr "Išjungti"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the power-off action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:102
|
||||||
|
msgid "power off;shutdown"
|
||||||
|
msgstr "išjungti"
|
||||||
|
|
||||||
|
#. Translators: The name of the lock screen action in search
|
||||||
|
#: js/misc/systemActions.js:106
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Lock screen"
|
||||||
|
msgstr "Užrakinti ekraną"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the lock screen action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:109
|
||||||
|
msgid "lock screen"
|
||||||
|
msgstr "užrakinti ekraną"
|
||||||
|
|
||||||
|
#. Translators: The name of the logout action in search
|
||||||
|
#: js/misc/systemActions.js:113
|
||||||
|
#| msgid "Log Out"
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Log out"
|
||||||
|
msgstr "Atsijungti"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the logout action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:116
|
||||||
|
msgid "logout;sign off"
|
||||||
|
msgstr "atsijungti"
|
||||||
|
|
||||||
|
#. Translators: The name of the suspend action in search
|
||||||
|
#: js/misc/systemActions.js:120
|
||||||
|
#| msgid "Suspend"
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Suspend"
|
||||||
|
msgstr "Pristabdyti"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:123
|
||||||
|
#| msgid "Suspend"
|
||||||
|
msgid "suspend;sleep"
|
||||||
|
msgstr "pristabdyti;užmigdyti"
|
||||||
|
|
||||||
|
#. Translators: The name of the switch user action in search
|
||||||
|
#: js/misc/systemActions.js:127
|
||||||
|
#| msgid "Switch User"
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Switch user"
|
||||||
|
msgstr "Keisti naudotoją"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the switch user action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:130
|
||||||
|
#| msgid "Switch User"
|
||||||
|
msgid "switch user"
|
||||||
|
msgstr "keisti naudotoją"
|
||||||
|
|
||||||
|
#. Translators: The name of the lock orientation action in search
|
||||||
|
#: js/misc/systemActions.js:134
|
||||||
|
#| msgid "Orientation Lock"
|
||||||
|
msgctxt "search-result"
|
||||||
|
msgid "Lock orientation"
|
||||||
|
msgstr "Orientacijos užrakinimas"
|
||||||
|
|
||||||
|
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
|
||||||
|
#: js/misc/systemActions.js:137
|
||||||
|
#| msgid "Orientation Lock"
|
||||||
|
msgid "lock orientation"
|
||||||
|
msgstr "orientacijos užrakinimas"
|
||||||
|
|
||||||
#: js/misc/util.js:122
|
#: js/misc/util.js:122
|
||||||
msgid "Command not found"
|
msgid "Command not found"
|
||||||
msgstr "Komanda nerasta"
|
msgstr "Komanda nerasta"
|
||||||
@ -562,35 +636,35 @@ msgstr "Atmesti prieigą"
|
|||||||
msgid "Grant Access"
|
msgid "Grant Access"
|
||||||
msgstr "Suteikti prieigą"
|
msgstr "Suteikti prieigą"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:806
|
#: js/ui/appDisplay.js:809
|
||||||
msgid "Frequently used applications will appear here"
|
msgid "Frequently used applications will appear here"
|
||||||
msgstr "Čia bus matomos dažnai naudojamos programos"
|
msgstr "Čia bus matomos dažnai naudojamos programos"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:927
|
#: js/ui/appDisplay.js:930
|
||||||
msgid "Frequent"
|
msgid "Frequent"
|
||||||
msgstr "Dažnai naudojamos"
|
msgstr "Dažnai naudojamos"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:934
|
#: js/ui/appDisplay.js:937
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Visos"
|
msgstr "Visos"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1895
|
#: js/ui/appDisplay.js:1915
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Naujas langas"
|
msgstr "Naujas langas"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1909
|
#: js/ui/appDisplay.js:1929
|
||||||
msgid "Launch using Dedicated Graphics Card"
|
msgid "Launch using Dedicated Graphics Card"
|
||||||
msgstr "Paleisti naudojant dedikuotą grafikos kortą"
|
msgstr "Paleisti naudojant dedikuotą grafikos kortą"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1936 js/ui/dash.js:289
|
#: js/ui/appDisplay.js:1956 js/ui/dash.js:289
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Pašalinti iš mėgstamų"
|
msgstr "Pašalinti iš mėgstamų"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1942
|
#: js/ui/appDisplay.js:1962
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Pridėti prie mėgstamų"
|
msgstr "Pridėti prie mėgstamų"
|
||||||
|
|
||||||
#: js/ui/appDisplay.js:1952
|
#: js/ui/appDisplay.js:1972
|
||||||
msgid "Show Details"
|
msgid "Show Details"
|
||||||
msgstr "Rodyti detalią informaciją"
|
msgstr "Rodyti detalią informaciją"
|
||||||
|
|
||||||
@ -632,7 +706,7 @@ msgstr "Keisti foną…"
|
|||||||
msgid "Display Settings"
|
msgid "Display Settings"
|
||||||
msgstr "Ekrano nustatymai"
|
msgstr "Ekrano nustatymai"
|
||||||
|
|
||||||
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:407
|
#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:265
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Nustatymai"
|
msgstr "Nustatymai"
|
||||||
|
|
||||||
@ -739,7 +813,6 @@ msgstr "Viską išvalyti"
|
|||||||
#. Translators: %s is an application name
|
#. Translators: %s is an application name
|
||||||
#: js/ui/closeDialog.js:44
|
#: js/ui/closeDialog.js:44
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
#| msgid "“%s” is ready"
|
|
||||||
msgid "“%s” is not responding."
|
msgid "“%s” is not responding."
|
||||||
msgstr "„%s“ neatsiliepia."
|
msgstr "„%s“ neatsiliepia."
|
||||||
|
|
||||||
@ -780,8 +853,8 @@ msgstr "Slaptažodis:"
|
|||||||
msgid "Type again:"
|
msgid "Type again:"
|
||||||
msgstr "Įveskite dar kartą:"
|
msgstr "Įveskite dar kartą:"
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:272
|
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:261
|
||||||
#: js/ui/status/network.js:366 js/ui/status/network.js:950
|
#: js/ui/status/network.js:355 js/ui/status/network.js:939
|
||||||
msgid "Connect"
|
msgid "Connect"
|
||||||
msgstr "Prisijungti"
|
msgstr "Prisijungti"
|
||||||
|
|
||||||
@ -856,7 +929,7 @@ msgstr "Mobiliojo plačiajuosčio tinklo slaptažodis"
|
|||||||
msgid "A password is required to connect to “%s”."
|
msgid "A password is required to connect to “%s”."
|
||||||
msgstr "Būtinas slaptažodis norint prisijungti prie „%s“."
|
msgstr "Būtinas slaptažodis norint prisijungti prie „%s“."
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1760
|
#: js/ui/components/networkAgent.js:627 js/ui/status/network.js:1720
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Tinklo tvarkymas"
|
msgstr "Tinklo tvarkymas"
|
||||||
|
|
||||||
@ -887,7 +960,7 @@ msgstr "Atsiprašome, tai nesuveikė. Bandykite dar kartą."
|
|||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "%s nuo šiol vadinasi %s"
|
msgstr "%s nuo šiol vadinasi %s"
|
||||||
|
|
||||||
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:179
|
#: js/ui/ctrlAltTab.js:29 js/ui/viewSelector.js:186
|
||||||
msgid "Windows"
|
msgid "Windows"
|
||||||
msgstr "Langai"
|
msgstr "Langai"
|
||||||
|
|
||||||
@ -932,7 +1005,7 @@ msgstr "Orai"
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:281
|
#: js/ui/dateMenu.js:286
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s all day."
|
msgid "%s all day."
|
||||||
msgstr "%s visą dieną."
|
msgstr "%s visą dieną."
|
||||||
@ -941,7 +1014,7 @@ msgstr "%s visą dieną."
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:287
|
#: js/ui/dateMenu.js:292
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s, then %s later."
|
msgid "%s, then %s later."
|
||||||
msgstr "%s, o vėliau %s."
|
msgstr "%s, o vėliau %s."
|
||||||
@ -950,30 +1023,30 @@ msgstr "%s, o vėliau %s."
|
|||||||
#. libgweather for the possible condition strings. If at all
|
#. libgweather for the possible condition strings. If at all
|
||||||
#. possible, the sentence should match the grammatical case etc. of
|
#. possible, the sentence should match the grammatical case etc. of
|
||||||
#. the inserted conditions.
|
#. the inserted conditions.
|
||||||
#: js/ui/dateMenu.js:293
|
#: js/ui/dateMenu.js:298
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s, then %s, followed by %s later."
|
msgid "%s, then %s, followed by %s later."
|
||||||
msgstr "%s, tuomet %s, o po to vėliau %s."
|
msgstr "%s, tuomet %s, o po to vėliau %s."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:300
|
#: js/ui/dateMenu.js:309
|
||||||
msgid "Select a location…"
|
msgid "Select a location…"
|
||||||
msgstr "Pasirinkite vietą…"
|
msgstr "Pasirinkite vietą…"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:303
|
#: js/ui/dateMenu.js:312
|
||||||
msgid "Loading…"
|
msgid "Loading…"
|
||||||
msgstr "Įkeliama…"
|
msgstr "Įkeliama…"
|
||||||
|
|
||||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
||||||
#: js/ui/dateMenu.js:309
|
#: js/ui/dateMenu.js:318
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Feels like %s."
|
msgid "Feels like %s."
|
||||||
msgstr "Jaučiama kaip %s."
|
msgstr "Jaučiama kaip %s."
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:312
|
#: js/ui/dateMenu.js:321
|
||||||
msgid "Go online for weather information"
|
msgid "Go online for weather information"
|
||||||
msgstr "Prisijunkite prie tinklo orų informacijai gauti"
|
msgstr "Prisijunkite prie tinklo orų informacijai gauti"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:314
|
#: js/ui/dateMenu.js:323
|
||||||
msgid "Weather information is currently unavailable"
|
msgid "Weather information is currently unavailable"
|
||||||
msgstr "Orų informacija šiuo metu yra neprieinama"
|
msgstr "Orų informacija šiuo metu yra neprieinama"
|
||||||
|
|
||||||
@ -1140,19 +1213,34 @@ msgstr "Įdiegti"
|
|||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "Parsiųsti ir įdiegti „%s“ iš extensions.gnome.org?"
|
msgstr "Parsiųsti ir įdiegti „%s“ iš extensions.gnome.org?"
|
||||||
|
|
||||||
#: js/ui/keyboard.js:740 js/ui/status/keyboard.js:782
|
#. Translators: %s is an application name like "Settings"
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:59
|
||||||
|
#, javascript-format
|
||||||
|
msgid "%s wants to inhibit shortcuts"
|
||||||
|
msgstr "%s nori talpinti trumpinius"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:60
|
||||||
|
msgid "Application wants to inhibit shortcuts"
|
||||||
|
msgstr "Programa nori talpinti trumpinius"
|
||||||
|
|
||||||
|
#. Translators: %s is a keyboard shortcut like "Super+x"
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:69
|
||||||
|
#, javascript-format
|
||||||
|
msgid "You can restore shortcuts by pressing %s."
|
||||||
|
msgstr "Galite atstatyti trumpinius paspaudę %s"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:74
|
||||||
|
msgid "Deny"
|
||||||
|
msgstr "Neleisti"
|
||||||
|
|
||||||
|
#: js/ui/inhibitShortcutsDialog.js:80
|
||||||
|
msgid "Allow"
|
||||||
|
msgstr "Leisti"
|
||||||
|
|
||||||
|
#: js/ui/keyboard.js:738 js/ui/status/keyboard.js:782
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Klaviatūra"
|
msgstr "Klaviatūra"
|
||||||
|
|
||||||
#. translators: 'Hide' is a verb
|
|
||||||
#: js/ui/legacyTray.js:65
|
|
||||||
msgid "Hide tray"
|
|
||||||
msgstr "Slėpti dėklą"
|
|
||||||
|
|
||||||
#: js/ui/legacyTray.js:106
|
|
||||||
msgid "Status Icons"
|
|
||||||
msgstr "Būsenos piktogramos"
|
|
||||||
|
|
||||||
#: js/ui/lookingGlass.js:642
|
#: js/ui/lookingGlass.js:642
|
||||||
msgid "No extensions installed"
|
msgid "No extensions installed"
|
||||||
msgstr "Nėra įdiegtų plėtinių"
|
msgstr "Nėra įdiegtų plėtinių"
|
||||||
@ -1341,7 +1429,7 @@ msgstr[0] "%d naujas pranešimas"
|
|||||||
msgstr[1] "%d nauji pranešimai"
|
msgstr[1] "%d nauji pranešimai"
|
||||||
msgstr[2] "%d naujų pranešimų"
|
msgstr[2] "%d naujų pranešimų"
|
||||||
|
|
||||||
#: js/ui/screenShield.js:452 js/ui/status/system.js:415
|
#: js/ui/screenShield.js:452 js/ui/status/system.js:284
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Užrakinti"
|
msgstr "Užrakinti"
|
||||||
|
|
||||||
@ -1372,10 +1460,13 @@ msgstr "Ieškoma…"
|
|||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Nerasta atitikmenų."
|
msgstr "Nerasta atitikmenų."
|
||||||
|
|
||||||
#: js/ui/search.js:768
|
#: js/ui/search.js:777
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d more"
|
msgid "%d more"
|
||||||
msgstr "dar %d"
|
msgid_plural "%d more"
|
||||||
|
msgstr[0] "dar %d"
|
||||||
|
msgstr[1] "dar %d"
|
||||||
|
msgstr[2] "dar %d"
|
||||||
|
|
||||||
#: js/ui/shellEntry.js:25
|
#: js/ui/shellEntry.js:25
|
||||||
msgid "Copy"
|
msgid "Copy"
|
||||||
@ -1449,7 +1540,7 @@ msgstr "Didelis tekstas"
|
|||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:638
|
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:627
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Bluetooth nustatymai"
|
msgstr "Bluetooth nustatymai"
|
||||||
|
|
||||||
@ -1470,13 +1561,13 @@ msgstr "Išjungta"
|
|||||||
msgid "On"
|
msgid "On"
|
||||||
msgstr "Įjungta"
|
msgstr "Įjungta"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
|
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1299
|
||||||
msgid "Turn On"
|
msgid "Turn On"
|
||||||
msgstr "Įjungti"
|
msgstr "Įjungti"
|
||||||
|
|
||||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
|
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
|
||||||
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
|
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
|
||||||
#: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
|
#: js/ui/status/network.js:1418 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 "Išjungti"
|
msgstr "Išjungti"
|
||||||
@ -1528,13 +1619,13 @@ msgid "<unknown>"
|
|||||||
msgstr "<nežinoma>"
|
msgstr "<nežinoma>"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:465 js/ui/status/network.js:1339
|
#: js/ui/status/network.js:454 js/ui/status/network.js:1328
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Off"
|
msgid "%s Off"
|
||||||
msgstr "%s išjungtas"
|
msgstr "%s išjungtas"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:468
|
#: js/ui/status/network.js:457
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connected"
|
msgid "%s Connected"
|
||||||
msgstr "Prisijungta prie %s"
|
msgstr "Prisijungta prie %s"
|
||||||
@ -1542,165 +1633,164 @@ msgstr "Prisijungta prie %s"
|
|||||||
#. Translators: this is for network devices that are physically present but are not
|
#. Translators: this is for network devices that are physically present but are not
|
||||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||||
#. %s is a network identifier
|
#. %s is a network identifier
|
||||||
#: js/ui/status/network.js:473
|
#: js/ui/status/network.js:462
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Unmanaged"
|
msgid "%s Unmanaged"
|
||||||
msgstr "%s netvarkomas"
|
msgstr "%s netvarkomas"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:476
|
#: js/ui/status/network.js:465
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Disconnecting"
|
msgid "%s Disconnecting"
|
||||||
msgstr "Atsijungiama nuo %s"
|
msgstr "Atsijungiama nuo %s"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:483 js/ui/status/network.js:1331
|
#: js/ui/status/network.js:472 js/ui/status/network.js:1320
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connecting"
|
msgid "%s Connecting"
|
||||||
msgstr "Jungiamasi prie %s"
|
msgstr "Jungiamasi prie %s"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
||||||
#: js/ui/status/network.js:486
|
#: js/ui/status/network.js:475
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Requires Authentication"
|
msgid "%s Requires Authentication"
|
||||||
msgstr "%s reikalauja patvirtinti tapatybę"
|
msgstr "%s reikalauja patvirtinti tapatybę"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing; %s is a network identifier
|
#. module, which is missing; %s is a network identifier
|
||||||
#: js/ui/status/network.js:494
|
#: js/ui/status/network.js:483
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Firmware Missing For %s"
|
msgid "Firmware Missing For %s"
|
||||||
msgstr "%s trūksta integruotos programinės įrangos"
|
msgstr "%s trūksta integruotos programinės įrangos"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
||||||
#: js/ui/status/network.js:498
|
#: js/ui/status/network.js:487
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Unavailable"
|
msgid "%s Unavailable"
|
||||||
msgstr "%s nepasiekiamas"
|
msgstr "%s nepasiekiamas"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:501
|
#: js/ui/status/network.js:490
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connection Failed"
|
msgid "%s Connection Failed"
|
||||||
msgstr "Nepavyko prisijungti prie %s"
|
msgstr "Nepavyko prisijungti prie %s"
|
||||||
|
|
||||||
#: js/ui/status/network.js:517
|
#: js/ui/status/network.js:506
|
||||||
msgid "Wired Settings"
|
msgid "Wired Settings"
|
||||||
msgstr "Laidinio ryšio nustatymai"
|
msgstr "Laidinio ryšio nustatymai"
|
||||||
|
|
||||||
#: js/ui/status/network.js:559
|
#: js/ui/status/network.js:548
|
||||||
msgid "Mobile Broadband Settings"
|
msgid "Mobile Broadband Settings"
|
||||||
msgstr "Mobiliojo plačiajuosčio tinklo nustatymai"
|
msgstr "Mobiliojo plačiajuosčio tinklo nustatymai"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:602 js/ui/status/network.js:1336
|
#: js/ui/status/network.js:591 js/ui/status/network.js:1325
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hardware Disabled"
|
msgid "%s Hardware Disabled"
|
||||||
msgstr "%s aparatinė įranga išjungta"
|
msgstr "%s aparatinė įranga išjungta"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated
|
#. Translators: this is for a network device that cannot be activated
|
||||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||||
#: js/ui/status/network.js:606
|
#: js/ui/status/network.js:595
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Disabled"
|
msgid "%s Disabled"
|
||||||
msgstr "%s išjungtas"
|
msgstr "%s išjungtas"
|
||||||
|
|
||||||
#: js/ui/status/network.js:646
|
#: js/ui/status/network.js:635
|
||||||
msgid "Connect to Internet"
|
msgid "Connect to Internet"
|
||||||
msgstr "Prisijungti prie interneto"
|
msgstr "Prisijungti prie interneto"
|
||||||
|
|
||||||
#: js/ui/status/network.js:844
|
#: js/ui/status/network.js:833
|
||||||
msgid "Airplane Mode is On"
|
msgid "Airplane Mode is On"
|
||||||
msgstr "Skrydžio veiksena įjungta"
|
msgstr "Skrydžio veiksena įjungta"
|
||||||
|
|
||||||
#: js/ui/status/network.js:845
|
#: js/ui/status/network.js:834
|
||||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||||
msgstr "Belaidis ryšys yra išjungta skrydžio veiksenoje."
|
msgstr "Belaidis ryšys yra išjungta skrydžio veiksenoje."
|
||||||
|
|
||||||
#: js/ui/status/network.js:846
|
#: js/ui/status/network.js:835
|
||||||
msgid "Turn Off Airplane Mode"
|
msgid "Turn Off Airplane Mode"
|
||||||
msgstr "Išjungti skrydžio veikseną"
|
msgstr "Išjungti skrydžio veikseną"
|
||||||
|
|
||||||
#: js/ui/status/network.js:855
|
#: js/ui/status/network.js:844
|
||||||
msgid "Wi-Fi is Off"
|
msgid "Wi-Fi is Off"
|
||||||
msgstr "Belaidžio ryšys išjungtas"
|
msgstr "Belaidžio ryšys išjungtas"
|
||||||
|
|
||||||
#: js/ui/status/network.js:856
|
#: js/ui/status/network.js:845
|
||||||
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 "Norint prisijungti prie tinklo reikia įjungti belaidį ryšį."
|
msgstr "Norint prisijungti prie tinklo reikia įjungti belaidį ryšį."
|
||||||
|
|
||||||
#: js/ui/status/network.js:857
|
#: js/ui/status/network.js:846
|
||||||
msgid "Turn On Wi-Fi"
|
msgid "Turn On Wi-Fi"
|
||||||
msgstr "Įjungti belaidį ryšį"
|
msgstr "Įjungti belaidį ryšį"
|
||||||
|
|
||||||
#: js/ui/status/network.js:882
|
#: js/ui/status/network.js:871
|
||||||
msgid "Wi-Fi Networks"
|
msgid "Wi-Fi Networks"
|
||||||
msgstr "Wi-Fi tinklai"
|
msgstr "Wi-Fi tinklai"
|
||||||
|
|
||||||
#: js/ui/status/network.js:884
|
#: js/ui/status/network.js:873
|
||||||
msgid "Select a network"
|
msgid "Select a network"
|
||||||
msgstr "Pasirinkite tinklą"
|
msgstr "Pasirinkite tinklą"
|
||||||
|
|
||||||
#: js/ui/status/network.js:914
|
#: js/ui/status/network.js:903
|
||||||
msgid "No Networks"
|
msgid "No Networks"
|
||||||
msgstr "Nėra tinklų"
|
msgstr "Nėra tinklų"
|
||||||
|
|
||||||
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
|
#: js/ui/status/network.js:924 js/ui/status/rfkill.js:115
|
||||||
msgid "Use hardware switch to turn off"
|
msgid "Use hardware switch to turn off"
|
||||||
msgstr "Išjungimui naudoti aparatinį jungiklį"
|
msgstr "Išjungimui naudoti aparatinį jungiklį"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1202
|
#: js/ui/status/network.js:1191
|
||||||
msgid "Select Network"
|
msgid "Select Network"
|
||||||
msgstr "Pasirinkite tinklą"
|
msgstr "Pasirinkite tinklą"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1208
|
#: js/ui/status/network.js:1197
|
||||||
msgid "Wi-Fi Settings"
|
msgid "Wi-Fi Settings"
|
||||||
msgstr "Belaidžio ryšio nustatymai"
|
msgstr "Belaidžio ryšio nustatymai"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1327
|
#: js/ui/status/network.js:1316
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hotspot Active"
|
msgid "%s Hotspot Active"
|
||||||
msgstr "Prieigos taškas %s aktyvus"
|
msgstr "Prieigos taškas %s aktyvus"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1342
|
#: js/ui/status/network.js:1331
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Not Connected"
|
msgid "%s Not Connected"
|
||||||
msgstr "Neprisijungta prie %s"
|
msgstr "Neprisijungta prie %s"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1446
|
#: js/ui/status/network.js:1435
|
||||||
msgid "connecting…"
|
msgid "connecting…"
|
||||||
msgstr "jungiamasi…"
|
msgstr "jungiamasi…"
|
||||||
|
|
||||||
#. 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:1449
|
#: js/ui/status/network.js:1438
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "reikia patvirtinti tapatybę"
|
msgstr "reikia patvirtinti tapatybę"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1451
|
#: js/ui/status/network.js:1440
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "nepavyko prisijungti"
|
msgstr "nepavyko prisijungti"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1517 js/ui/status/network.js:1612
|
#: js/ui/status/network.js:1494
|
||||||
#: js/ui/status/rfkill.js:93
|
|
||||||
msgid "Network Settings"
|
|
||||||
msgstr "Tinklo nustatymai"
|
|
||||||
|
|
||||||
#: js/ui/status/network.js:1519
|
|
||||||
msgid "VPN Settings"
|
msgid "VPN Settings"
|
||||||
msgstr "VPN nustatymai"
|
msgstr "VPN nustatymai"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1538
|
#: js/ui/status/network.js:1498
|
||||||
msgid "VPN"
|
msgid "VPN"
|
||||||
msgstr "VPN"
|
msgstr "VPN"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1548
|
#: js/ui/status/network.js:1508
|
||||||
msgid "VPN Off"
|
msgid "VPN Off"
|
||||||
msgstr "VPN išjungtas"
|
msgstr "VPN išjungtas"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1643
|
#: js/ui/status/network.js:1572 js/ui/status/rfkill.js:93
|
||||||
|
msgid "Network Settings"
|
||||||
|
msgstr "Tinklo nustatymai"
|
||||||
|
|
||||||
|
#: js/ui/status/network.js:1603
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Wired Connection"
|
msgid "%s Wired Connection"
|
||||||
msgid_plural "%s Wired Connections"
|
msgid_plural "%s Wired Connections"
|
||||||
@ -1708,7 +1798,7 @@ msgstr[0] "%s laidinis ryšys"
|
|||||||
msgstr[1] "%s laidiniai ryšiai"
|
msgstr[1] "%s laidiniai ryšiai"
|
||||||
msgstr[2] "%s laidinių ryšių"
|
msgstr[2] "%s laidinių ryšių"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1647
|
#: js/ui/status/network.js:1607
|
||||||
#, 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"
|
||||||
@ -1716,7 +1806,7 @@ msgstr[0] "%s belaidis ryšys"
|
|||||||
msgstr[1] "%s belaidžiai ryšiai"
|
msgstr[1] "%s belaidžiai ryšiai"
|
||||||
msgstr[2] "%s belaidžių ryšių"
|
msgstr[2] "%s belaidžių ryšių"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1651
|
#: js/ui/status/network.js:1611
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Modem Connection"
|
msgid "%s Modem Connection"
|
||||||
msgid_plural "%s Modem Connections"
|
msgid_plural "%s Modem Connections"
|
||||||
@ -1724,11 +1814,11 @@ msgstr[0] "%s modemo ryšys"
|
|||||||
msgstr[1] "%s modemo ryšiai"
|
msgstr[1] "%s modemo ryšiai"
|
||||||
msgstr[2] "%s modemo ryšių"
|
msgstr[2] "%s modemo ryšių"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1799
|
#: js/ui/status/network.js:1759
|
||||||
msgid "Connection failed"
|
msgid "Connection failed"
|
||||||
msgstr "Nepavyko prisijungti"
|
msgstr "Nepavyko prisijungti"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1800
|
#: js/ui/status/network.js:1760
|
||||||
msgid "Activation of network connection failed"
|
msgid "Activation of network connection failed"
|
||||||
msgstr "Tinklo ryšio nepavyko aktyvuoti"
|
msgstr "Tinklo ryšio nepavyko aktyvuoti"
|
||||||
|
|
||||||
@ -1786,27 +1876,27 @@ msgstr "%d %%"
|
|||||||
msgid "Airplane Mode On"
|
msgid "Airplane Mode On"
|
||||||
msgstr "Skrydžio veiksena įjungta"
|
msgstr "Skrydžio veiksena įjungta"
|
||||||
|
|
||||||
#: js/ui/status/system.js:384
|
#: js/ui/status/system.js:228
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Keisti naudotoją"
|
msgstr "Keisti naudotoją"
|
||||||
|
|
||||||
#: js/ui/status/system.js:389
|
#: js/ui/status/system.js:240
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Atsijungti"
|
msgstr "Atsijungti"
|
||||||
|
|
||||||
#: js/ui/status/system.js:394
|
#: js/ui/status/system.js:252
|
||||||
msgid "Account Settings"
|
msgid "Account Settings"
|
||||||
msgstr "Paskyros nustatymai"
|
msgstr "Paskyros nustatymai"
|
||||||
|
|
||||||
#: js/ui/status/system.js:411
|
#: js/ui/status/system.js:269
|
||||||
msgid "Orientation Lock"
|
msgid "Orientation Lock"
|
||||||
msgstr "Padėties užrakinimas"
|
msgstr "Padėties užrakinimas"
|
||||||
|
|
||||||
#: js/ui/status/system.js:419
|
#: js/ui/status/system.js:295
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Pristabdyti"
|
msgstr "Pristabdyti"
|
||||||
|
|
||||||
#: js/ui/status/system.js:422
|
#: js/ui/status/system.js:305
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Išjungti"
|
msgstr "Išjungti"
|
||||||
|
|
||||||
@ -1818,6 +1908,35 @@ msgstr "Garsumas pakeistas"
|
|||||||
msgid "Volume"
|
msgid "Volume"
|
||||||
msgstr "Garsumas"
|
msgstr "Garsumas"
|
||||||
|
|
||||||
|
#. Translators: this is for display mirroring i.e. cloning.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:21
|
||||||
|
#| msgid "Error"
|
||||||
|
msgid "Mirror"
|
||||||
|
msgstr "Veidrodis"
|
||||||
|
|
||||||
|
#. Translators: this is for the desktop spanning displays.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:26
|
||||||
|
msgid "Join Displays"
|
||||||
|
msgstr "Sujungti vaizduoklius"
|
||||||
|
|
||||||
|
#. Translators: this is for using only an external display.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:31
|
||||||
|
msgid "External Only"
|
||||||
|
msgstr "Tik išorinis"
|
||||||
|
|
||||||
|
#. Translators: this is for using only the laptop display.
|
||||||
|
#. * Try to keep it under around 15 characters.
|
||||||
|
#.
|
||||||
|
#: js/ui/switchMonitor.js:36
|
||||||
|
msgid "Built-in Only"
|
||||||
|
msgstr "Tik vidinis"
|
||||||
|
|
||||||
#: js/ui/unlockDialog.js:67
|
#: js/ui/unlockDialog.js:67
|
||||||
msgid "Log in as another user"
|
msgid "Log in as another user"
|
||||||
msgstr "Prisijungti kitu naudotoju"
|
msgstr "Prisijungti kitu naudotoju"
|
||||||
@ -1826,11 +1945,11 @@ msgstr "Prisijungti kitu naudotoju"
|
|||||||
msgid "Unlock Window"
|
msgid "Unlock Window"
|
||||||
msgstr "Atrakinimo langas"
|
msgstr "Atrakinimo langas"
|
||||||
|
|
||||||
#: js/ui/viewSelector.js:183
|
#: js/ui/viewSelector.js:190
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Programos"
|
msgstr "Programos"
|
||||||
|
|
||||||
#: js/ui/viewSelector.js:187
|
#: js/ui/viewSelector.js:194
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Ieškoti"
|
msgstr "Ieškoti"
|
||||||
|
|
||||||
@ -1839,22 +1958,22 @@ msgstr "Ieškoti"
|
|||||||
msgid "“%s” is ready"
|
msgid "“%s” is ready"
|
||||||
msgstr "„%s“ yra pasirengusi"
|
msgstr "„%s“ yra pasirengusi"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:71
|
#: js/ui/windowManager.js:72
|
||||||
msgid "Do you want to keep these display settings?"
|
msgid "Do you want to keep these display settings?"
|
||||||
msgstr "Ar norite įrašyti šiuos vaizduoklio nustatymus?"
|
msgstr "Ar norite įrašyti šiuos vaizduoklio nustatymus?"
|
||||||
|
|
||||||
#. 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:83
|
#: js/ui/windowManager.js:84
|
||||||
msgid "Revert Settings"
|
msgid "Revert Settings"
|
||||||
msgstr "Grąžinti nustatymus"
|
msgstr "Grąžinti nustatymus"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:86
|
#: js/ui/windowManager.js:87
|
||||||
msgid "Keep Changes"
|
msgid "Keep Changes"
|
||||||
msgstr "Įrašyti pakeitimus"
|
msgstr "Įrašyti pakeitimus"
|
||||||
|
|
||||||
#: js/ui/windowManager.js:104
|
#: js/ui/windowManager.js:105
|
||||||
#, 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"
|
||||||
@ -1864,7 +1983,7 @@ msgstr[2] "Pakeitimai bus grąžinti po %d sekundžių"
|
|||||||
|
|
||||||
#. 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:659
|
#: js/ui/windowManager.js:660
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d × %d"
|
msgid "%d × %d"
|
||||||
msgstr "%d × %d"
|
msgstr "%d × %d"
|
||||||
@ -1942,19 +2061,19 @@ msgstr "Evolution kalendorius"
|
|||||||
msgid "evolution"
|
msgid "evolution"
|
||||||
msgstr "evolution"
|
msgstr "evolution"
|
||||||
|
|
||||||
#: src/main.c:372
|
#: src/main.c:380
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Išvesti versijos numerį"
|
msgstr "Išvesti versijos numerį"
|
||||||
|
|
||||||
#: src/main.c:378
|
#: src/main.c:386
|
||||||
msgid "Mode used by GDM for login screen"
|
msgid "Mode used by GDM for login screen"
|
||||||
msgstr "Veiksena, naudojama GDM prisijungimo ekrane"
|
msgstr "Veiksena, naudojama GDM prisijungimo ekrane"
|
||||||
|
|
||||||
#: src/main.c:384
|
#: src/main.c:392
|
||||||
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
||||||
msgstr "Naudoti konkrečią veikseną, pvz., „gdm“ prisijungimo ekranui"
|
msgstr "Naudoti konkrečią veikseną, pvz., „gdm“ prisijungimo ekranui"
|
||||||
|
|
||||||
#: src/main.c:390
|
#: src/main.c:398
|
||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Išvardinti galimas veiksenas"
|
msgstr "Išvardinti galimas veiksenas"
|
||||||
|
|
||||||
@ -2004,6 +2123,12 @@ msgstr[2] "%u įvesčių"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Sistemos garsai"
|
msgstr "Sistemos garsai"
|
||||||
|
|
||||||
|
#~ msgid "Hide tray"
|
||||||
|
#~ msgstr "Slėpti dėklą"
|
||||||
|
|
||||||
|
#~ msgid "Status Icons"
|
||||||
|
#~ msgstr "Būsenos piktogramos"
|
||||||
|
|
||||||
#~ msgid "Events"
|
#~ msgid "Events"
|
||||||
#~ msgstr "Įvykiai"
|
#~ msgstr "Įvykiai"
|
||||||
|
|
||||||
|
2
po/ne.po
2
po/ne.po
@ -1931,7 +1931,7 @@ msgstr "इभोल्युसन पात्रो"
|
|||||||
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
||||||
#: src/calendar-server/evolution-calendar.desktop.in:6
|
#: src/calendar-server/evolution-calendar.desktop.in:6
|
||||||
msgid "evolution"
|
msgid "evolution"
|
||||||
msgstr "इभोल्युसन"
|
msgstr "evolution"
|
||||||
|
|
||||||
#: src/main.c:372
|
#: src/main.c:372
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
|
564
po/pt_BR.po
564
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user