Compare commits
120 Commits
wip/fmuell
...
3.26.0
Author | SHA1 | Date | |
---|---|---|---|
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
|
||||
ChangeLog
|
||||
INSTALL
|
||||
Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.status
|
||||
config
|
||||
configure
|
||||
data/org.gnome.Shell.desktop
|
||||
data/org.gnome.Shell.desktop.in
|
||||
data/gnome-shell-extension-prefs.desktop
|
||||
@ -41,15 +33,9 @@ docs/reference/*/*.types
|
||||
docs/reference/*/html/
|
||||
docs/reference/*/xml/
|
||||
docs/reference/shell/doc-gen-*
|
||||
gtk-doc.make
|
||||
js/misc/config.js
|
||||
js/js-resources.c
|
||||
js/js-resources.h
|
||||
intltool-extract.in
|
||||
intltool-merge.in
|
||||
intltool-update.in
|
||||
libtool
|
||||
m4/
|
||||
man/gnome-shell.1
|
||||
omf.make
|
||||
po/*.gmo
|
||||
@ -58,7 +44,6 @@ po/*.header
|
||||
po/*.sed
|
||||
po/*.sin
|
||||
po/.intltool-merge-cache
|
||||
po/Makefile.in.in
|
||||
po/Makevars.template
|
||||
po/POTFILES
|
||||
po/Rules-quot
|
||||
@ -68,8 +53,6 @@ src/*.gir
|
||||
src/*.typelib
|
||||
src/*-enum-types.[ch]
|
||||
src/*-marshal.[ch]
|
||||
src/Makefile
|
||||
src/Makefile.in
|
||||
src/calendar-server/evolution-calendar.desktop
|
||||
src/calendar-server/org.gnome.Shell.CalendarServer.service
|
||||
src/gnome-shell
|
||||
@ -93,7 +76,6 @@ src/st-scroll-view-fade-generated.c
|
||||
src/stamp-st-scroll-view-fade-generated.c
|
||||
stamp-h1
|
||||
tests/run-test.sh
|
||||
xmldocs.make
|
||||
*~
|
||||
*.patch
|
||||
*.sw?
|
||||
|
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -1,6 +1,6 @@
|
||||
[submodule "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"]
|
||||
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
|
59
NEWS
59
NEWS
@ -1,3 +1,62 @@
|
||||
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
|
||||
======
|
||||
* 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\"
|
159
configure
vendored
Executable file
159
configure
vendored
Executable file
@ -0,0 +1,159 @@
|
||||
#!/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 MESONTEST 'mesontest'
|
||||
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:
|
||||
${MESONTEST} ${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)
|
@ -7,7 +7,6 @@
|
||||
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:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.0"
|
||||
@ -16,137 +15,72 @@
|
||||
y="0px"
|
||||
width="32"
|
||||
height="32"
|
||||
viewBox="0 0 23.272727 23.272727"
|
||||
viewBox="0 0 32 32"
|
||||
enable-background="new 0 0 16 16"
|
||||
xml:space="preserve"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48+devel r10081 custom"
|
||||
inkscape:version="0.92+devel unknown"
|
||||
sodipodi:docname="close-window.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 : 8 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="16 : 8 : 1"
|
||||
inkscape:persp3d-origin="8 : 5.3333333 : 1"
|
||||
id="perspective2401" /><filter
|
||||
color-interpolation-filters="sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter16494-4"
|
||||
x="-0.20989846"
|
||||
width="1.4197969"
|
||||
y="-0.20903821"
|
||||
height="1.4180764"><feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="1.3282637"
|
||||
id="feGaussianBlur16496-8" /></filter><radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient16498-6"
|
||||
id="radialGradient16504-1"
|
||||
cx="7.6582627"
|
||||
cy="5.8191104"
|
||||
fx="7.6582627"
|
||||
fy="5.8191104"
|
||||
r="8.6928644"
|
||||
gradientTransform="matrix(1.0474339,0,0,1.0517402,-0.3632615,-0.42032492)"
|
||||
gradientUnits="userSpaceOnUse" /><linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient16498-6"><stop
|
||||
style="stop-color:#7b7b7b;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop16500-8" /><stop
|
||||
style="stop-color:#101010;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop16502-0" /></linearGradient><filter
|
||||
color-interpolation-filters="sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter16524-9"
|
||||
x="-0.212979"
|
||||
width="1.425958"
|
||||
y="-0.21305652"
|
||||
height="1.426113"><feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.71020915"
|
||||
id="feGaussianBlur16526-0" /></filter></defs><sodipodi:namedview
|
||||
inkscape:window-height="1114"
|
||||
inkscape:window-width="1463"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0"
|
||||
guidetolerance="10.0"
|
||||
gridtolerance="10.0"
|
||||
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>
|
||||
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="1376"
|
||||
inkscape:window-width="3440"
|
||||
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="8"
|
||||
inkscape:cx="-17.664395"
|
||||
inkscape:cy="7.2420799"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:current-layer="Foreground"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:document-rotation="0"><inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid11246"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" /></sodipodi:namedview><path
|
||||
clip-rule="evenodd"
|
||||
d="m 4.4362021,15.860384 c 0,-6.410121 5.1728276,-11.6072804 11.5529359,-11.6072804 6.380109,0 11.552937,5.1971594 11.552937,11.6072804 0,6.410122 -5.172828,11.607281 -11.552937,11.607281 -6.3801083,0 -11.5529359,-5.197159 -11.5529359,-11.607281 z"
|
||||
id="path2394-32"
|
||||
style="color:#000000;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"
|
||||
sodipodi:nodetypes="csssc"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
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"
|
||||
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="path2561"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
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:connector-curvature="0"
|
||||
id="path27279-0-5"
|
||||
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>
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 5.3 KiB |
@ -1094,13 +1094,11 @@ StScrollBar {
|
||||
padding-bottom: 32px; }
|
||||
|
||||
.window-picker {
|
||||
-horizontal-spacing: 32px;
|
||||
-vertical-spacing: 32px;
|
||||
padding-left: 32px;
|
||||
padding-right: 32px;
|
||||
padding-bottom: 48px; }
|
||||
-horizontal-spacing: 16px;
|
||||
-vertical-spacing: 16px;
|
||||
padding: 0 16px 16px; }
|
||||
.window-picker.external-monitor {
|
||||
padding: 32px; }
|
||||
padding: 16px; }
|
||||
|
||||
.window-clone-border {
|
||||
border: 4px solid #215d9c;
|
||||
@ -1109,14 +1107,10 @@ StScrollBar {
|
||||
|
||||
.window-caption {
|
||||
spacing: 25px;
|
||||
color: #eeeeec;
|
||||
background-color: rgba(46, 52, 54, 0.7);
|
||||
color: #ffffff;
|
||||
background-color: #215d9c;
|
||||
border-radius: 8px;
|
||||
padding: 4px 12px;
|
||||
-shell-caption-spacing: 12px; }
|
||||
.window-caption:hover {
|
||||
background-color: #215d9c;
|
||||
color: #ffffff; }
|
||||
padding: 4px 12px; }
|
||||
|
||||
.search-entry {
|
||||
width: 320px;
|
||||
@ -1216,6 +1210,12 @@ StScrollBar {
|
||||
.icon-grid .overview-icon {
|
||||
icon-size: 96px; }
|
||||
|
||||
.system-action-icon {
|
||||
background-color: black;
|
||||
color: white;
|
||||
border-radius: 99px;
|
||||
icon-size: 48px; }
|
||||
|
||||
.app-view-controls {
|
||||
padding-bottom: 32px; }
|
||||
|
||||
@ -1485,38 +1485,6 @@ StScrollBar {
|
||||
color: pink; }
|
||||
|
||||
/* 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 {
|
||||
border: 2px solid #215d9c; }
|
||||
.magnifier-zoom-region.full-screen {
|
||||
|
Submodule data/theme/gnome-shell-sass updated: 70e3ae3873...81c5a273cf
@ -1094,13 +1094,11 @@ StScrollBar {
|
||||
padding-bottom: 32px; }
|
||||
|
||||
.window-picker {
|
||||
-horizontal-spacing: 32px;
|
||||
-vertical-spacing: 32px;
|
||||
padding-left: 32px;
|
||||
padding-right: 32px;
|
||||
padding-bottom: 48px; }
|
||||
-horizontal-spacing: 16px;
|
||||
-vertical-spacing: 16px;
|
||||
padding: 0 16px 16px; }
|
||||
.window-picker.external-monitor {
|
||||
padding: 32px; }
|
||||
padding: 16px; }
|
||||
|
||||
.window-clone-border {
|
||||
border: 4px solid #215d9c;
|
||||
@ -1109,14 +1107,10 @@ StScrollBar {
|
||||
|
||||
.window-caption {
|
||||
spacing: 25px;
|
||||
color: #eeeeec;
|
||||
background-color: rgba(46, 52, 54, 0.7);
|
||||
color: #ffffff;
|
||||
background-color: #215d9c;
|
||||
border-radius: 8px;
|
||||
padding: 4px 12px;
|
||||
-shell-caption-spacing: 12px; }
|
||||
.window-caption:hover {
|
||||
background-color: #215d9c;
|
||||
color: #ffffff; }
|
||||
padding: 4px 12px; }
|
||||
|
||||
.search-entry {
|
||||
width: 320px;
|
||||
@ -1216,6 +1210,12 @@ StScrollBar {
|
||||
.icon-grid .overview-icon {
|
||||
icon-size: 96px; }
|
||||
|
||||
.system-action-icon {
|
||||
background-color: black;
|
||||
color: white;
|
||||
border-radius: 99px;
|
||||
icon-size: 48px; }
|
||||
|
||||
.app-view-controls {
|
||||
padding-bottom: 32px; }
|
||||
|
||||
@ -1485,38 +1485,6 @@ StScrollBar {
|
||||
color: pink; }
|
||||
|
||||
/* 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 {
|
||||
border: 2px solid #215d9c; }
|
||||
.magnifier-zoom-region.full-screen {
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/sh
|
||||
#!/bin/sh
|
||||
|
||||
srcdir=`dirname $0`
|
||||
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 Tweener = imports.ui.tweener;
|
||||
|
||||
const PASSWORD_SERVICE_NAME = 'gdm-password';
|
||||
const FINGERPRINT_SERVICE_NAME = 'gdm-fingerprint';
|
||||
const SMARTCARD_SERVICE_NAME = 'gdm-smartcard';
|
||||
const OVIRT_SERVICE_NAME = 'gdm-ovirtcred';
|
||||
var PASSWORD_SERVICE_NAME = 'gdm-password';
|
||||
var FINGERPRINT_SERVICE_NAME = 'gdm-fingerprint';
|
||||
var SMARTCARD_SERVICE_NAME = 'gdm-smartcard';
|
||||
var OVIRT_SERVICE_NAME = 'gdm-ovirtcred';
|
||||
var FADE_ANIMATION_TIME = 0.16;
|
||||
var CLONE_FADE_ANIMATION_TIME = 0.25;
|
||||
|
||||
const LOGIN_SCREEN_SCHEMA = 'org.gnome.login-screen';
|
||||
const PASSWORD_AUTHENTICATION_KEY = 'enable-password-authentication';
|
||||
const FINGERPRINT_AUTHENTICATION_KEY = 'enable-fingerprint-authentication';
|
||||
const SMARTCARD_AUTHENTICATION_KEY = 'enable-smartcard-authentication';
|
||||
const BANNER_MESSAGE_KEY = 'banner-message-enable';
|
||||
const BANNER_MESSAGE_TEXT_KEY = 'banner-message-text';
|
||||
const ALLOWED_FAILURES_KEY = 'allowed-failures';
|
||||
var LOGIN_SCREEN_SCHEMA = 'org.gnome.login-screen';
|
||||
var PASSWORD_AUTHENTICATION_KEY = 'enable-password-authentication';
|
||||
var FINGERPRINT_AUTHENTICATION_KEY = 'enable-fingerprint-authentication';
|
||||
var SMARTCARD_AUTHENTICATION_KEY = 'enable-smartcard-authentication';
|
||||
var BANNER_MESSAGE_KEY = 'banner-message-enable';
|
||||
var BANNER_MESSAGE_TEXT_KEY = 'banner-message-text';
|
||||
var ALLOWED_FAILURES_KEY = 'allowed-failures';
|
||||
|
||||
const LOGO_KEY = 'logo';
|
||||
const DISABLE_USER_LIST_KEY = 'disable-user-list';
|
||||
var LOGO_KEY = 'logo';
|
||||
var DISABLE_USER_LIST_KEY = 'disable-user-list';
|
||||
|
||||
// Give user 48ms to read each character of a PAM message
|
||||
var USER_READ_TIME = 48
|
||||
|
@ -25,6 +25,7 @@
|
||||
<file>misc/params.js</file>
|
||||
<file>misc/permissionStore.js</file>
|
||||
<file>misc/smartcardManager.js</file>
|
||||
<file>misc/systemActions.js</file>
|
||||
<file>misc/util.js</file>
|
||||
<file>misc/weather.js</file>
|
||||
|
||||
@ -64,7 +65,6 @@
|
||||
<file>ui/layout.js</file>
|
||||
<file>ui/lightbox.js</file>
|
||||
<file>ui/lookingGlass.js</file>
|
||||
<file>ui/legacyTray.js</file>
|
||||
<file>ui/magnifier.js</file>
|
||||
<file>ui/magnifierDBus.js</file>
|
||||
<file>ui/main.js</file>
|
||||
@ -96,6 +96,7 @@
|
||||
<file>ui/shellMountOperation.js</file>
|
||||
<file>ui/slider.js</file>
|
||||
<file>ui/switcherPopup.js</file>
|
||||
<file>ui/switchMonitor.js</file>
|
||||
<file>ui/tweener.js</file>
|
||||
<file>ui/unlockDialog.js</file>
|
||||
<file>ui/userWidget.js</file>
|
||||
|
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();
|
||||
}
|
||||
});
|
@ -24,8 +24,11 @@ const OverviewControls = imports.ui.overviewControls;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
const Tweener = imports.ui.tweener;
|
||||
const Workspace = imports.ui.workspace;
|
||||
const Search = imports.ui.search;
|
||||
const System = imports.ui.status.system;
|
||||
const Params = imports.misc.params;
|
||||
const Util = imports.misc.util;
|
||||
const SystemActions = imports.misc.systemActions;
|
||||
|
||||
var MAX_APPLICATION_WORK_MILLIS = 75;
|
||||
var MENU_POPUP_TIMEOUT = 600;
|
||||
@ -1085,19 +1088,35 @@ var AppSearchProvider = new Lang.Class({
|
||||
this.id = 'applications';
|
||||
this.isRemoteProvider = false;
|
||||
this.canLaunchSearch = false;
|
||||
|
||||
this._systemActions = new SystemActions.getDefault();
|
||||
},
|
||||
|
||||
getResultMetas: function(apps, callback) {
|
||||
let metas = [];
|
||||
for (let i = 0; i < apps.length; i++) {
|
||||
let app = this._appSys.lookup_app(apps[i]);
|
||||
metas.push({ 'id': app.get_id(),
|
||||
'name': app.get_name(),
|
||||
'createIcon': function(size) {
|
||||
return app.create_icon_texture(size);
|
||||
}
|
||||
});
|
||||
for (let id of apps) {
|
||||
if (id.endsWith('.desktop')) {
|
||||
let app = this._appSys.lookup_app(id);
|
||||
|
||||
metas.push({ 'id': app.get_id(),
|
||||
'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);
|
||||
},
|
||||
|
||||
@ -1119,6 +1138,9 @@ var AppSearchProvider = new Lang.Class({
|
||||
return usage.compare('', a, b);
|
||||
}));
|
||||
});
|
||||
|
||||
results = results.concat(this._systemActions.getMatchingActions(terms));
|
||||
|
||||
callback(results);
|
||||
},
|
||||
|
||||
@ -1127,8 +1149,10 @@ var AppSearchProvider = new Lang.Class({
|
||||
},
|
||||
|
||||
createResultObject: function (resultMeta) {
|
||||
let app = this._appSys.lookup_app(resultMeta['id']);
|
||||
return new AppIcon(app);
|
||||
if (resultMeta.id.endsWith('.desktop'))
|
||||
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 rtl = icon.get_text_direction() == Clutter.TextDirection.RTL;
|
||||
for (let i = 0; i < 4; i++) {
|
||||
let bin;
|
||||
if (i < numItems) {
|
||||
let texture = this._allItems[i].app.create_icon_texture(subSize);
|
||||
bin = new St.Bin({ child: texture });
|
||||
} else {
|
||||
bin = new St.Bin({ width: subSize, height: subSize });
|
||||
}
|
||||
let bin = new St.Bin({ width: subSize, height: subSize });
|
||||
if (i < numItems)
|
||||
bin.child = this._allItems[i].app.create_icon_texture(subSize);
|
||||
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);
|
||||
|
||||
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',
|
||||
'cheese.desktop': 'org.gnome.Cheese.desktop',
|
||||
'dconf-editor.desktop': 'ca.desrt.dconf-editor.desktop',
|
||||
'empathy.desktop': 'org.gnome.Empathy.desktop',
|
||||
'epiphany.desktop': 'org.gnome.Epiphany.desktop',
|
||||
'file-roller.desktop': 'org.gnome.FileRoller.desktop',
|
||||
'gcalctool.desktop': 'org.gnome.Calculator.desktop',
|
||||
|
@ -587,7 +587,10 @@ var BoxPointer = new Lang.Class({
|
||||
_calculateArrowSide: function(arrowSide) {
|
||||
let sourceAllocation = Shell.util_get_transformed_allocation(this._sourceActor);
|
||||
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) {
|
||||
case St.Side.TOP:
|
||||
|
@ -233,11 +233,16 @@ var WeatherSection = new Lang.Class({
|
||||
this._sync();
|
||||
},
|
||||
|
||||
_getSummary: function(info) {
|
||||
let summary = info.get_conditions();
|
||||
if (summary == '-')
|
||||
return info.get_sky();
|
||||
return summary;
|
||||
_getSummary: function(info, capitalize=false) {
|
||||
let options = capitalize ? GWeather.FormatOptions.SENTENCE_CAPITALIZATION
|
||||
: GWeather.FormatOptions.NO_CAPITALIZATION;
|
||||
|
||||
let [ok, phenom, qualifier] = info.get_value_conditions();
|
||||
if (ok)
|
||||
return GWeather.conditions_to_string_full(phenom, qualifier, options);
|
||||
|
||||
let [, sky] = info.get_value_sky();
|
||||
return GWeather.sky_to_string_full(sky, options);
|
||||
},
|
||||
|
||||
_sameSummary: function(info1, info2) {
|
||||
@ -255,10 +260,10 @@ var WeatherSection = new Lang.Class({
|
||||
let info = this._weatherClient.info;
|
||||
let forecasts = info.get_forecast_list();
|
||||
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 summaries = [this._getSummary(info)];
|
||||
let infos = [info];
|
||||
for (let i = 0; i < forecasts.length; i++) {
|
||||
let [ok, timestamp] = forecasts[i].get_value_update();
|
||||
if (!_isToday(new Date(timestamp * 1000)))
|
||||
@ -268,12 +273,12 @@ var WeatherSection = new Lang.Class({
|
||||
continue; // Ignore consecutive runs of equal summaries
|
||||
|
||||
current = forecasts[i];
|
||||
if (summaries.push(this._getSummary(current)) == 3)
|
||||
if (infos.push(current) == 3)
|
||||
break; // Use a maximum of three summaries
|
||||
}
|
||||
|
||||
let fmt;
|
||||
switch(summaries.length) {
|
||||
switch(infos.length) {
|
||||
/* Translators: %s is a weather condition like "Clear sky"; see
|
||||
libgweather for the possible condition strings. If at all
|
||||
possible, the sentence should match the grammatical case etc. of
|
||||
@ -292,6 +297,10 @@ var WeatherSection = new Lang.Class({
|
||||
the inserted conditions. */
|
||||
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);
|
||||
},
|
||||
|
||||
|
@ -12,6 +12,8 @@ const ModalDialog = imports.ui.modalDialog;
|
||||
|
||||
const WAYLAND_KEYBINDINGS_SCHEMA = 'org.gnome.mutter.wayland.keybindings';
|
||||
|
||||
const APP_WHITELIST = ['gnome-control-center.desktop'];
|
||||
|
||||
var DialogResponse = Meta.InhibitShortcutsDialogResponse;
|
||||
|
||||
var InhibitShortcutsDialog = new Lang.Class({
|
||||
@ -38,6 +40,11 @@ var InhibitShortcutsDialog = new Lang.Class({
|
||||
this._window = window;
|
||||
},
|
||||
|
||||
get _app() {
|
||||
let windowTracker = Shell.WindowTracker.get_default();
|
||||
return windowTracker.get_window_app(this._window);
|
||||
},
|
||||
|
||||
_getRestoreAccel: function() {
|
||||
let settings = new Gio.Settings({ schema_id: WAYLAND_KEYBINDINGS_SCHEMA });
|
||||
let accel = settings.get_strv('restore-shortcuts')[0] || '';
|
||||
@ -46,9 +53,7 @@ var InhibitShortcutsDialog = new Lang.Class({
|
||||
},
|
||||
|
||||
_buildLayout: function() {
|
||||
let windowTracker = Shell.WindowTracker.get_default();
|
||||
let app = windowTracker.get_window_app(this._window);
|
||||
let name = app ? app.get_name() : this._window.title;
|
||||
let name = this._app ? this._app.get_name() : this._window.title;
|
||||
|
||||
/* Translators: %s is an application name like "Settings" */
|
||||
let title = name ? _("%s wants to inhibit shortcuts").format(name)
|
||||
@ -57,10 +62,10 @@ var InhibitShortcutsDialog = new Lang.Class({
|
||||
|
||||
let contentParams = { icon, title };
|
||||
|
||||
/* Translators: %s is a keyboard shortcut like "Super+x" */
|
||||
let restoreAccel = this._getRestoreAccel();
|
||||
if (restoreAccel)
|
||||
contentParams.subtitle =
|
||||
/* Translators: %s is a keyboard shortcut like "Super+x" */
|
||||
_("You can restore shortcuts by pressing %s.").format(restoreAccel);
|
||||
|
||||
let content = new Dialog.MessageDialogContent(contentParams);
|
||||
@ -85,7 +90,10 @@ var InhibitShortcutsDialog = new Lang.Class({
|
||||
},
|
||||
|
||||
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() {
|
||||
|
@ -684,8 +684,10 @@ var LayoutManager = new Lang.Class({
|
||||
},
|
||||
|
||||
showKeyboard: function () {
|
||||
this.keyboardBox.show();
|
||||
Tweener.addTween(this.keyboardBox,
|
||||
{ anchor_y: this.keyboardBox.height,
|
||||
opacity: 255,
|
||||
time: KEYBOARD_ANIMATION_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: this._showKeyboardComplete,
|
||||
@ -711,6 +713,7 @@ var LayoutManager = new Lang.Class({
|
||||
}
|
||||
Tweener.addTween(this.keyboardBox,
|
||||
{ anchor_y: 0,
|
||||
opacity: 0,
|
||||
time: immediate ? 0 : KEYBOARD_ANIMATION_TIME,
|
||||
transition: 'easeInQuad',
|
||||
onComplete: this._hideKeyboardComplete,
|
||||
@ -721,6 +724,7 @@ var LayoutManager = new Lang.Class({
|
||||
},
|
||||
|
||||
_hideKeyboardComplete: function() {
|
||||
this.keyboardBox.hide();
|
||||
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 ExtensionDownloader = imports.ui.extensionDownloader;
|
||||
const Keyboard = imports.ui.keyboard;
|
||||
const LegacyTray = imports.ui.legacyTray;
|
||||
const MessageTray = imports.ui.messageTray;
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
const OsdWindow = imports.ui.osdWindow;
|
||||
@ -56,7 +55,6 @@ var overview = null;
|
||||
var runDialog = null;
|
||||
var lookingGlass = null;
|
||||
var wm = null;
|
||||
var legacyTray = null;
|
||||
var messageTray = null;
|
||||
var screenShield = null;
|
||||
var notificationDaemon = null;
|
||||
@ -169,7 +167,6 @@ function _initializeUI() {
|
||||
if (LoginManager.canLock())
|
||||
screenShield = new ScreenShield.ScreenShield();
|
||||
|
||||
legacyTray = new LegacyTray.LegacyTray();
|
||||
messageTray = new MessageTray.MessageTray();
|
||||
panel = new Panel.Panel();
|
||||
keyboard = new Keyboard.Keyboard();
|
||||
|
@ -254,18 +254,12 @@ var ThumbnailsSlider = new Lang.Class({
|
||||
|
||||
Main.layoutManager.connect('monitors-changed', 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);
|
||||
},
|
||||
|
||||
_getAlwaysZoomOut: function() {
|
||||
// Always show the pager when hover, during a drag, or if workspaces are
|
||||
// actually used, e.g. there are windows on any non-active workspace
|
||||
let alwaysZoomOut = this.actor.hover ||
|
||||
this._inDrag ||
|
||||
!Meta.prefs_get_dynamic_workspaces() ||
|
||||
global.screen.n_workspaces > 2 ||
|
||||
global.screen.get_active_workspace_index() != 0;
|
||||
// Always show the pager on hover or during a drag
|
||||
let alwaysZoomOut = this.actor.hover || this._inDrag;
|
||||
|
||||
if (!alwaysZoomOut) {
|
||||
let monitors = Main.layoutManager.monitors;
|
||||
|
@ -513,7 +513,7 @@ var PadDiagram = new Lang.Class({
|
||||
},
|
||||
|
||||
getRingLabelCoords: function (number, dir) {
|
||||
let numStr = number > 0 ? number.toString() : '';
|
||||
let numStr = number > 0 ? (number + 1).toString() : '';
|
||||
let dirStr = dir == CW ? 'CW' : 'CCW';
|
||||
let labelName = 'LabelRing' + numStr + dirStr;
|
||||
let leaderName = 'LeaderRing' + numStr + dirStr;
|
||||
|
@ -681,6 +681,15 @@ var SearchResults = new Lang.Class({
|
||||
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) {
|
||||
let rtl = this.actor.get_text_direction() == Clutter.TextDirection.RTL;
|
||||
if (direction == Gtk.DirectionType.TAB_BACKWARD ||
|
||||
@ -765,7 +774,7 @@ var ProviderInfo = new Lang.Class({
|
||||
},
|
||||
|
||||
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;
|
||||
}
|
||||
});
|
||||
|
@ -843,7 +843,7 @@ var InputSourceIndicator = new Lang.Class({
|
||||
this._indicatorLabels[i] = indicatorLabel;
|
||||
is.connect('changed', function() {
|
||||
menuItem.indicator.set_text(is.shortName);
|
||||
indicatorLabel.set_text(is.shorName);
|
||||
indicatorLabel.set_text(is.shortName);
|
||||
});
|
||||
|
||||
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({
|
||||
Name: 'NMConnectionItem',
|
||||
|
||||
@ -514,7 +503,7 @@ var NMDeviceWired = new Lang.Class({
|
||||
_init: function(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() {
|
||||
@ -556,7 +545,7 @@ var NMDeviceModem = new Lang.Class({
|
||||
_init: function(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;
|
||||
|
||||
@ -635,7 +624,7 @@ var NMDeviceBluetooth = new Lang.Class({
|
||||
_init: function(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() {
|
||||
@ -1205,7 +1194,7 @@ var NMDeviceWireless = new Lang.Class({
|
||||
this._toggleItem.connect('activate', Lang.bind(this, this._toggleWifi));
|
||||
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._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) {
|
||||
this.parent(client);
|
||||
|
||||
this._vpnSettings = new PopupMenu.PopupMenuItem('');
|
||||
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()]);
|
||||
}
|
||||
this.item.menu.addSettingsAction(_("VPN Settings"), 'gnome-network-panel.desktop');
|
||||
},
|
||||
|
||||
_getDescription: function() {
|
||||
|
@ -2,39 +2,19 @@
|
||||
|
||||
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 Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
const GObject = imports.gi.GObject;
|
||||
|
||||
const BoxPointer = imports.ui.boxpointer;
|
||||
const GnomeSession = imports.misc.gnomeSession;
|
||||
const LoginManager = imports.misc.loginManager;
|
||||
const SystemActions = imports.misc.systemActions;
|
||||
const Main = imports.ui.main;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
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({
|
||||
Name: 'AltSwitcher',
|
||||
@ -138,41 +118,17 @@ var Indicator = new Lang.Class({
|
||||
_init: function() {
|
||||
this.parent();
|
||||
|
||||
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' });
|
||||
let userManager = AccountsService.UserManager.get_default();
|
||||
this._user = userManager.get_user(GLib.get_user_name());
|
||||
|
||||
this._session = new GnomeSession.SessionManager();
|
||||
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._systemActions = new SystemActions.getDefault();
|
||||
|
||||
this._createSubMenu();
|
||||
|
||||
this._userManager.connect('notify::is-loaded',
|
||||
Lang.bind(this, this._updateMultiUser));
|
||||
this._userManager.connect('notify::has-multiple-users',
|
||||
Lang.bind(this, 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();
|
||||
|
||||
this._loginScreenItem.actor.connect('notify::visible',
|
||||
() => { this._updateMultiUser(); });
|
||||
this._logoutItem.actor.connect('notify::visible',
|
||||
() => { this._updateMultiUser(); });
|
||||
// Whether shutdown is available or not depends on both lockdown
|
||||
// settings (disable-log-out) and Polkit policy - the latter doesn't
|
||||
// notify, so we update the menu item each time the menu opens or
|
||||
@ -182,42 +138,14 @@ var Indicator = new Lang.Class({
|
||||
if (!open)
|
||||
return;
|
||||
|
||||
this._updateHaveShutdown();
|
||||
this._updateHaveSuspend();
|
||||
this._systemActions.forceUpdate();
|
||||
}));
|
||||
this._lockdownSettings.connect('changed::' + DISABLE_LOG_OUT_KEY,
|
||||
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();
|
||||
this._updateMultiUser();
|
||||
|
||||
Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated));
|
||||
this._sessionUpdated();
|
||||
},
|
||||
|
||||
_sensorProxyAppeared: function() {
|
||||
this._sensorProxy = new SensorProxy(Gio.DBus.system, SENSOR_BUS_NAME, SENSOR_OBJECT_PATH,
|
||||
Lang.bind(this, function(proxy, error) {
|
||||
if (error) {
|
||||
log(error.message);
|
||||
return;
|
||||
}
|
||||
this._sensorProxy.connect('g-properties-changed',
|
||||
Lang.bind(this, this._updateOrientationLock));
|
||||
this._updateOrientationLock();
|
||||
}));
|
||||
},
|
||||
|
||||
_updateActionsVisibility: function() {
|
||||
let visible = (this._settingsAction.visible ||
|
||||
this._orientationLockAction.visible ||
|
||||
@ -228,42 +156,14 @@ var Indicator = new Lang.Class({
|
||||
},
|
||||
|
||||
_sessionUpdated: function() {
|
||||
this._updateLockScreen();
|
||||
this._updatePowerOff();
|
||||
this._updateSuspend();
|
||||
this._updateMultiUser();
|
||||
this._settingsAction.visible = Main.sessionMode.allowSettings;
|
||||
this._updateActionsVisibility();
|
||||
},
|
||||
|
||||
_updateMultiUser: function() {
|
||||
let shouldShowInMode = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
|
||||
let hasSwitchUser = this._updateSwitchUser();
|
||||
let hasLogout = this._updateLogout();
|
||||
let hasSwitchUser = this._loginScreenItem.actor.visible;
|
||||
let hasLogout = this._logoutItem.actor.visible;
|
||||
|
||||
this._switchUserSubMenu.actor.visible = shouldShowInMode && (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;
|
||||
this._switchUserSubMenu.actor.visible = hasSwitchUser || hasLogout;
|
||||
},
|
||||
|
||||
_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) {
|
||||
let icon = new St.Button({ reactive: true,
|
||||
can_focus: true,
|
||||
@ -367,6 +210,7 @@ var Indicator = new Lang.Class({
|
||||
},
|
||||
|
||||
_createSubMenu: function() {
|
||||
let bindFlags = GObject.BindingFlags.DEFAULT | GObject.BindingFlags.SYNC_CREATE;
|
||||
let item;
|
||||
|
||||
this._switchUserSubMenu = new PopupMenu.PopupSubMenuMenuItem('', true);
|
||||
@ -382,14 +226,28 @@ var Indicator = new Lang.Class({
|
||||
}));
|
||||
|
||||
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._loginScreenItem = item;
|
||||
this._systemActions.bind_property('can-switch-user',
|
||||
this._loginScreenItem.actor,
|
||||
'visible',
|
||||
bindFlags);
|
||||
|
||||
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._logoutItem = item;
|
||||
this._systemActions.bind_property('can-logout',
|
||||
this._logoutItem.actor,
|
||||
'visible',
|
||||
bindFlags);
|
||||
|
||||
this._switchUserSubMenu.menu.addSettingsAction(_("Account Settings"),
|
||||
'gnome-user-accounts-panel.desktop');
|
||||
@ -405,28 +263,70 @@ var Indicator = new Lang.Class({
|
||||
can_focus: false });
|
||||
|
||||
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 });
|
||||
|
||||
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 });
|
||||
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.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 });
|
||||
this._systemActions.bind_property('can-lock-screen',
|
||||
this._lockScreenAction,
|
||||
'visible',
|
||||
bindFlags);
|
||||
|
||||
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.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);
|
||||
item.actor.add(this._altSwitcher.actor, { expand: true, x_fill: false });
|
||||
|
||||
this._actionsItem = 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() {
|
||||
@ -434,46 +334,5 @@ var Indicator = new Lang.Class({
|
||||
let app = Shell.AppSystem.get_default().lookup_app('gnome-control-center.desktop');
|
||||
Main.overview.hide();
|
||||
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 DISABLE_HOVER_TIMEOUT = 500; // milliseconds
|
||||
var NO_MODS_TIMEOUT = 1500; // milliseconds
|
||||
|
||||
function mod(a, b) {
|
||||
return (a + b) % b;
|
||||
@ -61,6 +62,7 @@ var SwitcherPopup = new Lang.Class({
|
||||
|
||||
this._motionTimeoutId = 0;
|
||||
this._initialDelayTimeoutId = 0;
|
||||
this._noModsTimeoutId = 0;
|
||||
|
||||
// Initially disable hover so we ignore the enter-event if
|
||||
// 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
|
||||
// details.) So we check now. (Have to do this after updating
|
||||
// selection.)
|
||||
let [x, y, mods] = global.get_pointer();
|
||||
if (!(mods & this._modifierMask)) {
|
||||
this._finish(global.get_current_time());
|
||||
return false;
|
||||
if (this._modifierMask) {
|
||||
let [x, y, mods] = global.get_pointer();
|
||||
if (!(mods & this._modifierMask)) {
|
||||
this._finish(global.get_current_time());
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
this._resetNoModsTimeout();
|
||||
}
|
||||
|
||||
// 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) {
|
||||
let [x, y, mods] = global.get_pointer();
|
||||
let state = mods & this._modifierMask;
|
||||
if (this._modifierMask) {
|
||||
let [x, y, mods] = global.get_pointer();
|
||||
let state = mods & this._modifierMask;
|
||||
|
||||
if (state == 0)
|
||||
this._finish(event.get_time());
|
||||
if (state == 0)
|
||||
this._finish(event.get_time());
|
||||
} else {
|
||||
this._resetNoModsTimeout();
|
||||
}
|
||||
|
||||
return Clutter.EVENT_STOP;
|
||||
},
|
||||
@ -253,6 +263,18 @@ var SwitcherPopup = new Lang.Class({
|
||||
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() {
|
||||
if (this._haveModal) {
|
||||
Main.popModal(this.actor);
|
||||
@ -287,6 +309,8 @@ var SwitcherPopup = new Lang.Class({
|
||||
Mainloop.source_remove(this._motionTimeoutId);
|
||||
if (this._initialDelayTimeoutId != 0)
|
||||
Mainloop.source_remove(this._initialDelayTimeoutId);
|
||||
if (this._noModsTimeoutId != 0)
|
||||
Mainloop.source_remove(this._noModsTimeoutId);
|
||||
},
|
||||
|
||||
_select: function(num) {
|
||||
|
@ -35,6 +35,10 @@ var Avatar = new Lang.Class({
|
||||
reactive: params.reactive,
|
||||
width: 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) {
|
||||
@ -56,6 +60,9 @@ var Avatar = new Lang.Class({
|
||||
this.actor.child = new St.Icon({ icon_name: 'avatar-default-symbolic',
|
||||
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._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));
|
||||
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 EdgeDragAction = imports.ui.edgeDragAction;
|
||||
const CloseDialog = imports.ui.closeDialog;
|
||||
const SwitchMonitor = imports.ui.switchMonitor;
|
||||
|
||||
const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings';
|
||||
var MINIMIZE_WINDOW_ANIMATION_TIME = 0.2;
|
||||
@ -898,6 +899,10 @@ var WindowManager = new Lang.Class({
|
||||
Shell.ActionMode.UNLOCK_SCREEN |
|
||||
Shell.ActionMode.LOGIN_SCREEN,
|
||||
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',
|
||||
new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }),
|
||||
@ -1838,6 +1843,9 @@ var WindowManager = new Lang.Class({
|
||||
case 'cycle-group-backward':
|
||||
constructor = AltTab.GroupCyclerPopup;
|
||||
break;
|
||||
case 'switch-monitor':
|
||||
constructor = SwitchMonitor.SwitchMonitorPopup;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!constructor)
|
||||
|
@ -20,7 +20,7 @@ const WindowManager = imports.ui.windowManager;
|
||||
|
||||
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;
|
||||
|
||||
@ -157,6 +157,12 @@ var WindowClone = new Lang.Class({
|
||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||
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,
|
||||
{ restoreOnSuccess: true,
|
||||
manualMode: true,
|
||||
@ -374,6 +380,8 @@ var WindowClone = new Lang.Class({
|
||||
action.release();
|
||||
this._draggable.startDrag(x, y, global.get_current_time(), this._dragTouchSequence);
|
||||
}));
|
||||
} else {
|
||||
this.emit('show-chrome');
|
||||
}
|
||||
return true;
|
||||
},
|
||||
@ -439,7 +447,6 @@ var WindowOverlay = new Lang.Class({
|
||||
let title = new St.Label({ style_class: 'window-caption',
|
||||
text: metaWindow.title });
|
||||
title.clutter_text.ellipsize = Pango.EllipsizeMode.END;
|
||||
title._spacing = 0;
|
||||
windowClone.actor.label_actor = title;
|
||||
|
||||
this._updateCaptionId = metaWindow.connect('notify::title',
|
||||
@ -455,18 +462,13 @@ var WindowOverlay = new Lang.Class({
|
||||
button.connect('clicked', Lang.bind(this, this._closeWindow));
|
||||
|
||||
windowClone.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||
windowClone.actor.connect('enter-event',
|
||||
Lang.bind(this, this._onEnter));
|
||||
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));
|
||||
windowClone.connect('show-chrome', Lang.bind(this, this._onShowChrome));
|
||||
windowClone.connect('hide-chrome', Lang.bind(this, this._onHideChrome));
|
||||
|
||||
this._windowAddedId = 0;
|
||||
|
||||
button.hide();
|
||||
title.hide();
|
||||
|
||||
this.title = title;
|
||||
this.closeButton = button;
|
||||
@ -475,8 +477,8 @@ var WindowOverlay = new Lang.Class({
|
||||
Shell.util_set_hidden_from_pick(this.title, true);
|
||||
Shell.util_set_hidden_from_pick(this.border, true);
|
||||
|
||||
parentActor.add_actor(this.title);
|
||||
parentActor.add_actor(this.border);
|
||||
parentActor.add_actor(this.title);
|
||||
parentActor.add_actor(this.closeButton);
|
||||
title.connect('style-changed',
|
||||
Lang.bind(this, this._onStyleChanged));
|
||||
@ -491,7 +493,6 @@ var WindowOverlay = new Lang.Class({
|
||||
|
||||
hide: function() {
|
||||
this._hidden = true;
|
||||
this.title.hide();
|
||||
|
||||
this.hideCloseButton();
|
||||
},
|
||||
@ -499,14 +500,13 @@ var WindowOverlay = new Lang.Class({
|
||||
show: function() {
|
||||
this._hidden = false;
|
||||
|
||||
this.title.show();
|
||||
if (this._windowClone.actor['has-pointer'])
|
||||
this._animateVisible();
|
||||
},
|
||||
|
||||
chromeHeights: function () {
|
||||
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 () {
|
||||
@ -540,24 +540,13 @@ var WindowOverlay = new Lang.Class({
|
||||
else
|
||||
button.set_position(Math.floor(buttonX), Math.floor(buttonY));
|
||||
|
||||
// Clutter.Actor.get_preferred_width() will return the fixed width if one
|
||||
// is set, so we need to reset the width by calling set_width(-1), to forward
|
||||
// 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 - title.width) / 2;
|
||||
let titleY = cloneY + cloneHeight - (title.height - this.borderSize) / 2;
|
||||
|
||||
let titleX = cloneX + (cloneWidth - titleWidth) / 2;
|
||||
let titleY = cloneY + cloneHeight + title._spacing;
|
||||
|
||||
if (animate)
|
||||
this._animateOverlayActor(title, Math.floor(titleX), Math.floor(titleY), titleWidth);
|
||||
else {
|
||||
title.width = titleWidth;
|
||||
if (animate) {
|
||||
this._animateOverlayActor(title, Math.floor(titleX), Math.floor(titleY), title.width);
|
||||
} else {
|
||||
title.width = title.width;
|
||||
title.set_position(Math.floor(titleX), Math.floor(titleY));
|
||||
}
|
||||
|
||||
@ -640,60 +629,47 @@ var WindowOverlay = new Lang.Class({
|
||||
_animateVisible: function() {
|
||||
this._parentActor.raise_top();
|
||||
|
||||
if (this._windowCanClose()) {
|
||||
this.closeButton.show();
|
||||
this.closeButton.opacity = 0;
|
||||
Tweener.addTween(this.closeButton,
|
||||
let toAnimate = [this.border, this.title];
|
||||
if (this._windowCanClose())
|
||||
toAnimate.push(this.closeButton);
|
||||
|
||||
toAnimate.forEach(a => {
|
||||
a.show();
|
||||
a.opacity = 0;
|
||||
Tweener.addTween(a,
|
||||
{ opacity: 255,
|
||||
time: CLOSE_BUTTON_FADE_TIME,
|
||||
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() {
|
||||
this.closeButton.opacity = 255;
|
||||
Tweener.addTween(this.closeButton,
|
||||
{ opacity: 0,
|
||||
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');
|
||||
[this.closeButton, this.border, this.title].forEach(a => {
|
||||
a.opacity = 255;
|
||||
Tweener.addTween(a,
|
||||
{ opacity: 0,
|
||||
time: CLOSE_BUTTON_FADE_TIME,
|
||||
transition: 'easeInQuad' });
|
||||
});
|
||||
},
|
||||
|
||||
_onEnter: function() {
|
||||
_onShowChrome: function() {
|
||||
// We might get enter events on the clone while the overlay is
|
||||
// hidden, e.g. during animations, we ignore these events,
|
||||
// as the close button will be shown as needed when the overlays
|
||||
// are shown again
|
||||
if (this._hidden)
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
return;
|
||||
|
||||
this._animateVisible();
|
||||
this.emit('show-close-button');
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
},
|
||||
|
||||
_onLeave: function() {
|
||||
_onHideChrome: function() {
|
||||
if (this._idleToggleCloseId == 0) {
|
||||
this._idleToggleCloseId = Mainloop.timeout_add(750, Lang.bind(this, this._idleToggleCloseButton));
|
||||
GLib.Source.set_name_by_id(this._idleToggleCloseId, '[gnome-shell] this._idleToggleCloseButton');
|
||||
}
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
},
|
||||
|
||||
_idleToggleCloseButton: function() {
|
||||
@ -713,13 +689,10 @@ var WindowOverlay = new Lang.Class({
|
||||
}
|
||||
this.closeButton.hide();
|
||||
this.border.hide();
|
||||
this.title.remove_style_pseudo_class('hover');
|
||||
this.title.hide();
|
||||
},
|
||||
|
||||
_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();
|
||||
this.closeButton._overlap = closeNode.get_length('-shell-close-overlap');
|
||||
|
||||
@ -975,6 +948,10 @@ var LayoutStrategy = new Lang.Class({
|
||||
let cloneX = x + (cellWidth - cloneWidth) / 2;
|
||||
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]);
|
||||
x += cellWidth + this._columnSpacing;
|
||||
}
|
||||
@ -1951,19 +1928,16 @@ var Workspace = new Lang.Class({
|
||||
right: node.get_padding(St.Side.RIGHT),
|
||||
};
|
||||
|
||||
let closeButtonHeight, captionHeight;
|
||||
let leftBorder, rightBorder;
|
||||
|
||||
// All of the overlays have the same chrome sizes,
|
||||
// so just pick the first one.
|
||||
let overlay = this._windowOverlays[0];
|
||||
[closeButtonHeight, captionHeight] = overlay.chromeHeights();
|
||||
[leftBorder, rightBorder] = overlay.chromeWidths();
|
||||
let [topBorder, bottomBorder] = overlay.chromeHeights();
|
||||
let [leftBorder, rightBorder] = overlay.chromeWidths();
|
||||
|
||||
rowSpacing += captionHeight;
|
||||
rowSpacing += (topBorder + bottomBorder) / 2;
|
||||
columnSpacing += (rightBorder + leftBorder) / 2;
|
||||
padding.top += closeButtonHeight;
|
||||
padding.bottom += captionHeight;
|
||||
padding.top += topBorder;
|
||||
padding.bottom += bottomBorder;
|
||||
padding.left += leftBorder;
|
||||
padding.right += rightBorder;
|
||||
|
||||
|
@ -49,9 +49,6 @@ var WorkspaceSwitcherPopup = new Lang.Class({
|
||||
this._globalSignals = [];
|
||||
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._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) {
|
||||
|
@ -18,8 +18,8 @@ const WindowManager = imports.ui.windowManager;
|
||||
const Workspace = imports.ui.workspace;
|
||||
const WorkspacesView = imports.ui.workspacesView;
|
||||
|
||||
// The maximum size of a thumbnail is 1/8 the width and height of the screen
|
||||
let MAX_THUMBNAIL_SCALE = 1/8.;
|
||||
// The maximum size of a thumbnail is 1/10 the width and height of the screen
|
||||
let MAX_THUMBNAIL_SCALE = 1/10.;
|
||||
|
||||
var RESCALE_ANIMATION_TIME = 0.2;
|
||||
var SLIDE_ANIMATION_TIME = 0.2;
|
||||
|
@ -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,5 +1,5 @@
|
||||
project('gnome-shell', 'c',
|
||||
version: '3.25.4',
|
||||
version: '3.26.0',
|
||||
meson_version: '>= 0.41.0',
|
||||
license: 'GPLv2+'
|
||||
)
|
||||
@ -23,7 +23,7 @@ gi_req = '>= 1.49.1'
|
||||
gjs_req = '>= 1.47.0'
|
||||
gtk_req = '>= 3.15.0'
|
||||
json_glib_req = '>= 0.13.2'
|
||||
mutter_req = '>= 3.25.2'
|
||||
mutter_req = '>= 3.26.0'
|
||||
polkit_req = '>= 0.100'
|
||||
schemas_req = '>= 3.21.3'
|
||||
startup_req = '>= 0.11'
|
||||
|
@ -9,6 +9,7 @@ js/extensionPrefs/main.js
|
||||
js/gdm/authPrompt.js
|
||||
js/gdm/loginDialog.js
|
||||
js/gdm/util.js
|
||||
js/misc/systemActions.js
|
||||
js/misc/util.js
|
||||
js/portalHelper/main.js
|
||||
js/ui/accessDialog.js
|
||||
@ -30,8 +31,8 @@ js/ui/dateMenu.js
|
||||
js/ui/endSessionDialog.js
|
||||
js/ui/extensionDownloader.js
|
||||
js/ui/extensionSystem.js
|
||||
js/ui/inhibitShortcutsDialog.js
|
||||
js/ui/keyboard.js
|
||||
js/ui/legacyTray.js
|
||||
js/ui/lookingGlass.js
|
||||
js/ui/main.js
|
||||
js/ui/messageList.js
|
||||
@ -59,6 +60,7 @@ js/ui/status/power.js
|
||||
js/ui/status/rfkill.js
|
||||
js/ui/status/system.js
|
||||
js/ui/status/volume.js
|
||||
js/ui/switchMonitor.js
|
||||
js/ui/unlockDialog.js
|
||||
js/ui/viewSelector.js
|
||||
js/ui/windowAttentionHandler.js
|
||||
|
351
po/es.po
351
po/es.po
@ -10,8 +10,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell.master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-07-20 03:49+0000\n"
|
||||
"PO-Revision-Date: 2017-07-24 15:38+0200\n"
|
||||
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
|
||||
"PO-Revision-Date: 2017-08-22 13:38+0200\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: es <gnome-es-list@gnome.org>\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/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||
#: 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"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@ -410,6 +410,82 @@ msgstr "Error de autenticación"
|
||||
msgid "(or swipe finger)"
|
||||
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
|
||||
msgid "Command not found"
|
||||
msgstr "Comando no encontrado"
|
||||
@ -568,35 +644,35 @@ msgstr "Denegar acceso"
|
||||
msgid "Grant Access"
|
||||
msgstr "Conceder acceso"
|
||||
|
||||
#: js/ui/appDisplay.js:806
|
||||
#: js/ui/appDisplay.js:809
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Las aplicaciones usadas frecuentemente aparecerán aquí"
|
||||
|
||||
#: js/ui/appDisplay.js:927
|
||||
#: js/ui/appDisplay.js:930
|
||||
msgid "Frequent"
|
||||
msgstr "Frecuentes"
|
||||
|
||||
#: js/ui/appDisplay.js:934
|
||||
#: js/ui/appDisplay.js:937
|
||||
msgid "All"
|
||||
msgstr "Todas"
|
||||
|
||||
#: js/ui/appDisplay.js:1895
|
||||
#: js/ui/appDisplay.js:1915
|
||||
msgid "New Window"
|
||||
msgstr "Ventana nueva"
|
||||
|
||||
#: js/ui/appDisplay.js:1909
|
||||
#: js/ui/appDisplay.js:1929
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
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"
|
||||
msgstr "Quitar de los favoritos"
|
||||
|
||||
#: js/ui/appDisplay.js:1942
|
||||
#: js/ui/appDisplay.js:1962
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Añadir a los favoritos"
|
||||
|
||||
#: js/ui/appDisplay.js:1952
|
||||
#: js/ui/appDisplay.js:1972
|
||||
msgid "Show Details"
|
||||
msgstr "Mostrar detalles"
|
||||
|
||||
@ -638,7 +714,7 @@ msgstr "Cambiar el fondo…"
|
||||
msgid "Display Settings"
|
||||
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"
|
||||
msgstr "Configuración"
|
||||
|
||||
@ -745,7 +821,6 @@ msgstr "Limpiar todo"
|
||||
#. Translators: %s is an application name
|
||||
#: js/ui/closeDialog.js:44
|
||||
#, javascript-format
|
||||
#| msgid "“%s” is ready"
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "«%s» no responde."
|
||||
|
||||
@ -786,8 +861,8 @@ msgstr "Contraseña:"
|
||||
msgid "Type again:"
|
||||
msgstr "Escriba de nuevo:"
|
||||
|
||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:272
|
||||
#: js/ui/status/network.js:366 js/ui/status/network.js:950
|
||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:261
|
||||
#: js/ui/status/network.js:355 js/ui/status/network.js:939
|
||||
msgid "Connect"
|
||||
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”."
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Ventanas"
|
||||
|
||||
@ -938,7 +1013,7 @@ msgstr "Meteorología"
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:281
|
||||
#: js/ui/dateMenu.js:286
|
||||
#, javascript-format
|
||||
msgid "%s all day."
|
||||
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
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:287
|
||||
#: js/ui/dateMenu.js:292
|
||||
#, javascript-format
|
||||
msgid "%s, then %s later."
|
||||
msgstr "%s, luego %s."
|
||||
@ -956,30 +1031,30 @@ msgstr "%s, luego %s."
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:293
|
||||
#: js/ui/dateMenu.js:298
|
||||
#, javascript-format
|
||||
msgid "%s, then %s, followed by %s later."
|
||||
msgstr "%s, luego %s seguido de %s."
|
||||
|
||||
#: js/ui/dateMenu.js:300
|
||||
#: js/ui/dateMenu.js:309
|
||||
msgid "Select a location…"
|
||||
msgstr "Seleccionar ubicación…"
|
||||
|
||||
#: js/ui/dateMenu.js:303
|
||||
#: js/ui/dateMenu.js:312
|
||||
msgid "Loading…"
|
||||
msgstr "Cargando…"
|
||||
|
||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
||||
#: js/ui/dateMenu.js:309
|
||||
#: js/ui/dateMenu.js:318
|
||||
#, javascript-format
|
||||
msgid "Feels like %s."
|
||||
msgstr "Sensación térmica de %s."
|
||||
|
||||
#: js/ui/dateMenu.js:312
|
||||
#: js/ui/dateMenu.js:321
|
||||
msgid "Go online for weather information"
|
||||
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"
|
||||
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?"
|
||||
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"
|
||||
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
|
||||
msgid "No extensions installed"
|
||||
msgstr "No hay extensiones instaladas"
|
||||
@ -1340,7 +1430,7 @@ msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d notificación nueva"
|
||||
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"
|
||||
msgstr "Bloquear"
|
||||
|
||||
@ -1371,10 +1461,13 @@ msgstr "Buscando…"
|
||||
msgid "No results."
|
||||
msgstr "No se encontraron resultados."
|
||||
|
||||
#: js/ui/search.js:768
|
||||
#: js/ui/search.js:777
|
||||
#, javascript-format
|
||||
#| 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
|
||||
msgid "Copy"
|
||||
@ -1448,7 +1541,7 @@ msgstr "Texto grande"
|
||||
msgid "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"
|
||||
msgstr "Configuración de Bluetooth"
|
||||
|
||||
@ -1468,13 +1561,13 @@ msgstr "Desconectado"
|
||||
msgid "On"
|
||||
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"
|
||||
msgstr "Encender"
|
||||
|
||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
|
||||
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
|
||||
#: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
|
||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
|
||||
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
|
||||
#: js/ui/status/network.js:1418 js/ui/status/nightLight.js:47
|
||||
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Apagar"
|
||||
@ -1528,13 +1621,13 @@ msgid "<unknown>"
|
||||
msgstr "<desconocido>"
|
||||
|
||||
#. 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
|
||||
msgid "%s Off"
|
||||
msgstr "%s apagada"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:468
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "%s conectada"
|
||||
@ -1542,190 +1635,189 @@ msgstr "%s conectada"
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||
#. %s is a network identifier
|
||||
#: js/ui/status/network.js:473
|
||||
#: js/ui/status/network.js:462
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s sin gestionar"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:476
|
||||
#: js/ui/status/network.js:465
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "Desconectando %s"
|
||||
|
||||
#. 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
|
||||
msgid "%s Connecting"
|
||||
msgstr "Conectando %s"
|
||||
|
||||
#. 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
|
||||
msgid "%s Requires Authentication"
|
||||
msgstr "%s requiere autenticación"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing; %s is a network identifier
|
||||
#: js/ui/status/network.js:494
|
||||
#: js/ui/status/network.js:483
|
||||
#, javascript-format
|
||||
msgid "Firmware Missing For %s"
|
||||
msgstr "Falta el «firmware» para %s"
|
||||
|
||||
#. 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
|
||||
#: js/ui/status/network.js:498
|
||||
#: js/ui/status/network.js:487
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s no disponible"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:501
|
||||
#: js/ui/status/network.js:490
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "Falló la conexión %s"
|
||||
|
||||
#: js/ui/status/network.js:517
|
||||
#: js/ui/status/network.js:506
|
||||
msgid "Wired Settings"
|
||||
msgstr "Configuración de red cableada"
|
||||
|
||||
#: js/ui/status/network.js:559
|
||||
#: js/ui/status/network.js:548
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Configuración de banda ancha móvil"
|
||||
|
||||
#. 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
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "Hardware %s desactivado"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||
#: js/ui/status/network.js:606
|
||||
#: js/ui/status/network.js:595
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s desactivado"
|
||||
|
||||
#: js/ui/status/network.js:646
|
||||
#: js/ui/status/network.js:635
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Conectar a Internet"
|
||||
|
||||
#: js/ui/status/network.js:844
|
||||
#: js/ui/status/network.js:833
|
||||
msgid "Airplane Mode is On"
|
||||
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."
|
||||
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"
|
||||
msgstr "Apagar el modo avión"
|
||||
|
||||
#: js/ui/status/network.js:855
|
||||
#: js/ui/status/network.js:844
|
||||
msgid "Wi-Fi is Off"
|
||||
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."
|
||||
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"
|
||||
msgstr "Activar la Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:882
|
||||
#: js/ui/status/network.js:871
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Redes Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:884
|
||||
#: js/ui/status/network.js:873
|
||||
msgid "Select a network"
|
||||
msgstr "Seleccionar una red"
|
||||
|
||||
#: js/ui/status/network.js:914
|
||||
#: js/ui/status/network.js:903
|
||||
msgid "No Networks"
|
||||
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"
|
||||
msgstr "Usar el interruptor hardware para apagar"
|
||||
|
||||
#: js/ui/status/network.js:1202
|
||||
#: js/ui/status/network.js:1191
|
||||
msgid "Select Network"
|
||||
msgstr "Seleccionar red"
|
||||
|
||||
#: js/ui/status/network.js:1208
|
||||
#: js/ui/status/network.js:1197
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Configuración de Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1327
|
||||
#: js/ui/status/network.js:1316
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Punto de acceso %s activo"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1342
|
||||
#: js/ui/status/network.js:1331
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s no conectado"
|
||||
|
||||
#: js/ui/status/network.js:1446
|
||||
#: js/ui/status/network.js:1435
|
||||
msgid "connecting…"
|
||||
msgstr "conectando…"
|
||||
|
||||
#. 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"
|
||||
msgstr "se necesita autenticación"
|
||||
|
||||
#: js/ui/status/network.js:1451
|
||||
#: js/ui/status/network.js:1440
|
||||
msgid "connection failed"
|
||||
msgstr "falló la conexión"
|
||||
|
||||
#: js/ui/status/network.js:1517 js/ui/status/network.js:1612
|
||||
#: js/ui/status/rfkill.js:93
|
||||
msgid "Network Settings"
|
||||
msgstr "Configuración de la red"
|
||||
|
||||
#: js/ui/status/network.js:1519
|
||||
#: js/ui/status/network.js:1494
|
||||
msgid "VPN Settings"
|
||||
msgstr "Configuración de VPN"
|
||||
|
||||
#: js/ui/status/network.js:1538
|
||||
#: js/ui/status/network.js:1498
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1548
|
||||
#: js/ui/status/network.js:1508
|
||||
msgid "VPN Off"
|
||||
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
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s conexión cableada"
|
||||
msgstr[1] "%s conexiones cableadas"
|
||||
|
||||
#: js/ui/status/network.js:1647
|
||||
#: js/ui/status/network.js:1607
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s conexión inalámbrica"
|
||||
msgstr[1] "%s conexiones inalámbricas"
|
||||
|
||||
#: js/ui/status/network.js:1651
|
||||
#: js/ui/status/network.js:1611
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s conexión 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"
|
||||
msgstr "Falló la conexión"
|
||||
|
||||
#: js/ui/status/network.js:1800
|
||||
#: js/ui/status/network.js:1760
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Falló la activación de la conexión de red"
|
||||
|
||||
@ -1783,27 +1875,27 @@ msgstr "%d %%"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Modo avión activado"
|
||||
|
||||
#: js/ui/status/system.js:384
|
||||
#: js/ui/status/system.js:228
|
||||
msgid "Switch User"
|
||||
msgstr "Cambiar de usuario"
|
||||
|
||||
#: js/ui/status/system.js:389
|
||||
#: js/ui/status/system.js:240
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar la sesión"
|
||||
|
||||
#: js/ui/status/system.js:394
|
||||
#: js/ui/status/system.js:252
|
||||
msgid "Account Settings"
|
||||
msgstr "Configuración de la cuenta"
|
||||
|
||||
#: js/ui/status/system.js:411
|
||||
#: js/ui/status/system.js:269
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Bloqueo de orientación"
|
||||
|
||||
#: js/ui/status/system.js:419
|
||||
#: js/ui/status/system.js:295
|
||||
msgid "Suspend"
|
||||
msgstr "Suspender"
|
||||
|
||||
#: js/ui/status/system.js:422
|
||||
#: js/ui/status/system.js:305
|
||||
msgid "Power Off"
|
||||
msgstr "Apagar"
|
||||
|
||||
@ -1815,6 +1907,36 @@ msgstr "Volumen modificado"
|
||||
msgid "Volume"
|
||||
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
|
||||
msgid "Log in as another user"
|
||||
msgstr "Iniciar sesión como otro usuario"
|
||||
@ -1823,11 +1945,11 @@ msgstr "Iniciar sesión como otro usuario"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Desbloquear ventana"
|
||||
|
||||
#: js/ui/viewSelector.js:183
|
||||
#: js/ui/viewSelector.js:190
|
||||
msgid "Applications"
|
||||
msgstr "Aplicaciones"
|
||||
|
||||
#: js/ui/viewSelector.js:187
|
||||
#: js/ui/viewSelector.js:194
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
@ -1836,22 +1958,22 @@ msgstr "Buscar"
|
||||
msgid "“%s” is ready"
|
||||
msgstr "«%s» está preparado"
|
||||
|
||||
#: js/ui/windowManager.js:71
|
||||
#: js/ui/windowManager.js:72
|
||||
msgid "Do you want to keep these display settings?"
|
||||
msgstr "¿Quiere mantener esta configuración de la pantalla?"
|
||||
|
||||
#. Translators: this and the following message should be limited in lenght,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#: js/ui/windowManager.js:83
|
||||
#: js/ui/windowManager.js:84
|
||||
msgid "Revert Settings"
|
||||
msgstr "Revertir configuración"
|
||||
|
||||
#: js/ui/windowManager.js:86
|
||||
#: js/ui/windowManager.js:87
|
||||
msgid "Keep Changes"
|
||||
msgstr "Mantener cambios"
|
||||
|
||||
#: js/ui/windowManager.js:104
|
||||
#: js/ui/windowManager.js:105
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
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
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:659
|
||||
#: js/ui/windowManager.js:660
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@ -1938,21 +2060,21 @@ msgstr "Calendario de Evolution"
|
||||
msgid "evolution"
|
||||
msgstr "evolution"
|
||||
|
||||
#: src/main.c:372
|
||||
#: src/main.c:380
|
||||
msgid "Print version"
|
||||
msgstr "Imprimir versión"
|
||||
|
||||
#: src/main.c:378
|
||||
#: src/main.c:386
|
||||
msgid "Mode used by GDM for login screen"
|
||||
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"
|
||||
msgstr ""
|
||||
"Usar un modo específico, por ejemplo, «gdm» para la pantalla de inicio de "
|
||||
"sesión"
|
||||
|
||||
#: src/main.c:390
|
||||
#: src/main.c:398
|
||||
msgid "List possible modes"
|
||||
msgstr "Listar los modos posibles"
|
||||
|
||||
@ -2000,6 +2122,12 @@ msgstr[1] "%u entradas"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sonidos del sistema"
|
||||
|
||||
#~ msgid "Hide tray"
|
||||
#~ msgstr "Ocultar bandeja"
|
||||
|
||||
#~ msgid "Status Icons"
|
||||
#~ msgstr "Iconos de estado"
|
||||
|
||||
#~ msgid "Events"
|
||||
#~ msgstr "Eventos"
|
||||
|
||||
@ -2353,12 +2481,6 @@ msgstr "Sonidos del sistema"
|
||||
#~ msgid "Device %s wants to pair with this computer"
|
||||
#~ 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'"
|
||||
#~ msgstr "El dispositivo %s quiere acceder al servicio «%s»"
|
||||
|
||||
@ -2815,9 +2937,6 @@ msgstr "Sonidos del sistema"
|
||||
#~ msgid "Online Accounts"
|
||||
#~ msgstr "Cuentas en línea"
|
||||
|
||||
#~ msgid "Lock Screen"
|
||||
#~ msgstr "Bloquear la pantalla"
|
||||
|
||||
#~ msgid "Log Out..."
|
||||
#~ 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 "
|
||||
#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»."
|
||||
|
||||
#~ msgid "Clock Format"
|
||||
#~ msgstr "Formato del reloj"
|
||||
|
||||
#~ msgid "Clock Preferences"
|
||||
#~ msgstr "Preferencias del reloj"
|
||||
|
||||
#~ msgid "Panel Display"
|
||||
#~ msgstr "Panel de visualización"
|
||||
|
||||
#~ msgid "Show seco_nds"
|
||||
#~ msgstr "Mostrar los segu_ndos"
|
||||
|
||||
|
325
po/fur.po
325
po/fur.po
@ -8,15 +8,15 @@ msgstr ""
|
||||
"Project-Id-Version: video-subtitles master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-07-28 11:38+0000\n"
|
||||
"PO-Revision-Date: 2017-07-25 15:43+0200\n"
|
||||
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
|
||||
"PO-Revision-Date: 2017-08-23 17:01+0200\n"
|
||||
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
|
||||
"Language-Team: Friulian <fur@li.org>\n"
|
||||
"Language: fur\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\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"
|
||||
|
||||
#: data/50-gnome-shell-system.xml:6
|
||||
@ -341,7 +341,7 @@ msgstr ""
|
||||
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
|
||||
#: js/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||
#: 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"
|
||||
msgstr "Anule"
|
||||
|
||||
@ -402,6 +402,72 @@ msgstr "Erôr di autenticazion"
|
||||
msgid "(or swipe finger)"
|
||||
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
|
||||
msgid "Command not found"
|
||||
msgstr "Comant no cjatât"
|
||||
@ -561,35 +627,35 @@ msgstr "Dinee acès"
|
||||
msgid "Grant Access"
|
||||
msgstr "Garantìs l'acès"
|
||||
|
||||
#: js/ui/appDisplay.js:806
|
||||
#: js/ui/appDisplay.js:809
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Lis aplicazions dopradis dispès a vignaran mostradis culì"
|
||||
|
||||
#: js/ui/appDisplay.js:927
|
||||
#: js/ui/appDisplay.js:930
|
||||
msgid "Frequent"
|
||||
msgstr "Dispès"
|
||||
|
||||
#: js/ui/appDisplay.js:934
|
||||
#: js/ui/appDisplay.js:937
|
||||
msgid "All"
|
||||
msgstr "Dutis"
|
||||
|
||||
#: js/ui/appDisplay.js:1895
|
||||
#: js/ui/appDisplay.js:1915
|
||||
msgid "New Window"
|
||||
msgstr "Gnûf barcon"
|
||||
|
||||
#: js/ui/appDisplay.js:1909
|
||||
#: js/ui/appDisplay.js:1929
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
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"
|
||||
msgstr "Gjave dai preferîts"
|
||||
|
||||
#: js/ui/appDisplay.js:1942
|
||||
#: js/ui/appDisplay.js:1962
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Zonte tai preferîts"
|
||||
|
||||
#: js/ui/appDisplay.js:1952
|
||||
#: js/ui/appDisplay.js:1972
|
||||
msgid "Show Details"
|
||||
msgstr "Mostre Detais"
|
||||
|
||||
@ -631,7 +697,7 @@ msgstr "Cambie sfont..."
|
||||
msgid "Display Settings"
|
||||
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"
|
||||
msgstr "Impostazions"
|
||||
|
||||
@ -778,8 +844,8 @@ msgstr "Password:"
|
||||
msgid "Type again:"
|
||||
msgstr "Scîf di gnûf:"
|
||||
|
||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:272
|
||||
#: js/ui/status/network.js:366 js/ui/status/network.js:950
|
||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:261
|
||||
#: js/ui/status/network.js:355 js/ui/status/network.js:939
|
||||
msgid "Connect"
|
||||
msgstr "Conet"
|
||||
|
||||
@ -854,7 +920,7 @@ msgstr "Passowrd rêt mobil a bande largje"
|
||||
msgid "A password is required to connect to “%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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Barcons"
|
||||
|
||||
@ -930,7 +996,7 @@ msgstr "Timp"
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:281
|
||||
#: js/ui/dateMenu.js:286
|
||||
#, javascript-format
|
||||
msgid "%s all day."
|
||||
msgstr "%s dut il dì."
|
||||
@ -939,7 +1005,7 @@ msgstr "%s dut il dì."
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:287
|
||||
#: js/ui/dateMenu.js:292
|
||||
#, javascript-format
|
||||
msgid "%s, then %s later."
|
||||
msgstr "%s, plui tart %s."
|
||||
@ -948,30 +1014,30 @@ msgstr "%s, plui tart %s."
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:293
|
||||
#: js/ui/dateMenu.js:298
|
||||
#, javascript-format
|
||||
msgid "%s, then %s, followed by %s later."
|
||||
msgstr "%s, chi di un pôc %s, e plui tart %s."
|
||||
|
||||
#: js/ui/dateMenu.js:300
|
||||
#: js/ui/dateMenu.js:309
|
||||
msgid "Select a location…"
|
||||
msgstr "Selezione une posizion..."
|
||||
|
||||
#: js/ui/dateMenu.js:303
|
||||
#: js/ui/dateMenu.js:312
|
||||
msgid "Loading…"
|
||||
msgstr "Daûr a cjariâ..."
|
||||
|
||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
||||
#: js/ui/dateMenu.js:309
|
||||
#: js/ui/dateMenu.js:318
|
||||
#, javascript-format
|
||||
msgid "Feels like %s."
|
||||
msgstr "Si sint %s."
|
||||
|
||||
#: js/ui/dateMenu.js:312
|
||||
#: js/ui/dateMenu.js:321
|
||||
msgid "Go online for weather information"
|
||||
msgstr "Va in rêt pes informazions sul timp"
|
||||
|
||||
#: js/ui/dateMenu.js:314
|
||||
#: js/ui/dateMenu.js:323
|
||||
msgid "Weather information is currently unavailable"
|
||||
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?"
|
||||
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
|
||||
msgid "Keyboard"
|
||||
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
|
||||
msgid "No extensions installed"
|
||||
msgstr "Nissune estension instalade"
|
||||
@ -1335,7 +1416,7 @@ msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d gnove notifiche"
|
||||
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"
|
||||
msgstr "Bloche"
|
||||
|
||||
@ -1367,10 +1448,13 @@ msgid "No results."
|
||||
msgstr "Nissun risultât."
|
||||
|
||||
# o ancjemò %d
|
||||
#: js/ui/search.js:768
|
||||
#, javascript-format
|
||||
#: js/ui/search.js:777
|
||||
#, fuzzy, javascript-format
|
||||
#| msgid "%d more"
|
||||
msgid "%d more"
|
||||
msgstr "Ancjemò %d"
|
||||
msgid_plural "%d more"
|
||||
msgstr[0] "Ancjemò %d"
|
||||
msgstr[1] "Ancjemò %d"
|
||||
|
||||
#: js/ui/shellEntry.js:25
|
||||
msgid "Copy"
|
||||
@ -1444,7 +1528,7 @@ msgstr "Test Larc"
|
||||
msgid "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"
|
||||
msgstr "Impostazions Bluetooth"
|
||||
|
||||
@ -1464,13 +1548,13 @@ msgstr "Distudât"
|
||||
msgid "On"
|
||||
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"
|
||||
msgstr "Impie"
|
||||
|
||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
|
||||
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
|
||||
#: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
|
||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
|
||||
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
|
||||
#: js/ui/status/network.js:1418 js/ui/status/nightLight.js:47
|
||||
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Distude"
|
||||
@ -1524,13 +1608,13 @@ msgid "<unknown>"
|
||||
msgstr "<no cognossût>"
|
||||
|
||||
#. 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
|
||||
msgid "%s Off"
|
||||
msgstr "%s distudât"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:468
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "%s tacât"
|
||||
@ -1538,190 +1622,189 @@ msgstr "%s tacât"
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||
#. %s is a network identifier
|
||||
#: js/ui/status/network.js:473
|
||||
#: js/ui/status/network.js:462
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s no ministrât"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:476
|
||||
#: js/ui/status/network.js:465
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "%s daûr a disconeti"
|
||||
|
||||
#. 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
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s in conession"
|
||||
|
||||
#. 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
|
||||
msgid "%s Requires Authentication"
|
||||
msgstr "%s al à dibisugne di autenticazion"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing; %s is a network identifier
|
||||
#: js/ui/status/network.js:494
|
||||
#: js/ui/status/network.js:483
|
||||
#, javascript-format
|
||||
msgid "Firmware Missing For %s"
|
||||
msgstr "Al mancje il firmware par %s"
|
||||
|
||||
#. 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
|
||||
#: js/ui/status/network.js:498
|
||||
#: js/ui/status/network.js:487
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s no disponibil"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:501
|
||||
#: js/ui/status/network.js:490
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "Conession falide su %s"
|
||||
|
||||
#: js/ui/status/network.js:517
|
||||
#: js/ui/status/network.js:506
|
||||
msgid "Wired Settings"
|
||||
msgstr "Impostazions rêt vie fîl"
|
||||
|
||||
#: js/ui/status/network.js:559
|
||||
#: js/ui/status/network.js:548
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Impostazions bande largje mobil"
|
||||
|
||||
#. 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
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s disabilitât vie hardware "
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||
#: js/ui/status/network.js:606
|
||||
#: js/ui/status/network.js:595
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s disabilitât"
|
||||
|
||||
#: js/ui/status/network.js:646
|
||||
#: js/ui/status/network.js:635
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Conet a internet"
|
||||
|
||||
#: js/ui/status/network.js:844
|
||||
#: js/ui/status/network.js:833
|
||||
msgid "Airplane Mode is On"
|
||||
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."
|
||||
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"
|
||||
msgstr "Distude modalitât avion"
|
||||
|
||||
#: js/ui/status/network.js:855
|
||||
#: js/ui/status/network.js:844
|
||||
msgid "Wi-Fi is Off"
|
||||
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."
|
||||
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"
|
||||
msgstr "Impie il Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:882
|
||||
#: js/ui/status/network.js:871
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Rêts Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:884
|
||||
#: js/ui/status/network.js:873
|
||||
msgid "Select a network"
|
||||
msgstr "Selezione une rêt"
|
||||
|
||||
#: js/ui/status/network.js:914
|
||||
#: js/ui/status/network.js:903
|
||||
msgid "No Networks"
|
||||
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"
|
||||
msgstr "Dopre interutôr fisic par distudâ"
|
||||
|
||||
#: js/ui/status/network.js:1202
|
||||
#: js/ui/status/network.js:1191
|
||||
msgid "Select Network"
|
||||
msgstr "Selezione rêt"
|
||||
|
||||
#: js/ui/status/network.js:1208
|
||||
#: js/ui/status/network.js:1197
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Impostazions Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1327
|
||||
#: js/ui/status/network.js:1316
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Hotspot %s atîf"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1342
|
||||
#: js/ui/status/network.js:1331
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s distacât"
|
||||
|
||||
#: js/ui/status/network.js:1446
|
||||
#: js/ui/status/network.js:1435
|
||||
msgid "connecting…"
|
||||
msgstr "daûr a coneti…"
|
||||
|
||||
#. 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"
|
||||
msgstr "autenticazion necessarie"
|
||||
|
||||
#: js/ui/status/network.js:1451
|
||||
#: js/ui/status/network.js:1440
|
||||
msgid "connection failed"
|
||||
msgstr "conession falide"
|
||||
|
||||
#: js/ui/status/network.js:1517 js/ui/status/network.js:1612
|
||||
#: js/ui/status/rfkill.js:93
|
||||
msgid "Network Settings"
|
||||
msgstr "Impostazions rêt"
|
||||
|
||||
#: js/ui/status/network.js:1519
|
||||
#: js/ui/status/network.js:1494
|
||||
msgid "VPN Settings"
|
||||
msgstr "Impostazions VPN"
|
||||
|
||||
#: js/ui/status/network.js:1538
|
||||
#: js/ui/status/network.js:1498
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1548
|
||||
#: js/ui/status/network.js:1508
|
||||
msgid "VPN Off"
|
||||
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
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s conession cablade"
|
||||
msgstr[1] "%s conessions cabladis"
|
||||
|
||||
#: js/ui/status/network.js:1647
|
||||
#: js/ui/status/network.js:1607
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s conession cence fîi"
|
||||
msgstr[1] "%s conessions cence fîi"
|
||||
|
||||
#: js/ui/status/network.js:1651
|
||||
#: js/ui/status/network.js:1611
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s conession modem"
|
||||
msgstr[1] "%s conessions modem"
|
||||
|
||||
#: js/ui/status/network.js:1799
|
||||
#: js/ui/status/network.js:1759
|
||||
msgid "Connection failed"
|
||||
msgstr "Conession falide"
|
||||
|
||||
#: js/ui/status/network.js:1800
|
||||
#: js/ui/status/network.js:1760
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Ativazion de conession di rêt falide"
|
||||
|
||||
@ -1779,27 +1862,27 @@ msgstr "%d %%"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Modalitât Avion ative"
|
||||
|
||||
#: js/ui/status/system.js:384
|
||||
#: js/ui/status/system.js:228
|
||||
msgid "Switch User"
|
||||
msgstr "Cambie Utent"
|
||||
|
||||
#: js/ui/status/system.js:389
|
||||
#: js/ui/status/system.js:240
|
||||
msgid "Log Out"
|
||||
msgstr "Jes"
|
||||
|
||||
#: js/ui/status/system.js:394
|
||||
#: js/ui/status/system.js:252
|
||||
msgid "Account Settings"
|
||||
msgstr "Impostazions account"
|
||||
|
||||
#: js/ui/status/system.js:411
|
||||
#: js/ui/status/system.js:269
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Bloche Orientament"
|
||||
|
||||
#: js/ui/status/system.js:419
|
||||
#: js/ui/status/system.js:295
|
||||
msgid "Suspend"
|
||||
msgstr "Sospindi"
|
||||
|
||||
#: js/ui/status/system.js:422
|
||||
#: js/ui/status/system.js:305
|
||||
msgid "Power Off"
|
||||
msgstr "Distude"
|
||||
|
||||
@ -1811,6 +1894,34 @@ msgstr "Volum modificât"
|
||||
msgid "Volume"
|
||||
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
|
||||
msgid "Log in as another user"
|
||||
msgstr "Jentre come altri utent"
|
||||
@ -1819,11 +1930,11 @@ msgstr "Jentre come altri utent"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Sbloche barcon"
|
||||
|
||||
#: js/ui/viewSelector.js:183
|
||||
#: js/ui/viewSelector.js:190
|
||||
msgid "Applications"
|
||||
msgstr "Aplicazions"
|
||||
|
||||
#: js/ui/viewSelector.js:187
|
||||
#: js/ui/viewSelector.js:194
|
||||
msgid "Search"
|
||||
msgstr "Cîr"
|
||||
|
||||
@ -1832,22 +1943,22 @@ msgstr "Cîr"
|
||||
msgid "“%s” is ready"
|
||||
msgstr "'%s' al è pront"
|
||||
|
||||
#: js/ui/windowManager.js:71
|
||||
#: js/ui/windowManager.js:72
|
||||
msgid "Do you want to keep these display settings?"
|
||||
msgstr "Vûstu tignî chestis impostazions di visôr?"
|
||||
|
||||
#. Translators: this and the following message should be limited in lenght,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#: js/ui/windowManager.js:83
|
||||
#: js/ui/windowManager.js:84
|
||||
msgid "Revert Settings"
|
||||
msgstr "Ripristine impostazions"
|
||||
|
||||
#: js/ui/windowManager.js:86
|
||||
#: js/ui/windowManager.js:87
|
||||
msgid "Keep Changes"
|
||||
msgstr "Ten lis modifichis"
|
||||
|
||||
#: js/ui/windowManager.js:104
|
||||
#: js/ui/windowManager.js:105
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
@ -1858,7 +1969,7 @@ msgstr[1] ""
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:659
|
||||
#: js/ui/windowManager.js:660
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@ -1936,19 +2047,19 @@ msgstr "Calendari di Evolution"
|
||||
msgid "evolution"
|
||||
msgstr "evolution"
|
||||
|
||||
#: src/main.c:372
|
||||
#: src/main.c:380
|
||||
msgid "Print version"
|
||||
msgstr "Stampe version"
|
||||
|
||||
#: src/main.c:378
|
||||
#: src/main.c:386
|
||||
msgid "Mode used by GDM for login screen"
|
||||
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"
|
||||
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"
|
||||
msgstr "Liste modalitâts pussibilis"
|
||||
|
||||
@ -1996,6 +2107,12 @@ msgstr[1] "%u jentradis"
|
||||
msgid "System Sounds"
|
||||
msgstr "Suns di sisteme"
|
||||
|
||||
#~ msgid "Hide tray"
|
||||
#~ msgstr "Plate casset"
|
||||
|
||||
#~ msgid "Status Icons"
|
||||
#~ msgstr "Iconis di stât"
|
||||
|
||||
#~ msgid "Events"
|
||||
#~ msgstr "Events"
|
||||
|
||||
|
371
po/hr.po
371
po/hr.po
@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-07-20 03:49+0000\n"
|
||||
"PO-Revision-Date: 2017-07-25 20:05+0200\n"
|
||||
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
|
||||
"PO-Revision-Date: 2017-08-23 17:35+0200\n"
|
||||
"Last-Translator: gogo <trebelnik2@gmail.com>\n"
|
||||
"Language-Team: Croatian <hr@li.org>\n"
|
||||
"Language: hr\n"
|
||||
@ -18,7 +18,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\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"
|
||||
"X-Generator: Poedit 2.0.2\n"
|
||||
"X-Generator: Poedit 2.0.3\n"
|
||||
|
||||
#: data/50-gnome-shell-system.xml:6
|
||||
msgid "System"
|
||||
@ -59,13 +59,13 @@ msgstr "GNOME ljuska"
|
||||
|
||||
#: data/org.gnome.Shell.desktop.in.in:5
|
||||
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
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"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
|
||||
msgid ""
|
||||
@ -219,7 +219,7 @@ msgstr "Prečac tipkovnice za otvaranje pogleda"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:117
|
||||
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
|
||||
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"
|
||||
msgstr ""
|
||||
"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
|
||||
msgid "Which keyboard to use"
|
||||
@ -253,7 +253,7 @@ msgstr "Koju tipkovnicu koristiti"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:147
|
||||
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: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/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||
#: 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"
|
||||
msgstr "Odustani"
|
||||
|
||||
@ -367,7 +367,7 @@ msgstr "Odaberi sesiju"
|
||||
#. manually entering the username.
|
||||
#: js/gdm/loginDialog.js:458
|
||||
msgid "Not listed?"
|
||||
msgstr "Nije na popisu?"
|
||||
msgstr "Niste na popisu?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. 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/ui/components/networkAgent.js:261
|
||||
msgid "Username: "
|
||||
msgstr "Korisničko ime:"
|
||||
msgstr "Korisničko ime: "
|
||||
|
||||
#: js/gdm/loginDialog.js:1236
|
||||
msgid "Login Window"
|
||||
@ -401,6 +401,72 @@ msgstr "Greška ovjere"
|
||||
msgid "(or swipe finger)"
|
||||
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
|
||||
msgid "Command not found"
|
||||
msgstr "Naredba nije pronađena"
|
||||
@ -566,35 +632,35 @@ msgstr "Zabrani pristup"
|
||||
msgid "Grant Access"
|
||||
msgstr "Dopusti pristup"
|
||||
|
||||
#: js/ui/appDisplay.js:806
|
||||
#: js/ui/appDisplay.js:809
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Najčešće korištene aplikacije će se pojaviti ovdje"
|
||||
|
||||
#: js/ui/appDisplay.js:927
|
||||
#: js/ui/appDisplay.js:930
|
||||
msgid "Frequent"
|
||||
msgstr "Najčešće"
|
||||
|
||||
#: js/ui/appDisplay.js:934
|
||||
#: js/ui/appDisplay.js:937
|
||||
msgid "All"
|
||||
msgstr "Sve"
|
||||
|
||||
#: js/ui/appDisplay.js:1895
|
||||
#: js/ui/appDisplay.js:1915
|
||||
msgid "New Window"
|
||||
msgstr "Novi prozor"
|
||||
|
||||
#: js/ui/appDisplay.js:1909
|
||||
#: js/ui/appDisplay.js:1929
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
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"
|
||||
msgstr "Ukloni iz omiljenih"
|
||||
|
||||
#: js/ui/appDisplay.js:1942
|
||||
#: js/ui/appDisplay.js:1962
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Dodaj u omiljene"
|
||||
|
||||
#: js/ui/appDisplay.js:1952
|
||||
#: js/ui/appDisplay.js:1972
|
||||
msgid "Show Details"
|
||||
msgstr "Prikaži pojedinosti"
|
||||
|
||||
@ -630,13 +696,13 @@ msgstr "Mikrofon"
|
||||
|
||||
#: js/ui/backgroundMenu.js:19
|
||||
msgid "Change Background…"
|
||||
msgstr "Promijeni pozadinu..."
|
||||
msgstr "Promijeni pozadinu…"
|
||||
|
||||
#: js/ui/backgroundMenu.js:21 js/ui/status/nightLight.js:51
|
||||
msgid "Display Settings"
|
||||
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"
|
||||
msgstr "Postavke"
|
||||
|
||||
@ -783,8 +849,8 @@ msgstr "Lozinka:"
|
||||
msgid "Type again:"
|
||||
msgstr "Pokušaj ponovno:"
|
||||
|
||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:272
|
||||
#: js/ui/status/network.js:366 js/ui/status/network.js:950
|
||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:261
|
||||
#: js/ui/status/network.js:355 js/ui/status/network.js:939
|
||||
msgid "Connect"
|
||||
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:275
|
||||
msgid "Password: "
|
||||
msgstr "Lozinka:"
|
||||
msgstr "Lozinka: "
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:210
|
||||
msgid "Key: "
|
||||
msgstr "Ključ:"
|
||||
msgstr "Ključ: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:249
|
||||
msgid "Identity: "
|
||||
msgstr "Identitet:"
|
||||
msgstr "Identitet: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:251
|
||||
msgid "Private key password: "
|
||||
msgstr "Lozinka privatnog ključa:"
|
||||
msgstr "Lozinka privatnog ključa: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
msgid "Service: "
|
||||
msgstr "Usluga:"
|
||||
msgstr "Usluga: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:292 js/ui/components/networkAgent.js:638
|
||||
msgid "Authentication required by wireless network"
|
||||
@ -830,7 +896,7 @@ msgstr "Wired 802.1X ovjera"
|
||||
|
||||
#: js/ui/components/networkAgent.js:299
|
||||
msgid "Network name: "
|
||||
msgstr "Naziv mreže:"
|
||||
msgstr "Naziv mreže: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:304 js/ui/components/networkAgent.js:646
|
||||
msgid "DSL authentication"
|
||||
@ -846,7 +912,7 @@ msgstr "PIN kôd je potreban za uređaj mobilnog interneta"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
msgid "PIN: "
|
||||
msgstr "PIN:"
|
||||
msgstr "PIN: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:659
|
||||
msgid "Mobile broadband network password"
|
||||
@ -858,7 +924,7 @@ msgstr "Lozinka mreže mobilnog interneta"
|
||||
msgid "A password is required to connect to “%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"
|
||||
msgstr "Mrežni upravitelj"
|
||||
|
||||
@ -889,7 +955,7 @@ msgstr "Nažalost, to ne radi. Pokušajte ponovno."
|
||||
msgid "%s is now known as %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"
|
||||
msgstr "Prozori"
|
||||
|
||||
@ -920,7 +986,7 @@ msgstr "%e %b, %Y"
|
||||
|
||||
#: js/ui/dateMenu.js:144
|
||||
msgid "Add world clocks…"
|
||||
msgstr "Dodaj satove iz svijeta..."
|
||||
msgstr "Dodaj satove iz svijeta…"
|
||||
|
||||
#: js/ui/dateMenu.js:145
|
||||
msgid "World Clocks"
|
||||
@ -934,7 +1000,7 @@ msgstr "Vrijeme"
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:281
|
||||
#: js/ui/dateMenu.js:286
|
||||
#, javascript-format
|
||||
msgid "%s all day."
|
||||
msgstr "%s cijeli dan."
|
||||
@ -943,7 +1009,7 @@ msgstr "%s cijeli dan."
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:287
|
||||
#: js/ui/dateMenu.js:292
|
||||
#, javascript-format
|
||||
msgid "%s, then %s later."
|
||||
msgstr "%s, zatim %s kasnije."
|
||||
@ -952,30 +1018,30 @@ msgstr "%s, zatim %s kasnije."
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:293
|
||||
#: js/ui/dateMenu.js:298
|
||||
#, javascript-format
|
||||
msgid "%s, then %s, followed by %s later."
|
||||
msgstr "%s, zatim %s, praćena s %s kasnije."
|
||||
|
||||
#: js/ui/dateMenu.js:300
|
||||
#: js/ui/dateMenu.js:309
|
||||
msgid "Select a location…"
|
||||
msgstr "Odaberi lokaciju..."
|
||||
msgstr "Odaberi lokaciju…"
|
||||
|
||||
#: js/ui/dateMenu.js:303
|
||||
#: js/ui/dateMenu.js:312
|
||||
msgid "Loading…"
|
||||
msgstr "Pretraživanje…"
|
||||
|
||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
||||
#: js/ui/dateMenu.js:309
|
||||
#: js/ui/dateMenu.js:318
|
||||
#, javascript-format
|
||||
msgid "Feels like %s."
|
||||
msgstr "Kao da je %s."
|
||||
|
||||
#: js/ui/dateMenu.js:312
|
||||
#: js/ui/dateMenu.js:321
|
||||
msgid "Go online for weather information"
|
||||
msgstr "Posjetite za opširnije vremenske informacije"
|
||||
|
||||
#: js/ui/dateMenu.js:314
|
||||
#: js/ui/dateMenu.js:323
|
||||
msgid "Weather information is currently unavailable"
|
||||
msgstr "Vremenske informacije su trenutno nedostupne"
|
||||
|
||||
@ -1145,19 +1211,34 @@ msgstr "Instaliraj"
|
||||
msgid "Download and install “%s” from 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"
|
||||
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
|
||||
msgid "No extensions installed"
|
||||
msgstr "Nema instaliranih proširenja"
|
||||
@ -1234,11 +1315,11 @@ msgstr "Pregled"
|
||||
#. characters.
|
||||
#: js/ui/overview.js:240
|
||||
msgid "Type to search…"
|
||||
msgstr "Upiši za pretragu..."
|
||||
msgstr "Upiši za pretragu…"
|
||||
|
||||
#: js/ui/padOsd.js:103
|
||||
msgid "New shortcut…"
|
||||
msgstr "Novi prečac..."
|
||||
msgstr "Novi prečac…"
|
||||
|
||||
#: js/ui/padOsd.js:152
|
||||
msgid "Application defined"
|
||||
@ -1262,7 +1343,7 @@ msgstr "Završeno"
|
||||
|
||||
#: js/ui/padOsd.js:734
|
||||
msgid "Edit…"
|
||||
msgstr "Uredi..."
|
||||
msgstr "Uredi…"
|
||||
|
||||
#: js/ui/padOsd.js:774 js/ui/padOsd.js:879
|
||||
msgid "None"
|
||||
@ -1306,7 +1387,7 @@ msgstr "Gornja traka"
|
||||
#. simply result in invisible toggle switches.
|
||||
#: js/ui/popupMenu.js:291
|
||||
msgid "toggle-switch-us"
|
||||
msgstr ""
|
||||
msgstr "toggle-switch-us"
|
||||
|
||||
#: js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
@ -1322,7 +1403,7 @@ msgstr "Ponovno pokretanje nije dostupno na Waylandu"
|
||||
|
||||
#: js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "Ponovno pokretanje..."
|
||||
msgstr "Ponovno pokretanje…"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
@ -1346,7 +1427,7 @@ msgstr[0] "%d nova obavijest"
|
||||
msgstr[1] "%d nove 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"
|
||||
msgstr "Zaključaj"
|
||||
|
||||
@ -1377,10 +1458,13 @@ msgstr "Pretraživanje…"
|
||||
msgid "No results."
|
||||
msgstr "Nema rezultata."
|
||||
|
||||
#: js/ui/search.js:768
|
||||
#: js/ui/search.js:777
|
||||
#, javascript-format
|
||||
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
|
||||
msgid "Copy"
|
||||
@ -1454,7 +1538,7 @@ msgstr "Velik tekst"
|
||||
msgid "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"
|
||||
msgstr "Bluetooth postavke"
|
||||
|
||||
@ -1475,13 +1559,13 @@ msgstr "Isključeno"
|
||||
msgid "On"
|
||||
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"
|
||||
msgstr "Uključi"
|
||||
|
||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
|
||||
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
|
||||
#: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
|
||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
|
||||
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
|
||||
#: js/ui/status/network.js:1418 js/ui/status/nightLight.js:47
|
||||
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Isključi"
|
||||
@ -1534,13 +1618,13 @@ msgid "<unknown>"
|
||||
msgstr "<nepoznato>"
|
||||
|
||||
#. 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
|
||||
msgid "%s Off"
|
||||
msgstr "%s isključena"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:468
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "%s povezana"
|
||||
@ -1548,165 +1632,164 @@ msgstr "%s povezana"
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||
#. %s is a network identifier
|
||||
#: js/ui/status/network.js:473
|
||||
#: js/ui/status/network.js:462
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s neupravljana"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:476
|
||||
#: js/ui/status/network.js:465
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "%s prekidanje povezivanja"
|
||||
|
||||
#. 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
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s povezivanje"
|
||||
|
||||
#. 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
|
||||
msgid "%s Requires Authentication"
|
||||
msgstr "%s zahtijeva ovjeru"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing; %s is a network identifier
|
||||
#: js/ui/status/network.js:494
|
||||
#: js/ui/status/network.js:483
|
||||
#, javascript-format
|
||||
msgid "Firmware Missing For %s"
|
||||
msgstr "Nedostaje firmver za %s"
|
||||
|
||||
#. 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
|
||||
#: js/ui/status/network.js:498
|
||||
#: js/ui/status/network.js:487
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s nedostupna"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:501
|
||||
#: js/ui/status/network.js:490
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "%s neuspješno povezivanje"
|
||||
|
||||
#: js/ui/status/network.js:517
|
||||
#: js/ui/status/network.js:506
|
||||
msgid "Wired Settings"
|
||||
msgstr "Postavke žične mreže"
|
||||
|
||||
#: js/ui/status/network.js:559
|
||||
#: js/ui/status/network.js:548
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Mobilni internet"
|
||||
|
||||
#. 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
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s hardverski onemogućena"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||
#: js/ui/status/network.js:606
|
||||
#: js/ui/status/network.js:595
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s onemogućeno"
|
||||
|
||||
#: js/ui/status/network.js:646
|
||||
#: js/ui/status/network.js:635
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Povežite se na internet"
|
||||
|
||||
#: js/ui/status/network.js:844
|
||||
#: js/ui/status/network.js:833
|
||||
msgid "Airplane Mode is On"
|
||||
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."
|
||||
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"
|
||||
msgstr "Isključi zrakoplovni način rada"
|
||||
|
||||
#: js/ui/status/network.js:855
|
||||
#: js/ui/status/network.js:844
|
||||
msgid "Wi-Fi is Off"
|
||||
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."
|
||||
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"
|
||||
msgstr "Uključi bežičnu mrežu"
|
||||
|
||||
#: js/ui/status/network.js:882
|
||||
#: js/ui/status/network.js:871
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Bežične mreže"
|
||||
|
||||
#: js/ui/status/network.js:884
|
||||
#: js/ui/status/network.js:873
|
||||
msgid "Select a network"
|
||||
msgstr "Odaberi mrežu"
|
||||
|
||||
#: js/ui/status/network.js:914
|
||||
#: js/ui/status/network.js:903
|
||||
msgid "No Networks"
|
||||
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"
|
||||
msgstr "Koristi hardverski prekidač za isključivanje"
|
||||
|
||||
#: js/ui/status/network.js:1202
|
||||
#: js/ui/status/network.js:1191
|
||||
msgid "Select Network"
|
||||
msgstr "Odaberi mrežu"
|
||||
|
||||
#: js/ui/status/network.js:1208
|
||||
#: js/ui/status/network.js:1197
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Postavke bežične mreže"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1327
|
||||
#: js/ui/status/network.js:1316
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s pristupna točka aktivna"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1342
|
||||
#: js/ui/status/network.js:1331
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s nije povezana"
|
||||
|
||||
#: js/ui/status/network.js:1446
|
||||
#: js/ui/status/network.js:1435
|
||||
msgid "connecting…"
|
||||
msgstr "povezivanje…"
|
||||
|
||||
#. 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"
|
||||
msgstr "potrebna je ovjera"
|
||||
|
||||
#: js/ui/status/network.js:1451
|
||||
#: js/ui/status/network.js:1440
|
||||
msgid "connection failed"
|
||||
msgstr "neuspješno povezivanje"
|
||||
|
||||
#: js/ui/status/network.js:1517 js/ui/status/network.js:1612
|
||||
#: js/ui/status/rfkill.js:93
|
||||
msgid "Network Settings"
|
||||
msgstr "Mrežne postavke"
|
||||
|
||||
#: js/ui/status/network.js:1519
|
||||
#: js/ui/status/network.js:1494
|
||||
msgid "VPN Settings"
|
||||
msgstr "VPN postavke"
|
||||
|
||||
#: js/ui/status/network.js:1538
|
||||
#: js/ui/status/network.js:1498
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1548
|
||||
#: js/ui/status/network.js:1508
|
||||
msgid "VPN Off"
|
||||
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
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
@ -1714,7 +1797,7 @@ msgstr[0] "%s žično povezivanje"
|
||||
msgstr[1] "%s žična povezivanja"
|
||||
msgstr[2] "%s žičnih povezivanja"
|
||||
|
||||
#: js/ui/status/network.js:1647
|
||||
#: js/ui/status/network.js:1607
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
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[2] "%s bežičnih povezivanja"
|
||||
|
||||
#: js/ui/status/network.js:1651
|
||||
#: js/ui/status/network.js:1611
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
@ -1730,11 +1813,11 @@ msgstr[0] "%s modemsko povezivanje"
|
||||
msgstr[1] "%s modemska povezivanja"
|
||||
msgstr[2] "%s modemskih povezivanja"
|
||||
|
||||
#: js/ui/status/network.js:1799
|
||||
#: js/ui/status/network.js:1759
|
||||
msgid "Connection failed"
|
||||
msgstr "Neuspješno povezivanje"
|
||||
|
||||
#: js/ui/status/network.js:1800
|
||||
#: js/ui/status/network.js:1760
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktiviranje mrežnog povezivanja je neuspjelo"
|
||||
|
||||
@ -1766,7 +1849,7 @@ msgstr "Potpuno napunjeno"
|
||||
#. to estimate battery life
|
||||
#: js/ui/status/power.js:84 js/ui/status/power.js:90
|
||||
msgid "Estimating…"
|
||||
msgstr "Procjenjivanje..."
|
||||
msgstr "Procjenjivanje…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: js/ui/status/power.js:98
|
||||
@ -1792,27 +1875,27 @@ msgstr "%d %%"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Zrakoplovni način rada uključen"
|
||||
|
||||
#: js/ui/status/system.js:384
|
||||
#: js/ui/status/system.js:228
|
||||
msgid "Switch User"
|
||||
msgstr "Zamijeni korisnika"
|
||||
|
||||
#: js/ui/status/system.js:389
|
||||
#: js/ui/status/system.js:240
|
||||
msgid "Log Out"
|
||||
msgstr "Odjava"
|
||||
|
||||
#: js/ui/status/system.js:394
|
||||
#: js/ui/status/system.js:252
|
||||
msgid "Account Settings"
|
||||
msgstr "Postavke računa"
|
||||
|
||||
#: js/ui/status/system.js:411
|
||||
#: js/ui/status/system.js:269
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Zaključavanje orjentacije"
|
||||
|
||||
#: js/ui/status/system.js:419
|
||||
#: js/ui/status/system.js:295
|
||||
msgid "Suspend"
|
||||
msgstr "Suspendiraj"
|
||||
|
||||
#: js/ui/status/system.js:422
|
||||
#: js/ui/status/system.js:305
|
||||
msgid "Power Off"
|
||||
msgstr "Isključivanje"
|
||||
|
||||
@ -1824,6 +1907,34 @@ msgstr "Glasnoća zvuka promijenjena"
|
||||
msgid "Volume"
|
||||
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
|
||||
msgid "Log in as another user"
|
||||
msgstr "Prijavi se kao drugi korisnik"
|
||||
@ -1832,11 +1943,11 @@ msgstr "Prijavi se kao drugi korisnik"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Otključaj prozor"
|
||||
|
||||
#: js/ui/viewSelector.js:183
|
||||
#: js/ui/viewSelector.js:190
|
||||
msgid "Applications"
|
||||
msgstr "Aplikacije"
|
||||
|
||||
#: js/ui/viewSelector.js:187
|
||||
#: js/ui/viewSelector.js:194
|
||||
msgid "Search"
|
||||
msgstr "Pretraži"
|
||||
|
||||
@ -1845,22 +1956,22 @@ msgstr "Pretraži"
|
||||
msgid "“%s” is ready"
|
||||
msgstr "“%s” je spreman"
|
||||
|
||||
#: js/ui/windowManager.js:71
|
||||
#: js/ui/windowManager.js:72
|
||||
msgid "Do you want to keep these display settings?"
|
||||
msgstr "Želite li zadržati ove postavke zaslona?"
|
||||
|
||||
#. Translators: this and the following message should be limited in lenght,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#: js/ui/windowManager.js:83
|
||||
#: js/ui/windowManager.js:84
|
||||
msgid "Revert Settings"
|
||||
msgstr "Vrati postavke"
|
||||
|
||||
#: js/ui/windowManager.js:86
|
||||
#: js/ui/windowManager.js:87
|
||||
msgid "Keep Changes"
|
||||
msgstr "Zadrži promjene"
|
||||
|
||||
#: js/ui/windowManager.js:104
|
||||
#: js/ui/windowManager.js:105
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
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
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:659
|
||||
#: js/ui/windowManager.js:660
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@ -1948,19 +2059,19 @@ msgstr "Evolution kalendar"
|
||||
msgid "evolution"
|
||||
msgstr "evolution"
|
||||
|
||||
#: src/main.c:372
|
||||
#: src/main.c:380
|
||||
msgid "Print version"
|
||||
msgstr "Ispiši inačicu"
|
||||
|
||||
#: src/main.c:378
|
||||
#: src/main.c:386
|
||||
msgid "Mode used by GDM for login screen"
|
||||
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"
|
||||
msgstr "Koristi određen način, npr. \"gdm\" za zaslon prijave"
|
||||
|
||||
#: src/main.c:390
|
||||
#: src/main.c:398
|
||||
msgid "List possible modes"
|
||||
msgstr "Popis mogućih načina"
|
||||
|
||||
@ -2010,6 +2121,12 @@ msgstr[2] "%u ulaza"
|
||||
msgid "System Sounds"
|
||||
msgstr "Zvukovi sustava"
|
||||
|
||||
#~ msgid "Hide tray"
|
||||
#~ msgstr "Sakrij traku stanja"
|
||||
|
||||
#~ msgid "Status Icons"
|
||||
#~ msgstr "Ikona stanja"
|
||||
|
||||
#~ msgid "GNOME Shell Extension Preferences"
|
||||
#~ 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
|
||||
# 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.
|
||||
# Wibiharto <wibinem@yahoo.com>, 2011.
|
||||
msgid ""
|
||||
@ -10,16 +10,16 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-07-16 17:31+0000\n"
|
||||
"PO-Revision-Date: 2017-07-17 10:54+0700\n"
|
||||
"Last-Translator: Kukuh Syafaat <syafaatkukuh@gmail.com>\n"
|
||||
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
|
||||
"PO-Revision-Date: 2017-08-23 00:03+0700\n"
|
||||
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
|
||||
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
|
||||
"Language: id\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\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-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/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195
|
||||
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:947
|
||||
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
|
||||
#: js/ui/shellMountOperation.js:344 js/ui/status/network.js:936
|
||||
msgid "Cancel"
|
||||
msgstr "Batal"
|
||||
|
||||
@ -404,6 +404,72 @@ msgstr "Galat otentikasi"
|
||||
msgid "(or swipe finger)"
|
||||
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
|
||||
msgid "Command not found"
|
||||
msgstr "Perintah tidak ditemukan"
|
||||
@ -557,35 +623,35 @@ msgstr "Tolak Akses"
|
||||
msgid "Grant Access"
|
||||
msgstr "Beri Akses"
|
||||
|
||||
#: js/ui/appDisplay.js:813
|
||||
#: js/ui/appDisplay.js:809
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Aplikasi yang sering dipakai akan muncul di sini"
|
||||
|
||||
#: js/ui/appDisplay.js:934
|
||||
#: js/ui/appDisplay.js:930
|
||||
msgid "Frequent"
|
||||
msgstr "Sering"
|
||||
|
||||
#: js/ui/appDisplay.js:941
|
||||
#: js/ui/appDisplay.js:937
|
||||
msgid "All"
|
||||
msgstr "Semua"
|
||||
|
||||
#: js/ui/appDisplay.js:1902
|
||||
#: js/ui/appDisplay.js:1915
|
||||
msgid "New Window"
|
||||
msgstr "Jendela Baru"
|
||||
|
||||
#: js/ui/appDisplay.js:1916
|
||||
#: js/ui/appDisplay.js:1929
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
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"
|
||||
msgstr "Hapus dari Favorit"
|
||||
|
||||
#: js/ui/appDisplay.js:1949
|
||||
#: js/ui/appDisplay.js:1962
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Tambah ke Favorit"
|
||||
|
||||
#: js/ui/appDisplay.js:1959
|
||||
#: js/ui/appDisplay.js:1972
|
||||
msgid "Show Details"
|
||||
msgstr "Tampilkan Rincian"
|
||||
|
||||
@ -627,7 +693,7 @@ msgstr "Ubah Latar…"
|
||||
msgid "Display Settings"
|
||||
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"
|
||||
msgstr "Pengaturan"
|
||||
|
||||
@ -761,7 +827,7 @@ msgstr "Drive eksternal tersambung"
|
||||
msgid "External drive disconnected"
|
||||
msgstr "Drive eksternal terputus"
|
||||
|
||||
#: js/ui/components/autorunManager.js:355
|
||||
#: js/ui/components/autorunManager.js:354
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Buka dengan %s"
|
||||
@ -774,8 +840,8 @@ msgstr "Sandi:"
|
||||
msgid "Type again:"
|
||||
msgstr "Ketik lagi:"
|
||||
|
||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:272
|
||||
#: js/ui/status/network.js:366 js/ui/status/network.js:950
|
||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:261
|
||||
#: js/ui/status/network.js:355 js/ui/status/network.js:939
|
||||
msgid "Connect"
|
||||
msgstr "Sambung"
|
||||
|
||||
@ -850,7 +916,7 @@ msgstr "Sandi jaringan data seluler"
|
||||
msgid "A password is required to connect to “%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"
|
||||
msgstr "Manajer Jaringan"
|
||||
|
||||
@ -881,7 +947,7 @@ msgstr "Maaf, tidak berhasil. Silakan coba lagi."
|
||||
msgid "%s is now known as %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"
|
||||
msgstr "Jendela"
|
||||
|
||||
@ -926,7 +992,7 @@ msgstr "Cuaca"
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:281
|
||||
#: js/ui/dateMenu.js:286
|
||||
#, javascript-format
|
||||
msgid "%s all day."
|
||||
msgstr "%s sepanjang hari."
|
||||
@ -935,7 +1001,7 @@ msgstr "%s sepanjang hari."
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:287
|
||||
#: js/ui/dateMenu.js:292
|
||||
#, javascript-format
|
||||
msgid "%s, then %s later."
|
||||
msgstr "%s, kemudian %s."
|
||||
@ -944,30 +1010,30 @@ msgstr "%s, kemudian %s."
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:293
|
||||
#: js/ui/dateMenu.js:298
|
||||
#, javascript-format
|
||||
msgid "%s, then %s, followed by %s later."
|
||||
msgstr "%s, kemudian %s, diikuti dengan %s nanti."
|
||||
|
||||
#: js/ui/dateMenu.js:300
|
||||
#: js/ui/dateMenu.js:309
|
||||
msgid "Select a location…"
|
||||
msgstr "Pilih lokasi…"
|
||||
|
||||
#: js/ui/dateMenu.js:303
|
||||
#: js/ui/dateMenu.js:312
|
||||
msgid "Loading…"
|
||||
msgstr "Memuat…"
|
||||
|
||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
||||
#: js/ui/dateMenu.js:309
|
||||
#: js/ui/dateMenu.js:318
|
||||
#, javascript-format
|
||||
msgid "Feels like %s."
|
||||
msgstr "Terasa seperti %s."
|
||||
|
||||
#: js/ui/dateMenu.js:312
|
||||
#: js/ui/dateMenu.js:321
|
||||
msgid "Go online for weather information"
|
||||
msgstr "Pergi daring untuk informasi cuaca"
|
||||
|
||||
#: js/ui/dateMenu.js:314
|
||||
#: js/ui/dateMenu.js:323
|
||||
msgid "Weather information is currently unavailable"
|
||||
msgstr "Informasi cuaca saat ini tidak tersedia"
|
||||
|
||||
@ -1113,28 +1179,43 @@ msgstr "%s (jarak jauh)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (konsol)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:199
|
||||
#: js/ui/extensionDownloader.js:201
|
||||
msgid "Install"
|
||||
msgstr "Pasang"
|
||||
|
||||
#: js/ui/extensionDownloader.js:204
|
||||
#: js/ui/extensionDownloader.js:206
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from 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"
|
||||
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
|
||||
msgid "No extensions installed"
|
||||
msgstr "Tak ada ekstensi terpasang"
|
||||
@ -1159,7 +1240,7 @@ msgstr "Diaktifkan"
|
||||
|
||||
#. translators:
|
||||
#. * 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"
|
||||
msgstr "Dinonaktifkan"
|
||||
|
||||
@ -1233,27 +1314,27 @@ msgstr "Ganti monitor"
|
||||
msgid "Assign keystroke"
|
||||
msgstr "Tetapkan keystroke"
|
||||
|
||||
#: js/ui/padOsd.js:209
|
||||
#: js/ui/padOsd.js:220
|
||||
msgid "Done"
|
||||
msgstr "Selesai"
|
||||
|
||||
#: js/ui/padOsd.js:708
|
||||
#: js/ui/padOsd.js:734
|
||||
msgid "Edit…"
|
||||
msgstr "Sunting…"
|
||||
|
||||
#: js/ui/padOsd.js:748 js/ui/padOsd.js:810
|
||||
#: js/ui/padOsd.js:774 js/ui/padOsd.js:879
|
||||
msgid "None"
|
||||
msgstr "Nihil"
|
||||
|
||||
#: js/ui/padOsd.js:793
|
||||
#: js/ui/padOsd.js:833
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Tekan tombol untuk mengkonfigurasi"
|
||||
|
||||
#: js/ui/padOsd.js:794
|
||||
#: js/ui/padOsd.js:834
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Tekan Esc untuk keluar"
|
||||
|
||||
#: js/ui/padOsd.js:797
|
||||
#: js/ui/padOsd.js:837
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Tekan tombol apa saja untuk keluar"
|
||||
|
||||
@ -1320,7 +1401,7 @@ msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
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"
|
||||
msgstr "Kunci"
|
||||
|
||||
@ -1351,10 +1432,11 @@ msgstr "Mencari…"
|
||||
msgid "No results."
|
||||
msgstr "Tak ada yang cocok."
|
||||
|
||||
#: js/ui/search.js:768
|
||||
#: js/ui/search.js:777
|
||||
#, javascript-format
|
||||
msgid "%d more"
|
||||
msgstr "%d lagi"
|
||||
msgid_plural "%d more"
|
||||
msgstr[0] "%d lagi"
|
||||
|
||||
#: js/ui/shellEntry.js:25
|
||||
msgid "Copy"
|
||||
@ -1428,7 +1510,7 @@ msgstr "Teks Besar"
|
||||
msgid "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"
|
||||
msgstr "Pengaturan Bluetooth"
|
||||
|
||||
@ -1447,13 +1529,13 @@ msgstr "Mati"
|
||||
msgid "On"
|
||||
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"
|
||||
msgstr "Nyalakan"
|
||||
|
||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
|
||||
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
|
||||
#: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
|
||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
|
||||
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
|
||||
#: js/ui/status/network.js:1418 js/ui/status/nightLight.js:47
|
||||
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Matikan"
|
||||
@ -1505,13 +1587,13 @@ msgid "<unknown>"
|
||||
msgstr "<tak dikenal>"
|
||||
|
||||
#. 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
|
||||
msgid "%s Off"
|
||||
msgstr "%s Mati"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:468
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "%s Tersambung"
|
||||
@ -1519,187 +1601,186 @@ msgstr "%s Tersambung"
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||
#. %s is a network identifier
|
||||
#: js/ui/status/network.js:473
|
||||
#: js/ui/status/network.js:462
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s Tak Dikelola"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:476
|
||||
#: js/ui/status/network.js:465
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "%s Memutus"
|
||||
|
||||
#. 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
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s Menyambung"
|
||||
|
||||
#. 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
|
||||
msgid "%s Requires Authentication"
|
||||
msgstr "%s Memerlukan Otentikasi"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing; %s is a network identifier
|
||||
#: js/ui/status/network.js:494
|
||||
#: js/ui/status/network.js:483
|
||||
#, javascript-format
|
||||
msgid "Firmware Missing For %s"
|
||||
msgstr "Firmware Hilang Untuk %s"
|
||||
|
||||
#. 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
|
||||
#: js/ui/status/network.js:498
|
||||
#: js/ui/status/network.js:487
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s Tak tersedia"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:501
|
||||
#: js/ui/status/network.js:490
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "Koneksi %s Gagal"
|
||||
|
||||
#: js/ui/status/network.js:517
|
||||
#: js/ui/status/network.js:506
|
||||
msgid "Wired Settings"
|
||||
msgstr "Pengaturan Kabel"
|
||||
|
||||
#: js/ui/status/network.js:559
|
||||
#: js/ui/status/network.js:548
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Pengaturan Data Seluler"
|
||||
|
||||
#. 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
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s Perangkat Keras Dinonaktifkan"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||
#: js/ui/status/network.js:606
|
||||
#: js/ui/status/network.js:595
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s Dinonaktifkan"
|
||||
|
||||
#: js/ui/status/network.js:646
|
||||
#: js/ui/status/network.js:635
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Sambungkan ke Internet"
|
||||
|
||||
#: js/ui/status/network.js:844
|
||||
#: js/ui/status/network.js:833
|
||||
msgid "Airplane Mode is On"
|
||||
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."
|
||||
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"
|
||||
msgstr "Matikan Mode Pesawat Terbang"
|
||||
|
||||
#: js/ui/status/network.js:855
|
||||
#: js/ui/status/network.js:844
|
||||
msgid "Wi-Fi is Off"
|
||||
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."
|
||||
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"
|
||||
msgstr "Nyalakan Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:882
|
||||
#: js/ui/status/network.js:871
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Jaringan Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:884
|
||||
#: js/ui/status/network.js:873
|
||||
msgid "Select a network"
|
||||
msgstr "Pilih jaringan"
|
||||
|
||||
#: js/ui/status/network.js:914
|
||||
#: js/ui/status/network.js:903
|
||||
msgid "No Networks"
|
||||
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"
|
||||
msgstr "Pakai saklar perangkat keras untuk mematikan"
|
||||
|
||||
#: js/ui/status/network.js:1202
|
||||
#: js/ui/status/network.js:1191
|
||||
msgid "Select Network"
|
||||
msgstr "Pilih Jaringan"
|
||||
|
||||
#: js/ui/status/network.js:1208
|
||||
#: js/ui/status/network.js:1197
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Pengaturan Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1327
|
||||
#: js/ui/status/network.js:1316
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s Hotspot Aktif"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1342
|
||||
#: js/ui/status/network.js:1331
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s Tak Tersambung"
|
||||
|
||||
#: js/ui/status/network.js:1446
|
||||
#: js/ui/status/network.js:1435
|
||||
msgid "connecting…"
|
||||
msgstr "menghubungi..."
|
||||
|
||||
#. 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"
|
||||
msgstr "diperlukan otentikasi"
|
||||
|
||||
#: js/ui/status/network.js:1451
|
||||
#: js/ui/status/network.js:1440
|
||||
msgid "connection failed"
|
||||
msgstr "koneksi gagal"
|
||||
|
||||
#: js/ui/status/network.js:1517 js/ui/status/network.js:1612
|
||||
#: js/ui/status/rfkill.js:93
|
||||
msgid "Network Settings"
|
||||
msgstr "Pengaturan Jaringan"
|
||||
|
||||
#: js/ui/status/network.js:1519
|
||||
#: js/ui/status/network.js:1494
|
||||
msgid "VPN Settings"
|
||||
msgstr "Pengaturan VPN"
|
||||
|
||||
#: js/ui/status/network.js:1538
|
||||
#: js/ui/status/network.js:1498
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1548
|
||||
#: js/ui/status/network.js:1508
|
||||
msgid "VPN Off"
|
||||
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
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s Koneksi Kabel"
|
||||
|
||||
#: js/ui/status/network.js:1647
|
||||
#: js/ui/status/network.js:1607
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s Koneksi Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:1651
|
||||
#: js/ui/status/network.js:1611
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s Koneksi Modem"
|
||||
|
||||
#: js/ui/status/network.js:1799
|
||||
#: js/ui/status/network.js:1759
|
||||
msgid "Connection failed"
|
||||
msgstr "Koneksi gagal"
|
||||
|
||||
#: js/ui/status/network.js:1800
|
||||
#: js/ui/status/network.js:1760
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivasi koneksi jaringan gagal"
|
||||
|
||||
@ -1757,27 +1838,27 @@ msgstr "%d %%"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Mode Pesawat Terbang Aktif"
|
||||
|
||||
#: js/ui/status/system.js:384
|
||||
#: js/ui/status/system.js:228
|
||||
msgid "Switch User"
|
||||
msgstr "Ganti Pengguna"
|
||||
|
||||
#: js/ui/status/system.js:389
|
||||
#: js/ui/status/system.js:240
|
||||
msgid "Log Out"
|
||||
msgstr "Keluar"
|
||||
|
||||
#: js/ui/status/system.js:394
|
||||
#: js/ui/status/system.js:252
|
||||
msgid "Account Settings"
|
||||
msgstr "Pengaturan Akun"
|
||||
|
||||
#: js/ui/status/system.js:411
|
||||
#: js/ui/status/system.js:269
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Kunci Orientasi"
|
||||
|
||||
#: js/ui/status/system.js:419
|
||||
#: js/ui/status/system.js:295
|
||||
msgid "Suspend"
|
||||
msgstr "Suspensi"
|
||||
|
||||
#: js/ui/status/system.js:422
|
||||
#: js/ui/status/system.js:305
|
||||
msgid "Power Off"
|
||||
msgstr "Matikan"
|
||||
|
||||
@ -1789,6 +1870,34 @@ msgstr "Volume diubah"
|
||||
msgid "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
|
||||
msgid "Log in as another user"
|
||||
msgstr "Masuk sebagai pengguna lain"
|
||||
@ -1797,11 +1906,11 @@ msgstr "Masuk sebagai pengguna lain"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Buka Kunci Jendela"
|
||||
|
||||
#: js/ui/viewSelector.js:183
|
||||
#: js/ui/viewSelector.js:190
|
||||
msgid "Applications"
|
||||
msgstr "Aplikasi"
|
||||
|
||||
#: js/ui/viewSelector.js:187
|
||||
#: js/ui/viewSelector.js:194
|
||||
msgid "Search"
|
||||
msgstr "Cari"
|
||||
|
||||
@ -1810,22 +1919,22 @@ msgstr "Cari"
|
||||
msgid "“%s” is ready"
|
||||
msgstr "'%s' siap"
|
||||
|
||||
#: js/ui/windowManager.js:71
|
||||
#: js/ui/windowManager.js:72
|
||||
msgid "Do you want to keep these display settings?"
|
||||
msgstr "Apakah Anda ingin mempertahankan pengaturan tampilan ini?"
|
||||
|
||||
#. Translators: this and the following message should be limited in lenght,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#: js/ui/windowManager.js:83
|
||||
#: js/ui/windowManager.js:84
|
||||
msgid "Revert Settings"
|
||||
msgstr "Balikkan Tatanan"
|
||||
|
||||
#: js/ui/windowManager.js:86
|
||||
#: js/ui/windowManager.js:87
|
||||
msgid "Keep Changes"
|
||||
msgstr "Simpan Perubahan"
|
||||
|
||||
#: js/ui/windowManager.js:104
|
||||
#: js/ui/windowManager.js:105
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
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
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:659
|
||||
#: js/ui/windowManager.js:660
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@ -1911,39 +2020,19 @@ msgstr "Evolution Kalender"
|
||||
msgid "evolution"
|
||||
msgstr "evolution"
|
||||
|
||||
#. translators:
|
||||
#. * 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
|
||||
#: src/main.c:380
|
||||
msgid "Print version"
|
||||
msgstr "Versi Cetak"
|
||||
|
||||
#: src/main.c:378
|
||||
#: src/main.c:386
|
||||
msgid "Mode used by GDM for login screen"
|
||||
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"
|
||||
msgstr "Menggunakan mode tertentu, mis. \"gdm\" untuk layar masuk"
|
||||
|
||||
#: src/main.c:390
|
||||
#: src/main.c:398
|
||||
msgid "List possible modes"
|
||||
msgstr "Menampilkan mode yang mungkin"
|
||||
|
||||
@ -1969,26 +2058,22 @@ msgstr "Sandi tidak boleh kosong"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Dialog otentikasi ditolak oleh pengguna"
|
||||
|
||||
#~ msgid "Events"
|
||||
#~ msgstr "Kejadian"
|
||||
#. translators:
|
||||
#. * 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"
|
||||
#~ msgstr "Pemberitahuan"
|
||||
#. translators:
|
||||
#. * 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"
|
||||
#~ msgstr "Bersihkan seksi"
|
||||
|
||||
#~ 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"
|
||||
#: subprojects/gvc/gvc-mixer-control.c:2738
|
||||
msgid "System Sounds"
|
||||
msgstr "Suara Sistem"
|
||||
|
321
po/kk.po
321
po/kk.po
@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-07-20 03:49+0000\n"
|
||||
"PO-Revision-Date: 2017-07-27 17:09+0500\n"
|
||||
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
|
||||
"PO-Revision-Date: 2017-08-22 19:22+0500\n"
|
||||
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
|
||||
"Language-Team: Kazakh <kk_KZ@googlegroups.com>\n"
|
||||
"Language: kk\n"
|
||||
@ -339,7 +339,7 @@ msgstr "%s үшін баптаулар сұхбатын жүктеу кезін
|
||||
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
|
||||
#: js/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||
#: 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"
|
||||
msgstr "Бас тарту"
|
||||
|
||||
@ -400,6 +400,72 @@ msgstr "Аутентификация қатесі"
|
||||
msgid "(or swipe finger)"
|
||||
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
|
||||
msgid "Command not found"
|
||||
msgstr "Команда табылмады"
|
||||
@ -553,35 +619,35 @@ msgstr "Тыйым салу"
|
||||
msgid "Grant Access"
|
||||
msgstr "Рұқсат ету"
|
||||
|
||||
#: js/ui/appDisplay.js:806
|
||||
#: js/ui/appDisplay.js:809
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Жиі қолданылатын қолданбалар осында көрінеді"
|
||||
|
||||
#: js/ui/appDisplay.js:927
|
||||
#: js/ui/appDisplay.js:930
|
||||
msgid "Frequent"
|
||||
msgstr "Жиі қолданылатын"
|
||||
|
||||
#: js/ui/appDisplay.js:934
|
||||
#: js/ui/appDisplay.js:937
|
||||
msgid "All"
|
||||
msgstr "Барлығы"
|
||||
|
||||
#: js/ui/appDisplay.js:1895
|
||||
#: js/ui/appDisplay.js:1915
|
||||
msgid "New Window"
|
||||
msgstr "Жаңа терезе"
|
||||
|
||||
#: js/ui/appDisplay.js:1909
|
||||
#: js/ui/appDisplay.js:1929
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
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"
|
||||
msgstr "Таңдамалылардан өшіру"
|
||||
|
||||
#: js/ui/appDisplay.js:1942
|
||||
#: js/ui/appDisplay.js:1962
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Таңдамалыларға қосу"
|
||||
|
||||
#: js/ui/appDisplay.js:1952
|
||||
#: js/ui/appDisplay.js:1972
|
||||
msgid "Show Details"
|
||||
msgstr "Деректерді көрсету"
|
||||
|
||||
@ -623,7 +689,7 @@ msgstr "Фонды өзгерту..."
|
||||
msgid "Display Settings"
|
||||
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"
|
||||
msgstr "Баптаулар"
|
||||
|
||||
@ -770,8 +836,8 @@ msgstr "Пароль:"
|
||||
msgid "Type again:"
|
||||
msgstr "Қайтадан енгізіңіз:"
|
||||
|
||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:272
|
||||
#: js/ui/status/network.js:366 js/ui/status/network.js:950
|
||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:261
|
||||
#: js/ui/status/network.js:355 js/ui/status/network.js:939
|
||||
msgid "Connect"
|
||||
msgstr "Байланысу"
|
||||
|
||||
@ -845,7 +911,7 @@ msgstr "Сымсыз кеңжолақты желісінің паролі"
|
||||
msgid "A password is required to connect to “%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"
|
||||
msgstr "Желілер басқарушысы"
|
||||
|
||||
@ -876,7 +942,7 @@ msgstr "Кешіріңіз, талап сәтсіз. Қайтадан көрің
|
||||
msgid "%s is now known as %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"
|
||||
msgstr "Терезелер"
|
||||
|
||||
@ -921,7 +987,7 @@ msgstr "Ауа райы"
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:281
|
||||
#: js/ui/dateMenu.js:286
|
||||
#, javascript-format
|
||||
msgid "%s all day."
|
||||
msgstr "%s күні бойы."
|
||||
@ -930,7 +996,7 @@ msgstr "%s күні бойы."
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:287
|
||||
#: js/ui/dateMenu.js:292
|
||||
#, javascript-format
|
||||
msgid "%s, then %s later."
|
||||
msgstr "%s, одан кейін %s."
|
||||
@ -939,30 +1005,30 @@ msgstr "%s, одан кейін %s."
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:293
|
||||
#: js/ui/dateMenu.js:298
|
||||
#, javascript-format
|
||||
msgid "%s, then %s, followed by %s later."
|
||||
msgstr "%s, одан кейін %s, одан кейін %s."
|
||||
|
||||
#: js/ui/dateMenu.js:300
|
||||
#: js/ui/dateMenu.js:309
|
||||
msgid "Select a location…"
|
||||
msgstr "Орналасуды таңдаңыз…"
|
||||
|
||||
#: js/ui/dateMenu.js:303
|
||||
#: js/ui/dateMenu.js:312
|
||||
msgid "Loading…"
|
||||
msgstr "Жүктеу…"
|
||||
|
||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
||||
#: js/ui/dateMenu.js:309
|
||||
#: js/ui/dateMenu.js:318
|
||||
#, javascript-format
|
||||
msgid "Feels like %s."
|
||||
msgstr "%s сияқты сезіледі."
|
||||
|
||||
#: js/ui/dateMenu.js:312
|
||||
#: js/ui/dateMenu.js:321
|
||||
msgid "Go online for weather information"
|
||||
msgstr "Ауа райы ақпаратын алу үшін желіге байланысыңыз"
|
||||
|
||||
#: js/ui/dateMenu.js:314
|
||||
#: js/ui/dateMenu.js:323
|
||||
msgid "Weather information is currently unavailable"
|
||||
msgstr "Ауа райы ақпараты ағымдағы уақытта қолжетерсіз"
|
||||
|
||||
@ -1118,19 +1184,34 @@ msgstr "Орнату"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
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"
|
||||
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
|
||||
msgid "No extensions installed"
|
||||
msgstr "Кеңейтулер орнатылмаған"
|
||||
@ -1315,7 +1396,7 @@ msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
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"
|
||||
msgstr "Блоктау"
|
||||
|
||||
@ -1346,10 +1427,11 @@ msgstr "Іздеу..."
|
||||
msgid "No results."
|
||||
msgstr "Нәтижелер жоқ."
|
||||
|
||||
#: js/ui/search.js:768
|
||||
#: js/ui/search.js:777
|
||||
#, javascript-format
|
||||
msgid "%d more"
|
||||
msgstr "тағы %d"
|
||||
msgid_plural "%d more"
|
||||
msgstr[0] "тағы %d"
|
||||
|
||||
#: js/ui/shellEntry.js:25
|
||||
msgid "Copy"
|
||||
@ -1423,7 +1505,7 @@ msgstr "Үлкен мәтін"
|
||||
msgid "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"
|
||||
msgstr "Bluetooth баптаулары"
|
||||
|
||||
@ -1442,13 +1524,13 @@ msgstr "Сөнд."
|
||||
msgid "On"
|
||||
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"
|
||||
msgstr "Іске қосу"
|
||||
|
||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
|
||||
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
|
||||
#: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
|
||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
|
||||
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
|
||||
#: js/ui/status/network.js:1418 js/ui/status/nightLight.js:47
|
||||
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Сөндіру"
|
||||
@ -1502,13 +1584,13 @@ msgid "<unknown>"
|
||||
msgstr "<белгісіз>"
|
||||
|
||||
#. 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
|
||||
msgid "%s Off"
|
||||
msgstr "%s сөндірулі"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:468
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "%s байланысқан"
|
||||
@ -1516,187 +1598,186 @@ msgstr "%s байланысқан"
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||
#. %s is a network identifier
|
||||
#: js/ui/status/network.js:473
|
||||
#: js/ui/status/network.js:462
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s басқарылмайтын"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:476
|
||||
#: js/ui/status/network.js:465
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "%s байланысты үзуде"
|
||||
|
||||
#. 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
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s байланысуда"
|
||||
|
||||
#. 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
|
||||
msgid "%s Requires Authentication"
|
||||
msgstr "%s аутентификацияны талап етеді"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing; %s is a network identifier
|
||||
#: js/ui/status/network.js:494
|
||||
#: js/ui/status/network.js:483
|
||||
#, javascript-format
|
||||
msgid "Firmware Missing For %s"
|
||||
msgstr "%s үшін бинарлы кодтары жоқ"
|
||||
|
||||
#. 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
|
||||
#: js/ui/status/network.js:498
|
||||
#: js/ui/status/network.js:487
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s қолжетерсіз"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:501
|
||||
#: js/ui/status/network.js:490
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "%s байланысын орнату сәтсіз"
|
||||
|
||||
#: js/ui/status/network.js:517
|
||||
#: js/ui/status/network.js:506
|
||||
msgid "Wired Settings"
|
||||
msgstr "Сымды желі баптаулары"
|
||||
|
||||
#: js/ui/status/network.js:559
|
||||
#: js/ui/status/network.js:548
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Сымсыз кеңжолақты желісінің баптаулары"
|
||||
|
||||
#. 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
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s құрылғылық түрде сөндірулі тұр"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||
#: js/ui/status/network.js:606
|
||||
#: js/ui/status/network.js:595
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s сөндірулі тұр"
|
||||
|
||||
#: js/ui/status/network.js:646
|
||||
#: js/ui/status/network.js:635
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Интернетке байланысу"
|
||||
|
||||
#: js/ui/status/network.js:844
|
||||
#: js/ui/status/network.js:833
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Ұшақтағы режим іске қосылған"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:834
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Wi-Fi ұшақтағы режимі кезінде сөндірілген болады."
|
||||
|
||||
#: js/ui/status/network.js:846
|
||||
#: js/ui/status/network.js:835
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Ұшақтағы режимді сөндіру"
|
||||
|
||||
#: js/ui/status/network.js:855
|
||||
#: js/ui/status/network.js:844
|
||||
msgid "Wi-Fi is Off"
|
||||
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."
|
||||
msgstr "Желіге байланысты орнату үшін Wi-Fi іске қосылған болуы тиіс."
|
||||
|
||||
#: js/ui/status/network.js:857
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Wi-Fi іске қосу"
|
||||
|
||||
#: js/ui/status/network.js:882
|
||||
#: js/ui/status/network.js:871
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Wi-Fi желілері"
|
||||
|
||||
#: js/ui/status/network.js:884
|
||||
#: js/ui/status/network.js:873
|
||||
msgid "Select a network"
|
||||
msgstr "Желіні таңдау"
|
||||
|
||||
#: js/ui/status/network.js:914
|
||||
#: js/ui/status/network.js:903
|
||||
msgid "No Networks"
|
||||
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"
|
||||
msgstr "Сөндіру үшін құрылғылық қосқышты қолданыңыз"
|
||||
|
||||
#: js/ui/status/network.js:1202
|
||||
#: js/ui/status/network.js:1191
|
||||
msgid "Select Network"
|
||||
msgstr "Желіні таңдау"
|
||||
|
||||
#: js/ui/status/network.js:1208
|
||||
#: js/ui/status/network.js:1197
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Wi-Fi баптаулары"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1327
|
||||
#: js/ui/status/network.js:1316
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s қатынау нүктесі белсенді"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1342
|
||||
#: js/ui/status/network.js:1331
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s байланыспаған"
|
||||
|
||||
#: js/ui/status/network.js:1446
|
||||
#: js/ui/status/network.js:1435
|
||||
msgid "connecting…"
|
||||
msgstr "байланысты орнату…"
|
||||
|
||||
#. 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"
|
||||
msgstr "аутентификация керек"
|
||||
|
||||
#: js/ui/status/network.js:1451
|
||||
#: js/ui/status/network.js:1440
|
||||
msgid "connection failed"
|
||||
msgstr "байланысты орнату сәтсіз"
|
||||
|
||||
#: js/ui/status/network.js:1517 js/ui/status/network.js:1612
|
||||
#: js/ui/status/rfkill.js:93
|
||||
msgid "Network Settings"
|
||||
msgstr "Желі баптаулары"
|
||||
|
||||
#: js/ui/status/network.js:1519
|
||||
#: js/ui/status/network.js:1494
|
||||
msgid "VPN Settings"
|
||||
msgstr "VPN баптаулары"
|
||||
|
||||
#: js/ui/status/network.js:1538
|
||||
#: js/ui/status/network.js:1498
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1548
|
||||
#: js/ui/status/network.js:1508
|
||||
msgid "VPN Off"
|
||||
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
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s сымды желі байланысы"
|
||||
|
||||
#: js/ui/status/network.js:1647
|
||||
#: js/ui/status/network.js:1607
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s Wi-Fi желі байланысы"
|
||||
|
||||
#: js/ui/status/network.js:1651
|
||||
#: js/ui/status/network.js:1611
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s модем желі байланысы"
|
||||
|
||||
#: js/ui/status/network.js:1799
|
||||
#: js/ui/status/network.js:1759
|
||||
msgid "Connection failed"
|
||||
msgstr "Байланыс орнату сәтсіз"
|
||||
|
||||
#: js/ui/status/network.js:1800
|
||||
#: js/ui/status/network.js:1760
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Желілік байланысты белсендіру сәтсіз"
|
||||
|
||||
@ -1754,27 +1835,27 @@ msgstr "%d %%"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Ұшақтағы режим іске қосулы"
|
||||
|
||||
#: js/ui/status/system.js:384
|
||||
#: js/ui/status/system.js:228
|
||||
msgid "Switch User"
|
||||
msgstr "Пайдаланушыны ауыстыру"
|
||||
|
||||
#: js/ui/status/system.js:389
|
||||
#: js/ui/status/system.js:240
|
||||
msgid "Log Out"
|
||||
msgstr "Жүйеден шығу"
|
||||
|
||||
#: js/ui/status/system.js:394
|
||||
#: js/ui/status/system.js:252
|
||||
msgid "Account Settings"
|
||||
msgstr "Тіркелгі баптаулары"
|
||||
|
||||
#: js/ui/status/system.js:411
|
||||
#: js/ui/status/system.js:269
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Бағдарды бекіту"
|
||||
|
||||
#: js/ui/status/system.js:419
|
||||
#: js/ui/status/system.js:295
|
||||
msgid "Suspend"
|
||||
msgstr "Ұйықтату"
|
||||
|
||||
#: js/ui/status/system.js:422
|
||||
#: js/ui/status/system.js:305
|
||||
msgid "Power Off"
|
||||
msgstr "Сөндіру"
|
||||
|
||||
@ -1786,6 +1867,34 @@ msgstr "Дыбыс өзгертілді"
|
||||
msgid "Volume"
|
||||
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
|
||||
msgid "Log in as another user"
|
||||
msgstr "Басқа пайдаланушы ретінде жүйеге кіру"
|
||||
@ -1794,11 +1903,11 @@ msgstr "Басқа пайдаланушы ретінде жүйеге кіру"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Блоктауды алу терезесі"
|
||||
|
||||
#: js/ui/viewSelector.js:183
|
||||
#: js/ui/viewSelector.js:190
|
||||
msgid "Applications"
|
||||
msgstr "Қолданбалар"
|
||||
|
||||
#: js/ui/viewSelector.js:187
|
||||
#: js/ui/viewSelector.js:194
|
||||
msgid "Search"
|
||||
msgstr "Іздеу"
|
||||
|
||||
@ -1807,22 +1916,22 @@ msgstr "Іздеу"
|
||||
msgid "“%s” is ready"
|
||||
msgstr "\"%s\" дайын"
|
||||
|
||||
#: js/ui/windowManager.js:71
|
||||
#: js/ui/windowManager.js:72
|
||||
msgid "Do you want to keep these display settings?"
|
||||
msgstr "Экранның бұл баптауларын сақтауды қалайсыз ба?"
|
||||
|
||||
#. Translators: this and the following message should be limited in lenght,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#: js/ui/windowManager.js:83
|
||||
#: js/ui/windowManager.js:84
|
||||
msgid "Revert Settings"
|
||||
msgstr "Баптауларды қалпына келтіру"
|
||||
|
||||
#: js/ui/windowManager.js:86
|
||||
#: js/ui/windowManager.js:87
|
||||
msgid "Keep Changes"
|
||||
msgstr "Өзгерістерді сақтау"
|
||||
|
||||
#: js/ui/windowManager.js:104
|
||||
#: js/ui/windowManager.js:105
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
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
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:659
|
||||
#: js/ui/windowManager.js:660
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@ -1908,19 +2017,19 @@ msgstr "Evolution күнтізбесі"
|
||||
msgid "evolution"
|
||||
msgstr "evolution"
|
||||
|
||||
#: src/main.c:372
|
||||
#: src/main.c:380
|
||||
msgid "Print version"
|
||||
msgstr "Баспа нұсқасы"
|
||||
|
||||
#: src/main.c:378
|
||||
#: src/main.c:386
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "GDM жүйеге кіру экраны үшін қолданатын режимі"
|
||||
|
||||
#: src/main.c:384
|
||||
#: src/main.c:392
|
||||
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
||||
msgstr "Жүйеге кіру экраны үшін арнайы режимді, мыс. \"gdm\", қолдану"
|
||||
|
||||
#: src/main.c:390
|
||||
#: src/main.c:398
|
||||
msgid "List possible modes"
|
||||
msgstr "Қолжетерлік режимдерді тізіп шығу"
|
||||
|
||||
@ -1966,6 +2075,12 @@ msgstr[0] "%u кірісі"
|
||||
msgid "System Sounds"
|
||||
msgstr "Жүйелік дыбыстар"
|
||||
|
||||
#~ msgid "Hide tray"
|
||||
#~ msgstr "Жүйелік трейді жасыру"
|
||||
|
||||
#~ msgid "Status Icons"
|
||||
#~ msgstr "Қалып-күй таңбашалары"
|
||||
|
||||
#~ msgid "Events"
|
||||
#~ msgstr "Оқиғалар"
|
||||
|
||||
|
333
po/lt.po
333
po/lt.po
@ -11,8 +11,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-07-20 03:49+0000\n"
|
||||
"PO-Revision-Date: 2017-07-24 23:45+0300\n"
|
||||
"POT-Creation-Date: 2017-08-22 11:17+0000\n"
|
||||
"PO-Revision-Date: 2017-08-22 23:13+0300\n"
|
||||
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
|
||||
"Language-Team: Lietuvių <gnome-lt@lists.akl.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/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:148
|
||||
#: 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"
|
||||
msgstr "Atsisakyti"
|
||||
|
||||
@ -398,6 +398,80 @@ msgstr "Tapatybės patvirtinimo klaida"
|
||||
msgid "(or swipe finger)"
|
||||
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
|
||||
msgid "Command not found"
|
||||
msgstr "Komanda nerasta"
|
||||
@ -562,35 +636,35 @@ msgstr "Atmesti prieigą"
|
||||
msgid "Grant Access"
|
||||
msgstr "Suteikti prieigą"
|
||||
|
||||
#: js/ui/appDisplay.js:806
|
||||
#: js/ui/appDisplay.js:809
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Čia bus matomos dažnai naudojamos programos"
|
||||
|
||||
#: js/ui/appDisplay.js:927
|
||||
#: js/ui/appDisplay.js:930
|
||||
msgid "Frequent"
|
||||
msgstr "Dažnai naudojamos"
|
||||
|
||||
#: js/ui/appDisplay.js:934
|
||||
#: js/ui/appDisplay.js:937
|
||||
msgid "All"
|
||||
msgstr "Visos"
|
||||
|
||||
#: js/ui/appDisplay.js:1895
|
||||
#: js/ui/appDisplay.js:1915
|
||||
msgid "New Window"
|
||||
msgstr "Naujas langas"
|
||||
|
||||
#: js/ui/appDisplay.js:1909
|
||||
#: js/ui/appDisplay.js:1929
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
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"
|
||||
msgstr "Pašalinti iš mėgstamų"
|
||||
|
||||
#: js/ui/appDisplay.js:1942
|
||||
#: js/ui/appDisplay.js:1962
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Pridėti prie mėgstamų"
|
||||
|
||||
#: js/ui/appDisplay.js:1952
|
||||
#: js/ui/appDisplay.js:1972
|
||||
msgid "Show Details"
|
||||
msgstr "Rodyti detalią informaciją"
|
||||
|
||||
@ -632,7 +706,7 @@ msgstr "Keisti foną…"
|
||||
msgid "Display Settings"
|
||||
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"
|
||||
msgstr "Nustatymai"
|
||||
|
||||
@ -739,7 +813,6 @@ msgstr "Viską išvalyti"
|
||||
#. Translators: %s is an application name
|
||||
#: js/ui/closeDialog.js:44
|
||||
#, javascript-format
|
||||
#| msgid "“%s” is ready"
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "„%s“ neatsiliepia."
|
||||
|
||||
@ -780,8 +853,8 @@ msgstr "Slaptažodis:"
|
||||
msgid "Type again:"
|
||||
msgstr "Įveskite dar kartą:"
|
||||
|
||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:272
|
||||
#: js/ui/status/network.js:366 js/ui/status/network.js:950
|
||||
#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:261
|
||||
#: js/ui/status/network.js:355 js/ui/status/network.js:939
|
||||
msgid "Connect"
|
||||
msgstr "Prisijungti"
|
||||
|
||||
@ -856,7 +929,7 @@ msgstr "Mobiliojo plačiajuosčio tinklo slaptažodis"
|
||||
msgid "A password is required to connect to “%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"
|
||||
msgstr "Tinklo tvarkymas"
|
||||
|
||||
@ -887,7 +960,7 @@ msgstr "Atsiprašome, tai nesuveikė. Bandykite dar kartą."
|
||||
msgid "%s is now known as %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"
|
||||
msgstr "Langai"
|
||||
|
||||
@ -932,7 +1005,7 @@ msgstr "Orai"
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:281
|
||||
#: js/ui/dateMenu.js:286
|
||||
#, javascript-format
|
||||
msgid "%s all day."
|
||||
msgstr "%s visą dieną."
|
||||
@ -941,7 +1014,7 @@ msgstr "%s visą dieną."
|
||||
#. libgweather for the possible condition strings. If at all
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:287
|
||||
#: js/ui/dateMenu.js:292
|
||||
#, javascript-format
|
||||
msgid "%s, then %s later."
|
||||
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
|
||||
#. possible, the sentence should match the grammatical case etc. of
|
||||
#. the inserted conditions.
|
||||
#: js/ui/dateMenu.js:293
|
||||
#: js/ui/dateMenu.js:298
|
||||
#, javascript-format
|
||||
msgid "%s, then %s, followed by %s later."
|
||||
msgstr "%s, tuomet %s, o po to vėliau %s."
|
||||
|
||||
#: js/ui/dateMenu.js:300
|
||||
#: js/ui/dateMenu.js:309
|
||||
msgid "Select a location…"
|
||||
msgstr "Pasirinkite vietą…"
|
||||
|
||||
#: js/ui/dateMenu.js:303
|
||||
#: js/ui/dateMenu.js:312
|
||||
msgid "Loading…"
|
||||
msgstr "Įkeliama…"
|
||||
|
||||
#. Translators: %s is a temperature with unit, e.g. "23℃"
|
||||
#: js/ui/dateMenu.js:309
|
||||
#: js/ui/dateMenu.js:318
|
||||
#, javascript-format
|
||||
msgid "Feels like %s."
|
||||
msgstr "Jaučiama kaip %s."
|
||||
|
||||
#: js/ui/dateMenu.js:312
|
||||
#: js/ui/dateMenu.js:321
|
||||
msgid "Go online for weather information"
|
||||
msgstr "Prisijunkite prie tinklo orų informacijai gauti"
|
||||
|
||||
#: js/ui/dateMenu.js:314
|
||||
#: js/ui/dateMenu.js:323
|
||||
msgid "Weather information is currently unavailable"
|
||||
msgstr "Orų informacija šiuo metu yra neprieinama"
|
||||
|
||||
@ -1140,19 +1213,34 @@ msgstr "Įdiegti"
|
||||
msgid "Download and install “%s” from 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"
|
||||
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
|
||||
msgid "No extensions installed"
|
||||
msgstr "Nėra įdiegtų plėtinių"
|
||||
@ -1341,7 +1429,7 @@ msgstr[0] "%d naujas pranešimas"
|
||||
msgstr[1] "%d nauji pranešimai"
|
||||
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"
|
||||
msgstr "Užrakinti"
|
||||
|
||||
@ -1372,10 +1460,13 @@ msgstr "Ieškoma…"
|
||||
msgid "No results."
|
||||
msgstr "Nerasta atitikmenų."
|
||||
|
||||
#: js/ui/search.js:768
|
||||
#: js/ui/search.js:777
|
||||
#, javascript-format
|
||||
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
|
||||
msgid "Copy"
|
||||
@ -1449,7 +1540,7 @@ msgstr "Didelis tekstas"
|
||||
msgid "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"
|
||||
msgstr "Bluetooth nustatymai"
|
||||
|
||||
@ -1470,13 +1561,13 @@ msgstr "Išjungta"
|
||||
msgid "On"
|
||||
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"
|
||||
msgstr "Įjungti"
|
||||
|
||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
|
||||
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
|
||||
#: js/ui/status/network.js:1429 js/ui/status/nightLight.js:47
|
||||
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:170
|
||||
#: js/ui/status/network.js:356 js/ui/status/network.js:1299
|
||||
#: js/ui/status/network.js:1418 js/ui/status/nightLight.js:47
|
||||
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Išjungti"
|
||||
@ -1528,13 +1619,13 @@ msgid "<unknown>"
|
||||
msgstr "<nežinoma>"
|
||||
|
||||
#. 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
|
||||
msgid "%s Off"
|
||||
msgstr "%s išjungtas"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:468
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
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
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||
#. %s is a network identifier
|
||||
#: js/ui/status/network.js:473
|
||||
#: js/ui/status/network.js:462
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s netvarkomas"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:476
|
||||
#: js/ui/status/network.js:465
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "Atsijungiama nuo %s"
|
||||
|
||||
#. 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
|
||||
msgid "%s Connecting"
|
||||
msgstr "Jungiamasi prie %s"
|
||||
|
||||
#. 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
|
||||
msgid "%s Requires Authentication"
|
||||
msgstr "%s reikalauja patvirtinti tapatybę"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing; %s is a network identifier
|
||||
#: js/ui/status/network.js:494
|
||||
#: js/ui/status/network.js:483
|
||||
#, javascript-format
|
||||
msgid "Firmware Missing For %s"
|
||||
msgstr "%s trūksta integruotos programinės įrangos"
|
||||
|
||||
#. 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
|
||||
#: js/ui/status/network.js:498
|
||||
#: js/ui/status/network.js:487
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s nepasiekiamas"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:501
|
||||
#: js/ui/status/network.js:490
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "Nepavyko prisijungti prie %s"
|
||||
|
||||
#: js/ui/status/network.js:517
|
||||
#: js/ui/status/network.js:506
|
||||
msgid "Wired Settings"
|
||||
msgstr "Laidinio ryšio nustatymai"
|
||||
|
||||
#: js/ui/status/network.js:559
|
||||
#: js/ui/status/network.js:548
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Mobiliojo plačiajuosčio tinklo nustatymai"
|
||||
|
||||
#. 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
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s aparatinė įranga išjungta"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||
#: js/ui/status/network.js:606
|
||||
#: js/ui/status/network.js:595
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s išjungtas"
|
||||
|
||||
#: js/ui/status/network.js:646
|
||||
#: js/ui/status/network.js:635
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Prisijungti prie interneto"
|
||||
|
||||
#: js/ui/status/network.js:844
|
||||
#: js/ui/status/network.js:833
|
||||
msgid "Airplane Mode is On"
|
||||
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."
|
||||
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"
|
||||
msgstr "Išjungti skrydžio veikseną"
|
||||
|
||||
#: js/ui/status/network.js:855
|
||||
#: js/ui/status/network.js:844
|
||||
msgid "Wi-Fi is Off"
|
||||
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."
|
||||
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"
|
||||
msgstr "Įjungti belaidį ryšį"
|
||||
|
||||
#: js/ui/status/network.js:882
|
||||
#: js/ui/status/network.js:871
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Wi-Fi tinklai"
|
||||
|
||||
#: js/ui/status/network.js:884
|
||||
#: js/ui/status/network.js:873
|
||||
msgid "Select a network"
|
||||
msgstr "Pasirinkite tinklą"
|
||||
|
||||
#: js/ui/status/network.js:914
|
||||
#: js/ui/status/network.js:903
|
||||
msgid "No Networks"
|
||||
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"
|
||||
msgstr "Išjungimui naudoti aparatinį jungiklį"
|
||||
|
||||
#: js/ui/status/network.js:1202
|
||||
#: js/ui/status/network.js:1191
|
||||
msgid "Select Network"
|
||||
msgstr "Pasirinkite tinklą"
|
||||
|
||||
#: js/ui/status/network.js:1208
|
||||
#: js/ui/status/network.js:1197
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Belaidžio ryšio nustatymai"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1327
|
||||
#: js/ui/status/network.js:1316
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Prieigos taškas %s aktyvus"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1342
|
||||
#: js/ui/status/network.js:1331
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "Neprisijungta prie %s"
|
||||
|
||||
#: js/ui/status/network.js:1446
|
||||
#: js/ui/status/network.js:1435
|
||||
msgid "connecting…"
|
||||
msgstr "jungiamasi…"
|
||||
|
||||
#. 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"
|
||||
msgstr "reikia patvirtinti tapatybę"
|
||||
|
||||
#: js/ui/status/network.js:1451
|
||||
#: js/ui/status/network.js:1440
|
||||
msgid "connection failed"
|
||||
msgstr "nepavyko prisijungti"
|
||||
|
||||
#: js/ui/status/network.js:1517 js/ui/status/network.js:1612
|
||||
#: js/ui/status/rfkill.js:93
|
||||
msgid "Network Settings"
|
||||
msgstr "Tinklo nustatymai"
|
||||
|
||||
#: js/ui/status/network.js:1519
|
||||
#: js/ui/status/network.js:1494
|
||||
msgid "VPN Settings"
|
||||
msgstr "VPN nustatymai"
|
||||
|
||||
#: js/ui/status/network.js:1538
|
||||
#: js/ui/status/network.js:1498
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1548
|
||||
#: js/ui/status/network.js:1508
|
||||
msgid "VPN Off"
|
||||
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
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
@ -1708,7 +1798,7 @@ msgstr[0] "%s laidinis ryšys"
|
||||
msgstr[1] "%s laidiniai ryšiai"
|
||||
msgstr[2] "%s laidinių ryšių"
|
||||
|
||||
#: js/ui/status/network.js:1647
|
||||
#: js/ui/status/network.js:1607
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
@ -1716,7 +1806,7 @@ msgstr[0] "%s belaidis ryšys"
|
||||
msgstr[1] "%s belaidžiai ryšiai"
|
||||
msgstr[2] "%s belaidžių ryšių"
|
||||
|
||||
#: js/ui/status/network.js:1651
|
||||
#: js/ui/status/network.js:1611
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
@ -1724,11 +1814,11 @@ msgstr[0] "%s modemo ryšys"
|
||||
msgstr[1] "%s modemo ryšiai"
|
||||
msgstr[2] "%s modemo ryšių"
|
||||
|
||||
#: js/ui/status/network.js:1799
|
||||
#: js/ui/status/network.js:1759
|
||||
msgid "Connection failed"
|
||||
msgstr "Nepavyko prisijungti"
|
||||
|
||||
#: js/ui/status/network.js:1800
|
||||
#: js/ui/status/network.js:1760
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Tinklo ryšio nepavyko aktyvuoti"
|
||||
|
||||
@ -1786,27 +1876,27 @@ msgstr "%d %%"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Skrydžio veiksena įjungta"
|
||||
|
||||
#: js/ui/status/system.js:384
|
||||
#: js/ui/status/system.js:228
|
||||
msgid "Switch User"
|
||||
msgstr "Keisti naudotoją"
|
||||
|
||||
#: js/ui/status/system.js:389
|
||||
#: js/ui/status/system.js:240
|
||||
msgid "Log Out"
|
||||
msgstr "Atsijungti"
|
||||
|
||||
#: js/ui/status/system.js:394
|
||||
#: js/ui/status/system.js:252
|
||||
msgid "Account Settings"
|
||||
msgstr "Paskyros nustatymai"
|
||||
|
||||
#: js/ui/status/system.js:411
|
||||
#: js/ui/status/system.js:269
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Padėties užrakinimas"
|
||||
|
||||
#: js/ui/status/system.js:419
|
||||
#: js/ui/status/system.js:295
|
||||
msgid "Suspend"
|
||||
msgstr "Pristabdyti"
|
||||
|
||||
#: js/ui/status/system.js:422
|
||||
#: js/ui/status/system.js:305
|
||||
msgid "Power Off"
|
||||
msgstr "Išjungti"
|
||||
|
||||
@ -1818,6 +1908,35 @@ msgstr "Garsumas pakeistas"
|
||||
msgid "Volume"
|
||||
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
|
||||
msgid "Log in as another user"
|
||||
msgstr "Prisijungti kitu naudotoju"
|
||||
@ -1826,11 +1945,11 @@ msgstr "Prisijungti kitu naudotoju"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Atrakinimo langas"
|
||||
|
||||
#: js/ui/viewSelector.js:183
|
||||
#: js/ui/viewSelector.js:190
|
||||
msgid "Applications"
|
||||
msgstr "Programos"
|
||||
|
||||
#: js/ui/viewSelector.js:187
|
||||
#: js/ui/viewSelector.js:194
|
||||
msgid "Search"
|
||||
msgstr "Ieškoti"
|
||||
|
||||
@ -1839,22 +1958,22 @@ msgstr "Ieškoti"
|
||||
msgid "“%s” is ready"
|
||||
msgstr "„%s“ yra pasirengusi"
|
||||
|
||||
#: js/ui/windowManager.js:71
|
||||
#: js/ui/windowManager.js:72
|
||||
msgid "Do you want to keep these display settings?"
|
||||
msgstr "Ar norite įrašyti šiuos vaizduoklio nustatymus?"
|
||||
|
||||
#. Translators: this and the following message should be limited in lenght,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#: js/ui/windowManager.js:83
|
||||
#: js/ui/windowManager.js:84
|
||||
msgid "Revert Settings"
|
||||
msgstr "Grąžinti nustatymus"
|
||||
|
||||
#: js/ui/windowManager.js:86
|
||||
#: js/ui/windowManager.js:87
|
||||
msgid "Keep Changes"
|
||||
msgstr "Įrašyti pakeitimus"
|
||||
|
||||
#: js/ui/windowManager.js:104
|
||||
#: js/ui/windowManager.js:105
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
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
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:659
|
||||
#: js/ui/windowManager.js:660
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@ -1942,19 +2061,19 @@ msgstr "Evolution kalendorius"
|
||||
msgid "evolution"
|
||||
msgstr "evolution"
|
||||
|
||||
#: src/main.c:372
|
||||
#: src/main.c:380
|
||||
msgid "Print version"
|
||||
msgstr "Išvesti versijos numerį"
|
||||
|
||||
#: src/main.c:378
|
||||
#: src/main.c:386
|
||||
msgid "Mode used by GDM for login screen"
|
||||
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"
|
||||
msgstr "Naudoti konkrečią veikseną, pvz., „gdm“ prisijungimo ekranui"
|
||||
|
||||
#: src/main.c:390
|
||||
#: src/main.c:398
|
||||
msgid "List possible modes"
|
||||
msgstr "Išvardinti galimas veiksenas"
|
||||
|
||||
@ -2004,6 +2123,12 @@ msgstr[2] "%u įvesčių"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sistemos garsai"
|
||||
|
||||
#~ msgid "Hide tray"
|
||||
#~ msgstr "Slėpti dėklą"
|
||||
|
||||
#~ msgid "Status Icons"
|
||||
#~ msgstr "Būsenos piktogramos"
|
||||
|
||||
#~ msgid "Events"
|
||||
#~ 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)!
|
||||
#: src/calendar-server/evolution-calendar.desktop.in:6
|
||||
msgid "evolution"
|
||||
msgstr "इभोल्युसन"
|
||||
msgstr "evolution"
|
||||
|
||||
#: src/main.c:372
|
||||
msgid "Print version"
|
||||
|
564
po/pt_BR.po
564
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
595
po/sr@latin.po
595
po/sr@latin.po
File diff suppressed because it is too large
Load Diff
657
po/zh_TW.po
657
po/zh_TW.po
File diff suppressed because it is too large
Load Diff
@ -1,39 +0,0 @@
|
||||
service_in_files += calendar-server/org.gnome.Shell.CalendarServer.service.in
|
||||
|
||||
libexec_PROGRAMS += gnome-shell-calendar-server
|
||||
|
||||
gnome_shell_calendar_server_SOURCES = \
|
||||
calendar-server/calendar-debug.h \
|
||||
calendar-server/calendar-sources.c calendar-server/calendar-sources.h \
|
||||
calendar-server/gnome-shell-calendar-server.c \
|
||||
$(NULL)
|
||||
|
||||
desktopdir=$(datadir)/applications
|
||||
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
|
||||
desktop_in_files = calendar-server/evolution-calendar.desktop.in
|
||||
|
||||
%.desktop:%.desktop.in
|
||||
@$(MKDIR_P) $(builddir)/calendar-server
|
||||
$(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
|
||||
|
||||
gnome_shell_calendar_server_CFLAGS = \
|
||||
-I$(top_srcdir)/src \
|
||||
-DPREFIX=\""$(prefix)"\" \
|
||||
-DLIBDIR=\""$(libdir)"\" \
|
||||
-DDATADIR=\""$(datadir)"\" \
|
||||
-DG_LOG_DOMAIN=\"ShellCalendarServer\" \
|
||||
$(CALENDAR_SERVER_CFLAGS) \
|
||||
$(NULL)
|
||||
|
||||
gnome_shell_calendar_server_LDADD = \
|
||||
$(CALENDAR_SERVER_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
EXTRA_DIST += \
|
||||
calendar-server/README \
|
||||
calendar-server/org.gnome.Shell.CalendarServer.service.in \
|
||||
$(desktop_in_files) \
|
||||
$(NULL)
|
||||
|
||||
CLEANFILES += \
|
||||
$(desktop_DATA)
|
@ -1,23 +0,0 @@
|
||||
service_in_files += hotplug-sniffer/org.gnome.Shell.HotplugSniffer.service.in
|
||||
|
||||
libexec_PROGRAMS += gnome-shell-hotplug-sniffer
|
||||
|
||||
gnome_shell_hotplug_sniffer_SOURCES = \
|
||||
hotplug-sniffer/hotplug-mimetypes.h \
|
||||
hotplug-sniffer/shell-mime-sniffer.h \
|
||||
hotplug-sniffer/shell-mime-sniffer.c \
|
||||
hotplug-sniffer/hotplug-sniffer.c \
|
||||
$(NULL)
|
||||
|
||||
gnome_shell_hotplug_sniffer_CFLAGS = \
|
||||
-I$(top_srcdir)/src \
|
||||
$(SHELL_HOTPLUG_SNIFFER_CFLAGS) \
|
||||
$(NULL)
|
||||
|
||||
gnome_shell_hotplug_sniffer_LDFLAGS = \
|
||||
$(SHELL_HOTPLUG_SNIFFER_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
EXTRA_DIST += \
|
||||
hotplug-sniffer/org.gnome.Shell.HotplugSniffer.service.in \
|
||||
$(NULL)
|
@ -1,169 +0,0 @@
|
||||
st_cflags = \
|
||||
-I$(top_srcdir)/src \
|
||||
-DPREFIX=\""$(prefix)"\" \
|
||||
-DLIBDIR=\""$(libdir)"\" \
|
||||
-DG_LOG_DOMAIN=\"St\" \
|
||||
-DST_COMPILATION \
|
||||
-DCLUTTER_ENABLE_EXPERIMENTAL_API \
|
||||
-DCOGL_ENABLE_EXPERIMENTAL_API \
|
||||
-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \
|
||||
$(ST_CFLAGS) \
|
||||
$(NULL)
|
||||
|
||||
st_built_sources = \
|
||||
st-enum-types.h \
|
||||
st-enum-types.c
|
||||
|
||||
BUILT_SOURCES += $(st_built_sources)
|
||||
|
||||
EXTRA_DIST += \
|
||||
st/test-theme.css \
|
||||
st/st-enum-types.h.in \
|
||||
st/st-enum-types.c.in
|
||||
|
||||
CLEANFILES += stamp-st-enum-types.h
|
||||
|
||||
st-enum-types.h: stamp-st-enum-types.h Makefile
|
||||
@true
|
||||
stamp-st-enum-types.h: $(source_h) $(srcdir)/st/st-enum-types.h.in $(st_source_h)
|
||||
$(AM_V_GEN) ( \
|
||||
$(GLIB_MKENUMS) \
|
||||
--template $(srcdir)/st/st-enum-types.h.in \
|
||||
$(addprefix $(srcdir)/, $(st_source_h)) ) >> $@.tmp && \
|
||||
(cmp -s $@.tmp st-enum-types.h || cp $@.tmp st-enum-types.h) && \
|
||||
rm -f $@.tmp && \
|
||||
echo timestamp > $(@F)
|
||||
|
||||
st-enum-types.c: stamp-st-enum-types.h $(srcdir)/st/st-enum-types.c.in
|
||||
$(AM_V_GEN) ( \
|
||||
$(GLIB_MKENUMS) \
|
||||
--template $(srcdir)/st/st-enum-types.c.in \
|
||||
$(addprefix $(srcdir)/,$(st_source_h)) ) >> $@.tmp && \
|
||||
cp $@.tmp $@ && \
|
||||
rm -f $@.tmp
|
||||
|
||||
# please, keep this sorted alphabetically
|
||||
st_source_h = \
|
||||
st/st-adjustment.h \
|
||||
st/st-bin.h \
|
||||
st/st-border-image.h \
|
||||
st/st-box-layout.h \
|
||||
st/st-box-layout-child.h \
|
||||
st/st-button.h \
|
||||
st/st-clipboard.h \
|
||||
st/st-drawing-area.h \
|
||||
st/st-entry.h \
|
||||
st/st-focus-manager.h \
|
||||
st/st-generic-accessible.h \
|
||||
st/st-icon.h \
|
||||
st/st-icon-colors.h \
|
||||
st/st-im-text.h \
|
||||
st/st-label.h \
|
||||
st/st-private.h \
|
||||
st/st-scrollable.h \
|
||||
st/st-scroll-bar.h \
|
||||
st/st-scroll-view.h \
|
||||
st/st-shadow.h \
|
||||
st/st-texture-cache.h \
|
||||
st/st-theme.h \
|
||||
st/st-theme-context.h \
|
||||
st/st-theme-node.h \
|
||||
st/st-types.h \
|
||||
st/st-widget.h \
|
||||
st/st-widget-accessible.h \
|
||||
$(NULL)
|
||||
|
||||
st.h: stamp-st.h
|
||||
@true
|
||||
stamp-st.h: Makefile
|
||||
$(AM_V_GEN) (echo "#define ST_H_INSIDE 1"; \
|
||||
for name in $(st_source_h); do \
|
||||
echo "#include <"$$name">"; \
|
||||
done; echo "#undef ST_H_INSIDE") > $@.tmp && \
|
||||
(cmp -s $@.tmp st.h || cp $@.tmp st.h) && \
|
||||
rm -f $@.tmp && \
|
||||
echo timestamp > $(@F)
|
||||
|
||||
BUILT_SOURCES += st.h
|
||||
CLEANFILES += stamp-st.h
|
||||
|
||||
st-scroll-view-fade-generated.c: stamp-st-scroll-view-fade-generated.c
|
||||
@true
|
||||
stamp-st-scroll-view-fade-generated.c: $(srcdir)/st/st-scroll-view-fade.glsl $(srcdir)/data-to-c.pl
|
||||
$(AM_V_GEN) $(srcdir)/data-to-c.pl $(srcdir)/st/st-scroll-view-fade.glsl st_scroll_view_fade_glsl > $@.tmp && \
|
||||
(cmp -s $@.tmp st-scroll-view-fade-generated.c || cp $@.tmp st-scroll-view-fade-generated.c) && \
|
||||
rm -f $@.tmp && \
|
||||
echo timestamp > $(@F)
|
||||
|
||||
BUILT_SOURCES += st-scroll-view-fade-generated.c
|
||||
CLEANFILES += stamp-st-scroll-view-fade-generated.c
|
||||
EXTRA_DIST += \
|
||||
st/st-scroll-view-fade.glsl \
|
||||
data-to-c.pl \
|
||||
$(NULL)
|
||||
|
||||
st_source_private_h = \
|
||||
st/st-private.h \
|
||||
st/st-theme-private.h \
|
||||
st/st-theme-node-private.h \
|
||||
st/st-theme-node-transition.h
|
||||
|
||||
# please, keep this sorted alphabetically
|
||||
st_source_c = \
|
||||
st/st-adjustment.c \
|
||||
st/st-bin.c \
|
||||
st/st-border-image.c \
|
||||
st/st-box-layout.c \
|
||||
st/st-box-layout-child.c \
|
||||
st/st-button.c \
|
||||
st/st-clipboard.c \
|
||||
st/st-drawing-area.c \
|
||||
st/st-entry.c \
|
||||
st/st-focus-manager.c \
|
||||
st/st-generic-accessible.c \
|
||||
st/st-icon.c \
|
||||
st/st-icon-colors.c \
|
||||
st/st-im-text.c \
|
||||
st/st-label.c \
|
||||
st/st-private.c \
|
||||
st/st-scrollable.c \
|
||||
st/st-scroll-bar.c \
|
||||
st/st-scroll-view.c \
|
||||
st/st-shadow.c \
|
||||
st/st-texture-cache.c \
|
||||
st/st-theme.c \
|
||||
st/st-theme-context.c \
|
||||
st/st-theme-node.c \
|
||||
st/st-theme-node-drawing.c \
|
||||
st/st-theme-node-transition.c \
|
||||
st/st-widget.c \
|
||||
$(NULL)
|
||||
|
||||
st_non_gir_sources = \
|
||||
st/st-scroll-view-fade.c \
|
||||
st/st-scroll-view-fade.h \
|
||||
$(NULL)
|
||||
|
||||
noinst_LTLIBRARIES += libst-1.0.la
|
||||
|
||||
libst_1_0_la_LIBADD = -lm $(ST_LIBS)
|
||||
libst_1_0_la_SOURCES = \
|
||||
$(st_source_c) \
|
||||
$(st_non_gir_sources) \
|
||||
$(st_source_private_h) \
|
||||
$(st_source_private_c) \
|
||||
$(st_source_h) \
|
||||
$(NULL)
|
||||
nodist_libst_1_0_la_SOURCES = \
|
||||
$(st_built_sources) \
|
||||
st.h \
|
||||
$(NULL)
|
||||
libst_1_0_la_CPPFLAGS = $(st_cflags)
|
||||
libst_1_0_la_LDFLAGS = $(LDADD)
|
||||
|
||||
noinst_PROGRAMS += test-theme
|
||||
|
||||
test_theme_CPPFLAGS = $(st_cflags)
|
||||
test_theme_LDADD = libst-1.0.la
|
||||
|
||||
test_theme_SOURCES = st/test-theme.c
|
@ -1,24 +0,0 @@
|
||||
tray_cflags = \
|
||||
-I$(top_srcdir)/src \
|
||||
-DG_LOG_DOMAIN=\"notification_area\" \
|
||||
$(TRAY_CFLAGS) \
|
||||
$(NULL)
|
||||
|
||||
# please, keep this sorted alphabetically
|
||||
tray_source = \
|
||||
tray/na-tray-child.c \
|
||||
tray/na-tray-child.h \
|
||||
tray/na-tray-manager.c \
|
||||
tray/na-tray-manager.h \
|
||||
$(NULL)
|
||||
|
||||
noinst_LTLIBRARIES += libtray.la
|
||||
|
||||
libtray_la_LIBADD = $(TRAY_LIBS)
|
||||
libtray_la_SOURCES = \
|
||||
$(tray_source) \
|
||||
$(NULL)
|
||||
libtray_la_CPPFLAGS = $(tray_cflags)
|
||||
libtray_la_LDFLAGS = $(LDADD)
|
||||
|
||||
CLEANFILES += $(TRAY_STAMP_FILES) $(BUILT_SOURCES)
|
349
src/Makefile.am
349
src/Makefile.am
@ -1,349 +0,0 @@
|
||||
NULL =
|
||||
BUILT_SOURCES =
|
||||
CLEANFILES =
|
||||
EXTRA_DIST =
|
||||
bin_SCRIPTS =
|
||||
libexec_PROGRAMS =
|
||||
noinst_LTLIBRARIES =
|
||||
noinst_PROGRAMS =
|
||||
service_in_files =
|
||||
|
||||
-include $(INTROSPECTION_MAKEFILE)
|
||||
INTROSPECTION_GIRS =
|
||||
INTROSPECTION_SCANNER_ARGS = --warn-all --warn-error --add-include-path=$(srcdir) --add-include-path=$(MUTTER_GIR_DIR) -L$(MUTTER_TYPELIB_DIR)
|
||||
INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) --includedir=$(MUTTER_TYPELIB_DIR)
|
||||
|
||||
typelibdir = $(pkglibdir)
|
||||
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
|
||||
|
||||
servicedir = $(datadir)/dbus-1/services
|
||||
service_DATA = $(service_in_files:.service.in=.service)
|
||||
|
||||
%.service: %.service.in Makefile
|
||||
$(AM_V_GEN) \
|
||||
[ -d $(@D) ] || $(mkdir_p) $(@D) ; \
|
||||
sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@.tmp && mv $@.tmp $@
|
||||
CLEANFILES += $(service_DATA)
|
||||
|
||||
CLEANFILES += $(gir_DATA) $(typelib_DATA)
|
||||
|
||||
bin_SCRIPTS += gnome-shell-extension-tool gnome-shell-perf-tool
|
||||
EXTRA_DIST += gnome-shell-extension-tool.in gnome-shell-perf-tool.in
|
||||
bin_PROGRAMS = gnome-shell gnome-shell-extension-prefs
|
||||
|
||||
generated_script_substitutions = \
|
||||
-e "s|@bindir[@]|$(bindir)|g" \
|
||||
-e "s|@datadir[@]|$(datadir)|g" \
|
||||
-e "s|@libexecdir[@]|$(libexecdir)|g" \
|
||||
-e "s|@libdir[@]|$(libdir)|g" \
|
||||
-e "s|@pkglibdir[@]|$(pkglibdir)|g" \
|
||||
-e "s|@pkgdatadir[@]|$(pkgdatadir)|g" \
|
||||
-e "s|@PYTHON[@]|$(PYTHON)|g" \
|
||||
-e "s|@VERSION[@]|$(VERSION)|g" \
|
||||
-e "s|@sysconfdir[@]|$(sysconfdir)|g"
|
||||
|
||||
gnome-shell-extension-tool: gnome-shell-extension-tool.in Makefile
|
||||
$(AM_V_GEN) sed $(generated_script_substitutions) $< > $@.tmp && mv $@.tmp $@ && chmod a+x $@
|
||||
|
||||
gnome-shell-perf-tool: gnome-shell-perf-tool.in Makefile
|
||||
$(AM_V_GEN) sed $(generated_script_substitutions) $< > $@.tmp && mv $@.tmp $@ && chmod a+x $@
|
||||
|
||||
org-gtk-application.c org-gtk-application.h: org.gtk.Application.xml Makefile
|
||||
$(AM_V_GEN) $(GDBUS_CODEGEN) \
|
||||
--generate-c-code org-gtk-application \
|
||||
--c-namespace Shell \
|
||||
$<
|
||||
|
||||
EXTRA_DIST += org.gtk.Application.xml
|
||||
CLEANFILES += gnome-shell $(bin_SCRIPTS)
|
||||
|
||||
include Makefile-st.am
|
||||
include Makefile-tray.am
|
||||
include Makefile-calendar-server.am
|
||||
include Makefile-hotplug-sniffer.am
|
||||
|
||||
gnome_shell_cflags = \
|
||||
$(GNOME_SHELL_CFLAGS) \
|
||||
-I$(srcdir)/tray \
|
||||
-DCLUTTER_ENABLE_EXPERIMENTAL_API \
|
||||
-DCOGL_ENABLE_EXPERIMENTAL_API \
|
||||
-DVERSION=\"$(VERSION)\" \
|
||||
-DLOCALEDIR=\"$(datadir)/locale\" \
|
||||
-DDATADIR=\"$(datadir)\" \
|
||||
-DGNOME_SHELL_LIBEXECDIR=\"$(libexecdir)\" \
|
||||
-DGNOME_SHELL_DATADIR=\"$(pkgdatadir)\" \
|
||||
-DGNOME_SHELL_PKGLIBDIR=\"$(pkglibdir)\"
|
||||
|
||||
privlibdir = $(pkglibdir)
|
||||
privlib_LTLIBRARIES = libgnome-shell-menu.la libgnome-shell.la
|
||||
|
||||
shell_built_sources = \
|
||||
org-gtk-application.h \
|
||||
org-gtk-application.c \
|
||||
shell-enum-types.h \
|
||||
shell-enum-types.c
|
||||
|
||||
BUILT_SOURCES += $(shell_built_sources)
|
||||
|
||||
shell_public_headers_h = \
|
||||
shell-app.h \
|
||||
shell-app-system.h \
|
||||
shell-app-usage.h \
|
||||
shell-embedded-window.h \
|
||||
shell-generic-container.h \
|
||||
shell-glsl-quad.h \
|
||||
shell-gtk-embed.h \
|
||||
shell-global.h \
|
||||
shell-invert-lightness-effect.h \
|
||||
shell-action-modes.h \
|
||||
shell-mount-operation.h \
|
||||
shell-perf-log.h \
|
||||
shell-screenshot.h \
|
||||
shell-stack.h \
|
||||
shell-tray-icon.h \
|
||||
shell-tray-manager.h \
|
||||
shell-util.h \
|
||||
shell-window-tracker.h \
|
||||
shell-wm.h \
|
||||
$(NULL)
|
||||
|
||||
if HAVE_NETWORKMANAGER
|
||||
shell_public_headers_h += shell-network-agent.h
|
||||
endif
|
||||
|
||||
libgnome_shell_menu_la_SOURCES = \
|
||||
gtkactionmuxer.h \
|
||||
gtkactionmuxer.c \
|
||||
gtkactionobservable.h \
|
||||
gtkactionobservable.c \
|
||||
gtkactionobserver.h \
|
||||
gtkactionobserver.c \
|
||||
gtkmenutrackeritem.c \
|
||||
gtkmenutrackeritem.h \
|
||||
gtkmenutracker.c \
|
||||
gtkmenutracker.h \
|
||||
$(NULL)
|
||||
|
||||
libgnome_shell_sources = \
|
||||
$(shell_public_headers_h) \
|
||||
$(shell_private_sources) \
|
||||
gnome-shell-plugin.c \
|
||||
shell-app.c \
|
||||
shell-app-private.h \
|
||||
shell-app-system.c \
|
||||
shell-app-system-private.h \
|
||||
shell-app-usage.c \
|
||||
shell-embedded-window-private.h \
|
||||
shell-embedded-window.c \
|
||||
shell-generic-container.c \
|
||||
shell-global.c \
|
||||
shell-global-private.h \
|
||||
shell-glsl-quad.c \
|
||||
shell-gtk-embed.c \
|
||||
shell-invert-lightness-effect.c \
|
||||
shell-keyring-prompt.h \
|
||||
shell-keyring-prompt.c \
|
||||
shell-menu-tracker.c \
|
||||
shell-menu-tracker.h \
|
||||
shell-mount-operation.c \
|
||||
shell-perf-log.c \
|
||||
shell-polkit-authentication-agent.h \
|
||||
shell-polkit-authentication-agent.c \
|
||||
shell-screenshot.c \
|
||||
shell-secure-text-buffer.c \
|
||||
shell-secure-text-buffer.h \
|
||||
shell-stack.c \
|
||||
shell-tray-icon.c \
|
||||
shell-tray-manager.c \
|
||||
shell-util.c \
|
||||
shell-window-tracker.c \
|
||||
shell-window-tracker-private.h \
|
||||
shell-wm.c \
|
||||
shell-wm-private.h \
|
||||
$(NULL)
|
||||
|
||||
if HAVE_NETWORKMANAGER
|
||||
libgnome_shell_sources += shell-network-agent.c
|
||||
endif
|
||||
|
||||
|
||||
libgnome_shell_built_sources = \
|
||||
$(shell_built_sources) \
|
||||
$(top_builddir)/js/js-resources.c \
|
||||
$(top_builddir)/js/js-resources.h \
|
||||
$(NULL)
|
||||
|
||||
libgnome_shell_la_SOURCES = $(libgnome_shell_sources)
|
||||
nodist_libgnome_shell_la_SOURCES = $(libgnome_shell_built_sources)
|
||||
|
||||
shell_no_gir_sources = \
|
||||
org-gtk-application.h \
|
||||
org-gtk-application.c
|
||||
|
||||
libgnome_shell_la_gir_sources = \
|
||||
$(filter-out %-private.h $(shell_private_sources) $(shell_no_gir_sources), $(shell_public_headers_h) $(libgnome_shell_sources) $(libgnome_shell_built_sources))
|
||||
|
||||
gnome_shell_SOURCES = main.c
|
||||
gnome_shell_CPPFLAGS = \
|
||||
-DMUTTER_TYPELIB_DIR=\"$(MUTTER_TYPELIB_DIR)\" \
|
||||
$(MUTTER_CFLAGS) \
|
||||
$(gnome_shell_cflags)
|
||||
|
||||
# Here, and after, we repeat mutter and bluetooth libraries just for the rpath
|
||||
# The dependency is already pulled in by libtool
|
||||
gnome_shell_LDADD = libgnome-shell.la $(GNOME_SHELL_LIBS) $(MUTTER_LIBS)
|
||||
gnome_shell_LDFLAGS = -rpath $(MUTTER_TYPELIB_DIR)
|
||||
gnome_shell_DEPENDENCIES = libgnome-shell.la
|
||||
|
||||
gnome_shell_extension_prefs_SOURCES = \
|
||||
gnome-shell-extension-prefs.c \
|
||||
$(NULL)
|
||||
nodist_gnome_shell_extension_prefs_SOURCES = \
|
||||
$(top_builddir)/js/js-resources.c \
|
||||
$(top_builddir)/js/js-resources.h \
|
||||
$(NULL)
|
||||
gnome_shell_extension_prefs_CPPFLAGS = $(gnome_shell_cflags)
|
||||
gnome_shell_extension_prefs_LDADD = $(GNOME_SHELL_LIBS)
|
||||
gnome_shell_extension_prefs_LDFLAGS = -rpath $(MUTTER_TYPELIB_DIR)
|
||||
|
||||
if HAVE_NETWORKMANAGER
|
||||
|
||||
libexec_PROGRAMS += gnome-shell-portal-helper
|
||||
gnome_shell_portal_helper_SOURCES = \
|
||||
gnome-shell-portal-helper.c \
|
||||
$(NULL)
|
||||
nodist_gnome_shell_portal_helper_SOURCES = \
|
||||
$(top_builddir)/js/js-resources.c \
|
||||
$(top_builddir)/js/js-resources.h \
|
||||
$(NULL)
|
||||
gnome_shell_portal_helper_CPPFLAGS = $(gnome_shell_cflags)
|
||||
gnome_shell_portal_helper_LDADD = $(GNOME_SHELL_LIBS)
|
||||
gnome_shell_portal_helper_LDFLAGS = -rpath $(MUTTER_TYPELIB_DIR)
|
||||
|
||||
endif
|
||||
|
||||
########################################
|
||||
|
||||
shell_recorder_sources = \
|
||||
shell-recorder.c \
|
||||
shell-recorder.h
|
||||
|
||||
# Custom element is an internal detail
|
||||
|
||||
if BUILD_RECORDER
|
||||
libgnome_shell_sources += $(shell_recorder_sources)
|
||||
|
||||
shell_recorder_private_sources = \
|
||||
shell-recorder-src.c \
|
||||
shell-recorder-src.h \
|
||||
$(NULL)
|
||||
|
||||
shell_private_sources = $(shell_recorder_private_sources)
|
||||
|
||||
endif BUILD_RECORDER
|
||||
|
||||
########################################
|
||||
|
||||
libexec_PROGRAMS += gnome-shell-perf-helper
|
||||
|
||||
gnome_shell_perf_helper_SOURCES = shell-perf-helper.c
|
||||
gnome_shell_perf_helper_CPPFLAGS = $(SHELL_PERF_HELPER_CFLAGS)
|
||||
gnome_shell_perf_helper_LDADD = $(SHELL_PERF_HELPER_LIBS) -lm
|
||||
|
||||
########################################
|
||||
|
||||
noinst_PROGRAMS += run-js-test
|
||||
|
||||
run_js_test_CPPFLAGS = $(MUTTER_CFLAGS) $(gnome_shell_cflags)
|
||||
run_js_test_LDADD = libgnome-shell.la $(GNOME_SHELL_JS_LIBS) $(MUTTER_LIBS)
|
||||
run_js_test_LDFLAGS = -export-dynamic -rpath $(MUTTER_TYPELIB_DIR)
|
||||
|
||||
run_js_test_SOURCES = \
|
||||
run-js-test.c
|
||||
|
||||
########################################
|
||||
|
||||
shell-enum-types.h: stamp-shell-enum-types.h Makefile
|
||||
@true
|
||||
stamp-shell-enum-types.h: $(srcdir)/shell-enum-types.h.in $(shell_public_headers_h)
|
||||
$(AM_V_GEN) ( \
|
||||
$(GLIB_MKENUMS) \
|
||||
--template $< \
|
||||
$(addprefix $(srcdir)/,$(shell_public_headers_h)) ) > $(@F).tmp && \
|
||||
(cmp -s $(@F).tmp shell-enum-types.h || mv $(@F).tmp shell-enum-types.h) && \
|
||||
rm -f $(@F).tmp && \
|
||||
echo timestamp > $(@F)
|
||||
EXTRA_DIST += shell-enum-types.h.in
|
||||
CLEANFILES += stamp-shell-enum-types.h
|
||||
|
||||
shell-enum-types.c: $(srcdir)/shell-enum-types.c.in stamp-shell-enum-types.h
|
||||
$(AM_V_GEN) ( \
|
||||
$(GLIB_MKENUMS) \
|
||||
--template $< \
|
||||
$(addprefix $(srcdir)/,$(shell_public_headers_h)) ) > $(@F).tmp && \
|
||||
mv $(@F).tmp $(@F) && \
|
||||
rm -f $(@F).tmp
|
||||
EXTRA_DIST += shell-enum-types.c.in
|
||||
|
||||
gvcdir = $(top_builddir)/subprojects/gvc
|
||||
|
||||
libgnome_shell_ldflags = -avoid-version
|
||||
libgnome_shell_libadd = \
|
||||
-lm \
|
||||
$(GNOME_SHELL_LIBS) \
|
||||
libgnome-shell-menu.la \
|
||||
libst-1.0.la \
|
||||
libtray.la \
|
||||
$(gvcdir)/libgvc.la \
|
||||
$(NULL)
|
||||
|
||||
libgnome_shell_menu_la_LDFLAGS = $(libgnome_shell_ldflags)
|
||||
libgnome_shell_menu_la_LIBADD = $(GNOME_SHELL_LIBS)
|
||||
libgnome_shell_menu_la_CPPFLAGS = $(GNOME_SHELL_CFLAGS)
|
||||
|
||||
libgnome_shell_la_LDFLAGS = $(libgnome_shell_ldflags)
|
||||
libgnome_shell_la_LIBADD = $(GNOME_SHELL_LIBS) $(MUTTER_LIBS) $(libgnome_shell_libadd)
|
||||
libgnome_shell_la_CPPFLAGS = $(MUTTER_CFLAGS) $(gnome_shell_cflags)
|
||||
|
||||
ShellMenu-0.1.gir: libgnome-shell-menu.la
|
||||
ShellMenu_0_1_gir_INCLUDES = Gio-2.0
|
||||
ShellMenu_0_1_gir_CFLAGS = $(libgnome_shell_menu_la_CPPFLAGS) -I $(srcdir)
|
||||
ShellMenu_0_1_gir_LIBS = libgnome-shell-menu.la
|
||||
ShellMenu_0_1_gir_FILES = \
|
||||
gtkactionmuxer.h \
|
||||
gtkactionmuxer.c \
|
||||
gtkactionobservable.h \
|
||||
gtkactionobservable.c \
|
||||
gtkactionobserver.h \
|
||||
gtkactionobserver.c \
|
||||
gtkmenutrackeritem.c \
|
||||
gtkmenutrackeritem.h \
|
||||
$(NULL)
|
||||
ShellMenu_0_1_gir_SCANNERFLAGS = \
|
||||
--namespace=ShellMenu --identifier-prefix=Gtk
|
||||
INTROSPECTION_GIRS += ShellMenu-0.1.gir
|
||||
CLEANFILES += ShellMenu-0.1.gir
|
||||
|
||||
Shell-0.1.gir: gnome-shell St-1.0.gir ShellMenu-0.1.gir
|
||||
Shell_0_1_gir_INCLUDES = Clutter-$(LIBMUTTER_API_VERSION) ClutterX11-$(LIBMUTTER_API_VERSION) Meta-$(LIBMUTTER_API_VERSION) Soup-2.4
|
||||
if HAVE_NETWORKMANAGER
|
||||
Shell_0_1_gir_INCLUDES += NetworkManager-1.0 NMClient-1.0
|
||||
endif
|
||||
Shell_0_1_gir_CFLAGS = $(libgnome_shell_la_CPPFLAGS) -I $(srcdir)
|
||||
Shell_0_1_gir_LIBS = libgnome-shell.la
|
||||
Shell_0_1_gir_FILES = $(libgnome_shell_la_gir_sources)
|
||||
Shell_0_1_gir_SCANNERFLAGS = \
|
||||
--include-uninstalled=$(builddir)/St-1.0.gir \
|
||||
--include-uninstalled=$(builddir)/ShellMenu-0.1.gir \
|
||||
--add-include-path=$(MUTTER_GIR_DIR)
|
||||
INTROSPECTION_GIRS += Shell-0.1.gir
|
||||
CLEANFILES += Shell-0.1.gir
|
||||
|
||||
St-1.0.gir: libst-1.0.la
|
||||
St_1_0_gir_INCLUDES = Clutter-$(LIBMUTTER_API_VERSION) Gtk-3.0
|
||||
St_1_0_gir_CFLAGS = $(st_cflags) -DST_COMPILATION
|
||||
St_1_0_gir_LIBS = libst-1.0.la
|
||||
St_1_0_gir_FILES = $(filter-out %-private.h $(st_non_gir_sources), $(addprefix $(srcdir)/,$(st_source_h))) \
|
||||
$(addprefix $(srcdir)/,$(st_source_c))
|
||||
INTROSPECTION_GIRS += St-1.0.gir
|
||||
CLEANFILES += St-1.0.gir
|
@ -200,6 +200,14 @@ shell_introspection_init (void)
|
||||
|
||||
g_irepository_prepend_search_path (MUTTER_TYPELIB_DIR);
|
||||
g_irepository_prepend_search_path (GNOME_SHELL_PKGLIBDIR);
|
||||
|
||||
/* We need to explicitly add the directories where the private libraries are
|
||||
* installed to the GIR's library path, so that they can be found at runtime
|
||||
* when linking using DT_RUNPATH (instead of DT_RPATH), which is the default
|
||||
* for some linkers (e.g. gold) and in some distros (e.g. Debian).
|
||||
*/
|
||||
g_irepository_prepend_library_path (MUTTER_TYPELIB_DIR);
|
||||
g_irepository_prepend_library_path (GNOME_SHELL_PKGLIBDIR);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -101,6 +101,7 @@ libshell_menu_gir = gnome.generate_gir(libshell_menu,
|
||||
install: true
|
||||
)
|
||||
|
||||
libshell_menu_dep = declare_dependency(link_with: libshell_menu)
|
||||
|
||||
libshell_public_headers = [
|
||||
'shell-app.h',
|
||||
@ -209,16 +210,18 @@ libshell_no_gir_sources += dbus_generated
|
||||
|
||||
libshell = library('gnome-shell',
|
||||
sources: libshell_gir_sources + libshell_no_gir_sources,
|
||||
dependencies: gnome_shell_deps + [mutter_dep, m_dep],
|
||||
dependencies: gnome_shell_deps + [libshell_menu_dep, libst_dep, mutter_dep, m_dep],
|
||||
include_directories: [conf_inc, st_inc, include_directories('tray')],
|
||||
c_args: gnome_shell_cflags,
|
||||
link_with: [libshell_menu, libst, libtray],
|
||||
link_with: [libtray],
|
||||
link_args: rpath_link_args,
|
||||
install_rpath: install_rpath,
|
||||
install_dir: pkglibdir,
|
||||
install: true
|
||||
)
|
||||
|
||||
libshell_dep = declare_dependency(link_with: libshell)
|
||||
|
||||
libshell_gir_includes = [
|
||||
'Clutter-@0@'.format(mutter_api_version),
|
||||
'ClutterX11-@0@'.format(mutter_api_version),
|
||||
@ -241,7 +244,6 @@ gnome.generate_gir(libshell,
|
||||
nsversion: '0.1',
|
||||
namespace: 'Shell',
|
||||
includes: libshell_gir_includes,
|
||||
link_with: [libshell_menu, libst],
|
||||
extra_args: ['--quiet'],
|
||||
install_dir_gir: pkgdatadir,
|
||||
install_dir_typelib: pkglibdir,
|
||||
@ -252,8 +254,7 @@ executable('gnome-shell', 'main.c',
|
||||
c_args: gnome_shell_cflags + [
|
||||
'-DMUTTER_TYPELIB_DIR="@0@"'.format(mutter_typelibdir)
|
||||
],
|
||||
dependencies: gnome_shell_deps + [mutter_dep],
|
||||
link_with: libshell,
|
||||
dependencies: gnome_shell_deps + [libshell_dep, libst_dep, mutter_dep],
|
||||
include_directories: [conf_inc, st_inc, include_directories('tray')],
|
||||
link_args: rpath_link_args,
|
||||
install_rpath: install_rpath,
|
||||
|
@ -223,8 +223,9 @@ shell_tray_manager_manage_screen (ShellTrayManager *manager,
|
||||
|
||||
na_tray_manager_manage_screen (manager->priv->na_manager, gdk_screen);
|
||||
|
||||
g_signal_connect (theme_widget, "style-changed",
|
||||
G_CALLBACK (shell_tray_manager_style_changed), manager);
|
||||
g_signal_connect_object (theme_widget, "style-changed",
|
||||
G_CALLBACK (shell_tray_manager_style_changed),
|
||||
manager, 0);
|
||||
shell_tray_manager_style_changed (theme_widget, manager);
|
||||
}
|
||||
|
||||
|
@ -82,13 +82,13 @@ st_sources = [
|
||||
'st-widget.c'
|
||||
]
|
||||
|
||||
st_built_sources = gnome.mkenums('st-enum-types',
|
||||
st_enums = gnome.mkenums('st-enum-types',
|
||||
sources: st_headers,
|
||||
c_template: 'st-enum-types.c.in',
|
||||
h_template: 'st-enum-types.h.in'
|
||||
)
|
||||
|
||||
st_gir_sources = st_sources + st_private_headers + st_headers + st_built_sources
|
||||
st_gir_sources = st_sources + st_private_headers + st_headers + st_enums
|
||||
|
||||
st_non_gir_sources = [
|
||||
'st-scroll-view-fade.c',
|
||||
@ -127,6 +127,10 @@ libst = shared_library('st-1.0',
|
||||
install: true
|
||||
)
|
||||
|
||||
libst_dep = declare_dependency(link_with: libst,
|
||||
sources: st_enums[1]
|
||||
)
|
||||
|
||||
test_theme = executable('test-theme',
|
||||
sources: 'test-theme.c',
|
||||
c_args: st_cflags,
|
||||
|
@ -1,4 +1,7 @@
|
||||
/*** BEGIN file-header ***/
|
||||
#ifndef ST_COMPILATION
|
||||
#define ST_COMPILATION
|
||||
#endif
|
||||
#include "st-enum-types.h"
|
||||
/*** END file-header ***/
|
||||
|
||||
|
@ -2576,7 +2576,7 @@ font_family_from_terms (CRTerm *term,
|
||||
if (term->the_operator == NO_OP)
|
||||
g_string_append (family_string, " ");
|
||||
else
|
||||
g_string_append (family_string, ", ");
|
||||
g_string_append (family_string, ",");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Submodule subprojects/gvc updated: 3f71aac04b...5b97727788
@ -1,45 +0,0 @@
|
||||
noinst_SCRIPTS = run-test.sh
|
||||
EXTRA_DIST = run-test.sh.in
|
||||
|
||||
TEST_JS = \
|
||||
interactive/background-repeat.js \
|
||||
interactive/background-size.js \
|
||||
interactive/borders.js \
|
||||
interactive/border-radius.js \
|
||||
interactive/border-width.js \
|
||||
interactive/box-layout.js \
|
||||
interactive/box-shadow-animated.js \
|
||||
interactive/box-shadows.js \
|
||||
interactive/calendar.js \
|
||||
interactive/css-fonts.js \
|
||||
interactive/entry.js \
|
||||
interactive/gapplication.js \
|
||||
interactive/icons.js \
|
||||
interactive/inline-style.js \
|
||||
interactive/scrolling.js \
|
||||
interactive/scroll-view-sizing.js \
|
||||
interactive/test-title.js \
|
||||
interactive/transitions.js \
|
||||
testcommon/100-200.svg \
|
||||
testcommon/200-100.svg \
|
||||
testcommon/200-200.svg \
|
||||
testcommon/border-image.png \
|
||||
testcommon/face-plain.png \
|
||||
testcommon/ui.js \
|
||||
unit/insertSorted.js \
|
||||
unit/markup.js \
|
||||
unit/jsParse.js \
|
||||
unit/url.js
|
||||
EXTRA_DIST += $(TEST_JS)
|
||||
|
||||
TEST_MISC = \
|
||||
testcommon/test.css
|
||||
EXTRA_DIST += $(TEST_MISC)
|
||||
|
||||
run-test.sh: run-test.sh.in
|
||||
$(AM_V_GEN) sed \
|
||||
-e "s|@MUTTER_TYPELIB_DIR[@]|$(MUTTER_TYPELIB_DIR)|" \
|
||||
-e "s|@srcdir[@]|$(srcdir)|" \
|
||||
$< > $@ && chmod a+x $@
|
||||
|
||||
CLEANFILES = run-test.sh
|
Reference in New Issue
Block a user