Compare commits
145 Commits
wip/pad-os
...
3.22.3
Author | SHA1 | Date | |
---|---|---|---|
05a941050d | |||
0fb146ed37 | |||
51f314ab71 | |||
047376dd1d | |||
8f7a1df7e7 | |||
c8cb84b533 | |||
722bef3d0c | |||
3c6c51125c | |||
a8b008c5cd | |||
b30a528225 | |||
a6878855e9 | |||
df7727a82b | |||
473158db8e | |||
4fa8af925f | |||
ba35e19e3b | |||
516568a226 | |||
92630f67c6 | |||
a829784c03 | |||
f395d3892c | |||
25f3ce8c14 | |||
8b523d36b8 | |||
bf84939eef | |||
d0e811214b | |||
52bbee80a0 | |||
7098d6930f | |||
df4f2869f0 | |||
8fad615f4e | |||
b98df643d4 | |||
84649c8276 | |||
803406d601 | |||
1bccc9a2d6 | |||
cf6b44b4bd | |||
5858b2266a | |||
1878c84eef | |||
931d364079 | |||
3fd65055f9 | |||
6ed0c16dd0 | |||
dd250ec994 | |||
5f13468b35 | |||
054ab6a1ed | |||
0b8ae22aa3 | |||
25e1b2548c | |||
5b21bca4f4 | |||
5a08886ed6 | |||
3679a8cdc4 | |||
6ebabd50c6 | |||
0c22a21a24 | |||
70a0c4211c | |||
a21af541c4 | |||
e07ba91486 | |||
a22e9ce9cd | |||
d4ce51b1b7 | |||
830005069c | |||
8c49267658 | |||
d0bab1f7ac | |||
f00826f3fb | |||
717c0ea19f | |||
3cd8dd0f32 | |||
aedd616346 | |||
b3de3ff00b | |||
b66dff8aed | |||
ff814df03a | |||
c9a528025c | |||
5f3ec8a6f1 | |||
becd29c50a | |||
a029a35050 | |||
d6a78d61d1 | |||
9be46bd212 | |||
4df3afced0 | |||
90f8e1df80 | |||
ea2ac89e61 | |||
695bfb9616 | |||
5dbdde8c15 | |||
854bfc17ed | |||
c8b192bcae | |||
f07306897f | |||
44d731fff5 | |||
52f939f64c | |||
f1d12c18d8 | |||
373ebb50eb | |||
b0b5be63b9 | |||
68f439425b | |||
cae4d92191 | |||
f336295475 | |||
06d0e7d74a | |||
5e0e3edc7b | |||
02a51bfa65 | |||
dbd04df311 | |||
e6adcd99c7 | |||
3171819c36 | |||
e4976b535d | |||
06d1602f17 | |||
603d0dfbc3 | |||
0b6c5b4620 | |||
d7894dbc44 | |||
d25d8126ea | |||
2402d3e115 | |||
ac4284d348 | |||
f9ef80749a | |||
22f0d3076e | |||
127b6dca1c | |||
8cfff33291 | |||
21f534c7f0 | |||
9faa1db942 | |||
2fc9bffb23 | |||
f16eae45a2 | |||
622e73c34c | |||
eb1c3d7045 | |||
fc26895f70 | |||
ca224b379f | |||
42b609b852 | |||
a24169e2aa | |||
144d1dca88 | |||
38ab6ba3ec | |||
bc6a0626c1 | |||
497f4f4a3c | |||
8c8c89a5f1 | |||
d658a5148a | |||
2c3e0dab0f | |||
e2400e35bd | |||
fc4562491b | |||
6e3bedb888 | |||
2b8332df5e | |||
795e7d4b59 | |||
522d46a525 | |||
dcecf5e350 | |||
a61c929450 | |||
5992e9f524 | |||
ee4cd05ebd | |||
af5e65fd79 | |||
284cbf3ea7 | |||
c3e68955e3 | |||
ffa28e7ee7 | |||
78d81f909c | |||
34551bf48b | |||
e02cd53ac5 | |||
b7f5154bd3 | |||
d80247918c | |||
bb8c2d3e13 | |||
6e0e37519d | |||
5c19ae5878 | |||
8713473c64 | |||
a4b4f2f6fd | |||
03f22135b5 | |||
5b79f657eb |
4
.gitignore
vendored
4
.gitignore
vendored
@ -16,7 +16,6 @@ config.log
|
|||||||
config.status
|
config.status
|
||||||
config
|
config
|
||||||
configure
|
configure
|
||||||
data/50-gnome-shell-*.xml
|
|
||||||
data/org.gnome.Shell.desktop
|
data/org.gnome.Shell.desktop
|
||||||
data/org.gnome.Shell.desktop.in
|
data/org.gnome.Shell.desktop.in
|
||||||
data/gnome-shell-extension-prefs.desktop
|
data/gnome-shell-extension-prefs.desktop
|
||||||
@ -26,8 +25,6 @@ data/gschemas.compiled
|
|||||||
data/perf-background.xml
|
data/perf-background.xml
|
||||||
data/org.gnome.shell.gschema.xml
|
data/org.gnome.shell.gschema.xml
|
||||||
data/org.gnome.shell.gschema.valid
|
data/org.gnome.shell.gschema.valid
|
||||||
data/org.gnome.shell.evolution.calendar.gschema.xml
|
|
||||||
data/org.gnome.shell.evolution.calendar.gschema.valid
|
|
||||||
data/org.gnome.Shell.PortalHelper.desktop
|
data/org.gnome.Shell.PortalHelper.desktop
|
||||||
data/org.gnome.Shell.PortalHelper.service
|
data/org.gnome.Shell.PortalHelper.service
|
||||||
data/theme/.sass-cache
|
data/theme/.sass-cache
|
||||||
@ -74,7 +71,6 @@ src/*-marshal.[ch]
|
|||||||
src/Makefile
|
src/Makefile
|
||||||
src/Makefile.in
|
src/Makefile.in
|
||||||
src/calendar-server/evolution-calendar.desktop
|
src/calendar-server/evolution-calendar.desktop
|
||||||
src/calendar-server/evolution-calendar.desktop.in
|
|
||||||
src/calendar-server/org.gnome.Shell.CalendarServer.service
|
src/calendar-server/org.gnome.Shell.CalendarServer.service
|
||||||
src/gnome-shell
|
src/gnome-shell
|
||||||
src/gnome-shell-calendar-server
|
src/gnome-shell-calendar-server
|
||||||
|
134
NEWS
134
NEWS
@ -1,3 +1,137 @@
|
|||||||
|
3.22.3
|
||||||
|
======
|
||||||
|
* Work around portal failures by using a URL without HTPPS redirect
|
||||||
|
[Debarshi; #769940]
|
||||||
|
* Fix replacing of GNotifications [Florian; #775149]
|
||||||
|
* Reload apps on .desktop file content changes [Adrian; #773636]
|
||||||
|
* Fix subsurfaces not showing up in previews [Rui; #756715]
|
||||||
|
* Fix theme node transitions [Florian; #778145]
|
||||||
|
* Don't allow type ahead at the login screen [Ray; #766139]
|
||||||
|
* Misc. bug fixes [Florian, Niels, Jonas, Michael; #774643, #774805, #775507,
|
||||||
|
#776130, #759793, #745626]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Jonas Ådahl, Michael Catanzaro, Niels De Graef, Rui Matos, Florian Müllner,
|
||||||
|
Adrian Perez de Castro, Debarshi Ray, Ray Strode
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Piotr Drąg [pl], Marek Černocký [cs], Мирослав Николић [sr, sr@latin],
|
||||||
|
Rafael Fontenelle [pt_BR], Baurzhan Muftakhidinov [kk], Jiri Grönroos [fi],
|
||||||
|
Dušan Kazik [sk], Balázs Meskó [hu], Stas Solovey [ru],
|
||||||
|
Christian Kirbach [de], Anders Jonsson [sv], Gianvito Cavasoli [it],
|
||||||
|
Aurimas Černius [lt], Alexandre Franke [fr], Mandy Wang [zh_CN]
|
||||||
|
|
||||||
|
3.22.2
|
||||||
|
======
|
||||||
|
* Fix OSD popup glitches [Cosimo; #772723, #772287]
|
||||||
|
* Request periodic scans while WiFi list is open [Dan; #767918]
|
||||||
|
* Always show primary network icon when connected [Florian; #773890]
|
||||||
|
* Misc. bug fixes [Carlos, Florian, Ray; #773875, #740043, #773893]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Cosimo Cecchi, Carlos Garcia Campos, Florian Müllner, Ray Strode, Dan Williams
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Kjartan Maraas [nb], Fabio Tomat [fur], Philip Chimento [zh_CN],
|
||||||
|
YunQiang Su [zh_CN], Piotr Drąg [pl], Stas Solovey [ru]
|
||||||
|
|
||||||
|
3.22.1
|
||||||
|
======
|
||||||
|
* Fix hidden network indicator on startup [Florian; #772249]
|
||||||
|
* Fix order of windows with modal dialogs in window switcher [Florian; #747153]
|
||||||
|
* Fix feedback loop between StClipboard and X11 bridge [Carlos; #760745]
|
||||||
|
* Reliably match windows from Flatpak apps [Florian; #772615]
|
||||||
|
* Misc. bug fixes [Philip; #742249]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Philip Chimento, Carlos Garnacho, Florian Müllner
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Inaki Larranaga Murgoitio [eu], Khaled Hosny [ar], BM [uz@cyrillic],
|
||||||
|
Milo Casagrande [it], Cheng-Chia Tseng [zh_TW], gogo [hr]
|
||||||
|
|
||||||
|
3.22.0
|
||||||
|
======
|
||||||
|
* Misc. bug fixes [Florian, Rui; #771391, #771536] #771656]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Rui Matos, Florian Müllner
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Ask Hjorth Larsen [da], GNOME Translation Robot [gd], Alexandre Franke [fr],
|
||||||
|
Daniel Korostil [uk], Jordi Mas [ca], Khaled Hosny [ar], David King [en_GB]
|
||||||
|
|
||||||
|
3.21.92
|
||||||
|
=======
|
||||||
|
* Adjust screen capture to work with multiple stage views [Jonas; #770128]
|
||||||
|
* Improve handling of cycle shortcuts [Florian; #771063]
|
||||||
|
* Fix windows not getting undimmed in some cases [Rui; #770163, #752524]
|
||||||
|
* Disable extension version check by default [Florian; #770887]
|
||||||
|
* Misc. bug fixes [Rui, Florian, Michael; #770382, #770888, #770328]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Jonas Ådahl, Michael Catanzaro, Fran Dieguez, Olivier Fourdan, Rui Matos,
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Changwoo Ryu [ko], Baurzhan Muftakhidinov [kk], Aurimas Černius [lt],
|
||||||
|
Muhammet Kara [tr], Trần Ngọc Quân [vi], A S Alam [pa], Yosef Or Boczko [he],
|
||||||
|
Anders Jonsson [sv], Tiago Santos [pt], Hannie Dumoleyn [nl],
|
||||||
|
Rūdolfs Mazurs [lv], Claude Paroz [fr], Arash Mousavi [fa],
|
||||||
|
Fran Dieguez [gl], Stas Solovey [ru], Tom Tryfonidis [el]
|
||||||
|
|
||||||
|
3.21.91
|
||||||
|
=======
|
||||||
|
Translations:
|
||||||
|
Mario Blättermann [de], Jiri Grönroos [fi], Dušan Kazik [sk],
|
||||||
|
Andika Triwidada [id], Daniel Mustieles [es], Fabio Tomat [fur],
|
||||||
|
Enrico Nicoletto [pt_BR], Matej Urbančič [sl], Мирослав Николић [sr, sr@latin]
|
||||||
|
|
||||||
|
3.21.90.1
|
||||||
|
=========
|
||||||
|
Contributors:
|
||||||
|
Piotr Drąg
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Marek Černocký [cs], Balázs Úr [hu]
|
||||||
|
|
||||||
|
3.21.90
|
||||||
|
=======
|
||||||
|
* Improve on-screen keyboard on wayland [Carlos; #765009]
|
||||||
|
* Misc. bug fixes [Florian; #769156, #769216, #769074]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Carlos Garnacho, Florian Müllner
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Fabio Tomat [fur], Tiago Santos [pt], Daniel Mustieles [es],
|
||||||
|
Bernd Homuth [de], Aurimas Černius [lt], Balázs Úr [hu],
|
||||||
|
Yosef Or Boczko [he], Jiri Grönroos [fi], Marek Cernocky [cs],
|
||||||
|
Muhammet Kara [tr], Enrico Nicoletto [pt_BR], Andika Triwidada [id]
|
||||||
|
|
||||||
|
3.21.4
|
||||||
|
======
|
||||||
|
* overview: Fix switching workspaces when scrolling on non-primary monitors
|
||||||
|
[Florian; #766883, #768316]
|
||||||
|
* Fix crash when using screen recorder under wayland [Rui; #767001]
|
||||||
|
* Update theme on video memory purge errors [Rui; #739178]
|
||||||
|
* Free old backgrounds immediately [Hyungwon; #766353]
|
||||||
|
* Add support for system upgrades to end session dialog [Kalev; #763611]
|
||||||
|
* Fix maximized windows flickering to the wrong size on restart [Owen; #761566]
|
||||||
|
* Hide ignored events in calendar as well [Florian; #768538]
|
||||||
|
* calendar: Only hide dismissed occurrence of recurring event [Florian; #748226]
|
||||||
|
* Provide org.freedesktop.impl.portal.access implementation [Florian; #768669]
|
||||||
|
* Misc. bug fixes and cleanups [Rui, Florian, Marinus, Jonas; #767954, #768317,
|
||||||
|
#746867, #762206, #768956, #768979]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Jonas Ådahl, Piotr Drąg, Hyungwon Hwang, Kalev Lember, Rui Matos,
|
||||||
|
Florian Müllner, Marinus Schraal, Owen W. Taylor
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Andika Triwidada [id], Daniel Mustieles [es], Bruce Cowan [en_GB],
|
||||||
|
Dušan Kazik [sk], Piotr Drąg [pl], Chao-Hsiung Liao [zh_HK]
|
||||||
|
|
||||||
3.21.3
|
3.21.3
|
||||||
======
|
======
|
||||||
* Do not disable suspend action when locked [Florian; #725960]
|
* Do not disable suspend action when locked [Florian; #725960]
|
||||||
|
@ -1029,6 +1029,7 @@ NPP_GetValue(NPP instance,
|
|||||||
if (!instance->pdata)
|
if (!instance->pdata)
|
||||||
return NPERR_INVALID_INSTANCE_ERROR;
|
return NPERR_INVALID_INSTANCE_ERROR;
|
||||||
|
|
||||||
|
funcs.retainobject (instance->pdata);
|
||||||
*(NPObject**)value = instance->pdata;
|
*(NPObject**)value = instance->pdata;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
12
configure.ac
12
configure.ac
@ -1,5 +1,5 @@
|
|||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
AC_INIT([gnome-shell],[3.21.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
AC_INIT([gnome-shell],[3.22.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||||
AX_IS_RELEASE([git-directory])
|
AX_IS_RELEASE([git-directory])
|
||||||
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
@ -24,13 +24,14 @@ LT_PREREQ([2.2.6])
|
|||||||
LT_INIT([disable-static])
|
LT_INIT([disable-static])
|
||||||
|
|
||||||
# i18n
|
# i18n
|
||||||
IT_PROG_INTLTOOL([0.40])
|
|
||||||
|
|
||||||
GETTEXT_PACKAGE=gnome-shell
|
GETTEXT_PACKAGE=gnome-shell
|
||||||
AC_SUBST(GETTEXT_PACKAGE)
|
AC_SUBST(GETTEXT_PACKAGE)
|
||||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
||||||
[The prefix for our gettext translation domains.])
|
[The prefix for our gettext translation domains.])
|
||||||
|
|
||||||
|
AM_GNU_GETTEXT_VERSION([0.19.6])
|
||||||
|
AM_GNU_GETTEXT([external])
|
||||||
|
|
||||||
PKG_PROG_PKG_CONFIG([0.22])
|
PKG_PROG_PKG_CONFIG([0.22])
|
||||||
|
|
||||||
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
||||||
@ -75,9 +76,9 @@ AS_IF([test x$enable_systemd != xno], [
|
|||||||
AC_MSG_RESULT($enable_systemd)
|
AC_MSG_RESULT($enable_systemd)
|
||||||
|
|
||||||
CLUTTER_MIN_VERSION=1.21.5
|
CLUTTER_MIN_VERSION=1.21.5
|
||||||
GOBJECT_INTROSPECTION_MIN_VERSION=1.45.4
|
GOBJECT_INTROSPECTION_MIN_VERSION=1.49.1
|
||||||
GJS_MIN_VERSION=1.39.0
|
GJS_MIN_VERSION=1.39.0
|
||||||
MUTTER_MIN_VERSION=3.21.3
|
MUTTER_MIN_VERSION=3.22.1
|
||||||
GTK_MIN_VERSION=3.15.0
|
GTK_MIN_VERSION=3.15.0
|
||||||
GIO_MIN_VERSION=2.45.3
|
GIO_MIN_VERSION=2.45.3
|
||||||
LIBECAL_MIN_VERSION=3.5.3
|
LIBECAL_MIN_VERSION=3.5.3
|
||||||
@ -254,7 +255,6 @@ AC_CONFIG_FILES([
|
|||||||
docs/reference/st/Makefile
|
docs/reference/st/Makefile
|
||||||
docs/reference/st/st-docs.sgml
|
docs/reference/st/st-docs.sgml
|
||||||
js/Makefile
|
js/Makefile
|
||||||
src/calendar-server/evolution-calendar.desktop.in
|
|
||||||
src/Makefile
|
src/Makefile
|
||||||
src/gvc/Makefile
|
src/gvc/Makefile
|
||||||
browser-plugin/Makefile
|
browser-plugin/Makefile
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<KeyListEntries schema="org.gnome.shell.keybindings"
|
<KeyListEntries schema="org.gnome.shell.keybindings"
|
||||||
group="system"
|
group="system"
|
||||||
_name="System"
|
name="System"
|
||||||
wm_name="GNOME Shell"
|
wm_name="GNOME Shell"
|
||||||
package="gnome-shell">
|
package="gnome-shell">
|
||||||
|
|
||||||
<KeyListEntry name="toggle-message-tray"
|
<KeyListEntry name="toggle-message-tray"
|
||||||
_description="Show the notification list"/>
|
description="Show the notification list"/>
|
||||||
|
|
||||||
<KeyListEntry name="focus-active-notification"
|
<KeyListEntry name="focus-active-notification"
|
||||||
_description="Focus the active notification"/>
|
description="Focus the active notification"/>
|
||||||
|
|
||||||
<KeyListEntry name="toggle-overview"
|
<KeyListEntry name="toggle-overview"
|
||||||
_description="Show the overview"/>
|
description="Show the overview"/>
|
||||||
|
|
||||||
<KeyListEntry name="toggle-application-view"
|
<KeyListEntry name="toggle-application-view"
|
||||||
_description="Show all applications"/>
|
description="Show all applications"/>
|
||||||
|
|
||||||
<KeyListEntry name="open-application-menu"
|
<KeyListEntry name="open-application-menu"
|
||||||
_description="Open the application menu"/>
|
description="Open the application menu"/>
|
||||||
|
|
||||||
</KeyListEntries>
|
</KeyListEntries>
|
||||||
|
|
@ -16,6 +16,7 @@ service_DATA = org.gnome.Shell.PortalHelper.service
|
|||||||
CLEANFILES += \
|
CLEANFILES += \
|
||||||
org.gnome.Shell.PortalHelper.service \
|
org.gnome.Shell.PortalHelper.service \
|
||||||
org.gnome.Shell.PortalHelper.desktop \
|
org.gnome.Shell.PortalHelper.desktop \
|
||||||
|
org.gnome.Shell.PortalHelper.desktop.in \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
endif
|
endif
|
||||||
@ -31,11 +32,12 @@ endif
|
|||||||
-e "s|@VERSION[@]|$(VERSION)|" \
|
-e "s|@VERSION[@]|$(VERSION)|" \
|
||||||
$< > $@ || rm $@
|
$< > $@ || rm $@
|
||||||
|
|
||||||
@INTLTOOL_DESKTOP_RULE@
|
%.desktop:%.desktop.in
|
||||||
|
$(AM_V_GEN) $(MSGFMT) --desktop --template $(builddir)/$< \
|
||||||
|
-d $(top_srcdir)/po -o $@
|
||||||
|
|
||||||
introspectiondir = $(datadir)/dbus-1/interfaces
|
introspectiondir = $(datadir)/dbus-1/interfaces
|
||||||
introspection_DATA = \
|
introspection_DATA = \
|
||||||
org.gnome.Shell.PadOsd.xml \
|
|
||||||
org.gnome.Shell.Screencast.xml \
|
org.gnome.Shell.Screencast.xml \
|
||||||
org.gnome.Shell.Screenshot.xml \
|
org.gnome.Shell.Screenshot.xml \
|
||||||
org.gnome.ShellSearchProvider.xml \
|
org.gnome.ShellSearchProvider.xml \
|
||||||
@ -84,14 +86,11 @@ perf-background.xml: perf-background.xml.in
|
|||||||
$< > $@ || rm $@
|
$< > $@ || rm $@
|
||||||
|
|
||||||
keysdir = @GNOME_KEYBINDINGS_KEYSDIR@
|
keysdir = @GNOME_KEYBINDINGS_KEYSDIR@
|
||||||
keys_in_files = 50-gnome-shell-system.xml.in
|
keys_DATA = 50-gnome-shell-system.xml
|
||||||
keys_DATA = $(keys_in_files:.xml.in=.xml)
|
|
||||||
|
|
||||||
gsettings_SCHEMAS = org.gnome.shell.gschema.xml
|
gsettings_SCHEMAS = org.gnome.shell.gschema.xml
|
||||||
|
|
||||||
@INTLTOOL_XML_NOMERGE_RULE@
|
%.gschema.xml: %.gschema.xml.in Makefile
|
||||||
|
|
||||||
%.gschema.xml.in: %.gschema.xml.in.in Makefile
|
|
||||||
$(AM_V_GEN) sed -e 's|@GETTEXT_PACKAGE[@]|$(GETTEXT_PACKAGE)|g' \
|
$(AM_V_GEN) sed -e 's|@GETTEXT_PACKAGE[@]|$(GETTEXT_PACKAGE)|g' \
|
||||||
$< > $@ || rm $@
|
$< > $@ || rm $@
|
||||||
|
|
||||||
@ -110,16 +109,16 @@ convert_DATA = gnome-shell-overrides.convert
|
|||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
org.gnome.Shell.desktop.in.in \
|
org.gnome.Shell.desktop.in.in \
|
||||||
gnome-shell-extension-prefs.desktop.in.in \
|
gnome-shell-extension-prefs.desktop.in.in \
|
||||||
|
$(portal_DATA) \
|
||||||
$(introspection_DATA) \
|
$(introspection_DATA) \
|
||||||
$(menu_DATA) \
|
$(menu_DATA) \
|
||||||
$(convert_DATA) \
|
$(convert_DATA) \
|
||||||
$(keys_in_files) \
|
$(keys_DATA) \
|
||||||
$(dist_theme_files) \
|
$(dist_theme_files) \
|
||||||
pad-osd.css \
|
|
||||||
perf-background.xml.in \
|
perf-background.xml.in \
|
||||||
org.gnome.Shell.PortalHelper.desktop.in \
|
org.gnome.Shell.PortalHelper.desktop.in.in \
|
||||||
org.gnome.Shell.PortalHelper.service.in \
|
org.gnome.Shell.PortalHelper.service.in \
|
||||||
org.gnome.shell.gschema.xml.in.in \
|
org.gnome.shell.gschema.xml.in \
|
||||||
gnome-shell-theme.gresource.xml \
|
gnome-shell-theme.gresource.xml \
|
||||||
$(resource_files) \
|
$(resource_files) \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
@ -128,11 +127,9 @@ CLEANFILES += \
|
|||||||
org.gnome.Shell.desktop.in \
|
org.gnome.Shell.desktop.in \
|
||||||
gnome-shell-extension-prefs.in \
|
gnome-shell-extension-prefs.in \
|
||||||
$(desktop_DATA) \
|
$(desktop_DATA) \
|
||||||
$(keys_DATA) \
|
|
||||||
$(gsettings_SCHEMAS) \
|
$(gsettings_SCHEMAS) \
|
||||||
perf-background.xml \
|
perf-background.xml \
|
||||||
gschemas.compiled \
|
gschemas.compiled \
|
||||||
org.gnome.shell.gschema.valid \
|
org.gnome.shell.gschema.valid \
|
||||||
org.gnome.shell.gschema.xml.in \
|
|
||||||
gnome-shell-theme.gresource \
|
gnome-shell-theme.gresource \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Type=Application
|
Type=Application
|
||||||
_Name=GNOME Shell Extension Preferences
|
Name=GNOME Shell Extension Preferences
|
||||||
_Comment=Configure GNOME Shell Extensions
|
Comment=Configure GNOME Shell Extensions
|
||||||
Exec=@bindir@/gnome-shell-extension-prefs %u
|
Exec=@bindir@/gnome-shell-extension-prefs %u
|
||||||
X-GNOME-Bugzilla-Bugzilla=GNOME
|
X-GNOME-Bugzilla-Bugzilla=GNOME
|
||||||
X-GNOME-Bugzilla-Product=gnome-shell
|
X-GNOME-Bugzilla-Product=gnome-shell
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
<file>no-events.svg</file>
|
<file>no-events.svg</file>
|
||||||
<file>no-notifications.svg</file>
|
<file>no-notifications.svg</file>
|
||||||
<file>noise-texture.png</file>
|
<file>noise-texture.png</file>
|
||||||
<file>pad-osd.css</file>
|
|
||||||
<file>page-indicator-active.svg</file>
|
<file>page-indicator-active.svg</file>
|
||||||
<file>page-indicator-inactive.svg</file>
|
<file>page-indicator-inactive.svg</file>
|
||||||
<file>page-indicator-checked.svg</file>
|
<file>page-indicator-checked.svg</file>
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
<!DOCTYPE node PUBLIC
|
|
||||||
'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'
|
|
||||||
'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'>
|
|
||||||
<node>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
org.gnome.Shell.PadOSD:
|
|
||||||
@short_description: Pad OSD interface
|
|
||||||
|
|
||||||
The interface used to show button map OSD on pad devices.
|
|
||||||
-->
|
|
||||||
<interface name='org.gnome.Shell.Wacom.PadOsd'>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Show:
|
|
||||||
@device_node: device node file, usually in /dev/input/...
|
|
||||||
@edition_mode: whether toggling edition mode on when showing
|
|
||||||
|
|
||||||
Shows the pad button map OSD for the requested device, the OSD
|
|
||||||
will be shown according the current device settings (output
|
|
||||||
mapping, left handed mode, ...)
|
|
||||||
-->
|
|
||||||
<method name='Show'>
|
|
||||||
<arg name='device_node' direction='in' type='o'/>
|
|
||||||
<arg name='edition_mode' direction='in' type='b'/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,9 +1,10 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
_Name=Network Login
|
Name=Network Login
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=gapplication launch org.gnome.Shell.PortalHelper
|
Exec=gapplication launch org.gnome.Shell.PortalHelper
|
||||||
DBusActivatable=true
|
DBusActivatable=true
|
||||||
NoDisplay=true
|
NoDisplay=true
|
||||||
|
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
||||||
Icon=network-workgroup
|
Icon=network-workgroup
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
OnlyShowIn=GNOME;
|
OnlyShowIn=GNOME;
|
@ -1,7 +1,7 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Type=Application
|
Type=Application
|
||||||
_Name=GNOME Shell
|
Name=GNOME Shell
|
||||||
_Comment=Window management and application launching
|
Comment=Window management and application launching
|
||||||
Exec=@bindir@/gnome-shell
|
Exec=@bindir@/gnome-shell
|
||||||
X-GNOME-Bugzilla-Bugzilla=GNOME
|
X-GNOME-Bugzilla-Bugzilla=GNOME
|
||||||
X-GNOME-Bugzilla-Product=gnome-shell
|
X-GNOME-Bugzilla-Product=gnome-shell
|
||||||
|
@ -3,84 +3,84 @@
|
|||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
<key name="development-tools" type="b">
|
<key name="development-tools" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<_summary>
|
<summary>
|
||||||
Enable internal tools useful for developers and testers from Alt-F2
|
Enable internal tools useful for developers and testers from Alt-F2
|
||||||
</_summary>
|
</summary>
|
||||||
<_description>
|
<description>
|
||||||
Allows access to internal debugging and monitoring tools
|
Allows access to internal debugging and monitoring tools
|
||||||
using the Alt-F2 dialog.
|
using the Alt-F2 dialog.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="enabled-extensions" type="as">
|
<key name="enabled-extensions" type="as">
|
||||||
<default>[]</default>
|
<default>[]</default>
|
||||||
<_summary>UUIDs of extensions to enable</_summary>
|
<summary>UUIDs of extensions to enable</summary>
|
||||||
<_description>
|
<description>
|
||||||
GNOME Shell extensions have a UUID property; this key lists extensions
|
GNOME Shell extensions have a UUID property; this key lists extensions
|
||||||
which should be loaded. Any extension that wants to be loaded needs
|
which should be loaded. Any extension that wants to be loaded needs
|
||||||
to be in this list. You can also manipulate this list with the
|
to be in this list. You can also manipulate this list with the
|
||||||
EnableExtension and DisableExtension D-Bus methods on org.gnome.Shell.
|
EnableExtension and DisableExtension D-Bus methods on org.gnome.Shell.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="disable-extension-version-validation" type="b">
|
<key name="disable-extension-version-validation" type="b">
|
||||||
<default>false</default>
|
<default>true</default>
|
||||||
<_summary>Disables the validation of extension version compatibility</_summary>
|
<summary>Disables the validation of extension version compatibility</summary>
|
||||||
<_description>
|
<description>
|
||||||
GNOME Shell will only load extensions that claim to support the current
|
GNOME Shell will only load extensions that claim to support the current
|
||||||
running version. Enabling this option will disable this check and try to
|
running version. Enabling this option will disable this check and try to
|
||||||
load all extensions regardless of the versions they claim to support.
|
load all extensions regardless of the versions they claim to support.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="favorite-apps" type="as">
|
<key name="favorite-apps" type="as">
|
||||||
<default>[ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
<default>[ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
||||||
<_summary>List of desktop file IDs for favorite applications</_summary>
|
<summary>List of desktop file IDs for favorite applications</summary>
|
||||||
<_description>
|
<description>
|
||||||
The applications corresponding to these identifiers
|
The applications corresponding to these identifiers
|
||||||
will be displayed in the favorites area.
|
will be displayed in the favorites area.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="app-picker-view" type="u">
|
<key name="app-picker-view" type="u">
|
||||||
<default>0</default>
|
<default>0</default>
|
||||||
<_summary>App Picker View</_summary>
|
<summary>App Picker View</summary>
|
||||||
<_description>
|
<description>
|
||||||
Index of the currently selected view in the application picker.
|
Index of the currently selected view in the application picker.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="command-history" type="as">
|
<key name="command-history" type="as">
|
||||||
<default>[]</default>
|
<default>[]</default>
|
||||||
<_summary>History for command (Alt-F2) dialog</_summary>
|
<summary>History for command (Alt-F2) dialog</summary>
|
||||||
</key>
|
</key>
|
||||||
<key name="looking-glass-history" type="as">
|
<key name="looking-glass-history" type="as">
|
||||||
<default>[]</default>
|
<default>[]</default>
|
||||||
<!-- Translators: looking glass is a debugger and inspector tool, see https://wiki.gnome.org/Projects/GnomeShell/LookingGlass -->
|
<!-- Translators: looking glass is a debugger and inspector tool, see https://wiki.gnome.org/Projects/GnomeShell/LookingGlass -->
|
||||||
<_summary>History for the looking glass dialog</_summary>
|
<summary>History for the looking glass dialog</summary>
|
||||||
</key>
|
</key>
|
||||||
<key name="always-show-log-out" type="b">
|
<key name="always-show-log-out" type="b">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
<_summary>Always show the 'Log out' menu item in the user menu.</_summary>
|
<summary>Always show the 'Log out' menu item in the user menu.</summary>
|
||||||
<_description>
|
<description>
|
||||||
This key overrides the automatic hiding of the 'Log out'
|
This key overrides the automatic hiding of the 'Log out'
|
||||||
menu item in single-user, single-session situations.
|
menu item in single-user, single-session situations.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="remember-mount-password" type="b">
|
<key name="remember-mount-password" type="b">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
<_summary>Whether to remember password for mounting encrypted or remote filesystems</_summary>
|
<summary>Whether to remember password for mounting encrypted or remote filesystems</summary>
|
||||||
<_description>
|
<description>
|
||||||
The shell will request a password when an encrypted device or a
|
The shell will request a password when an encrypted device or a
|
||||||
remote filesystem is mounted. If the password can be saved for
|
remote filesystem is mounted. If the password can be saved for
|
||||||
future use a 'Remember Password' checkbox will be present.
|
future use a 'Remember Password' checkbox will be present.
|
||||||
This key sets the default state of the checkbox.
|
This key sets the default state of the checkbox.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="had-bluetooth-devices-setup" type="b">
|
<key name="had-bluetooth-devices-setup" type="b">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
<_summary>Whether the default Bluetooth adapter had set up devices associated to it</_summary>
|
<summary>Whether the default Bluetooth adapter had set up devices associated to it</summary>
|
||||||
<_description>
|
<description>
|
||||||
The shell will only show a Bluetooth menu item if a Bluetooth
|
The shell will only show a Bluetooth menu item if a Bluetooth
|
||||||
adapter is powered, or if there were devices set up associated
|
adapter is powered, or if there were devices set up associated
|
||||||
with the default adapter. This will be reset if the default
|
with the default adapter. This will be reset if the default
|
||||||
adapter is ever seen not to have devices associated to it.
|
adapter is ever seen not to have devices associated to it.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<child name="keybindings" schema="org.gnome.shell.keybindings"/>
|
<child name="keybindings" schema="org.gnome.shell.keybindings"/>
|
||||||
<child name="keyboard" schema="org.gnome.shell.keyboard"/>
|
<child name="keyboard" schema="org.gnome.shell.keyboard"/>
|
||||||
@ -90,44 +90,44 @@
|
|||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
<key name="open-application-menu" type="as">
|
<key name="open-application-menu" type="as">
|
||||||
<default>["<Super>F10"]</default>
|
<default>["<Super>F10"]</default>
|
||||||
<_summary>Keybinding to open the application menu</_summary>
|
<summary>Keybinding to open the application menu</summary>
|
||||||
<_description>
|
<description>
|
||||||
Keybinding to open the application menu.
|
Keybinding to open the application menu.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="toggle-application-view" type="as">
|
<key name="toggle-application-view" type="as">
|
||||||
<default>["<Super>a"]</default>
|
<default>["<Super>a"]</default>
|
||||||
<_summary>Keybinding to open the "Show Applications" view</_summary>
|
<summary>Keybinding to open the "Show Applications" view</summary>
|
||||||
<_description>
|
<description>
|
||||||
Keybinding to open the "Show Applications" view of the Activities
|
Keybinding to open the "Show Applications" view of the Activities
|
||||||
Overview.
|
Overview.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="toggle-overview" type="as">
|
<key name="toggle-overview" type="as">
|
||||||
<default>["<Super>s"]</default>
|
<default>["<Super>s"]</default>
|
||||||
<_summary>Keybinding to open the overview</_summary>
|
<summary>Keybinding to open the overview</summary>
|
||||||
<_description>
|
<description>
|
||||||
Keybinding to open the Activities Overview.
|
Keybinding to open the Activities Overview.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="toggle-message-tray" type="as">
|
<key name="toggle-message-tray" type="as">
|
||||||
<default>["<Super>v","<Super>m"]</default>
|
<default>["<Super>v","<Super>m"]</default>
|
||||||
<_summary>Keybinding to toggle the visibility of the notification list</_summary>
|
<summary>Keybinding to toggle the visibility of the notification list</summary>
|
||||||
<_description>
|
<description>
|
||||||
Keybinding to toggle the visibility of the notification list.
|
Keybinding to toggle the visibility of the notification list.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="focus-active-notification" type="as">
|
<key name="focus-active-notification" type="as">
|
||||||
<default>["<Super>n"]</default>
|
<default>["<Super>n"]</default>
|
||||||
<_summary>Keybinding to focus the active notification</_summary>
|
<summary>Keybinding to focus the active notification</summary>
|
||||||
<_description>
|
<description>
|
||||||
Keybinding to focus the active notification.
|
Keybinding to focus the active notification.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="pause-resume-tweens" type="as">
|
<key name="pause-resume-tweens" type="as">
|
||||||
<default>[]</default>
|
<default>[]</default>
|
||||||
<_summary>Keybinding that pauses and resumes all running tweens, for debugging purposes</_summary>
|
<summary>Keybinding that pauses and resumes all running tweens, for debugging purposes</summary>
|
||||||
<_description></_description>
|
<description></description>
|
||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
|
|
||||||
@ -135,10 +135,10 @@
|
|||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
<key name="keyboard-type" type="s">
|
<key name="keyboard-type" type="s">
|
||||||
<default>'touch'</default>
|
<default>'touch'</default>
|
||||||
<_summary>Which keyboard to use</_summary>
|
<summary>Which keyboard to use</summary>
|
||||||
<_description>
|
<description>
|
||||||
The type of keyboard to use.
|
The type of keyboard to use.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
|
|
||||||
@ -147,11 +147,11 @@
|
|||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
<key type="b" name="current-workspace-only">
|
<key type="b" name="current-workspace-only">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
<_summary>Limit switcher to current workspace.</_summary>
|
<summary>Limit switcher to current workspace.</summary>
|
||||||
<_description>
|
<description>
|
||||||
If true, only applications that have windows on the current workspace are shown in the switcher.
|
If true, only applications that have windows on the current workspace are shown in the switcher.
|
||||||
Otherwise, all applications are included.
|
Otherwise, all applications are included.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
|
|
||||||
@ -165,20 +165,20 @@
|
|||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
<key name="app-icon-mode" enum="org.gnome.shell.window-switcher.AppIconMode">
|
<key name="app-icon-mode" enum="org.gnome.shell.window-switcher.AppIconMode">
|
||||||
<default>'both'</default>
|
<default>'both'</default>
|
||||||
<_summary>The application icon mode.</_summary>
|
<summary>The application icon mode.</summary>
|
||||||
<_description>
|
<description>
|
||||||
Configures how the windows are shown in the switcher. Valid possibilities
|
Configures how the windows are shown in the switcher. Valid possibilities
|
||||||
are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only'
|
are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only'
|
||||||
(shows only the application icon) or 'both'.
|
(shows only the application icon) or 'both'.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key type="b" name="current-workspace-only">
|
<key type="b" name="current-workspace-only">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<_summary>Limit switcher to current workspace.</_summary>
|
<summary>Limit switcher to current workspace.</summary>
|
||||||
<_description>
|
<description>
|
||||||
If true, only windows from the current workspace are shown in the switcher.
|
If true, only windows from the current workspace are shown in the switcher.
|
||||||
Otherwise, all windows are included.
|
Otherwise, all windows are included.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
|
|
||||||
@ -186,43 +186,43 @@
|
|||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
<key name="attach-modal-dialogs" type="b">
|
<key name="attach-modal-dialogs" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<_summary>Attach modal dialog to the parent window</_summary>
|
<summary>Attach modal dialog to the parent window</summary>
|
||||||
<_description>
|
<description>
|
||||||
This key overrides the key in org.gnome.mutter when running
|
This key overrides the key in org.gnome.mutter when running
|
||||||
GNOME Shell.
|
GNOME Shell.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
<key name="edge-tiling" type="b">
|
<key name="edge-tiling" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<_summary>Enable edge tiling when dropping windows on screen edges</_summary>
|
<summary>Enable edge tiling when dropping windows on screen edges</summary>
|
||||||
<_description>
|
<description>
|
||||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
<key name="dynamic-workspaces" type="b">
|
<key name="dynamic-workspaces" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<_summary>Workspaces are managed dynamically</_summary>
|
<summary>Workspaces are managed dynamically</summary>
|
||||||
<_description>
|
<description>
|
||||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
<key name="workspaces-only-on-primary" type="b">
|
<key name="workspaces-only-on-primary" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<_summary>Workspaces only on primary monitor</_summary>
|
<summary>Workspaces only on primary monitor</summary>
|
||||||
<_description>
|
<description>
|
||||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
<key name="focus-change-on-pointer-rest" type="b">
|
<key name="focus-change-on-pointer-rest" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<_summary>Delay focus changes in mouse mode until the pointer stops moving</_summary>
|
<summary>Delay focus changes in mouse mode until the pointer stops moving</summary>
|
||||||
<_description>
|
<description>
|
||||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||||
</_description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
</schemalist>
|
</schemalist>
|
@ -604,6 +604,10 @@ StScrollBar {
|
|||||||
width: 96px;
|
width: 96px;
|
||||||
height: 96px; }
|
height: 96px; }
|
||||||
|
|
||||||
|
/* Window Cycler */
|
||||||
|
.cycler-highlight {
|
||||||
|
border: 5px solid #215d9c; }
|
||||||
|
|
||||||
/* Workspace Switcher */
|
/* Workspace Switcher */
|
||||||
.workspace-switcher-group {
|
.workspace-switcher-group {
|
||||||
padding: 12px; }
|
padding: 12px; }
|
||||||
|
Submodule data/theme/gnome-shell-sass updated: 7ab2789464...b2190083c2
@ -562,10 +562,6 @@ StScrollBar {
|
|||||||
background-color: #eeeeec;
|
background-color: #eeeeec;
|
||||||
border-radius: 0.3em; }
|
border-radius: 0.3em; }
|
||||||
|
|
||||||
.pad-osd-window {
|
|
||||||
background-color: rgba(0, 0, 0, 0.8);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* App Switcher */
|
/* App Switcher */
|
||||||
.switcher-popup {
|
.switcher-popup {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
@ -608,6 +604,10 @@ StScrollBar {
|
|||||||
width: 96px;
|
width: 96px;
|
||||||
height: 96px; }
|
height: 96px; }
|
||||||
|
|
||||||
|
/* Window Cycler */
|
||||||
|
.cycler-highlight {
|
||||||
|
border: 5px solid #215d9c; }
|
||||||
|
|
||||||
/* Workspace Switcher */
|
/* Workspace Switcher */
|
||||||
.workspace-switcher-group {
|
.workspace-switcher-group {
|
||||||
padding: 12px; }
|
padding: 12px; }
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
.Leader {
|
|
||||||
stroke-width: .5 !important;
|
|
||||||
stroke: #535353;
|
|
||||||
fill: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.Button {
|
|
||||||
stroke-width: .25;
|
|
||||||
stroke: #ededed;
|
|
||||||
fill: #ededed;
|
|
||||||
}
|
|
||||||
|
|
||||||
.Ring {
|
|
||||||
stroke-width: .5 !important;
|
|
||||||
stroke: #535353 !important;
|
|
||||||
fill: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.Label {
|
|
||||||
stroke: none !important;
|
|
||||||
stroke-width: .1 !important;
|
|
||||||
font-size: .1 !important;
|
|
||||||
fill: transparent !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.TouchStrip, .TouchRing {
|
|
||||||
stroke-width: .1 !important;
|
|
||||||
stroke: #ededed !important;
|
|
||||||
fill: #535353 !important;
|
|
||||||
}
|
|
@ -152,6 +152,7 @@ const Application = new Lang.Class({
|
|||||||
let scroll = new Gtk.ScrolledWindow({ hscrollbar_policy: Gtk.PolicyType.NEVER,
|
let scroll = new Gtk.ScrolledWindow({ hscrollbar_policy: Gtk.PolicyType.NEVER,
|
||||||
shadow_type: Gtk.ShadowType.IN,
|
shadow_type: Gtk.ShadowType.IN,
|
||||||
halign: Gtk.Align.CENTER,
|
halign: Gtk.Align.CENTER,
|
||||||
|
propagate_natural_width: true,
|
||||||
margin: 18 });
|
margin: 18 });
|
||||||
this._window.add(scroll);
|
this._window.add(scroll);
|
||||||
|
|
||||||
|
@ -804,6 +804,11 @@ const LoginDialog = new Lang.Class({
|
|||||||
|
|
||||||
this._user = null;
|
this._user = null;
|
||||||
|
|
||||||
|
if (this._nextSignalId) {
|
||||||
|
this._authPrompt.disconnect(this._nextSignalId);
|
||||||
|
this._nextSignalId = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (beginRequest == AuthPrompt.BeginRequestType.PROVIDE_USERNAME) {
|
if (beginRequest == AuthPrompt.BeginRequestType.PROVIDE_USERNAME) {
|
||||||
if (!this._disableUserList)
|
if (!this._disableUserList)
|
||||||
this._showUserList();
|
this._showUserList();
|
||||||
@ -1220,7 +1225,7 @@ const LoginDialog = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
addCharacter: function(unichar) {
|
addCharacter: function(unichar) {
|
||||||
this._authPrompt.addCharacter(unichar);
|
// Don't allow type ahead at the login screen
|
||||||
},
|
},
|
||||||
|
|
||||||
finish: function(onComplete) {
|
finish: function(onComplete) {
|
||||||
|
@ -72,7 +72,6 @@
|
|||||||
<file>ui/osdMonitorLabeler.js</file>
|
<file>ui/osdMonitorLabeler.js</file>
|
||||||
<file>ui/overview.js</file>
|
<file>ui/overview.js</file>
|
||||||
<file>ui/overviewControls.js</file>
|
<file>ui/overviewControls.js</file>
|
||||||
<file>ui/padOsd.js</file>
|
|
||||||
<file>ui/panel.js</file>
|
<file>ui/panel.js</file>
|
||||||
<file>ui/panelMenu.js</file>
|
<file>ui/panelMenu.js</file>
|
||||||
<file>ui/pointerWatcher.js</file>
|
<file>ui/pointerWatcher.js</file>
|
||||||
|
@ -50,7 +50,7 @@ const PortalWindow = new Lang.Class({
|
|||||||
this.parent({ application: application });
|
this.parent({ application: application });
|
||||||
|
|
||||||
if (!url) {
|
if (!url) {
|
||||||
url = 'http://www.gnome.org';
|
url = 'http://nmcheck.gnome.org';
|
||||||
this._originalUrlWasGnome = true;
|
this._originalUrlWasGnome = true;
|
||||||
} else {
|
} else {
|
||||||
this._originalUrlWasGnome = false;
|
this._originalUrlWasGnome = false;
|
||||||
@ -112,12 +112,12 @@ const PortalWindow = new Lang.Class({
|
|||||||
let uri = new Soup.URI(request.get_uri());
|
let uri = new Soup.URI(request.get_uri());
|
||||||
|
|
||||||
if (!uri.host_equal(this._uri) && this._originalUrlWasGnome) {
|
if (!uri.host_equal(this._uri) && this._originalUrlWasGnome) {
|
||||||
if (uri.get_host() == 'www.gnome.org' && this._everSeenRedirect) {
|
if (uri.get_host() == 'nmcheck.gnome.org' && this._everSeenRedirect) {
|
||||||
// Yay, we got to gnome!
|
// Yay, we got to gnome!
|
||||||
decision.ignore();
|
decision.ignore();
|
||||||
this._doneCallback(PortalHelperResult.COMPLETED);
|
this._doneCallback(PortalHelperResult.COMPLETED);
|
||||||
return true;
|
return true;
|
||||||
} else if (uri.get_host() != 'www.gnome.org') {
|
} else if (uri.get_host() != 'nmcheck.gnome.org') {
|
||||||
this._everSeenRedirect = true;
|
this._everSeenRedirect = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
116
js/ui/altTab.js
116
js/ui/altTab.js
@ -33,10 +33,9 @@ const AppIconMode = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function _createWindowClone(window, size) {
|
function _createWindowClone(window, size) {
|
||||||
let windowTexture = window.get_texture();
|
let [width, height] = window.get_size();
|
||||||
let [width, height] = windowTexture.get_size();
|
|
||||||
let scale = Math.min(1.0, size / width, size / height);
|
let scale = Math.min(1.0, size / width, size / height);
|
||||||
return new Clutter.Clone({ source: windowTexture,
|
return new Clutter.Clone({ source: window,
|
||||||
width: width * scale,
|
width: width * scale,
|
||||||
height: height * scale,
|
height: height * scale,
|
||||||
x_align: Clutter.ActorAlign.CENTER,
|
x_align: Clutter.ActorAlign.CENTER,
|
||||||
@ -46,6 +45,19 @@ function _createWindowClone(window, size) {
|
|||||||
y_expand: true });
|
y_expand: true });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function getWindows(workspace) {
|
||||||
|
// We ignore skip-taskbar windows in switchers, but if they are attached
|
||||||
|
// to their parent, their position in the MRU list may be more appropriate
|
||||||
|
// than the parent; so start with the complete list ...
|
||||||
|
let windows = global.display.get_tab_list(Meta.TabList.NORMAL_ALL,
|
||||||
|
workspace);
|
||||||
|
// ... map windows to their parent where appropriate ...
|
||||||
|
return windows.map(w => {
|
||||||
|
return w.is_attached_dialog() ? w.get_transient_for() : w;
|
||||||
|
// ... and filter out skip-taskbar windows and duplicates
|
||||||
|
}).filter((w, i, a) => !w.skip_taskbar && a.indexOf(w) == i);
|
||||||
|
}
|
||||||
|
|
||||||
const AppSwitcherPopup = new Lang.Class({
|
const AppSwitcherPopup = new Lang.Class({
|
||||||
Name: 'AppSwitcherPopup',
|
Name: 'AppSwitcherPopup',
|
||||||
Extends: SwitcherPopup.SwitcherPopup,
|
Extends: SwitcherPopup.SwitcherPopup,
|
||||||
@ -354,6 +366,67 @@ const AppSwitcherPopup = new Lang.Class({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const CyclerHighlight = new Lang.Class({
|
||||||
|
Name: 'CyclerHighlight',
|
||||||
|
|
||||||
|
_init: function() {
|
||||||
|
this._window = null;
|
||||||
|
|
||||||
|
this.actor = new St.Widget({ layout_manager: new Clutter.BinLayout() });
|
||||||
|
|
||||||
|
this._clone = new Clutter.Clone();
|
||||||
|
this.actor.add_actor(this._clone);
|
||||||
|
|
||||||
|
this._highlight = new St.Widget({ style_class: 'cycler-highlight' });
|
||||||
|
this.actor.add_actor(this._highlight);
|
||||||
|
|
||||||
|
let coordinate = Clutter.BindCoordinate.ALL;
|
||||||
|
let constraint = new Clutter.BindConstraint({ coordinate: coordinate });
|
||||||
|
this._clone.bind_property('source', constraint, 'source', 0);
|
||||||
|
|
||||||
|
this.actor.add_constraint(constraint);
|
||||||
|
|
||||||
|
this.actor.connect('notify::allocation',
|
||||||
|
Lang.bind(this, this._onAllocationChanged));
|
||||||
|
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||||
|
},
|
||||||
|
|
||||||
|
set window(w) {
|
||||||
|
if (this._window == w)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this._window = w;
|
||||||
|
|
||||||
|
if (this._clone.source)
|
||||||
|
this._clone.source.sync_visibility();
|
||||||
|
|
||||||
|
let windowActor = this._window ? this._window.get_compositor_private()
|
||||||
|
: null;
|
||||||
|
|
||||||
|
if (windowActor)
|
||||||
|
windowActor.hide();
|
||||||
|
|
||||||
|
this._clone.source = windowActor;
|
||||||
|
},
|
||||||
|
|
||||||
|
_onAllocationChanged: function() {
|
||||||
|
if (!this._window) {
|
||||||
|
this._highlight.set_size(0, 0);
|
||||||
|
this._highlight.hide();
|
||||||
|
} else {
|
||||||
|
let [x, y] = this.actor.allocation.get_origin();
|
||||||
|
let rect = this._window.get_frame_rect();
|
||||||
|
this._highlight.set_size(rect.width, rect.height);
|
||||||
|
this._highlight.set_position(rect.x - x, rect.y - y);
|
||||||
|
this._highlight.show();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_onDestroy: function() {
|
||||||
|
this.window = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const CyclerPopup = new Lang.Class({
|
const CyclerPopup = new Lang.Class({
|
||||||
Name: 'CyclerPopup',
|
Name: 'CyclerPopup',
|
||||||
Extends: SwitcherPopup.SwitcherPopup,
|
Extends: SwitcherPopup.SwitcherPopup,
|
||||||
@ -367,6 +440,9 @@ const CyclerPopup = new Lang.Class({
|
|||||||
if (this._items.length == 0)
|
if (this._items.length == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
this._highlight = new CyclerHighlight();
|
||||||
|
global.window_group.add_actor(this._highlight.actor);
|
||||||
|
|
||||||
// We don't show an actual popup, so just provide what SwitcherPopup
|
// We don't show an actual popup, so just provide what SwitcherPopup
|
||||||
// expects instead of inheriting from SwitcherList
|
// expects instead of inheriting from SwitcherList
|
||||||
this._switcherList = { actor: new St.Widget(),
|
this._switcherList = { actor: new St.Widget(),
|
||||||
@ -375,11 +451,37 @@ const CyclerPopup = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_highlightItem: function(index, justOutline) {
|
_highlightItem: function(index, justOutline) {
|
||||||
Main.activateWindow(this._items[index]);
|
this._highlight.window = this._items[index];
|
||||||
|
global.window_group.set_child_above_sibling(this._highlight.actor, null);
|
||||||
},
|
},
|
||||||
|
|
||||||
_finish: function() {
|
_finish: function() {
|
||||||
this._highlightItem(this._selectedIndex);
|
let window = this._items[this._selectedIndex];
|
||||||
|
let ws = window.get_workspace();
|
||||||
|
let activeWs = global.screen.get_active_workspace();
|
||||||
|
|
||||||
|
if (window.minimized) {
|
||||||
|
Main.wm.skipNextEffect(window.get_compositor_private());
|
||||||
|
window.unminimize();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (activeWs == ws) {
|
||||||
|
Main.activateWindow(window);
|
||||||
|
} else {
|
||||||
|
// If the selected window is on a different workspace, we don't
|
||||||
|
// want it to disappear, then slide in with the workspace; instead,
|
||||||
|
// always activate it on the active workspace ...
|
||||||
|
activeWs.activate_with_focus(window, global.get_current_time());
|
||||||
|
|
||||||
|
// ... then slide it over to the original workspace if necessary
|
||||||
|
Main.wm.actionMoveWindow(window, ws);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.parent();
|
||||||
|
},
|
||||||
|
|
||||||
|
_onDestroy: function() {
|
||||||
|
this._highlight.actor.destroy();
|
||||||
|
|
||||||
this.parent();
|
this.parent();
|
||||||
}
|
}
|
||||||
@ -427,7 +529,7 @@ const WindowSwitcherPopup = new Lang.Class({
|
|||||||
|
|
||||||
_getWindowList: function() {
|
_getWindowList: function() {
|
||||||
let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null;
|
let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null;
|
||||||
return global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
|
return getWindows(workspace);
|
||||||
},
|
},
|
||||||
|
|
||||||
_keyPressHandler: function(keysym, action) {
|
_keyPressHandler: function(keysym, action) {
|
||||||
@ -465,7 +567,7 @@ const WindowCyclerPopup = new Lang.Class({
|
|||||||
|
|
||||||
_getWindows: function() {
|
_getWindows: function() {
|
||||||
let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null;
|
let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null;
|
||||||
return global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
|
return getWindows(workspace);
|
||||||
},
|
},
|
||||||
|
|
||||||
_keyPressHandler: function(keysym, action) {
|
_keyPressHandler: function(keysym, action) {
|
||||||
|
@ -67,7 +67,7 @@ const Animation = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_animationsLoaded: function() {
|
_animationsLoaded: function() {
|
||||||
this._isLoaded = true;
|
this._isLoaded = this._animations.get_n_children() > 0;
|
||||||
|
|
||||||
if (this._isPlaying)
|
if (this._isPlaying)
|
||||||
this.play();
|
this.play();
|
||||||
|
@ -12,6 +12,7 @@ const RENAMED_DESKTOP_IDS = {
|
|||||||
'dconf-editor.desktop': 'ca.desrt.dconf-editor.desktop',
|
'dconf-editor.desktop': 'ca.desrt.dconf-editor.desktop',
|
||||||
'file-roller.desktop': 'org.gnome.FileRoller.desktop',
|
'file-roller.desktop': 'org.gnome.FileRoller.desktop',
|
||||||
'gcalctool.desktop': 'gnome-calculator.desktop',
|
'gcalctool.desktop': 'gnome-calculator.desktop',
|
||||||
|
'geary.desktop': 'org.gnome.Geary.desktop',
|
||||||
'gedit.desktop': 'org.gnome.gedit.desktop',
|
'gedit.desktop': 'org.gnome.gedit.desktop',
|
||||||
'glchess.desktop': 'gnome-chess.desktop',
|
'glchess.desktop': 'gnome-chess.desktop',
|
||||||
'glines.desktop': 'five-or-more.desktop',
|
'glines.desktop': 'five-or-more.desktop',
|
||||||
@ -56,12 +57,14 @@ const AppFavorites = new Lang.Class({
|
|||||||
|
|
||||||
reload: function() {
|
reload: function() {
|
||||||
let ids = global.settings.get_strv(this.FAVORITE_APPS_KEY);
|
let ids = global.settings.get_strv(this.FAVORITE_APPS_KEY);
|
||||||
|
let appSys = Shell.AppSystem.get_default();
|
||||||
|
|
||||||
// Map old desktop file names to the current ones
|
// Map old desktop file names to the current ones
|
||||||
let updated = false;
|
let updated = false;
|
||||||
ids = ids.map(function (id) {
|
ids = ids.map(function (id) {
|
||||||
let newId = RENAMED_DESKTOP_IDS[id];
|
let newId = RENAMED_DESKTOP_IDS[id];
|
||||||
if (newId !== undefined) {
|
if (newId !== undefined &&
|
||||||
|
appSys.lookup_app(newId) != null) {
|
||||||
updated = true;
|
updated = true;
|
||||||
return newId;
|
return newId;
|
||||||
}
|
}
|
||||||
@ -71,7 +74,6 @@ const AppFavorites = new Lang.Class({
|
|||||||
if (updated)
|
if (updated)
|
||||||
global.settings.set_strv(this.FAVORITE_APPS_KEY, ids);
|
global.settings.set_strv(this.FAVORITE_APPS_KEY, ids);
|
||||||
|
|
||||||
let appSys = Shell.AppSystem.get_default();
|
|
||||||
let apps = ids.map(function (id) {
|
let apps = ids.map(function (id) {
|
||||||
return appSys.lookup_app(id);
|
return appSys.lookup_app(id);
|
||||||
}).filter(function (app) {
|
}).filter(function (app) {
|
||||||
|
@ -615,6 +615,14 @@ const NetworkAgent = new Lang.Class({
|
|||||||
this._vpnRequests = { };
|
this._vpnRequests = { };
|
||||||
this._notifications = { };
|
this._notifications = { };
|
||||||
|
|
||||||
|
this._pluginDir = Gio.file_new_for_path(GLib.build_filenamev([Config.SYSCONFDIR, 'NetworkManager/VPN']));
|
||||||
|
try {
|
||||||
|
let monitor = this._pluginDir.monitor(Gio.FileMonitorFlags.NONE, null);
|
||||||
|
monitor.connect('changed', () => { this._vpnCacheBuilt = false; });
|
||||||
|
} catch(e) {
|
||||||
|
log('Failed to create monitor for VPN plugin dir: ' + e.message);
|
||||||
|
}
|
||||||
|
|
||||||
this._native.connect('new-request', Lang.bind(this, this._newRequest));
|
this._native.connect('new-request', Lang.bind(this, this._newRequest));
|
||||||
this._native.connect('cancel-request', Lang.bind(this, this._cancelRequest));
|
this._native.connect('cancel-request', Lang.bind(this, this._cancelRequest));
|
||||||
|
|
||||||
@ -765,9 +773,8 @@ const NetworkAgent = new Lang.Class({
|
|||||||
this._vpnCacheBuilt = true;
|
this._vpnCacheBuilt = true;
|
||||||
this._vpnBinaries = { };
|
this._vpnBinaries = { };
|
||||||
|
|
||||||
let dir = Gio.file_new_for_path(GLib.build_filenamev([Config.SYSCONFDIR, 'NetworkManager/VPN']));
|
|
||||||
try {
|
try {
|
||||||
let fileEnum = dir.enumerate_children('standard::name', Gio.FileQueryInfoFlags.NONE, null);
|
let fileEnum = this._pluginDir.enumerate_children('standard::name', Gio.FileQueryInfoFlags.NONE, null);
|
||||||
let info;
|
let info;
|
||||||
|
|
||||||
while ((info = fileEnum.next_file(null))) {
|
while ((info = fileEnum.next_file(null))) {
|
||||||
@ -777,7 +784,7 @@ const NetworkAgent = new Lang.Class({
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
let keyfile = new GLib.KeyFile();
|
let keyfile = new GLib.KeyFile();
|
||||||
keyfile.load_from_file(dir.get_child(name).get_path(), GLib.KeyFileFlags.NONE);
|
keyfile.load_from_file(this._pluginDir.get_child(name).get_path(), GLib.KeyFileFlags.NONE);
|
||||||
let service = keyfile.get_string('VPN Connection', 'service');
|
let service = keyfile.get_string('VPN Connection', 'service');
|
||||||
let binary = keyfile.get_string('GNOME', 'auth-dialog');
|
let binary = keyfile.get_string('GNOME', 'auth-dialog');
|
||||||
let externalUIMode = false;
|
let externalUIMode = false;
|
||||||
@ -810,7 +817,7 @@ const NetworkAgent = new Lang.Class({
|
|||||||
}
|
}
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
log('Error \'%s\' while processing VPN keyfile \'%s\''.
|
log('Error \'%s\' while processing VPN keyfile \'%s\''.
|
||||||
format(e.message, dir.get_child(name).get_path()));
|
format(e.message, this._pluginDir.get_child(name).get_path()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -475,6 +475,11 @@ const ChatSource = new Lang.Class({
|
|||||||
this._channel.close_async(function(channel, result) {
|
this._channel.close_async(function(channel, result) {
|
||||||
channel.close_finish(result);
|
channel.close_finish(result);
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
// Don't indicate any unread messages when the notification
|
||||||
|
// that represents them has been destroyed.
|
||||||
|
this._pendingMessages = [];
|
||||||
|
this.countUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Keep source alive while the channel is open
|
// Keep source alive while the channel is open
|
||||||
|
@ -10,6 +10,7 @@ const Meta = imports.gi.Meta;
|
|||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
|
const InputSourceManager = imports.ui.status.keyboard;
|
||||||
|
|
||||||
const BoxPointer = imports.ui.boxpointer;
|
const BoxPointer = imports.ui.boxpointer;
|
||||||
const Layout = imports.ui.layout;
|
const Layout = imports.ui.layout;
|
||||||
@ -757,19 +758,48 @@ const ShellWaylandAdapter = new Lang.Class({
|
|||||||
Name: 'ShellWaylandAdapter',
|
Name: 'ShellWaylandAdapter',
|
||||||
Extends: Caribou.XAdapter,
|
Extends: Caribou.XAdapter,
|
||||||
|
|
||||||
|
_init: function () {
|
||||||
|
this.parent();
|
||||||
|
let deviceManager = Clutter.DeviceManager.get_default();
|
||||||
|
this._virtualDevice = deviceManager.create_virtual_device(Clutter.InputDeviceType.KEYBOARD_DEVICE);
|
||||||
|
|
||||||
|
this._inputSourceManager = InputSourceManager.getInputSourceManager();
|
||||||
|
this._sourceChangedId = this._inputSourceManager.connect('current-source-changed',
|
||||||
|
Lang.bind(this, this._onSourceChanged));
|
||||||
|
this._sourcesModifiedId = this._inputSourceManager.connect ('sources-changed',
|
||||||
|
Lang.bind(this, this._onSourcesModified));
|
||||||
|
},
|
||||||
|
|
||||||
|
_onSourcesModified: function () {
|
||||||
|
this.emit('config-changed');
|
||||||
|
},
|
||||||
|
|
||||||
|
_onSourceChanged: function (inputSourceManager, oldSource) {
|
||||||
|
let source = inputSourceManager.currentSource;
|
||||||
|
this.emit('group-changed', source.index, source.id, '');
|
||||||
|
},
|
||||||
|
|
||||||
|
vfunc_get_groups: function () {
|
||||||
|
let inputSources = this._inputSourceManager.inputSources;
|
||||||
|
let groups = []
|
||||||
|
let variants = [];
|
||||||
|
|
||||||
|
for (let i in inputSources) {
|
||||||
|
let is = inputSources[i];
|
||||||
|
groups[is.index] = is.id;
|
||||||
|
variants[is.index] = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
return [groups, groups.length, variants, variants.length];
|
||||||
|
},
|
||||||
|
|
||||||
vfunc_keyval_press: function(keyval) {
|
vfunc_keyval_press: function(keyval) {
|
||||||
let focus = global.stage.get_key_focus();
|
this._virtualDevice.notify_keyval(Clutter.get_current_event_time(),
|
||||||
if (focus instanceof Clutter.Text)
|
keyval, Clutter.KeyState.PRESSED);
|
||||||
Shell.util_text_insert_keyval(focus, keyval);
|
|
||||||
else
|
|
||||||
this.parent(keyval);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
vfunc_keyval_release: function(keyval) {
|
vfunc_keyval_release: function(keyval) {
|
||||||
let focus = global.stage.get_key_focus();
|
this._virtualDevice.notify_keyval(Clutter.get_current_event_time(),
|
||||||
if (focus instanceof Clutter.Text)
|
keyval, Clutter.KeyState.RELEASED);
|
||||||
return; // do nothing
|
|
||||||
else
|
|
||||||
this.parent(keyval);
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -26,7 +26,6 @@ const ModalDialog = imports.ui.modalDialog;
|
|||||||
const OsdWindow = imports.ui.osdWindow;
|
const OsdWindow = imports.ui.osdWindow;
|
||||||
const OsdMonitorLabeler = imports.ui.osdMonitorLabeler;
|
const OsdMonitorLabeler = imports.ui.osdMonitorLabeler;
|
||||||
const Overview = imports.ui.overview;
|
const Overview = imports.ui.overview;
|
||||||
const PadOsd = imports.ui.padOsd;
|
|
||||||
const Panel = imports.ui.panel;
|
const Panel = imports.ui.panel;
|
||||||
const Params = imports.misc.params;
|
const Params = imports.misc.params;
|
||||||
const RunDialog = imports.ui.runDialog;
|
const RunDialog = imports.ui.runDialog;
|
||||||
@ -62,7 +61,6 @@ let screenShield = null;
|
|||||||
let notificationDaemon = null;
|
let notificationDaemon = null;
|
||||||
let windowAttentionHandler = null;
|
let windowAttentionHandler = null;
|
||||||
let ctrlAltTabManager = null;
|
let ctrlAltTabManager = null;
|
||||||
let padOsdService = null;
|
|
||||||
let osdWindowManager = null;
|
let osdWindowManager = null;
|
||||||
let osdMonitorLabeler = null;
|
let osdMonitorLabeler = null;
|
||||||
let sessionMode = null;
|
let sessionMode = null;
|
||||||
@ -157,7 +155,6 @@ function _initializeUI() {
|
|||||||
// working until it's updated.
|
// working until it's updated.
|
||||||
uiGroup = layoutManager.uiGroup;
|
uiGroup = layoutManager.uiGroup;
|
||||||
|
|
||||||
padOsdService = new PadOsd.PadOsdService();
|
|
||||||
screencastService = new Screencast.ScreencastService();
|
screencastService = new Screencast.ScreencastService();
|
||||||
xdndHandler = new XdndHandler.XdndHandler();
|
xdndHandler = new XdndHandler.XdndHandler();
|
||||||
ctrlAltTabManager = new CtrlAltTab.CtrlAltTabManager();
|
ctrlAltTabManager = new CtrlAltTab.CtrlAltTabManager();
|
||||||
|
@ -690,6 +690,7 @@ const GtkNotificationDaemonAppSource = new Lang.Class({
|
|||||||
throw new InvalidAppError();
|
throw new InvalidAppError();
|
||||||
|
|
||||||
this._notifications = {};
|
this._notifications = {};
|
||||||
|
this._notificationPending = false;
|
||||||
|
|
||||||
this.parent(this._app.get_name());
|
this.parent(this._app.get_name());
|
||||||
},
|
},
|
||||||
@ -723,6 +724,8 @@ const GtkNotificationDaemonAppSource = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
addNotification: function(notificationId, notificationParams, showBanner) {
|
addNotification: function(notificationId, notificationParams, showBanner) {
|
||||||
|
this._notificationPending = true;
|
||||||
|
|
||||||
if (this._notifications[notificationId])
|
if (this._notifications[notificationId])
|
||||||
this._notifications[notificationId].destroy();
|
this._notifications[notificationId].destroy();
|
||||||
|
|
||||||
@ -736,6 +739,14 @@ const GtkNotificationDaemonAppSource = new Lang.Class({
|
|||||||
this.notify(notification);
|
this.notify(notification);
|
||||||
else
|
else
|
||||||
this.pushNotification(notification);
|
this.pushNotification(notification);
|
||||||
|
|
||||||
|
this._notificationPending = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
destroy: function(reason) {
|
||||||
|
if (this._notificationPending)
|
||||||
|
return;
|
||||||
|
this.parent(reason);
|
||||||
},
|
},
|
||||||
|
|
||||||
removeNotification: function(notificationId) {
|
removeNotification: function(notificationId) {
|
||||||
|
@ -72,8 +72,8 @@ const OsdWindowConstraint = new Lang.Class({
|
|||||||
|
|
||||||
// Recenter
|
// Recenter
|
||||||
let [x, y] = actorBox.get_origin();
|
let [x, y] = actorBox.get_origin();
|
||||||
actorBox.set_origin(Math.floor(x + width / 2 - size / 2),
|
actorBox.set_origin(Math.ceil(x + width / 2 - size / 2),
|
||||||
Math.floor(y + height / 2 - size / 2));
|
Math.ceil(y + height / 2 - size / 2));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -109,8 +109,11 @@ const OsdWindow = new Lang.Class({
|
|||||||
this._reset();
|
this._reset();
|
||||||
|
|
||||||
Main.layoutManager.connect('monitors-changed',
|
Main.layoutManager.connect('monitors-changed',
|
||||||
Lang.bind(this, this._monitorsChanged));
|
Lang.bind(this, this._relayout));
|
||||||
this._monitorsChanged();
|
let themeContext = St.ThemeContext.get_for_stage(global.stage);
|
||||||
|
themeContext.connect('notify::scale-factor',
|
||||||
|
Lang.bind(this, this._relayout));
|
||||||
|
this._relayout();
|
||||||
Main.uiGroup.add_child(this.actor);
|
Main.uiGroup.add_child(this.actor);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -188,7 +191,7 @@ const OsdWindow = new Lang.Class({
|
|||||||
this.setLevel(null);
|
this.setLevel(null);
|
||||||
},
|
},
|
||||||
|
|
||||||
_monitorsChanged: function() {
|
_relayout: function() {
|
||||||
/* assume 110x110 on a 640x480 display and scale from there */
|
/* assume 110x110 on a 640x480 display and scale from there */
|
||||||
let monitor = Main.layoutManager.monitors[this._monitorIndex];
|
let monitor = Main.layoutManager.monitors[this._monitorIndex];
|
||||||
if (!monitor)
|
if (!monitor)
|
||||||
|
@ -378,7 +378,7 @@ const Overview = new Lang.Class({
|
|||||||
return null;
|
return null;
|
||||||
|
|
||||||
let window = windows[0];
|
let window = windows[0];
|
||||||
let clone = new Clutter.Clone({ source: window.get_texture(),
|
let clone = new Clutter.Clone({ source: window,
|
||||||
x: window.x, y: window.y });
|
x: window.x, y: window.y });
|
||||||
clone.source.connect('destroy', Lang.bind(this, function() {
|
clone.source.connect('destroy', Lang.bind(this, function() {
|
||||||
clone.destroy();
|
clone.destroy();
|
||||||
|
733
js/ui/padOsd.js
733
js/ui/padOsd.js
@ -1,733 +0,0 @@
|
|||||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
|
||||||
|
|
||||||
const Lang = imports.lang;
|
|
||||||
const Meta = imports.gi.Meta;
|
|
||||||
const Shell = imports.gi.Shell;
|
|
||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
const St = imports.gi.St;
|
|
||||||
const Rsvg = imports.gi.Rsvg;
|
|
||||||
const GLib = imports.gi.GLib;
|
|
||||||
const Gtk = imports.gi.Gtk;
|
|
||||||
const Gio = imports.gi.Gio;
|
|
||||||
const GDesktopEnums = imports.gi.GDesktopEnums;
|
|
||||||
const Atk = imports.gi.Atk;
|
|
||||||
const Cairo = imports.cairo;
|
|
||||||
const Signals = imports.signals;
|
|
||||||
|
|
||||||
const Main = imports.ui.main;
|
|
||||||
const PopupMenu = imports.ui.popupMenu;
|
|
||||||
const Layout = imports.ui.layout;
|
|
||||||
|
|
||||||
const ACTIVE_COLOR = "#729fcf";
|
|
||||||
|
|
||||||
const LTR = 0;
|
|
||||||
const RTL = 1;
|
|
||||||
|
|
||||||
const CW = 0;
|
|
||||||
const CCW = 1;
|
|
||||||
|
|
||||||
const UP = 0;
|
|
||||||
const DOWN = 1;
|
|
||||||
|
|
||||||
const KeybindingEntry = new Lang.Class({
|
|
||||||
Name: 'KeybindingEntry',
|
|
||||||
|
|
||||||
_init: function () {
|
|
||||||
this.actor = new St.Entry({ hint_text: _('New shortcut...'),
|
|
||||||
width: 120 });
|
|
||||||
this.actor.connect('captured-event', Lang.bind(this, this._onCapturedEvent));
|
|
||||||
this.actor.connect('destroy', Lang.bind(this, this.destroy));
|
|
||||||
},
|
|
||||||
|
|
||||||
_onCapturedEvent: function (actor, event) {
|
|
||||||
if (event.type() == Clutter.EventType.KEY_PRESS) {
|
|
||||||
if (GLib.unichar_isprint(event.get_key_unicode())) {
|
|
||||||
let str = Gtk.accelerator_name_with_keycode(null,
|
|
||||||
event.get_key_symbol(),
|
|
||||||
event.get_key_code(),
|
|
||||||
event.get_state());
|
|
||||||
this.actor.set_text(str);
|
|
||||||
this.emit('keybinding', str);
|
|
||||||
}
|
|
||||||
return Clutter.EVENT_STOP;
|
|
||||||
}
|
|
||||||
|
|
||||||
return Clutter.EVENT_PROPAGATE;
|
|
||||||
},
|
|
||||||
|
|
||||||
destroy: function () {
|
|
||||||
this.actor.destroy();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Signals.addSignalMethods(KeybindingEntry.prototype);
|
|
||||||
|
|
||||||
const ActionComboBox = new Lang.Class({
|
|
||||||
Name: 'ActionComboBox',
|
|
||||||
|
|
||||||
_init: function () {
|
|
||||||
this.actor = new St.Button({ style_class: 'button' });
|
|
||||||
this.actor.connect('clicked', Lang.bind(this, this._onButtonClicked));
|
|
||||||
this.actor.set_toggle_mode(true);
|
|
||||||
|
|
||||||
let boxLayout = new Clutter.BoxLayout({ orientation: Clutter.Orientation.HORIZONTAL,
|
|
||||||
spacing: 6 });
|
|
||||||
let box = new St.Widget({ layout_manager: boxLayout });
|
|
||||||
this.actor.set_child(box);
|
|
||||||
|
|
||||||
this._label = new St.Label({ width: 150 });
|
|
||||||
box.add_child(this._label)
|
|
||||||
|
|
||||||
let arrow = new St.Icon({ style_class: 'popup-menu-arrow',
|
|
||||||
icon_name: 'pan-down-symbolic',
|
|
||||||
accessible_role: Atk.Role.ARROW,
|
|
||||||
y_expand: true,
|
|
||||||
y_align: Clutter.ActorAlign.CENTER });
|
|
||||||
box.add_child(arrow);
|
|
||||||
|
|
||||||
/* Order matches GDesktopPadButtonAction enum */
|
|
||||||
this._actions = [_('Application defined'),
|
|
||||||
_('Show on-screen help'),
|
|
||||||
_('Switch monitor'),
|
|
||||||
_('Assign keystroke')];
|
|
||||||
|
|
||||||
this._editMenu = new PopupMenu.PopupMenu(this.actor, 0, St.Side.TOP);
|
|
||||||
this._editMenu.connect('menu-closed', Lang.bind(this, function() { this.actor.set_checked(false); }));
|
|
||||||
this._editMenu.actor.hide();
|
|
||||||
Main.uiGroup.add_actor(this._editMenu.actor);
|
|
||||||
|
|
||||||
for (let i = 0; i < this._actions.length; i++) {
|
|
||||||
let str = this._actions[i];
|
|
||||||
let action = i;
|
|
||||||
this._editMenu.addAction(str, Lang.bind(this, function() { this._onActionSelected(action) }));
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setAction(GDesktopEnums.PadButtonAction.NONE);
|
|
||||||
},
|
|
||||||
|
|
||||||
_onActionSelected: function (action) {
|
|
||||||
this.setAction(action);
|
|
||||||
this.popdown();
|
|
||||||
this.emit('action', action);
|
|
||||||
},
|
|
||||||
|
|
||||||
setAction: function (action) {
|
|
||||||
this._label.set_text(this._actions[action]);
|
|
||||||
},
|
|
||||||
|
|
||||||
popup: function () {
|
|
||||||
this._editMenu.open(true);
|
|
||||||
},
|
|
||||||
|
|
||||||
popdown: function () {
|
|
||||||
this._editMenu.close(true);
|
|
||||||
},
|
|
||||||
|
|
||||||
_onButtonClicked: function () {
|
|
||||||
if (this.actor.get_checked())
|
|
||||||
this.popup();
|
|
||||||
else
|
|
||||||
this.popdown();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Signals.addSignalMethods(ActionComboBox.prototype);
|
|
||||||
|
|
||||||
const ActionEditor = new Lang.Class({
|
|
||||||
Name: 'ActionEditor',
|
|
||||||
|
|
||||||
_init: function () {
|
|
||||||
let boxLayout = new Clutter.BoxLayout({ orientation: Clutter.Orientation.HORIZONTAL,
|
|
||||||
spacing: 12 });
|
|
||||||
|
|
||||||
this.actor = new St.Widget({ layout_manager: boxLayout });
|
|
||||||
|
|
||||||
this._actionComboBox = new ActionComboBox();
|
|
||||||
this._actionComboBox.connect('action', Lang.bind(this, this._onActionSelected));
|
|
||||||
this.actor.add_actor(this._actionComboBox.actor);
|
|
||||||
|
|
||||||
this._keybindingEdit = new KeybindingEntry();
|
|
||||||
this._keybindingEdit.connect('keybinding', Lang.bind(this, this._onKeybindingEdited));
|
|
||||||
this._keybindingEdit.actor.hide();
|
|
||||||
this.actor.add_actor(this._keybindingEdit.actor);
|
|
||||||
|
|
||||||
this._doneButton = new St.Button ({ label: _('Done'),
|
|
||||||
width: 100,
|
|
||||||
style_class: 'button'});
|
|
||||||
this._doneButton.connect('clicked', Lang.bind(this, this._onEditingDone));
|
|
||||||
this.actor.add_actor(this._doneButton);
|
|
||||||
},
|
|
||||||
|
|
||||||
setSettings: function (settings) {
|
|
||||||
this._buttonSettings = settings;
|
|
||||||
|
|
||||||
this._currentAction = this._buttonSettings.get_enum('action');
|
|
||||||
this._currentKeybinding = this._buttonSettings.get_string('keybinding');
|
|
||||||
this._actionComboBox.setAction (this._currentAction);
|
|
||||||
|
|
||||||
if (this._currentAction == GDesktopEnums.PadButtonAction.KEYBINDING) {
|
|
||||||
this._keybindingEdit.actor.set_text(this._currentKeybinding);
|
|
||||||
this._keybindingEdit.actor.show();
|
|
||||||
} else {
|
|
||||||
this._keybindingEdit.actor.hide();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
close: function() {
|
|
||||||
this._actionComboBox.popdown();
|
|
||||||
this.actor.hide();
|
|
||||||
},
|
|
||||||
|
|
||||||
_onKeybindingEdited: function (entry, keybinding) {
|
|
||||||
this._currentKeybinding = keybinding;
|
|
||||||
},
|
|
||||||
|
|
||||||
_onActionSelected: function (menu, action) {
|
|
||||||
this._currentAction = action;
|
|
||||||
|
|
||||||
if (action == GDesktopEnums.PadButtonAction.KEYBINDING) {
|
|
||||||
this._keybindingEdit.actor.show();
|
|
||||||
this._keybindingEdit.actor.grab_key_focus();
|
|
||||||
} else {
|
|
||||||
this._keybindingEdit.actor.hide();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_storeSettings: function () {
|
|
||||||
if (!this._buttonSettings)
|
|
||||||
return;
|
|
||||||
|
|
||||||
let keybinding = null;
|
|
||||||
|
|
||||||
if (this._currentAction == GDesktopEnums.PadButtonAction.KEYBINDING)
|
|
||||||
keybinding = this._currentKeybinding;
|
|
||||||
|
|
||||||
this._buttonSettings.set_enum('action', this._currentAction);
|
|
||||||
|
|
||||||
if (keybinding)
|
|
||||||
this._buttonSettings.set_string('keybinding', keybinding);
|
|
||||||
else
|
|
||||||
this._buttonSettings.reset('keybinding');
|
|
||||||
},
|
|
||||||
|
|
||||||
_onEditingDone: function () {
|
|
||||||
this._storeSettings();
|
|
||||||
this.close();
|
|
||||||
this.emit ('done');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Signals.addSignalMethods(ActionEditor.prototype);
|
|
||||||
|
|
||||||
const PadDiagram = new Lang.Class({
|
|
||||||
Name: 'PadDiagram',
|
|
||||||
Extends: St.DrawingArea,
|
|
||||||
|
|
||||||
_init: function (imagePath, leftHanded) {
|
|
||||||
this.parent();
|
|
||||||
|
|
||||||
let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/pad-osd.css');
|
|
||||||
let [success, css, etag] = file.load_contents(null);
|
|
||||||
this._css = css;
|
|
||||||
|
|
||||||
let originalHandle = Rsvg.Handle.new_from_file(imagePath);
|
|
||||||
let dimensions = originalHandle.get_dimensions();
|
|
||||||
this._imageWidth = dimensions.width;
|
|
||||||
this._imageHeight = dimensions.height;
|
|
||||||
|
|
||||||
this._activeButtons = [];
|
|
||||||
this._imagePath = imagePath;
|
|
||||||
this._handle = this._composeStyledDiagram();
|
|
||||||
this.connect('repaint', Lang.bind(this, this._repaint));
|
|
||||||
this.connect('notify::size', Lang.bind(this, this._updateScale));
|
|
||||||
this._leftHanded = leftHanded;
|
|
||||||
},
|
|
||||||
|
|
||||||
_wrappingSvgHeader: function () {
|
|
||||||
return ('<?xml version="1.0" encoding="UTF-8" standalone="no"?>' +
|
|
||||||
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" ' +
|
|
||||||
'xmlns:xi="http://www.w3.org/2001/XInclude" ' +
|
|
||||||
'width="' + this._imageWidth + '" height="' + this._imageHeight + '"> ' +
|
|
||||||
'<style type="text/css">');
|
|
||||||
},
|
|
||||||
|
|
||||||
_wrappingSvgFooter: function () {
|
|
||||||
return ('</style>' +
|
|
||||||
'<xi:include href="' + this._imagePath + '" />' +
|
|
||||||
'</svg>');
|
|
||||||
},
|
|
||||||
|
|
||||||
_cssString: function () {
|
|
||||||
let css = this._css;
|
|
||||||
|
|
||||||
for (let i = 0; i < this._activeButtons.length; i++) {
|
|
||||||
let ch = String.fromCharCode('A'.charCodeAt() + this._activeButtons[i]);
|
|
||||||
css += ('.' + ch + ' { ' +
|
|
||||||
' stroke: ' + ACTIVE_COLOR + ' !important; ' +
|
|
||||||
' fill: ' + ACTIVE_COLOR + ' !important; ' +
|
|
||||||
'} ');
|
|
||||||
}
|
|
||||||
|
|
||||||
return css;
|
|
||||||
},
|
|
||||||
|
|
||||||
_composeStyledDiagram: function () {
|
|
||||||
let svgData = '';
|
|
||||||
|
|
||||||
if (!GLib.file_test(this._imagePath, GLib.FileTest.EXISTS))
|
|
||||||
return null;
|
|
||||||
|
|
||||||
svgData += this._wrappingSvgHeader();
|
|
||||||
svgData += this._cssString();
|
|
||||||
svgData += this._wrappingSvgFooter();
|
|
||||||
|
|
||||||
let handle = new Rsvg.Handle();
|
|
||||||
handle.set_base_uri (GLib.path_get_dirname (this._imagePath));
|
|
||||||
handle.write(svgData);
|
|
||||||
handle.close();
|
|
||||||
|
|
||||||
return handle;
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateScale: function () {
|
|
||||||
let [width, height] = this.get_size();
|
|
||||||
let dimensions = this._handle.get_dimensions ();
|
|
||||||
let scaleX = width / dimensions.width;
|
|
||||||
let scaleY = height / dimensions.height;
|
|
||||||
this._scale = Math.min(scaleX, scaleY);
|
|
||||||
},
|
|
||||||
|
|
||||||
_repaint: function (area) {
|
|
||||||
if (this._handle == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
let [width, height] = area.get_surface_size();
|
|
||||||
let dimensions = this._handle.get_dimensions ();
|
|
||||||
let cr = this.get_context();
|
|
||||||
|
|
||||||
if (this._scale == null)
|
|
||||||
this._updateScale();
|
|
||||||
|
|
||||||
cr.save();
|
|
||||||
cr.translate (width/2, height/2);
|
|
||||||
cr.scale (this._scale, this._scale);
|
|
||||||
if (this._leftHanded)
|
|
||||||
cr.rotate(Math.PI);
|
|
||||||
cr.translate (-dimensions.width/2, -dimensions.height/2);
|
|
||||||
this._handle.render_cairo(cr);
|
|
||||||
cr.restore();
|
|
||||||
cr.$dispose();
|
|
||||||
},
|
|
||||||
|
|
||||||
_transformPoint: function (x, y) {
|
|
||||||
if (this._handle == null || this._scale == null)
|
|
||||||
return [x, y];
|
|
||||||
|
|
||||||
// I miss Cairo.Matrix
|
|
||||||
let [width, height] = this.get_size();
|
|
||||||
let dimensions = this._handle.get_dimensions ();
|
|
||||||
x = x * this._scale + width / 2 - dimensions.width / 2 * this._scale;
|
|
||||||
y = y * this._scale + height / 2 - dimensions.height / 2 * this._scale;;
|
|
||||||
return [Math.round(x), Math.round(y)];
|
|
||||||
},
|
|
||||||
|
|
||||||
_getItemLabelCoords: function (labelName, leaderName) {
|
|
||||||
if (this._handle == null)
|
|
||||||
return [false];
|
|
||||||
|
|
||||||
let leaderPos, leaderSize, pos;
|
|
||||||
let found, direction;
|
|
||||||
|
|
||||||
[found, pos] = this._handle.get_position_sub('#' + labelName);
|
|
||||||
if (!found)
|
|
||||||
return [false];
|
|
||||||
|
|
||||||
[found, leaderPos] = this._handle.get_position_sub('#' + leaderName);
|
|
||||||
[found, leaderSize] = this._handle.get_dimensions_sub('#' + leaderName);
|
|
||||||
if (!found)
|
|
||||||
return [false];
|
|
||||||
|
|
||||||
if (pos.x > leaderPos.x + leaderSize.width)
|
|
||||||
direction = LTR;
|
|
||||||
else
|
|
||||||
direction = RTL;
|
|
||||||
|
|
||||||
if (this._leftHanded) {
|
|
||||||
direction = 1 - direction;
|
|
||||||
pos.x = this._imageWidth - pos.x;
|
|
||||||
pos.y = this._imageHeight - pos.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
let [x, y] = this._transformPoint(pos.x, pos.y)
|
|
||||||
|
|
||||||
return [true, x, y, direction];
|
|
||||||
},
|
|
||||||
|
|
||||||
getButtonLabelCoords: function (button) {
|
|
||||||
let ch = String.fromCharCode('A'.charCodeAt() + button);
|
|
||||||
let labelName = 'Label' + ch;
|
|
||||||
let leaderName = 'Leader' + ch;
|
|
||||||
|
|
||||||
return this._getItemLabelCoords(labelName, leaderName);
|
|
||||||
},
|
|
||||||
|
|
||||||
getRingLabelCoords: function (number, dir) {
|
|
||||||
let numStr = number > 0 ? number.toString() : '';
|
|
||||||
let dirStr = dir == CW ? 'CW' : 'CCW';
|
|
||||||
let labelName = 'LabelRing' + numStr + dirStr;
|
|
||||||
let leaderName = 'LeaderRing' + numStr + dirStr;
|
|
||||||
|
|
||||||
return this._getItemLabelCoords(labelName, leaderName);
|
|
||||||
},
|
|
||||||
|
|
||||||
getStripLabelCoords: function (number, dir) {
|
|
||||||
let numStr = number > 0 ? (number + 1).toString() : '';
|
|
||||||
let dirStr = dir == UP ? 'Up' : 'Down';
|
|
||||||
let labelName = 'LabelStrip' + numStr + dirStr;
|
|
||||||
let leaderName = 'LeaderStrip' + numStr + dirStr;
|
|
||||||
|
|
||||||
return this._getItemLabelCoords(labelName, leaderName);
|
|
||||||
},
|
|
||||||
|
|
||||||
_invalidateSvg: function () {
|
|
||||||
if (this._handle == null)
|
|
||||||
return;
|
|
||||||
this._handle = this._composeStyledDiagram();
|
|
||||||
this.queue_repaint();
|
|
||||||
},
|
|
||||||
|
|
||||||
activateButton: function (button) {
|
|
||||||
this._activeButtons.push(button);
|
|
||||||
this._invalidateSvg ();
|
|
||||||
},
|
|
||||||
|
|
||||||
deactivateButton: function (button) {
|
|
||||||
for (let i = 0; i < this._activeButtons.length; i++) {
|
|
||||||
if (this._activeButtons[i] == button)
|
|
||||||
this._activeButtons.splice(i, 1);
|
|
||||||
}
|
|
||||||
this._invalidateSvg ();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const PadOsd = new Lang.Class({
|
|
||||||
Name: 'PadOsd',
|
|
||||||
|
|
||||||
_init: function (padDevice, settings, imagePath, editionMode, monitorIndex) {
|
|
||||||
this.padDevice = padDevice;
|
|
||||||
this._settings = settings;
|
|
||||||
this._imagePath = imagePath;
|
|
||||||
this._editionMode = editionMode;
|
|
||||||
this._capturedEventId = global.stage.connect('captured-event', Lang.bind(this, this._onCapturedEvent));
|
|
||||||
|
|
||||||
this.actor = new Shell.GenericContainer({ style_class: 'pad-osd-window',
|
|
||||||
reactive: true,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
width: global.screen_width,
|
|
||||||
height: global.screen_height });
|
|
||||||
this.actor.connect('allocate', Lang.bind(this, this._allocate));
|
|
||||||
this.actor.connect('destroy', Lang.bind(this, this.destroy));
|
|
||||||
Main.uiGroup.add_actor(this.actor);
|
|
||||||
|
|
||||||
this._monitorIndex = monitorIndex;
|
|
||||||
let constraint = new Layout.MonitorConstraint({ index: monitorIndex });
|
|
||||||
this.actor.add_constraint(constraint);
|
|
||||||
|
|
||||||
this._padDiagram = new PadDiagram(this._imagePath, settings.get_boolean('left-handed'));
|
|
||||||
this.actor.add_actor(this._padDiagram);
|
|
||||||
|
|
||||||
this._buttonBox = new St.Widget({ layout_manager: new Clutter.BinLayout(),
|
|
||||||
x_expand: true,
|
|
||||||
x_align: Clutter.ActorAlign.CENTER,
|
|
||||||
y_align: Clutter.ActorAlign.CENTER });
|
|
||||||
this._editButton = new St.Button({ label: _('Edit...'),
|
|
||||||
style_class: 'button',
|
|
||||||
can_focus: true,
|
|
||||||
x_expand: true });
|
|
||||||
this._editButton.connect('clicked', Lang.bind(this, function () { this.setEditionMode(true) }));
|
|
||||||
this._buttonBox.add_actor(this._editButton);
|
|
||||||
this.actor.add_actor(this._buttonBox);
|
|
||||||
|
|
||||||
let boxLayout = new Clutter.BoxLayout({ orientation: Clutter.Orientation.VERTICAL });
|
|
||||||
this._labelBox = new St.Widget({ layout_manager: boxLayout,
|
|
||||||
x_expand: true,
|
|
||||||
x_align: Clutter.ActorAlign.CENTER,
|
|
||||||
y_align: Clutter.ActorAlign.CENTER });
|
|
||||||
this._titleLabel = new St.Label();
|
|
||||||
this._titleLabel.clutter_text.set_markup('<span size="larger"><b>' + padDevice.get_device_name() + '</b></span>');
|
|
||||||
this._labelBox.add_actor(this._titleLabel);
|
|
||||||
|
|
||||||
this._tipLabel = new St.Label();
|
|
||||||
this._labelBox.add_actor(this._tipLabel);
|
|
||||||
this.actor.add_actor(this._labelBox);
|
|
||||||
|
|
||||||
this._actionEditor = new ActionEditor();
|
|
||||||
this._actionEditor.connect ('done', Lang.bind(this, this._endButtonActionEdition));
|
|
||||||
this.actor.add_actor(this._actionEditor.actor);
|
|
||||||
|
|
||||||
this._labels = [];
|
|
||||||
this._ringLabels = [];
|
|
||||||
this._stripLabels = [];
|
|
||||||
|
|
||||||
// FIXME: Fix num buttons.
|
|
||||||
let i = 0;
|
|
||||||
for (i = 0; i < 50; i++) {
|
|
||||||
let [found, x, y, direction] = this._padDiagram.getButtonLabelCoords(i);
|
|
||||||
if (!found)
|
|
||||||
break;
|
|
||||||
let label = this._createLabel(i, Meta.PadActionType.BUTTON);
|
|
||||||
this._labels.push(label);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < padDevice.get_n_rings(); i++) {
|
|
||||||
let [found, x, y, direction] = this._padDiagram.getRingLabelCoords(i, CW);
|
|
||||||
let [found2, x2, y2, direction2] = this._padDiagram.getRingLabelCoords(i, CCW);
|
|
||||||
if (!found || !found2)
|
|
||||||
break;
|
|
||||||
|
|
||||||
let label1 = this._createLabel(i, Meta.PadActionType.RING);
|
|
||||||
let label2 = this._createLabel(i, Meta.PadActionType.RING);
|
|
||||||
this._ringLabels.push([label1, label2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < padDevice.get_n_strips(); i++) {
|
|
||||||
let [found, x, y, direction] = this._padDiagram.getStripLabelCoords(i, UP);
|
|
||||||
let [found2, x2, y2, direction2] = this._padDiagram.getStripLabelCoords(i, DOWN);
|
|
||||||
if (!found || !found2)
|
|
||||||
break;
|
|
||||||
|
|
||||||
let label1 = this._createLabel(i, Meta.PadActionType.STRIP);
|
|
||||||
let label2 = this._createLabel(i, Meta.PadActionType.STRIP);
|
|
||||||
this._stripLabels.push([label1, label2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
this._syncEditionMode();
|
|
||||||
},
|
|
||||||
|
|
||||||
_createLabel: function (number, type) {
|
|
||||||
let str = global.display.get_pad_action_label(this.padDevice, type, number);
|
|
||||||
let label = new St.Label({ text: str ? str : _('None') });
|
|
||||||
this.actor.add_actor(label);
|
|
||||||
|
|
||||||
return label;
|
|
||||||
},
|
|
||||||
|
|
||||||
_allocateChild: function (child, x, y, direction, box) {
|
|
||||||
let [prefHeight, natHeight] = child.get_preferred_height (-1);
|
|
||||||
let [prefWidth, natWidth] = child.get_preferred_width (natHeight);
|
|
||||||
let childBox = new Clutter.ActorBox();
|
|
||||||
|
|
||||||
natWidth = Math.min(natWidth, 250);
|
|
||||||
|
|
||||||
if (direction == LTR) {
|
|
||||||
childBox.x1 = x + box.x1;
|
|
||||||
childBox.x2 = x + box.x1 + natWidth;
|
|
||||||
} else {
|
|
||||||
childBox.x1 = x + box.x1 - natWidth;
|
|
||||||
childBox.x2 = x + box.x1;
|
|
||||||
}
|
|
||||||
|
|
||||||
childBox.y1 = y + box.y1 - natHeight / 2;
|
|
||||||
childBox.y2 = y + box.y1 + natHeight / 2;
|
|
||||||
child.allocate(childBox, 0);
|
|
||||||
},
|
|
||||||
|
|
||||||
_allocate: function (actor, box, flags) {
|
|
||||||
let [prefLabelHeight, natLabelHeight] = this._labelBox.get_preferred_height(box.x2 - box.x1);
|
|
||||||
let buttonY = Math.max((box.y2 - box.y1) * 3 / 4 + box.y1, (box.y2 - box.y1) - 100);
|
|
||||||
let childBox = new Clutter.ActorBox();
|
|
||||||
let diagramBox = new Clutter.ActorBox();
|
|
||||||
|
|
||||||
diagramBox.x1 = box.x1;
|
|
||||||
diagramBox.x2 = box.x2;
|
|
||||||
diagramBox.y1 = prefLabelHeight;
|
|
||||||
diagramBox.y2 = buttonY;
|
|
||||||
this._padDiagram.allocate(diagramBox, flags);
|
|
||||||
|
|
||||||
childBox.x1 = box.x1;
|
|
||||||
childBox.x2 = box.x2;
|
|
||||||
childBox.y1 = buttonY;
|
|
||||||
childBox.y2 = box.y2;
|
|
||||||
this._buttonBox.allocate(childBox, flags);
|
|
||||||
|
|
||||||
childBox.y1 = 0;
|
|
||||||
childBox.y2 = prefLabelHeight;
|
|
||||||
this._labelBox.allocate(childBox, flags);
|
|
||||||
|
|
||||||
for (let i = 0; i < this._labels.length; i++) {
|
|
||||||
let label = this._labels[i];
|
|
||||||
let [found, x, y, direction] = this._padDiagram.getButtonLabelCoords(i);
|
|
||||||
this._allocateChild(label, x, y, direction, diagramBox);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let i = 0; i < this._ringLabels.length; i++) {
|
|
||||||
let [label1, label2] = this._ringLabels[i];
|
|
||||||
|
|
||||||
let [found, x, y, direction] = this._padDiagram.getRingLabelCoords(i, CW);
|
|
||||||
this._allocateChild(label1, x, y, direction, diagramBox);
|
|
||||||
|
|
||||||
[found, x, y, direction] = this._padDiagram.getRingLabelCoords(i, CCW);
|
|
||||||
this._allocateChild(label2, x, y, direction, diagramBox);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let i = 0; i < this._stripLabels.length; i++) {
|
|
||||||
let [label1, label2] = this._stripLabels[i];
|
|
||||||
|
|
||||||
let [found, x, y, direction] = this._padDiagram.getStripLabelCoords(i, UP);
|
|
||||||
this._allocateChild(label1, x, y, direction, diagramBox);
|
|
||||||
|
|
||||||
[found, x, y, direction] = this._padDiagram.getStripLabelCoords(i, DOWN);
|
|
||||||
this._allocateChild(label2, x, y, direction, diagramBox);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this._editingButtonAction != null) {
|
|
||||||
let [found, x, y, direction] = this._padDiagram.getButtonLabelCoords(this._editingButtonAction);
|
|
||||||
this._allocateChild(this._actionEditor.actor, x, y, direction, diagramBox);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_onCapturedEvent : function (actor, event) {
|
|
||||||
if (event.type() == Clutter.EventType.PAD_BUTTON_PRESS &&
|
|
||||||
event.get_source_device() == this.padDevice) {
|
|
||||||
this._padDiagram.activateButton(event.get_button());
|
|
||||||
|
|
||||||
if (this._editionMode)
|
|
||||||
this._startButtonActionEdition(event.get_button());
|
|
||||||
return Clutter.EVENT_STOP;
|
|
||||||
} else if (event.type() == Clutter.EventType.PAD_BUTTON_RELEASE &&
|
|
||||||
event.get_source_device() == this.padDevice) {
|
|
||||||
this._padDiagram.deactivateButton(event.get_button());
|
|
||||||
return Clutter.EVENT_STOP;
|
|
||||||
} else if (event.type() == Clutter.EventType.KEY_PRESS &&
|
|
||||||
(!this._editionMode || event.get_key_symbol() == Clutter.Escape)) {
|
|
||||||
if (this._editingButtonAction != null)
|
|
||||||
this._endButtonActionEdition();
|
|
||||||
else
|
|
||||||
this.destroy();
|
|
||||||
return Clutter.EVENT_STOP;
|
|
||||||
}
|
|
||||||
|
|
||||||
return Clutter.EVENT_PROPAGATE;
|
|
||||||
},
|
|
||||||
|
|
||||||
_syncEditionMode: function () {
|
|
||||||
this._editButton.set_reactive(!this._editionMode);
|
|
||||||
this._editButton.save_easing_state();
|
|
||||||
this._editButton.set_easing_duration(200);
|
|
||||||
this._editButton.set_opacity(this._editionMode ? 128 : 255);
|
|
||||||
this._editButton.restore_easing_state();
|
|
||||||
|
|
||||||
let title;
|
|
||||||
|
|
||||||
if (this._editionMode) {
|
|
||||||
title = _('Press a button to configure');
|
|
||||||
this._tipLabel.set_text (_("Press Esc to exit"));
|
|
||||||
} else {
|
|
||||||
title = this.padDevice.get_device_name();
|
|
||||||
this._tipLabel.set_text (_("Press any key to exit"));
|
|
||||||
}
|
|
||||||
|
|
||||||
this._titleLabel.clutter_text.set_markup('<span size="larger"><b>' + title + '</b></span>');
|
|
||||||
},
|
|
||||||
|
|
||||||
_endButtonActionEdition: function () {
|
|
||||||
this._actionEditor.close();
|
|
||||||
|
|
||||||
if (this._editingButtonAction != null) {
|
|
||||||
// Update and show the label
|
|
||||||
let str = global.display.get_pad_action_label(this.padDevice,
|
|
||||||
Meta.PadActionType.BUTTON,
|
|
||||||
this._editingButtonAction);
|
|
||||||
this._labels[this._editingButtonAction].set_text(str ? str : _('None'));
|
|
||||||
|
|
||||||
this._labels[this._editingButtonAction].show();
|
|
||||||
this._editingButtonAction = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._editedButtonSettings = null;
|
|
||||||
},
|
|
||||||
|
|
||||||
_startButtonActionEdition: function (button) {
|
|
||||||
if (this._editingButtonAction == button)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this._endButtonActionEdition();
|
|
||||||
this._editingButtonAction = button;
|
|
||||||
|
|
||||||
this._labels[this._editingButtonAction].hide();
|
|
||||||
this._actionEditor.actor.show();
|
|
||||||
this.actor.queue_relayout();
|
|
||||||
|
|
||||||
let ch = String.fromCharCode('A'.charCodeAt() + button);
|
|
||||||
let settingsPath = this._settings.path + "button" + ch + '/';
|
|
||||||
this._editedButtonSettings = Gio.Settings.new_with_path('org.gnome.desktop.peripherals.tablet.pad-button',
|
|
||||||
settingsPath);
|
|
||||||
this._actionEditor.setSettings (this._editedButtonSettings);
|
|
||||||
},
|
|
||||||
|
|
||||||
setEditionMode: function (editionMode) {
|
|
||||||
if (this._editionMode == editionMode)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this._editionMode = editionMode;
|
|
||||||
this._syncEditionMode();
|
|
||||||
},
|
|
||||||
|
|
||||||
destroy: function () {
|
|
||||||
this._actionEditor.close();
|
|
||||||
|
|
||||||
if (this._capturedEventId != 0) {
|
|
||||||
global.stage.disconnect(this._capturedEventId);
|
|
||||||
this._capturedEventId = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.actor) {
|
|
||||||
let actor = this.actor;
|
|
||||||
this.actor = null;
|
|
||||||
actor.destroy();
|
|
||||||
this.emit('closed');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Signals.addSignalMethods(PadOsd.prototype);
|
|
||||||
|
|
||||||
const PadOsdIface = '<node> \
|
|
||||||
<interface name="org.gnome.Shell.Wacom.PadOsd"> \
|
|
||||||
<method name="Show"> \
|
|
||||||
<arg name="device_node" direction="in" type="o"/> \
|
|
||||||
<arg name="edition_mode" direction="in" type="b"/> \
|
|
||||||
</method> \
|
|
||||||
</interface> \
|
|
||||||
</node>';
|
|
||||||
|
|
||||||
const PadOsdService = new Lang.Class({
|
|
||||||
Name: 'PadOsdService',
|
|
||||||
|
|
||||||
_init: function() {
|
|
||||||
this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(PadOsdIface, this);
|
|
||||||
this._dbusImpl.export(Gio.DBus.session, '/org/gnome/Shell/Wacom');
|
|
||||||
Gio.DBus.session.own_name('org.gnome.Shell.Wacom.PadOsd', Gio.BusNameOwnerFlags.REPLACE, null, null);
|
|
||||||
},
|
|
||||||
|
|
||||||
ShowAsync: function(params, invocation) {
|
|
||||||
let [deviceNode, editionMode] = params;
|
|
||||||
let deviceManager = Clutter.DeviceManager.get_default();
|
|
||||||
let devices = deviceManager.list_devices();
|
|
||||||
let padDevice = null;
|
|
||||||
|
|
||||||
devices.forEach(Lang.bind(this, function(device) {
|
|
||||||
if (deviceNode == device.get_device_node())
|
|
||||||
padDevice = device;
|
|
||||||
}));
|
|
||||||
|
|
||||||
if (padDevice == null ||
|
|
||||||
padDevice.get_device_type() != Clutter.InputDeviceType.PAD_DEVICE) {
|
|
||||||
invocation.return_error_literal(Gio.IOErrorEnum,
|
|
||||||
Gio.IOErrorEnum.CANCELLED,
|
|
||||||
"Invalid params");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
global.display.request_pad_osd(padDevice, editionMode);
|
|
||||||
invocation.return_value(null);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Signals.addSignalMethods(PadOsdService.prototype);
|
|
@ -783,6 +783,16 @@ const PopupMenu = new Lang.Class({
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let state = event.get_state();
|
||||||
|
|
||||||
|
// if user has a modifier down (except capslock)
|
||||||
|
// then don't handle the key press here
|
||||||
|
state &= ~Clutter.ModifierType.LOCK_MASK;
|
||||||
|
state &= Clutter.ModifierType.MODIFIER_MASK;
|
||||||
|
|
||||||
|
if (state)
|
||||||
|
return Clutter.EVENT_PROPAGATE;
|
||||||
|
|
||||||
let symbol = event.get_key_symbol();
|
let symbol = event.get_key_symbol();
|
||||||
if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return) {
|
if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return) {
|
||||||
this.toggle();
|
this.toggle();
|
||||||
|
@ -274,7 +274,7 @@ const RunDialog = new Lang.Class({
|
|||||||
|
|
||||||
_restart: function() {
|
_restart: function() {
|
||||||
if (Meta.is_wayland_compositor()) {
|
if (Meta.is_wayland_compositor()) {
|
||||||
this._showError('Restart is not available on Wayland');
|
this._showError(_("Restart is not available on Wayland"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this._shouldFadeOut = false;
|
this._shouldFadeOut = false;
|
||||||
|
@ -847,6 +847,7 @@ const ScreenShield = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_activateFade: function(lightbox, time) {
|
_activateFade: function(lightbox, time) {
|
||||||
|
Main.uiGroup.set_child_above_sibling(lightbox.actor, null);
|
||||||
lightbox.show(time);
|
lightbox.show(time);
|
||||||
|
|
||||||
if (this._becameActiveId == 0)
|
if (this._becameActiveId == 0)
|
||||||
|
@ -5,6 +5,7 @@ const GObject = imports.gi.GObject;
|
|||||||
const Gio = imports.gi.Gio;
|
const Gio = imports.gi.Gio;
|
||||||
const Gtk = imports.gi.Gtk;
|
const Gtk = imports.gi.Gtk;
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
|
const Mainloop = imports.mainloop;
|
||||||
const NetworkManager = imports.gi.NetworkManager;
|
const NetworkManager = imports.gi.NetworkManager;
|
||||||
const NMClient = imports.gi.NMClient;
|
const NMClient = imports.gi.NMClient;
|
||||||
const NMGtk = imports.gi.NMGtk;
|
const NMGtk = imports.gi.NMGtk;
|
||||||
@ -752,10 +753,9 @@ const NMWirelessDialog = new Lang.Class({
|
|||||||
this._updateSensitivity();
|
this._updateSensitivity();
|
||||||
this._syncView();
|
this._syncView();
|
||||||
|
|
||||||
if (accessPoints.length == 0) {
|
this._scanTimeoutId = Mainloop.timeout_add_seconds(15, Lang.bind(this, this._onScanTimeout));
|
||||||
/* If there are no visible access points, request a scan */
|
GLib.Source.set_name_by_id(this._scanTimeoutId, '[gnome-shell] this._onScanTimeout');
|
||||||
this._device.request_scan_simple(null);
|
this._onScanTimeout();
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
destroy: function() {
|
destroy: function() {
|
||||||
@ -780,9 +780,19 @@ const NMWirelessDialog = new Lang.Class({
|
|||||||
this._airplaneModeChangedId = 0;
|
this._airplaneModeChangedId = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this._scanTimeoutId) {
|
||||||
|
Mainloop.source_remove(this._scanTimeoutId);
|
||||||
|
this._scanTimeoutId = 0;
|
||||||
|
}
|
||||||
|
|
||||||
this.parent();
|
this.parent();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_onScanTimeout: function() {
|
||||||
|
this._device.request_scan_simple(null);
|
||||||
|
return GLib.SOURCE_CONTINUE;
|
||||||
|
},
|
||||||
|
|
||||||
_activeApChanged: function() {
|
_activeApChanged: function() {
|
||||||
if (this._activeNetwork)
|
if (this._activeNetwork)
|
||||||
this._activeNetwork.item.setActive(false);
|
this._activeNetwork.item.setActive(false);
|
||||||
@ -1531,8 +1541,10 @@ const NMVPNSection = new Lang.Class({
|
|||||||
item.setActiveConnection(null);
|
item.setActiveConnection(null);
|
||||||
}
|
}
|
||||||
vpnConnections.forEach(Lang.bind(this, function(a) {
|
vpnConnections.forEach(Lang.bind(this, function(a) {
|
||||||
|
if (a._connection) {
|
||||||
let item = this._connectionItems.get(a._connection.get_uuid());
|
let item = this._connectionItems.get(a._connection.get_uuid());
|
||||||
item.setActiveConnection(a);
|
item.setActiveConnection(a);
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1632,6 +1644,8 @@ const NMApplet = new Lang.Class({
|
|||||||
this._readConnections();
|
this._readConnections();
|
||||||
this._readDevices();
|
this._readDevices();
|
||||||
this._syncNMState();
|
this._syncNMState();
|
||||||
|
this._syncMainConnection();
|
||||||
|
this._syncVPNConnections();
|
||||||
|
|
||||||
this._client.connect('notify::manager-running', Lang.bind(this, this._syncNMState));
|
this._client.connect('notify::manager-running', Lang.bind(this, this._syncNMState));
|
||||||
this._client.connect('notify::networking-enabled', Lang.bind(this, this._syncNMState));
|
this._client.connect('notify::networking-enabled', Lang.bind(this, this._syncNMState));
|
||||||
@ -2008,13 +2022,24 @@ const NMApplet = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_updateIcon: function() {
|
_updateIcon: function() {
|
||||||
if (!this._client.networking_enabled || !this._mainConnection) {
|
if (!this._client.networking_enabled) {
|
||||||
this._primaryIndicator.visible = false;
|
this._primaryIndicator.visible = false;
|
||||||
} else {
|
} else {
|
||||||
let dev = this._mainConnection._primaryDevice;
|
let dev = null;
|
||||||
this._primaryIndicator.visible = (dev != null);
|
if (this._mainConnection)
|
||||||
if (dev)
|
dev = this._mainConnection._primaryDevice;
|
||||||
|
|
||||||
|
let state = this._client.get_state();
|
||||||
|
let connected = state == NetworkManager.State.CONNECTED_GLOBAL;
|
||||||
|
this._primaryIndicator.visible = (dev != null) || connected;
|
||||||
|
if (dev) {
|
||||||
this._primaryIndicator.icon_name = dev.getIndicatorIcon();
|
this._primaryIndicator.icon_name = dev.getIndicatorIcon();
|
||||||
|
} else if (connected) {
|
||||||
|
if (this._client.connectivity == NetworkManager.ConnectivityState.FULL)
|
||||||
|
this._primaryIndicator.icon_name = 'network-wired-symbolic';
|
||||||
|
else
|
||||||
|
this._primaryIndicator.icon_name = 'network-wired-no-route-symbolic';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this._vpnIndicator.icon_name = this._vpnSection.getIndicatorIcon();
|
this._vpnIndicator.icon_name = this._vpnSection.getIndicatorIcon();
|
||||||
|
@ -17,7 +17,6 @@ const Main = imports.ui.main;
|
|||||||
const ModalDialog = imports.ui.modalDialog;
|
const ModalDialog = imports.ui.modalDialog;
|
||||||
const Tweener = imports.ui.tweener;
|
const Tweener = imports.ui.tweener;
|
||||||
const WindowMenu = imports.ui.windowMenu;
|
const WindowMenu = imports.ui.windowMenu;
|
||||||
const PadOsd = imports.ui.padOsd;
|
|
||||||
|
|
||||||
const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings';
|
const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings';
|
||||||
const MINIMIZE_WINDOW_ANIMATION_TIME = 0.2;
|
const MINIMIZE_WINDOW_ANIMATION_TIME = 0.2;
|
||||||
@ -684,6 +683,8 @@ const WindowManager = new Lang.Class({
|
|||||||
|
|
||||||
this._dimmedWindows = [];
|
this._dimmedWindows = [];
|
||||||
|
|
||||||
|
this._skippedActors = [];
|
||||||
|
|
||||||
this._allowedKeybindings = {};
|
this._allowedKeybindings = {};
|
||||||
|
|
||||||
this._isWorkspacePrepended = false;
|
this._isWorkspacePrepended = false;
|
||||||
@ -916,7 +917,6 @@ const WindowManager = new Lang.Class({
|
|||||||
Lang.bind(this, this._toggleCalendar));
|
Lang.bind(this, this._toggleCalendar));
|
||||||
|
|
||||||
global.display.connect('show-resize-popup', Lang.bind(this, this._showResizePopup));
|
global.display.connect('show-resize-popup', Lang.bind(this, this._showResizePopup));
|
||||||
global.display.connect('show-pad-osd', Lang.bind(this, this._showPadOsd));
|
|
||||||
|
|
||||||
Main.overview.connect('showing', Lang.bind(this, function() {
|
Main.overview.connect('showing', Lang.bind(this, function() {
|
||||||
for (let i = 0; i < this._dimmedWindows.length; i++)
|
for (let i = 0; i < this._dimmedWindows.length; i++)
|
||||||
@ -946,19 +946,7 @@ const WindowManager = new Lang.Class({
|
|||||||
gesture = new AppSwitchAction();
|
gesture = new AppSwitchAction();
|
||||||
gesture.connect('activated', Lang.bind(this, this._switchApp));
|
gesture.connect('activated', Lang.bind(this, this._switchApp));
|
||||||
global.stage.add_action(gesture);
|
global.stage.add_action(gesture);
|
||||||
},
|
|
||||||
|
|
||||||
_showPadOsd: function (display, device, settings, imagePath, editionMode, monitorIndex) {
|
|
||||||
if (this._currentPadOsd != null) {
|
|
||||||
if (this._currentPadOsd.padDevice == device)
|
|
||||||
this._currentPadOsd.destroy();
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._currentPadOsd = new PadOsd.PadOsd(device, settings, imagePath, editionMode, monitorIndex);
|
|
||||||
this._currentPadOsd.connect('closed', Lang.bind(this, function() { this._currentPadOsd = null }));
|
|
||||||
|
|
||||||
return this._currentPadOsd.actor;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_actionSwitchWorkspace: function(action, direction) {
|
_actionSwitchWorkspace: function(action, direction) {
|
||||||
@ -1049,6 +1037,10 @@ const WindowManager = new Lang.Class({
|
|||||||
this._workspaceTracker.keepWorkspaceAlive(workspace, duration);
|
this._workspaceTracker.keepWorkspaceAlive(workspace, duration);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
skipNextEffect: function(actor) {
|
||||||
|
this._skippedActors.push(actor);
|
||||||
|
},
|
||||||
|
|
||||||
setCustomKeybindingHandler: function(name, modes, handler) {
|
setCustomKeybindingHandler: function(name, modes, handler) {
|
||||||
if (Meta.keybindings_set_custom_handler(name, handler))
|
if (Meta.keybindings_set_custom_handler(name, handler))
|
||||||
this.allowKeybinding(name, modes);
|
this.allowKeybinding(name, modes);
|
||||||
@ -1075,6 +1067,9 @@ const WindowManager = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_shouldAnimateActor: function(actor, types) {
|
_shouldAnimateActor: function(actor, types) {
|
||||||
|
if (this._removeEffect(this._skippedActors, actor))
|
||||||
|
return false;
|
||||||
|
|
||||||
if (!this._shouldAnimate())
|
if (!this._shouldAnimate())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -1363,9 +1358,13 @@ const WindowManager = new Lang.Class({
|
|||||||
_hasAttachedDialogs: function(window, ignoreWindow) {
|
_hasAttachedDialogs: function(window, ignoreWindow) {
|
||||||
var count = 0;
|
var count = 0;
|
||||||
window.foreach_transient(function(win) {
|
window.foreach_transient(function(win) {
|
||||||
if (win != ignoreWindow && win.is_attached_dialog())
|
if (win != ignoreWindow &&
|
||||||
|
win.is_attached_dialog() &&
|
||||||
|
win.get_transient_for() == window) {
|
||||||
count++;
|
count++;
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
});
|
});
|
||||||
return count != 0;
|
return count != 0;
|
||||||
},
|
},
|
||||||
@ -1434,6 +1433,11 @@ const WindowManager = new Lang.Class({
|
|||||||
|
|
||||||
actor._windowType = type;
|
actor._windowType = type;
|
||||||
}));
|
}));
|
||||||
|
actor.meta_window.connect('unmanaged', Lang.bind(this, function(window) {
|
||||||
|
let parent = window.get_transient_for();
|
||||||
|
if (parent)
|
||||||
|
this._checkDimming(parent);
|
||||||
|
}));
|
||||||
|
|
||||||
if (actor.meta_window.is_attached_dialog())
|
if (actor.meta_window.is_attached_dialog())
|
||||||
this._checkDimming(actor.get_meta_window().get_transient_for());
|
this._checkDimming(actor.get_meta_window().get_transient_for());
|
||||||
|
@ -111,7 +111,7 @@ const WindowClone = new Lang.Class({
|
|||||||
this.metaWindow._delegate = this;
|
this.metaWindow._delegate = this;
|
||||||
this._workspace = workspace;
|
this._workspace = workspace;
|
||||||
|
|
||||||
this._windowClone = new Clutter.Clone({ source: realWindow.get_texture() });
|
this._windowClone = new Clutter.Clone({ source: realWindow });
|
||||||
// We expect this.actor to be used for all interaction rather than
|
// We expect this.actor to be used for all interaction rather than
|
||||||
// this._windowClone; as the former is reactive and the latter
|
// this._windowClone; as the former is reactive and the latter
|
||||||
// is not, this just works for most cases. However, for DND all
|
// is not, this just works for most cases. However, for DND all
|
||||||
|
@ -19,8 +19,7 @@ const WorkspaceSwitcherPopup = new Lang.Class({
|
|||||||
Name: 'WorkspaceSwitcherPopup',
|
Name: 'WorkspaceSwitcherPopup',
|
||||||
|
|
||||||
_init : function() {
|
_init : function() {
|
||||||
this.actor = new St.Widget({ reactive: true,
|
this.actor = new St.Widget({ x: 0,
|
||||||
x: 0,
|
|
||||||
y: 0,
|
y: 0,
|
||||||
width: global.screen_width,
|
width: global.screen_width,
|
||||||
height: global.screen_height,
|
height: global.screen_height,
|
||||||
|
@ -29,6 +29,7 @@ gl
|
|||||||
gu
|
gu
|
||||||
he
|
he
|
||||||
hi
|
hi
|
||||||
|
hr
|
||||||
hu
|
hu
|
||||||
ia
|
ia
|
||||||
id
|
id
|
||||||
|
68
po/Makevars
Normal file
68
po/Makevars
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
# Makefile variables for PO directory in any package using GNU gettext.
|
||||||
|
|
||||||
|
# Usually the message domain is the same as the package name.
|
||||||
|
DOMAIN = $(PACKAGE)
|
||||||
|
|
||||||
|
# These two variables depend on the location of this directory.
|
||||||
|
subdir = po
|
||||||
|
top_builddir = ..
|
||||||
|
|
||||||
|
# These options get passed to xgettext.
|
||||||
|
XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ \
|
||||||
|
--keyword=C_:1c,2 --keyword=NC_:1c,2 \
|
||||||
|
--keyword=g_dngettext:2,3 --add-comments \
|
||||||
|
--flag=g_dngettext:2:pass-c-format \
|
||||||
|
--flag=g_strdup_printf:1:c-format \
|
||||||
|
--flag=g_string_printf:2:c-format \
|
||||||
|
--flag=g_string_append_printf:2:c-format \
|
||||||
|
--flag=g_error_new:3:c-format \
|
||||||
|
--flag=g_set_error:4:c-format \
|
||||||
|
--flag=g_markup_printf_escaped:1:c-format \
|
||||||
|
--flag=g_log:3:c-format \
|
||||||
|
--flag=g_print:1:c-format \
|
||||||
|
--flag=g_printerr:1:c-format \
|
||||||
|
--flag=g_printf:1:c-format \
|
||||||
|
--flag=g_fprintf:2:c-format \
|
||||||
|
--flag=g_sprintf:2:c-format \
|
||||||
|
--flag=g_snprintf:3:c-format
|
||||||
|
|
||||||
|
|
||||||
|
# This is the copyright holder that gets inserted into the header of the
|
||||||
|
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
|
||||||
|
# package. (Note that the msgstr strings, extracted from the package's
|
||||||
|
# sources, belong to the copyright holder of the package.) Translators are
|
||||||
|
# expected to transfer the copyright for their translations to this person
|
||||||
|
# or entity, or to disclaim their copyright. The empty string stands for
|
||||||
|
# the public domain; in this case the translators are expected to disclaim
|
||||||
|
# their copyright.
|
||||||
|
COPYRIGHT_HOLDER = Translation copyright holder
|
||||||
|
# This is the email address or URL to which the translators shall report
|
||||||
|
# bugs in the untranslated strings:
|
||||||
|
# - Strings which are not entire sentences, see the maintainer guidelines
|
||||||
|
# in the GNU gettext documentation, section 'Preparing Strings'.
|
||||||
|
# - Strings which use unclear terms or require additional context to be
|
||||||
|
# understood.
|
||||||
|
# - Strings which make invalid assumptions about notation of date, time or
|
||||||
|
# money.
|
||||||
|
# - Pluralisation problems.
|
||||||
|
# - Incorrect English spelling.
|
||||||
|
# - Incorrect formatting.
|
||||||
|
# It can be your email address, or a mailing list address where translators
|
||||||
|
# can write to without being subscribed, or the URL of a web page through
|
||||||
|
# which the translators can contact you.
|
||||||
|
MSGID_BUGS_ADDRESS = http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general
|
||||||
|
|
||||||
|
# This is the list of locale categories, beyond LC_MESSAGES, for which the
|
||||||
|
# message catalogs shall be used. It is usually empty.
|
||||||
|
EXTRA_LOCALE_CATEGORIES =
|
||||||
|
|
||||||
|
# Ignore the timestamp of the .pot file, as git clones do not have
|
||||||
|
# deterministic timestamps, and .po files are updated by translators
|
||||||
|
# (only) in GNOME projects.
|
||||||
|
PO_DEPENDS_ON_POT = no
|
||||||
|
|
||||||
|
# This tells whether or not to forcibly update $(DOMAIN).pot and
|
||||||
|
# regenerate PO files on "make dist". Possible values are "yes" and
|
||||||
|
# "no". Set this to no if the POT file and PO files are maintained
|
||||||
|
# externally.
|
||||||
|
DIST_DEPENDS_ON_UPDATE_PO = no
|
@ -1,17 +1,17 @@
|
|||||||
# List of source files containing translatable strings.
|
# List of source files containing translatable strings.
|
||||||
# Please keep this file sorted alphabetically.
|
# Please keep this file sorted alphabetically.
|
||||||
[encoding: UTF-8]
|
data/50-gnome-shell-system.xml
|
||||||
data/50-gnome-shell-system.xml.in
|
|
||||||
data/gnome-shell-extension-prefs.desktop.in.in
|
data/gnome-shell-extension-prefs.desktop.in.in
|
||||||
data/org.gnome.Shell.desktop.in.in
|
data/org.gnome.Shell.desktop.in.in
|
||||||
data/org.gnome.shell.gschema.xml.in.in
|
data/org.gnome.shell.gschema.xml.in
|
||||||
data/org.gnome.Shell.PortalHelper.desktop.in
|
data/org.gnome.Shell.PortalHelper.desktop.in.in
|
||||||
js/extensionPrefs/main.js
|
js/extensionPrefs/main.js
|
||||||
js/gdm/authPrompt.js
|
js/gdm/authPrompt.js
|
||||||
js/gdm/loginDialog.js
|
js/gdm/loginDialog.js
|
||||||
js/gdm/util.js
|
js/gdm/util.js
|
||||||
js/misc/util.js
|
js/misc/util.js
|
||||||
js/portalHelper/main.js
|
js/portalHelper/main.js
|
||||||
|
js/ui/accessDialog.js
|
||||||
js/ui/appDisplay.js
|
js/ui/appDisplay.js
|
||||||
js/ui/appFavorites.js
|
js/ui/appFavorites.js
|
||||||
js/ui/audioDeviceSelection.js
|
js/ui/audioDeviceSelection.js
|
||||||
@ -61,7 +61,7 @@ js/ui/viewSelector.js
|
|||||||
js/ui/windowAttentionHandler.js
|
js/ui/windowAttentionHandler.js
|
||||||
js/ui/windowManager.js
|
js/ui/windowManager.js
|
||||||
js/ui/windowMenu.js
|
js/ui/windowMenu.js
|
||||||
src/calendar-server/evolution-calendar.desktop.in.in
|
src/calendar-server/evolution-calendar.desktop.in
|
||||||
# Please do not remove this file from POTFILES.in. Run "git submodule init && git submodule update" to get it.
|
# Please do not remove this file from POTFILES.in. Run "git submodule init && git submodule update" to get it.
|
||||||
src/gvc/gvc-mixer-control.c
|
src/gvc/gvc-mixer-control.c
|
||||||
src/main.c
|
src/main.c
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
data/org.gnome.shell.evolution.calendar.gschema.xml.in
|
|
||||||
src/calendar-server/evolution-calendar.desktop.in
|
|
||||||
# Meh, autofools :-(
|
|
||||||
sub/src/calendar-server/evolution-calendar.desktop.in
|
|
2
po/as.po
2
po/as.po
@ -13,7 +13,7 @@ msgstr ""
|
|||||||
"PO-Revision-Date: 2014-09-15 14:59+0530\n"
|
"PO-Revision-Date: 2014-09-15 14:59+0530\n"
|
||||||
"Last-Translator: Nilamdyuti Goswami <ngoswami@redhat.com>\n"
|
"Last-Translator: Nilamdyuti Goswami <ngoswami@redhat.com>\n"
|
||||||
"Language-Team: Assamese <kde-i18n-doc@kde.org>\n"
|
"Language-Team: Assamese <kde-i18n-doc@kde.org>\n"
|
||||||
"Language: as_IN\n"
|
"Language: as\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
1
po/bn.po
1
po/bn.po
@ -7,6 +7,7 @@ msgstr ""
|
|||||||
"PO-Revision-Date: 2011-04-04 11:04+0600\n"
|
"PO-Revision-Date: 2011-04-04 11:04+0600\n"
|
||||||
"Last-Translator: Israt Jahan <israt@ankur.org.bd>\n"
|
"Last-Translator: Israt Jahan <israt@ankur.org.bd>\n"
|
||||||
"Language-Team: Bengali <ankur-bd-l10n@googlegroups.com>\n"
|
"Language-Team: Bengali <ankur-bd-l10n@googlegroups.com>\n"
|
||||||
|
"Language: bn\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
@ -11,7 +11,7 @@ msgstr ""
|
|||||||
"PO-Revision-Date: 2014-12-30 16:45+0000\n"
|
"PO-Revision-Date: 2014-12-30 16:45+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: American English <kde-i18n-doc@kde.org>\n"
|
"Language-Team: American English <kde-i18n-doc@kde.org>\n"
|
||||||
"Language: en_US\n"
|
"Language: bn_IN\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
713
po/ca.po
713
po/ca.po
@ -10,324 +10,16 @@ msgstr ""
|
|||||||
"Project-Id-Version: HEAD\n"
|
"Project-Id-Version: HEAD\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"shell&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2016-03-13 10:20+0000\n"
|
"POT-Creation-Date: 2016-09-16 21:22+0200\n"
|
||||||
"PO-Revision-Date: 2016-03-13 14:47+0100\n"
|
"PO-Revision-Date: 2016-09-16 21:22+0200\n"
|
||||||
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
|
"Last-Translator: Jordi Mas <jmas@softcatala.org>\n"
|
||||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
|
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
|
||||||
"Language: ca\n"
|
"Language: ca\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bits\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Gtranslator 2.91.6\n"
|
"X-Generator: Poedit 1.8.7.1\n"
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
|
||||||
msgid "System"
|
|
||||||
msgstr "Sistema"
|
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:2
|
|
||||||
msgid "Show the notification list"
|
|
||||||
msgstr "Mostra la llista de notificacions"
|
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:3
|
|
||||||
msgid "Focus the active notification"
|
|
||||||
msgstr "Posa el focus en la notificació activa"
|
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:4
|
|
||||||
msgid "Show the overview"
|
|
||||||
msgstr "Mostra la vista general"
|
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:5
|
|
||||||
msgid "Show all applications"
|
|
||||||
msgstr "Mostra totes les aplicacions"
|
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:6
|
|
||||||
msgid "Open the application menu"
|
|
||||||
msgstr "Obre el menú d'aplicació"
|
|
||||||
|
|
||||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
|
||||||
msgid "GNOME Shell Extension Preferences"
|
|
||||||
msgstr "Preferències de les extensions del GNOME Shell"
|
|
||||||
|
|
||||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
|
|
||||||
msgid "Configure GNOME Shell Extensions"
|
|
||||||
msgstr "Configureu les extensions del GNOME Shell"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
|
||||||
msgid "GNOME Shell"
|
|
||||||
msgstr "GNOME Shell"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
|
||||||
msgid "Window management and application launching"
|
|
||||||
msgstr "Gestor de finestres i llançador d'aplicacions"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
|
||||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
|
||||||
msgstr ""
|
|
||||||
"Habilita les eines internes en el diàleg de l'Alt+F2 que són útils per als "
|
|
||||||
"desenvolupadors i provadors"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
|
|
||||||
msgid ""
|
|
||||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
|
||||||
"dialog."
|
|
||||||
msgstr ""
|
|
||||||
"Permet l'accés a les eines de depuració i de seguiment internes a través del "
|
|
||||||
"diàleg de l'Alt+F2."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
|
|
||||||
msgid "UUIDs of extensions to enable"
|
|
||||||
msgstr ""
|
|
||||||
"Identificadors universals únics de les extensions que s'han d'habilitar"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4
|
|
||||||
msgid ""
|
|
||||||
"GNOME Shell extensions have a UUID property; this key lists extensions which "
|
|
||||||
"should be loaded. Any extension that wants to be loaded needs to be in this "
|
|
||||||
"list. You can also manipulate this list with the EnableExtension and "
|
|
||||||
"DisableExtension D-Bus methods on org.gnome.Shell."
|
|
||||||
msgstr ""
|
|
||||||
"Les extensions del GNOME Shell tenen un identificador universal. Aquesta "
|
|
||||||
"clau conté una llista de les extensions que s'han de carregar. Qualsevol "
|
|
||||||
"extensió que s'hagi de carregar ha de ser a la llista. Podeu modificar "
|
|
||||||
"aquesta llista amb els mètodes de D-Bus «EnableExtension» (activa una "
|
|
||||||
"extensió) i «DisableExtension» (desactiva una extensió) a org.gnome.Shell."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
|
|
||||||
msgid "Disables the validation of extension version compatibility"
|
|
||||||
msgstr "Desactiva la validació de la compatibilitat de versió d'extensions"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:6
|
|
||||||
msgid ""
|
|
||||||
"GNOME Shell will only load extensions that claim to support the current "
|
|
||||||
"running version. Enabling this option will disable this check and try to "
|
|
||||||
"load all extensions regardless of the versions they claim to support."
|
|
||||||
msgstr ""
|
|
||||||
"El GNOME Shell només carregarà extensions que afirmin ser compatibles amb la "
|
|
||||||
"versió en execució. Si s'activa aquesta opció, es desactivarà la comprovació "
|
|
||||||
"i es provarà de carregar totes les extensions sense tenir en compte les "
|
|
||||||
"versions amb què afirmin ser compatibles."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
|
|
||||||
msgid "List of desktop file IDs for favorite applications"
|
|
||||||
msgstr ""
|
|
||||||
"Llista d'identificadors de fitxers d'escriptori de les aplicacions preferides"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
|
|
||||||
msgid ""
|
|
||||||
"The applications corresponding to these identifiers will be displayed in the "
|
|
||||||
"favorites area."
|
|
||||||
msgstr ""
|
|
||||||
"Es mostraran, a l'àrea de preferits, les aplicacions que corresponguin a "
|
|
||||||
"aquests identificadors."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
|
|
||||||
msgid "App Picker View"
|
|
||||||
msgstr "Vista del seleccionador d'aplicacions"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:10
|
|
||||||
msgid "Index of the currently selected view in the application picker."
|
|
||||||
msgstr ""
|
|
||||||
"Índex de la vista seleccionada actualment en el seleccionador d'aplicacions."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:11
|
|
||||||
msgid "History for command (Alt-F2) dialog"
|
|
||||||
msgstr "Historial de les ordres utilitzades en el diàleg de l'Alt+F2"
|
|
||||||
|
|
||||||
#. Translators: looking glass is a debugger and inspector tool, see https://live.gnome.org/GnomeShell/LookingGlass
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
|
|
||||||
msgid "History for the looking glass dialog"
|
|
||||||
msgstr "Historial del depurador del GNOME Shell"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
|
|
||||||
msgid "Always show the 'Log out' menu item in the user menu."
|
|
||||||
msgstr "Mostra sempre l'element de menú «Surt» al menú d'usuari."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
|
|
||||||
msgid ""
|
|
||||||
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
|
|
||||||
"user, single-session situations."
|
|
||||||
msgstr ""
|
|
||||||
"Aquesta clau sobreescriu l'ocultació automàtica de l'element de menú «Surt» "
|
|
||||||
"quan només hi ha un usuari i un sol tipus de sessió."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
|
|
||||||
msgid ""
|
|
||||||
"Whether to remember password for mounting encrypted or remote filesystems"
|
|
||||||
msgstr ""
|
|
||||||
"Si s'han de recordar les contrasenyes dels punts de muntatge encriptats o "
|
|
||||||
"els sistemes de fitxers remots"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
|
|
||||||
msgid ""
|
|
||||||
"The shell will request a password when an encrypted device or a remote "
|
|
||||||
"filesystem is mounted. If the password can be saved for future use a "
|
|
||||||
"'Remember Password' checkbox will be present. This key sets the default "
|
|
||||||
"state of the checkbox."
|
|
||||||
msgstr ""
|
|
||||||
"El GNOME Shell us demanarà la contrasenya quan es munti un dispositiu "
|
|
||||||
"encriptat o un sistema de fitxers remot. Si es pot desar la contrasenya per "
|
|
||||||
"utilitzar-lo en el futur, es mostrarà la casella de verificació «Recorda la "
|
|
||||||
"contrasenya». Aquesta clau estableix el valor per defecte d'aquesta casella "
|
|
||||||
"de verificació."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
|
||||||
msgid ""
|
|
||||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
|
||||||
msgstr ""
|
|
||||||
"Si l'adaptador de Bluetooth predeterminat té dispositius configurats "
|
|
||||||
"associats"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
|
||||||
msgid ""
|
|
||||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
|
||||||
"powered, or if there were devices set up associated with the default "
|
|
||||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
|
||||||
"devices associated to it."
|
|
||||||
msgstr ""
|
|
||||||
"El Shell només mostrà una entrada de menú Bluetooth si un adaptador Bluetooh "
|
|
||||||
"està engegat, o si hi ha dispositius configurats associats a l'adaptador "
|
|
||||||
"predeterminat. Això es reiniciarà si l'adaptador predeterminat té "
|
|
||||||
"dispositius associats."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
|
||||||
msgid "Show the week date in the calendar"
|
|
||||||
msgstr "Mostra el número de la setmana al calendari"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
|
||||||
msgid "If true, display the ISO week date in the calendar."
|
|
||||||
msgstr "Si és «true» (cert) es mostra el número de la setmana al calendari."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
|
||||||
msgid "Keybinding to open the application menu"
|
|
||||||
msgstr "Vinculació per obrir el menú d'aplicació"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
|
||||||
msgid "Keybinding to open the application menu."
|
|
||||||
msgstr "La vinculació per obrir el menú d'aplicació."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
|
||||||
msgid "Keybinding to open the \"Show Applications\" view"
|
|
||||||
msgstr "Vinculació per obrir la vista «Mostra les aplicacions»"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
|
||||||
msgid ""
|
|
||||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
|
||||||
msgstr ""
|
|
||||||
"Vinculació per obrir la vista «Mostra les aplicacions» de les activitats de "
|
|
||||||
"la vista general."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
|
||||||
msgid "Keybinding to open the overview"
|
|
||||||
msgstr "Vinculació per obrir la vista general"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
|
||||||
msgid "Keybinding to open the Activities Overview."
|
|
||||||
msgstr "Vinculació per obrir la vista general d'activitats."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
|
||||||
msgid "Keybinding to toggle the visibility of the notification list"
|
|
||||||
msgstr ""
|
|
||||||
"La vinculació per commutar la visibilitat de la llista de notificacions"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
|
||||||
msgid "Keybinding to toggle the visibility of the notification list."
|
|
||||||
msgstr ""
|
|
||||||
"La vinculació per commutar la visibilitat de la llista de notificacions."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
|
||||||
msgid "Keybinding to focus the active notification"
|
|
||||||
msgstr "Vinculació per posar el focus a la notificació activa"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
|
||||||
msgid "Keybinding to focus the active notification."
|
|
||||||
msgstr "Vinculació per posar el focus a la notificació activa."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
|
||||||
msgid ""
|
|
||||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
|
||||||
msgstr ""
|
|
||||||
"Vinculació que fa una pausa i continua tots els «tweens» en execució, per "
|
|
||||||
"motius de depuració"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
|
||||||
msgid "Which keyboard to use"
|
|
||||||
msgstr "Quin tipus de teclat s'ha d'utilitzar"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
|
||||||
msgid "The type of keyboard to use."
|
|
||||||
msgstr "El tipus de teclat que s'utilitzarà."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
|
||||||
msgid "Limit switcher to current workspace."
|
|
||||||
msgstr "Limita el canviador a l'espai de treball actual."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
|
||||||
msgid ""
|
|
||||||
"If true, only applications that have windows on the current workspace are "
|
|
||||||
"shown in the switcher. Otherwise, all applications are included."
|
|
||||||
msgstr ""
|
|
||||||
"Si és «true» (cert), només les aplicacions que tinguin finestres en l'espai "
|
|
||||||
"de treball actual es mostren en el canviador. En cas contrari es mostren "
|
|
||||||
"totes les aplicacions."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
|
||||||
msgid "The application icon mode."
|
|
||||||
msgstr "El mode d'icona de les aplicacions."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
|
||||||
msgid ""
|
|
||||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
|
||||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
|
||||||
"only' (shows only the application icon) or 'both'."
|
|
||||||
msgstr ""
|
|
||||||
"Configureu com es mostren les finestres en l'intercanviador. Els valors "
|
|
||||||
"possibles són: «thumbnail-only» (mostra una miniatura de la finestra), «app-"
|
|
||||||
"icon-only» (mostra la icona de l'aplicació) o «both» (ambdues coses: mostra "
|
|
||||||
"la miniatura de la finestra i la icona de l'aplicació)."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
|
||||||
msgid ""
|
|
||||||
"If true, only windows from the current workspace are shown in the switcher. "
|
|
||||||
"Otherwise, all windows are included."
|
|
||||||
msgstr ""
|
|
||||||
"Si és «true» (cert), només les finestres de l'espai de treball actual es "
|
|
||||||
"mostren en el canviador. En cas contrari, es mostren totes les finestres."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
|
||||||
msgid "Attach modal dialog to the parent window"
|
|
||||||
msgstr "Adjunta el diàleg modal a la finestra pare"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
|
||||||
msgid ""
|
|
||||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
|
||||||
msgstr ""
|
|
||||||
"Si s'executa el GNOME Shell, aquesta clau sobreescriu la clau «org.gnome."
|
|
||||||
"mutter»."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
|
||||||
msgstr ""
|
|
||||||
"Habilita la tesselització a les vores en deixar anar les finestres a les "
|
|
||||||
"vores de la pantalla"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
|
||||||
msgid "Workspaces are managed dynamically"
|
|
||||||
msgstr "Els espais de treball es gestionen dinàmicament"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
|
||||||
msgid "Workspaces only on primary monitor"
|
|
||||||
msgstr "Només en el monitor principal hi ha espais de treball"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
|
||||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
|
||||||
msgstr ""
|
|
||||||
"Retarda el canvi del focus, quan s'està en mode ratolí, fins que el punter "
|
|
||||||
"no estigui quiet"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
|
|
||||||
msgid "Network Login"
|
|
||||||
msgstr "Inici de sessió de la xarxa"
|
|
||||||
|
|
||||||
#: ../js/extensionPrefs/main.js:117
|
#: ../js/extensionPrefs/main.js:117
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
@ -340,7 +32,7 @@ msgstr "Extensions del GNOME Shell"
|
|||||||
|
|
||||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
||||||
#: ../js/ui/components/networkAgent.js:145
|
#: ../js/ui/components/networkAgent.js:145
|
||||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
|
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:483
|
||||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||||
#: ../js/ui/status/network.js:916
|
#: ../js/ui/status/network.js:916
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
@ -374,7 +66,7 @@ msgstr "No esteu llistat?"
|
|||||||
|
|
||||||
#. Translators: this message is shown below the username entry field
|
#. Translators: this message is shown below the username entry field
|
||||||
#. to clue the user in on how to login to the local network realm
|
#. to clue the user in on how to login to the local network realm
|
||||||
#: ../js/gdm/loginDialog.js:854
|
#: ../js/gdm/loginDialog.js:859
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "(e.g., user or %s)"
|
msgid "(e.g., user or %s)"
|
||||||
msgstr "(p. ex. l'usuari o %s)"
|
msgstr "(p. ex. l'usuari o %s)"
|
||||||
@ -382,12 +74,12 @@ msgstr "(p. ex. l'usuari o %s)"
|
|||||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||||
#. is not visible here since we only care about phase2 authentication
|
#. is not visible here since we only care about phase2 authentication
|
||||||
#. (and don't even care of which one)
|
#. (and don't even care of which one)
|
||||||
#: ../js/gdm/loginDialog.js:859 ../js/ui/components/networkAgent.js:271
|
#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:271
|
||||||
#: ../js/ui/components/networkAgent.js:289
|
#: ../js/ui/components/networkAgent.js:289
|
||||||
msgid "Username: "
|
msgid "Username: "
|
||||||
msgstr "Nom d'usuari:"
|
msgstr "Nom d'usuari:"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:1196
|
#: ../js/gdm/loginDialog.js:1201
|
||||||
msgid "Login Window"
|
msgid "Login Window"
|
||||||
msgstr "Finestra d'entrada"
|
msgstr "Finestra d'entrada"
|
||||||
|
|
||||||
@ -495,6 +187,16 @@ msgstr "%d de %B de %Y, a les %l∶%M %p"
|
|||||||
msgid "Web Authentication Redirect"
|
msgid "Web Authentication Redirect"
|
||||||
msgstr "Redirecció per l'autenticació web"
|
msgstr "Redirecció per l'autenticació web"
|
||||||
|
|
||||||
|
#. No support for non-modal system dialogs, so ignore the option
|
||||||
|
#. let modal = options['modal'] || true;
|
||||||
|
#: ../js/ui/accessDialog.js:62 ../js/ui/status/location.js:426
|
||||||
|
msgid "Deny Access"
|
||||||
|
msgstr "Denega l'accés"
|
||||||
|
|
||||||
|
#: ../js/ui/accessDialog.js:63 ../js/ui/status/location.js:429
|
||||||
|
msgid "Grant Access"
|
||||||
|
msgstr "Permetre l'accés"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:794
|
#: ../js/ui/appDisplay.js:794
|
||||||
msgid "Frequently used applications will appear here"
|
msgid "Frequently used applications will appear here"
|
||||||
msgstr "Les aplicacions utilitzades freqüentment apareixeran aquí"
|
msgstr "Les aplicacions utilitzades freqüentment apareixeran aquí"
|
||||||
@ -561,7 +263,7 @@ msgstr "Canvia el fons de l'escriptori…"
|
|||||||
msgid "Display Settings"
|
msgid "Display Settings"
|
||||||
msgstr "Paràmetres de la pantalla"
|
msgstr "Paràmetres de la pantalla"
|
||||||
|
|
||||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:374
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Paràmetres"
|
msgstr "Paràmetres"
|
||||||
|
|
||||||
@ -617,55 +319,55 @@ msgctxt "grid saturday"
|
|||||||
msgid "S"
|
msgid "S"
|
||||||
msgstr "Ds"
|
msgstr "Ds"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:416
|
#: ../js/ui/calendar.js:442
|
||||||
msgid "Previous month"
|
msgid "Previous month"
|
||||||
msgstr "Mes anterior"
|
msgstr "Mes anterior"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:426
|
#: ../js/ui/calendar.js:452
|
||||||
msgid "Next month"
|
msgid "Next month"
|
||||||
msgstr "Mes següent"
|
msgstr "Mes següent"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:579
|
#: ../js/ui/calendar.js:605
|
||||||
#, no-javascript-format
|
#, no-javascript-format
|
||||||
msgctxt "date day number format"
|
msgctxt "date day number format"
|
||||||
msgid "%d"
|
msgid "%d"
|
||||||
msgstr "%d"
|
msgstr "%d"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:634
|
#: ../js/ui/calendar.js:660
|
||||||
msgid "Week %V"
|
msgid "Week %V"
|
||||||
msgstr "Setmana %V"
|
msgstr "Setmana %V"
|
||||||
|
|
||||||
#. Translators: Shown in calendar event list for all day events
|
#. Translators: Shown in calendar event list for all day events
|
||||||
#. * Keep it short, best if you can use less then 10 characters
|
#. * Keep it short, best if you can use less then 10 characters
|
||||||
#.
|
#.
|
||||||
#: ../js/ui/calendar.js:695
|
#: ../js/ui/calendar.js:721
|
||||||
msgctxt "event list time"
|
msgctxt "event list time"
|
||||||
msgid "All Day"
|
msgid "All Day"
|
||||||
msgstr "Tot el dia"
|
msgstr "Tot el dia"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:821
|
#: ../js/ui/calendar.js:836
|
||||||
msgid "Events"
|
msgid "Events"
|
||||||
msgstr "Cites"
|
msgstr "Cites"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:830
|
#: ../js/ui/calendar.js:845
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A %d de %B"
|
msgstr "%A %d de %B"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:834
|
#: ../js/ui/calendar.js:849
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A %d de %B de %Y"
|
msgstr "%A %d de %B de %Y"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:919
|
#: ../js/ui/calendar.js:931
|
||||||
msgid "Notifications"
|
msgid "Notifications"
|
||||||
msgstr "Notificacions"
|
msgstr "Notificacions"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:1070
|
#: ../js/ui/calendar.js:1082
|
||||||
msgid "No Notifications"
|
msgid "No Notifications"
|
||||||
msgstr "Cap notificació"
|
msgstr "Cap notificació"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:1073
|
#: ../js/ui/calendar.js:1085
|
||||||
msgid "No Events"
|
msgid "No Events"
|
||||||
msgstr "Cap cita"
|
msgstr "Cap cita"
|
||||||
|
|
||||||
@ -803,7 +505,7 @@ msgstr "No ha funcionat. Torneu-ho a provar."
|
|||||||
|
|
||||||
#. Translators: this is the other person changing their old IM name to their new
|
#. Translators: this is the other person changing their old IM name to their new
|
||||||
#. IM name.
|
#. IM name.
|
||||||
#: ../js/ui/components/telepathyClient.js:759
|
#: ../js/ui/components/telepathyClient.js:765
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "En/na %s ara es diu %s"
|
msgstr "En/na %s ara es diu %s"
|
||||||
@ -936,7 +638,7 @@ msgstr[1] ""
|
|||||||
"Es reiniciarà l'ordinador automàticament i s'instal·laran les "
|
"Es reiniciarà l'ordinador automàticament i s'instal·laran les "
|
||||||
"actualitzacions d'aquí %d segons."
|
"actualitzacions d'aquí %d segons."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:127
|
#: ../js/ui/endSessionDialog.js:127 ../js/ui/endSessionDialog.js:147
|
||||||
msgctxt "button"
|
msgctxt "button"
|
||||||
msgid "Restart & Install"
|
msgid "Restart & Install"
|
||||||
msgstr "Reinicia i instal·la"
|
msgstr "Reinicia i instal·la"
|
||||||
@ -951,30 +653,45 @@ msgctxt "checkbox"
|
|||||||
msgid "Power off after updates are installed"
|
msgid "Power off after updates are installed"
|
||||||
msgstr "Apaga després d'instal·lar les actualitzacions"
|
msgstr "Apaga després d'instal·lar les actualitzacions"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:338
|
#: ../js/ui/endSessionDialog.js:137
|
||||||
|
msgctxt "title"
|
||||||
|
msgid "Restart & Install Upgrade"
|
||||||
|
msgstr "Reinicia i instal·la l'actualització"
|
||||||
|
|
||||||
|
#. Translators: This is the text displayed for system upgrades in the
|
||||||
|
#. shut down dialog. First %s gets replaced with the distro name and
|
||||||
|
#. second %s with the distro version to upgrade to
|
||||||
|
#: ../js/ui/endSessionDialog.js:142
|
||||||
|
#, javascript-format
|
||||||
|
msgid ""
|
||||||
|
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||||
|
"time: ensure that you have backed up and that the computer is plugged in."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../js/ui/endSessionDialog.js:361
|
||||||
msgid "Running on battery power: please plug in before installing updates."
|
msgid "Running on battery power: please plug in before installing updates."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"S'està utilitzant la bateria: connecteu l'ordinador a la xarxa elèctrica "
|
"S'està utilitzant la bateria: connecteu l'ordinador a la xarxa elèctrica "
|
||||||
"abans d'instal·lar les actualitzacions."
|
"abans d'instal·lar les actualitzacions."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:355
|
#: ../js/ui/endSessionDialog.js:378
|
||||||
msgid "Some applications are busy or have unsaved work."
|
msgid "Some applications are busy or have unsaved work."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Hi ha algunes aplicacions que estan ocupades o que tenen documents sense "
|
"Hi ha algunes aplicacions que estan ocupades o que tenen documents sense "
|
||||||
"desar."
|
"desar."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:362
|
#: ../js/ui/endSessionDialog.js:385
|
||||||
msgid "Other users are logged in."
|
msgid "Other users are logged in."
|
||||||
msgstr "Altres usuaris tenen la sessió oberta."
|
msgstr "Altres usuaris tenen la sessió oberta."
|
||||||
|
|
||||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||||
#: ../js/ui/endSessionDialog.js:640
|
#: ../js/ui/endSessionDialog.js:671
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s (remote)"
|
msgid "%s (remote)"
|
||||||
msgstr "%s (remot)"
|
msgstr "%s (remot)"
|
||||||
|
|
||||||
#. Translators: Console here refers to a tty like a VT console
|
#. Translators: Console here refers to a tty like a VT console
|
||||||
#: ../js/ui/endSessionDialog.js:643
|
#: ../js/ui/endSessionDialog.js:674
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s (console)"
|
msgid "%s (console)"
|
||||||
msgstr "%s (consola)"
|
msgstr "%s (consola)"
|
||||||
@ -988,7 +705,7 @@ msgstr "Instal·la"
|
|||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "Voleu baixar i instal·lar «%s» d'extensions.gnome.org?"
|
msgstr "Voleu baixar i instal·lar «%s» d'extensions.gnome.org?"
|
||||||
|
|
||||||
#: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:713
|
#: ../js/ui/keyboard.js:742 ../js/ui/status/keyboard.js:782
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Teclat"
|
msgstr "Teclat"
|
||||||
|
|
||||||
@ -1025,7 +742,7 @@ msgstr "Habilitat"
|
|||||||
|
|
||||||
#. translators:
|
#. translators:
|
||||||
#. * The device has been disabled
|
#. * The device has been disabled
|
||||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
|
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr "Inhabilitat"
|
msgstr "Inhabilitat"
|
||||||
|
|
||||||
@ -1073,7 +790,7 @@ msgstr "Multimèdia"
|
|||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "Desfés"
|
msgstr "Desfés"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:117
|
#: ../js/ui/overview.js:113
|
||||||
msgid "Overview"
|
msgid "Overview"
|
||||||
msgstr "Vista general"
|
msgstr "Vista general"
|
||||||
|
|
||||||
@ -1081,7 +798,7 @@ msgstr "Vista general"
|
|||||||
#. in the search entry when no search is
|
#. in the search entry when no search is
|
||||||
#. active; it should not exceed ~30
|
#. active; it should not exceed ~30
|
||||||
#. characters.
|
#. characters.
|
||||||
#: ../js/ui/overview.js:244
|
#: ../js/ui/overview.js:240
|
||||||
msgid "Type to search…"
|
msgid "Type to search…"
|
||||||
msgstr "Teclegeu per cercar…"
|
msgstr "Teclegeu per cercar…"
|
||||||
|
|
||||||
@ -1145,11 +862,11 @@ msgid_plural "%d new notifications"
|
|||||||
msgstr[0] "%d notificació nova"
|
msgstr[0] "%d notificació nova"
|
||||||
msgstr[1] "%d notificacions noves"
|
msgstr[1] "%d notificacions noves"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
|
#: ../js/ui/screenShield.js:449 ../js/ui/status/system.js:382
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Bloqueja"
|
msgstr "Bloqueja"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:684
|
#: ../js/ui/screenShield.js:704
|
||||||
msgid "GNOME needs to lock the screen"
|
msgid "GNOME needs to lock the screen"
|
||||||
msgstr "El GNOME necessita bloquejar la pantalla"
|
msgstr "El GNOME necessita bloquejar la pantalla"
|
||||||
|
|
||||||
@ -1160,11 +877,11 @@ msgstr "El GNOME necessita bloquejar la pantalla"
|
|||||||
#.
|
#.
|
||||||
#. XXX: another option is to kick the user into the gdm login
|
#. XXX: another option is to kick the user into the gdm login
|
||||||
#. screen, where we're not affected by grabs
|
#. screen, where we're not affected by grabs
|
||||||
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
|
#: ../js/ui/screenShield.js:825 ../js/ui/screenShield.js:1291
|
||||||
msgid "Unable to lock"
|
msgid "Unable to lock"
|
||||||
msgstr "No es pot blocar"
|
msgstr "No es pot blocar"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
|
#: ../js/ui/screenShield.js:826 ../js/ui/screenShield.js:1292
|
||||||
msgid "Lock was blocked by an application"
|
msgid "Lock was blocked by an application"
|
||||||
msgstr "Una aplicació està bloquejant el bloqueig"
|
msgstr "Una aplicació està bloquejant el bloqueig"
|
||||||
|
|
||||||
@ -1248,7 +965,7 @@ msgstr "Text gran"
|
|||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:56
|
#: ../js/ui/status/bluetooth.js:56 ../js/ui/status/network.js:624
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Paràmetres del Bluetooth"
|
msgstr "Paràmetres del Bluetooth"
|
||||||
|
|
||||||
@ -1283,7 +1000,7 @@ msgstr "Desactiva"
|
|||||||
msgid "Brightness"
|
msgid "Brightness"
|
||||||
msgstr "Brillantor"
|
msgstr "Brillantor"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:736
|
#: ../js/ui/status/keyboard.js:805
|
||||||
msgid "Show Keyboard Layout"
|
msgid "Show Keyboard Layout"
|
||||||
msgstr "Mostra la disposició del teclat"
|
msgstr "Mostra la disposició del teclat"
|
||||||
|
|
||||||
@ -1311,14 +1028,6 @@ msgstr "Ubicació inhabilitada"
|
|||||||
msgid "Enable"
|
msgid "Enable"
|
||||||
msgstr "Habilita"
|
msgstr "Habilita"
|
||||||
|
|
||||||
#: ../js/ui/status/location.js:426
|
|
||||||
msgid "Deny Access"
|
|
||||||
msgstr "Denega l'accés"
|
|
||||||
|
|
||||||
#: ../js/ui/status/location.js:429
|
|
||||||
msgid "Grant Access"
|
|
||||||
msgstr "Permetre l'accés"
|
|
||||||
|
|
||||||
#. Translators: %s is an application name
|
#. Translators: %s is an application name
|
||||||
#: ../js/ui/status/location.js:435
|
#: ../js/ui/status/location.js:435
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
@ -1329,7 +1038,7 @@ msgstr "Voleu donar a %s accés a la vostra ubicació?"
|
|||||||
msgid "Location access can be changed at any time from the privacy settings."
|
msgid "Location access can be changed at any time from the privacy settings."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Podeu canviar la configuració de l'accés a la ubicació sempre que vulgueu "
|
"Podeu canviar la configuració de l'accés a la ubicació sempre que vulgueu "
|
||||||
"des del la configuració de la privacitat."
|
"des de la configuració de la privacitat."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:101
|
#: ../js/ui/status/network.js:101
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
@ -1397,7 +1106,7 @@ msgstr "%s ha fallat la connexió"
|
|||||||
msgid "Wired Settings"
|
msgid "Wired Settings"
|
||||||
msgstr "Paràmetres de la xarxa amb fils"
|
msgstr "Paràmetres de la xarxa amb fils"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624
|
#: ../js/ui/status/network.js:545
|
||||||
msgid "Mobile Broadband Settings"
|
msgid "Mobile Broadband Settings"
|
||||||
msgstr "Configuració de la xarxa de banda ampla mòbil"
|
msgstr "Configuració de la xarxa de banda ampla mòbil"
|
||||||
|
|
||||||
@ -1415,8 +1124,8 @@ msgid "%s Disabled"
|
|||||||
msgstr "%s Inhabilitat"
|
msgstr "%s Inhabilitat"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:632
|
#: ../js/ui/status/network.js:632
|
||||||
msgid "Use as Internet connection"
|
msgid "Connect to Internet"
|
||||||
msgstr "Utilitza com a connexió a Internet"
|
msgstr "Connecta a l'Internet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:813
|
#: ../js/ui/status/network.js:813
|
||||||
msgid "Airplane Mode is On"
|
msgid "Airplane Mode is On"
|
||||||
@ -1553,27 +1262,27 @@ msgstr "%d %%"
|
|||||||
msgid "Airplane Mode On"
|
msgid "Airplane Mode On"
|
||||||
msgstr "El mode d'avió és actiu"
|
msgstr "El mode d'avió és actiu"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:343
|
#: ../js/ui/status/system.js:351
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Canvia d'usuari"
|
msgstr "Canvia d'usuari"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:348
|
#: ../js/ui/status/system.js:356
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Surt"
|
msgstr "Surt"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:353
|
#: ../js/ui/status/system.js:361
|
||||||
msgid "Account Settings"
|
msgid "Account Settings"
|
||||||
msgstr "Paràmetres del compte"
|
msgstr "Paràmetres del compte"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:370
|
#: ../js/ui/status/system.js:378
|
||||||
msgid "Orientation Lock"
|
msgid "Orientation Lock"
|
||||||
msgstr "Bloqueja l'orientació"
|
msgstr "Bloqueja l'orientació"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:378
|
#: ../js/ui/status/system.js:386
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Atura temporalment"
|
msgstr "Atura temporalment"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:381
|
#: ../js/ui/status/system.js:389
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Apaga"
|
msgstr "Apaga"
|
||||||
|
|
||||||
@ -1699,13 +1408,9 @@ msgstr "Mou a la pantalla de l'esquerra"
|
|||||||
msgid "Move to Monitor Right"
|
msgid "Move to Monitor Right"
|
||||||
msgstr "Mou a la pantalla de la dreta"
|
msgstr "Mou a la pantalla de la dreta"
|
||||||
|
|
||||||
#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1
|
|
||||||
msgid "Evolution Calendar"
|
|
||||||
msgstr "Calendari de l'Evolution"
|
|
||||||
|
|
||||||
#. translators:
|
#. translators:
|
||||||
#. * The number of sound outputs on a particular device
|
#. * The number of sound outputs on a particular device
|
||||||
#: ../src/gvc/gvc-mixer-control.c:1835
|
#: ../src/gvc/gvc-mixer-control.c:1873
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%u Output"
|
msgid "%u Output"
|
||||||
msgid_plural "%u Outputs"
|
msgid_plural "%u Outputs"
|
||||||
@ -1714,14 +1419,14 @@ msgstr[1] "%u sortides"
|
|||||||
|
|
||||||
#. translators:
|
#. translators:
|
||||||
#. * The number of sound inputs on a particular device
|
#. * The number of sound inputs on a particular device
|
||||||
#: ../src/gvc/gvc-mixer-control.c:1845
|
#: ../src/gvc/gvc-mixer-control.c:1883
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%u Input"
|
msgid "%u Input"
|
||||||
msgid_plural "%u Inputs"
|
msgid_plural "%u Inputs"
|
||||||
msgstr[0] "%u entrada"
|
msgstr[0] "%u entrada"
|
||||||
msgstr[1] "%u entrades"
|
msgstr[1] "%u entrades"
|
||||||
|
|
||||||
#: ../src/gvc/gvc-mixer-control.c:2371
|
#: ../src/gvc/gvc-mixer-control.c:2738
|
||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Sons del sistema"
|
msgstr "Sons del sistema"
|
||||||
|
|
||||||
@ -1741,12 +1446,12 @@ msgstr "Utilitza un mode específic, p. ex. «gdm» per la pantalla d'entrada"
|
|||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Llista els modes possibles"
|
msgstr "Llista els modes possibles"
|
||||||
|
|
||||||
#: ../src/shell-app.c:246
|
#: ../src/shell-app.c:270
|
||||||
msgctxt "program"
|
msgctxt "program"
|
||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Desconegut"
|
msgstr "Desconegut"
|
||||||
|
|
||||||
#: ../src/shell-app.c:487
|
#: ../src/shell-app.c:511
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to launch “%s”"
|
msgid "Failed to launch “%s”"
|
||||||
msgstr "No s'ha pogut iniciar «%s»"
|
msgstr "No s'ha pogut iniciar «%s»"
|
||||||
@ -1763,6 +1468,268 @@ msgstr "La contrasenya no pot ser buida"
|
|||||||
msgid "Authentication dialog was dismissed by the user"
|
msgid "Authentication dialog was dismissed by the user"
|
||||||
msgstr "L'usuari ha descartat el diàleg d'autenticació"
|
msgstr "L'usuari ha descartat el diàleg d'autenticació"
|
||||||
|
|
||||||
|
#~ msgid "System"
|
||||||
|
#~ msgstr "Sistema"
|
||||||
|
|
||||||
|
#~ msgid "Show the notification list"
|
||||||
|
#~ msgstr "Mostra la llista de notificacions"
|
||||||
|
|
||||||
|
#~ msgid "Focus the active notification"
|
||||||
|
#~ msgstr "Posa el focus en la notificació activa"
|
||||||
|
|
||||||
|
#~ msgid "Show the overview"
|
||||||
|
#~ msgstr "Mostra la vista general"
|
||||||
|
|
||||||
|
#~ msgid "Show all applications"
|
||||||
|
#~ msgstr "Mostra totes les aplicacions"
|
||||||
|
|
||||||
|
#~ msgid "Open the application menu"
|
||||||
|
#~ msgstr "Obre el menú d'aplicació"
|
||||||
|
|
||||||
|
#~ msgid "GNOME Shell Extension Preferences"
|
||||||
|
#~ msgstr "Preferències de les extensions del GNOME Shell"
|
||||||
|
|
||||||
|
#~ msgid "Configure GNOME Shell Extensions"
|
||||||
|
#~ msgstr "Configureu les extensions del GNOME Shell"
|
||||||
|
|
||||||
|
#~ msgid "GNOME Shell"
|
||||||
|
#~ msgstr "GNOME Shell"
|
||||||
|
|
||||||
|
#~ msgid "Window management and application launching"
|
||||||
|
#~ msgstr "Gestor de finestres i llançador d'aplicacions"
|
||||||
|
|
||||||
|
#~ msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Habilita les eines internes en el diàleg de l'Alt+F2 que són útils per "
|
||||||
|
#~ "als desenvolupadors i provadors"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||||
|
#~ "dialog."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Permet l'accés a les eines de depuració i de seguiment internes a través "
|
||||||
|
#~ "del diàleg de l'Alt+F2."
|
||||||
|
|
||||||
|
#~ msgid "UUIDs of extensions to enable"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Identificadors universals únics de les extensions que s'han d'habilitar"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "GNOME Shell extensions have a UUID property; this key lists extensions "
|
||||||
|
#~ "which should be loaded. Any extension that wants to be loaded needs to be "
|
||||||
|
#~ "in this list. You can also manipulate this list with the EnableExtension "
|
||||||
|
#~ "and DisableExtension D-Bus methods on org.gnome.Shell."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Les extensions del GNOME Shell tenen un identificador universal. Aquesta "
|
||||||
|
#~ "clau conté una llista de les extensions que s'han de carregar. Qualsevol "
|
||||||
|
#~ "extensió que s'hagi de carregar ha de ser a la llista. Podeu modificar "
|
||||||
|
#~ "aquesta llista amb els mètodes de D-Bus «EnableExtension» (activa una "
|
||||||
|
#~ "extensió) i «DisableExtension» (desactiva una extensió) a org.gnome.Shell."
|
||||||
|
|
||||||
|
#~ msgid "Disables the validation of extension version compatibility"
|
||||||
|
#~ msgstr "Desactiva la validació de la compatibilitat de versió d'extensions"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "GNOME Shell will only load extensions that claim to support the current "
|
||||||
|
#~ "running version. Enabling this option will disable this check and try to "
|
||||||
|
#~ "load all extensions regardless of the versions they claim to support."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "El GNOME Shell només carregarà extensions que afirmin ser compatibles amb "
|
||||||
|
#~ "la versió en execució. Si s'activa aquesta opció, es desactivarà la "
|
||||||
|
#~ "comprovació i es provarà de carregar totes les extensions sense tenir en "
|
||||||
|
#~ "compte les versions amb què afirmin ser compatibles."
|
||||||
|
|
||||||
|
#~ msgid "List of desktop file IDs for favorite applications"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Llista d'identificadors de fitxers d'escriptori de les aplicacions "
|
||||||
|
#~ "preferides"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The applications corresponding to these identifiers will be displayed in "
|
||||||
|
#~ "the favorites area."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Es mostraran, a l'àrea de preferits, les aplicacions que corresponguin a "
|
||||||
|
#~ "aquests identificadors."
|
||||||
|
|
||||||
|
#~ msgid "App Picker View"
|
||||||
|
#~ msgstr "Vista del seleccionador d'aplicacions"
|
||||||
|
|
||||||
|
#~ msgid "Index of the currently selected view in the application picker."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Índex de la vista seleccionada actualment en el seleccionador "
|
||||||
|
#~ "d'aplicacions."
|
||||||
|
|
||||||
|
#~ msgid "History for command (Alt-F2) dialog"
|
||||||
|
#~ msgstr "Historial de les ordres utilitzades en el diàleg de l'Alt+F2"
|
||||||
|
|
||||||
|
#~ msgid "History for the looking glass dialog"
|
||||||
|
#~ msgstr "Historial del depurador del GNOME Shell"
|
||||||
|
|
||||||
|
#~ msgid "Always show the 'Log out' menu item in the user menu."
|
||||||
|
#~ msgstr "Mostra sempre l'element de menú «Surt» al menú d'usuari."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This key overrides the automatic hiding of the 'Log out' menu item in "
|
||||||
|
#~ "single-user, single-session situations."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Aquesta clau sobreescriu l'ocultació automàtica de l'element de menú "
|
||||||
|
#~ "«Surt» quan només hi ha un usuari i un sol tipus de sessió."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Whether to remember password for mounting encrypted or remote filesystems"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Si s'han de recordar les contrasenyes dels punts de muntatge encriptats o "
|
||||||
|
#~ "els sistemes de fitxers remots"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The shell will request a password when an encrypted device or a remote "
|
||||||
|
#~ "filesystem is mounted. If the password can be saved for future use a "
|
||||||
|
#~ "'Remember Password' checkbox will be present. This key sets the default "
|
||||||
|
#~ "state of the checkbox."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "El GNOME Shell us demanarà la contrasenya quan es munti un dispositiu "
|
||||||
|
#~ "encriptat o un sistema de fitxers remot. Si es pot desar la contrasenya "
|
||||||
|
#~ "per utilitzar-lo en el futur, es mostrarà la casella de verificació "
|
||||||
|
#~ "«Recorda la contrasenya». Aquesta clau estableix el valor per defecte "
|
||||||
|
#~ "d'aquesta casella de verificació."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Whether the default Bluetooth adapter had set up devices associated to it"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Si l'adaptador de Bluetooth predeterminat té dispositius configurats "
|
||||||
|
#~ "associats"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||||
|
#~ "powered, or if there were devices set up associated with the default "
|
||||||
|
#~ "adapter. This will be reset if the default adapter is ever seen not to "
|
||||||
|
#~ "have devices associated to it."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "El Shell només mostrà una entrada de menú Bluetooth si un adaptador "
|
||||||
|
#~ "Bluetooh està engegat, o si hi ha dispositius configurats associats a "
|
||||||
|
#~ "l'adaptador predeterminat. Això es reiniciarà si l'adaptador "
|
||||||
|
#~ "predeterminat té dispositius associats."
|
||||||
|
|
||||||
|
#~ msgid "Show the week date in the calendar"
|
||||||
|
#~ msgstr "Mostra el número de la setmana al calendari"
|
||||||
|
|
||||||
|
#~ msgid "If true, display the ISO week date in the calendar."
|
||||||
|
#~ msgstr "Si és «true» (cert) es mostra el número de la setmana al calendari."
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to open the application menu"
|
||||||
|
#~ msgstr "Vinculació per obrir el menú d'aplicació"
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to open the application menu."
|
||||||
|
#~ msgstr "La vinculació per obrir el menú d'aplicació."
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to open the \"Show Applications\" view"
|
||||||
|
#~ msgstr "Vinculació per obrir la vista «Mostra les aplicacions»"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Keybinding to open the \"Show Applications\" view of the Activities "
|
||||||
|
#~ "Overview."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Vinculació per obrir la vista «Mostra les aplicacions» de les activitats "
|
||||||
|
#~ "de la vista general."
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to open the overview"
|
||||||
|
#~ msgstr "Vinculació per obrir la vista general"
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to open the Activities Overview."
|
||||||
|
#~ msgstr "Vinculació per obrir la vista general d'activitats."
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to toggle the visibility of the notification list"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "La vinculació per commutar la visibilitat de la llista de notificacions"
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to toggle the visibility of the notification list."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "La vinculació per commutar la visibilitat de la llista de notificacions."
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to focus the active notification"
|
||||||
|
#~ msgstr "Vinculació per posar el focus a la notificació activa"
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to focus the active notification."
|
||||||
|
#~ msgstr "Vinculació per posar el focus a la notificació activa."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Keybinding that pauses and resumes all running tweens, for debugging "
|
||||||
|
#~ "purposes"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Vinculació que fa una pausa i continua tots els «tweens» en execució, per "
|
||||||
|
#~ "motius de depuració"
|
||||||
|
|
||||||
|
#~ msgid "Which keyboard to use"
|
||||||
|
#~ msgstr "Quin tipus de teclat s'ha d'utilitzar"
|
||||||
|
|
||||||
|
#~ msgid "The type of keyboard to use."
|
||||||
|
#~ msgstr "El tipus de teclat que s'utilitzarà."
|
||||||
|
|
||||||
|
#~ msgid "Limit switcher to current workspace."
|
||||||
|
#~ msgstr "Limita el canviador a l'espai de treball actual."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "If true, only applications that have windows on the current workspace are "
|
||||||
|
#~ "shown in the switcher. Otherwise, all applications are included."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Si és «true» (cert), només les aplicacions que tinguin finestres en "
|
||||||
|
#~ "l'espai de treball actual es mostren en el canviador. En cas contrari es "
|
||||||
|
#~ "mostren totes les aplicacions."
|
||||||
|
|
||||||
|
#~ msgid "The application icon mode."
|
||||||
|
#~ msgstr "El mode d'icona de les aplicacions."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Configures how the windows are shown in the switcher. Valid possibilities "
|
||||||
|
#~ "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||||
|
#~ "only' (shows only the application icon) or 'both'."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Configureu com es mostren les finestres en l'intercanviador. Els valors "
|
||||||
|
#~ "possibles són: «thumbnail-only» (mostra una miniatura de la finestra), "
|
||||||
|
#~ "«app-icon-only» (mostra la icona de l'aplicació) o «both» (ambdues coses: "
|
||||||
|
#~ "mostra la miniatura de la finestra i la icona de l'aplicació)."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "If true, only windows from the current workspace are shown in the "
|
||||||
|
#~ "switcher. Otherwise, all windows are included."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Si és «true» (cert), només les finestres de l'espai de treball actual es "
|
||||||
|
#~ "mostren en el canviador. En cas contrari, es mostren totes les finestres."
|
||||||
|
|
||||||
|
#~ msgid "Attach modal dialog to the parent window"
|
||||||
|
#~ msgstr "Adjunta el diàleg modal a la finestra pare"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Si s'executa el GNOME Shell, aquesta clau sobreescriu la clau «org.gnome."
|
||||||
|
#~ "mutter»."
|
||||||
|
|
||||||
|
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Habilita la tesselització a les vores en deixar anar les finestres a les "
|
||||||
|
#~ "vores de la pantalla"
|
||||||
|
|
||||||
|
#~ msgid "Workspaces are managed dynamically"
|
||||||
|
#~ msgstr "Els espais de treball es gestionen dinàmicament"
|
||||||
|
|
||||||
|
#~ msgid "Workspaces only on primary monitor"
|
||||||
|
#~ msgstr "Només en el monitor principal hi ha espais de treball"
|
||||||
|
|
||||||
|
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Retarda el canvi del focus, quan s'està en mode ratolí, fins que el "
|
||||||
|
#~ "punter no estigui quiet"
|
||||||
|
|
||||||
|
#~ msgid "Network Login"
|
||||||
|
#~ msgstr "Inici de sessió de la xarxa"
|
||||||
|
|
||||||
|
#~ msgid "Use as Internet connection"
|
||||||
|
#~ msgstr "Utilitza com a connexió a Internet"
|
||||||
|
|
||||||
|
#~ msgid "Evolution Calendar"
|
||||||
|
#~ msgstr "Calendari de l'Evolution"
|
||||||
|
|
||||||
#~ msgid "%s is requesting access to your location."
|
#~ msgid "%s is requesting access to your location."
|
||||||
#~ msgstr "%s està demanant accés a la vostra ubicació."
|
#~ msgstr "%s està demanant accés a la vostra ubicació."
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"PO-Revision-Date: 2014-09-14 23:32+0200\n"
|
"PO-Revision-Date: 2014-09-14 23:32+0200\n"
|
||||||
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
|
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
|
||||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
|
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
|
||||||
"Language: ca-XV\n"
|
"Language: ca@valencia\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bits\n"
|
"Content-Transfer-Encoding: 8bits\n"
|
||||||
|
847
po/en_GB.po
847
po/en_GB.po
File diff suppressed because it is too large
Load Diff
2
po/gu.po
2
po/gu.po
@ -13,7 +13,7 @@ msgstr ""
|
|||||||
"PO-Revision-Date: 2014-10-01 15:51+0530\n"
|
"PO-Revision-Date: 2014-10-01 15:51+0530\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: American English <kde-i18n-doc@kde.org>\n"
|
"Language-Team: American English <kde-i18n-doc@kde.org>\n"
|
||||||
"Language: \n"
|
"Language: gu\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
2
po/ky.po
2
po/ky.po
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"PO-Revision-Date: 2012-09-24 14:29+0600\n"
|
"PO-Revision-Date: 2012-09-24 14:29+0600\n"
|
||||||
"Last-Translator: Timur Zhamakeev <ztimur@gmail.com>\n"
|
"Last-Translator: Timur Zhamakeev <ztimur@gmail.com>\n"
|
||||||
"Language-Team: Kirghiz <gnome-i18n@gnome.org>\n"
|
"Language-Team: Kirghiz <gnome-i18n@gnome.org>\n"
|
||||||
"Language: ky_KG\n"
|
"Language: ky\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
1
po/mk.po
1
po/mk.po
@ -11,6 +11,7 @@ msgstr ""
|
|||||||
"PO-Revision-Date: 2011-12-08 22:37+0100\n"
|
"PO-Revision-Date: 2011-12-08 22:37+0100\n"
|
||||||
"Last-Translator: Jovan N\n"
|
"Last-Translator: Jovan N\n"
|
||||||
"Language-Team: mk_MK <jovan@lugola.net>\n"
|
"Language-Team: mk_MK <jovan@lugola.net>\n"
|
||||||
|
"Language: mk\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
2
po/ms.po
2
po/ms.po
@ -11,7 +11,7 @@ msgstr ""
|
|||||||
"PO-Revision-Date: 2014-09-15 19:21+0730\n"
|
"PO-Revision-Date: 2014-09-15 19:21+0730\n"
|
||||||
"Last-Translator: Umarzuki Mochlis Moktar <umar@umarzuki.org>\n"
|
"Last-Translator: Umarzuki Mochlis Moktar <umar@umarzuki.org>\n"
|
||||||
"Language-Team: GNOME Malay Team <gnome-ms@googlegroups.com>\n"
|
"Language-Team: GNOME Malay Team <gnome-ms@googlegroups.com>\n"
|
||||||
"Language: \n"
|
"Language: ms\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
667
po/nb.po
667
po/nb.po
@ -3,308 +3,23 @@
|
|||||||
# This file is distributed under the same license as the gnome-shell package.
|
# This file is distributed under the same license as the gnome-shell package.
|
||||||
#
|
#
|
||||||
# Åka Sikrom <a4@hush.com>, 2014-2015.
|
# Åka Sikrom <a4@hush.com>, 2014-2015.
|
||||||
# Kjartan Maraas <kmaraas@gnome.org>, 2009-2015.
|
# Kjartan Maraas <kmaraas@gnome.org>, 2009-2016.
|
||||||
# Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
|
# Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell 3.19.x\n"
|
"Project-Id-Version: gnome-shell 3.22.x\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2016-05-01 14:12+0200\n"
|
"POT-Creation-Date: 2016-10-16 19:40+0200\n"
|
||||||
"PO-Revision-Date: 2016-05-01 14:21+0200\n"
|
"PO-Revision-Date: 2016-10-16 19:41+0200\n"
|
||||||
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
||||||
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
|
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
|
||||||
"Language: Norwegian bokmål\n"
|
"Language: nb\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Poedit 1.5.4\n"
|
"X-Generator: Poedit 1.5.4\n"
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
|
||||||
msgid "System"
|
|
||||||
msgstr "System"
|
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:2
|
|
||||||
msgid "Show the notification list"
|
|
||||||
msgstr "Vis varslingsliste"
|
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:3
|
|
||||||
msgid "Focus the active notification"
|
|
||||||
msgstr "Fokuser på aktiv varsling"
|
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:4
|
|
||||||
msgid "Show the overview"
|
|
||||||
msgstr "Vis oversikt"
|
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:5
|
|
||||||
msgid "Show all applications"
|
|
||||||
msgstr "Vis alle programmer"
|
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:6
|
|
||||||
msgid "Open the application menu"
|
|
||||||
msgstr "Åpne programmenyen"
|
|
||||||
|
|
||||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
|
||||||
msgid "GNOME Shell Extension Preferences"
|
|
||||||
msgstr "Brukervalg for GNOME Shell-utvidelser"
|
|
||||||
|
|
||||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
|
|
||||||
msgid "Configure GNOME Shell Extensions"
|
|
||||||
msgstr "Sett opp utvidelser for GNOME Shell"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
|
||||||
msgid "GNOME Shell"
|
|
||||||
msgstr "GNOME Shell"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
|
||||||
msgid "Window management and application launching"
|
|
||||||
msgstr "Vindushåndtering og oppstart av programmer"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
|
||||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
|
||||||
msgstr "Slå på interne verktøy for utviklere og testere fra Alt-F2"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
|
|
||||||
msgid ""
|
|
||||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
|
||||||
"dialog."
|
|
||||||
msgstr ""
|
|
||||||
"Tillat tilgang til interne feilsøkings- og overvåkingsverktøy ved å bruke "
|
|
||||||
"Alt-F2-dialogen."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
|
|
||||||
msgid "UUIDs of extensions to enable"
|
|
||||||
msgstr "UUID-er for utvidelser som skal slås på"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4
|
|
||||||
msgid ""
|
|
||||||
"GNOME Shell extensions have a UUID property; this key lists extensions which "
|
|
||||||
"should be loaded. Any extension that wants to be loaded needs to be in this "
|
|
||||||
"list. You can also manipulate this list with the EnableExtension and "
|
|
||||||
"DisableExtension D-Bus methods on org.gnome.Shell."
|
|
||||||
msgstr ""
|
|
||||||
"GNOME Shell-utvidelser har en UUID-egenskap. Denne nøkkelen viser utvidelser "
|
|
||||||
"som skal lastes inn. Alle utvidelser som ønsker å bli lastet inn må være med "
|
|
||||||
"på denne lista. Du kan også manipulere lista med DBus-metodene "
|
|
||||||
"EnablExtension og DisableExtension på org.gnome.Shell."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
|
|
||||||
msgid "Disables the validation of extension version compatibility"
|
|
||||||
msgstr ""
|
|
||||||
"Slår av gyldighetssjekk av hvorvidt programversjoner passer med utvidelser"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:6
|
|
||||||
msgid ""
|
|
||||||
"GNOME Shell will only load extensions that claim to support the current "
|
|
||||||
"running version. Enabling this option will disable this check and try to "
|
|
||||||
"load all extensions regardless of the versions they claim to support."
|
|
||||||
msgstr ""
|
|
||||||
"GNOME Shell laster bare inn utvidelser som hevder å støtte kjørende versjon. "
|
|
||||||
"Hvis du slår på dette valget, slår du av denne sjekken, og alle utvidelser "
|
|
||||||
"lastes inn uavhengig av hvilke versjoner de hevder å støtte."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
|
|
||||||
msgid "List of desktop file IDs for favorite applications"
|
|
||||||
msgstr "Liste av skrivebordsfil-id-er for favorittprogrammer"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
|
|
||||||
msgid ""
|
|
||||||
"The applications corresponding to these identifiers will be displayed in the "
|
|
||||||
"favorites area."
|
|
||||||
msgstr ""
|
|
||||||
"Programmene som passer til disse identifikatorene vises i favorittområdet."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
|
|
||||||
msgid "App Picker View"
|
|
||||||
msgstr "Visning av programvelger"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:10
|
|
||||||
msgid "Index of the currently selected view in the application picker."
|
|
||||||
msgstr "Indeks for valgt visning i programvelgeren."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:11
|
|
||||||
msgid "History for command (Alt-F2) dialog"
|
|
||||||
msgstr "Historikk for kommandodialog (Alt-F2)"
|
|
||||||
|
|
||||||
#. Translators: looking glass is a debugger and inspector tool, see https://live.gnome.org/GnomeShell/LookingGlass
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
|
|
||||||
msgid "History for the looking glass dialog"
|
|
||||||
msgstr "Historikk for forstørrelsesglass-dialogen"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
|
|
||||||
msgid "Always show the 'Log out' menu item in the user menu."
|
|
||||||
msgstr "Alltid vis menyoppføringen «Logg ut» i brukermenyen."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
|
|
||||||
msgid ""
|
|
||||||
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
|
|
||||||
"user, single-session situations."
|
|
||||||
msgstr ""
|
|
||||||
"Denne nøkkelen overstyrer skjuling av menyoppføringen «Logg ut» i "
|
|
||||||
"situasjonen én bruker, én sesjon."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
|
|
||||||
msgid ""
|
|
||||||
"Whether to remember password for mounting encrypted or remote filesystems"
|
|
||||||
msgstr "Om passord til eksterne eller krypterte filsystemer skal huskes."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
|
|
||||||
msgid ""
|
|
||||||
"The shell will request a password when an encrypted device or a remote "
|
|
||||||
"filesystem is mounted. If the password can be saved for future use a "
|
|
||||||
"'Remember Password' checkbox will be present. This key sets the default "
|
|
||||||
"state of the checkbox."
|
|
||||||
msgstr ""
|
|
||||||
"Skallet spør etter passord når du monterer en kryptert enhet eller et "
|
|
||||||
"eksternt filsystem. Hvis passordet kan lagres for fremtidig bruk, vises en "
|
|
||||||
"avkryssingsboks med teksten «Husk passord». Denne nøkkelen bestemmer "
|
|
||||||
"standardverdien for avkryssingsboksen."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
|
||||||
msgid ""
|
|
||||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
|
||||||
msgid ""
|
|
||||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
|
||||||
"powered, or if there were devices set up associated with the default "
|
|
||||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
|
||||||
"devices associated to it."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
|
||||||
msgid "Show the week date in the calendar"
|
|
||||||
msgstr "Vis ukedato/ukenummer i kalender"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
|
||||||
msgid "If true, display the ISO week date in the calendar."
|
|
||||||
msgstr "Viser ISO-ukedato i kalenderen hvis «true»."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
|
||||||
msgid "Keybinding to open the application menu"
|
|
||||||
msgstr "Tastaturbinding som åpner programmenyen"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
|
||||||
msgid "Keybinding to open the application menu."
|
|
||||||
msgstr "Tastaturbinding som åpner programmenyen."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
|
||||||
msgid "Keybinding to open the \"Show Applications\" view"
|
|
||||||
msgstr "Tastaturbinding som åpner visningen «Vis programmer»"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
|
||||||
msgid ""
|
|
||||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
|
||||||
msgstr ""
|
|
||||||
"Tastaturbinding som åpner visningen «Vis programmer» i aktivitetsoversikten."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
|
||||||
msgid "Keybinding to open the overview"
|
|
||||||
msgstr "Tastaturbinding som åpner oversikten"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
|
||||||
msgid "Keybinding to open the Activities Overview."
|
|
||||||
msgstr "Tastaturbinding som åpner aktivitetsoversikten."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
|
||||||
msgid "Keybinding to toggle the visibility of the notification list"
|
|
||||||
msgstr "Tastaturbinding som slår av/på visning av varslingsliste"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
|
||||||
msgid "Keybinding to toggle the visibility of the notification list."
|
|
||||||
msgstr "Tastaturbinding som slår av/på visning av varslingsliste."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
|
||||||
msgid "Keybinding to focus the active notification"
|
|
||||||
msgstr "Tastaturbinding som fokuserer aktiv varsling"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
|
||||||
msgid "Keybinding to focus the active notification."
|
|
||||||
msgstr "Tastaturbinding som fokuserer aktiv varsling."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
|
||||||
msgid ""
|
|
||||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
|
||||||
msgstr ""
|
|
||||||
"Hurtigtast som stanser og fortsetter pågående bevegelser til "
|
|
||||||
"feilsøkingsformål"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
|
||||||
msgid "Which keyboard to use"
|
|
||||||
msgstr "Tastatur som skal brukes"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
|
||||||
msgid "The type of keyboard to use."
|
|
||||||
msgstr "Type tastatur som skal brukes."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
|
||||||
msgid "Limit switcher to current workspace."
|
|
||||||
msgstr "Begrens programveksling til gjeldende arbeidsområde."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
|
||||||
msgid ""
|
|
||||||
"If true, only applications that have windows on the current workspace are "
|
|
||||||
"shown in the switcher. Otherwise, all applications are included."
|
|
||||||
msgstr ""
|
|
||||||
"Hvis verdien er sann («true»), er det bare programmer med vinduer på "
|
|
||||||
"gjeldende arbeidsområder som vises i programveksleren. I motsatt fall kan du "
|
|
||||||
"veksle mellom programmer på tvers av arbeidsområder."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
|
||||||
msgid "The application icon mode."
|
|
||||||
msgstr "Ikonmodus for programmet."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
|
||||||
msgid ""
|
|
||||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
|
||||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
|
||||||
"only' (shows only the application icon) or 'both'."
|
|
||||||
msgstr ""
|
|
||||||
"Bestemmer hvordan vinduene vises i programveksleren. Gyldige "
|
|
||||||
"valgalternativer er «thumbnail-only» (viser miniatyrbilde av vinduet), «app-"
|
|
||||||
"icon-only» (viser bare programikonet) og «both» (viser begge forannevnte)."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
|
||||||
msgid ""
|
|
||||||
"If true, only windows from the current workspace are shown in the switcher. "
|
|
||||||
"Otherwise, all windows are included."
|
|
||||||
msgstr ""
|
|
||||||
"Hvis verdien er sann («true»), er det bare vinduer på gjeldende "
|
|
||||||
"arbeidsområder som vises i programveksleren. I motsatt fall vises vinduer "
|
|
||||||
"fra alle arbeidsområder."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
|
||||||
msgid "Attach modal dialog to the parent window"
|
|
||||||
msgstr "Fest modal dialog til opphavsvinduet"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
|
||||||
msgid ""
|
|
||||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
|
||||||
msgstr ""
|
|
||||||
"Denne nøkkelen overstyrer nøkkelen i org.gnome.mutter når GNOME Shell kjøres."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
|
||||||
msgstr ""
|
|
||||||
"Del opp skjermkantene i fliser når brukeren drar og slipper vinduer på dem"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
|
||||||
msgid "Workspaces are managed dynamically"
|
|
||||||
msgstr "Arbeidsområder håndteres dynamisk"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
|
||||||
msgid "Workspaces only on primary monitor"
|
|
||||||
msgstr "Arbeidsområder vises kun på hovedskjerm"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
|
||||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
|
||||||
msgstr "Utsett fokusendringer i musmodus til peker slutter å bevege seg"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
|
|
||||||
msgid "Network Login"
|
|
||||||
msgstr "Nettverkspålogging"
|
|
||||||
|
|
||||||
#: ../js/extensionPrefs/main.js:117
|
#: ../js/extensionPrefs/main.js:117
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "There was an error loading the preferences dialog for %s:"
|
msgid "There was an error loading the preferences dialog for %s:"
|
||||||
@ -316,7 +31,7 @@ msgstr "Utvidelser for GNOME Shell"
|
|||||||
|
|
||||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
||||||
#: ../js/ui/components/networkAgent.js:145
|
#: ../js/ui/components/networkAgent.js:145
|
||||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
|
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:483
|
||||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||||
#: ../js/ui/status/network.js:916
|
#: ../js/ui/status/network.js:916
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
@ -350,7 +65,7 @@ msgstr "Ikke listet?"
|
|||||||
|
|
||||||
#. Translators: this message is shown below the username entry field
|
#. Translators: this message is shown below the username entry field
|
||||||
#. to clue the user in on how to login to the local network realm
|
#. to clue the user in on how to login to the local network realm
|
||||||
#: ../js/gdm/loginDialog.js:854
|
#: ../js/gdm/loginDialog.js:859
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "(e.g., user or %s)"
|
msgid "(e.g., user or %s)"
|
||||||
msgstr "(f.eks. bruker eller %s)"
|
msgstr "(f.eks. bruker eller %s)"
|
||||||
@ -358,12 +73,12 @@ msgstr "(f.eks. bruker eller %s)"
|
|||||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||||
#. is not visible here since we only care about phase2 authentication
|
#. is not visible here since we only care about phase2 authentication
|
||||||
#. (and don't even care of which one)
|
#. (and don't even care of which one)
|
||||||
#: ../js/gdm/loginDialog.js:859 ../js/ui/components/networkAgent.js:271
|
#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:271
|
||||||
#: ../js/ui/components/networkAgent.js:289
|
#: ../js/ui/components/networkAgent.js:289
|
||||||
msgid "Username: "
|
msgid "Username: "
|
||||||
msgstr "Brukernavn: "
|
msgstr "Brukernavn: "
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:1196
|
#: ../js/gdm/loginDialog.js:1201
|
||||||
msgid "Login Window"
|
msgid "Login Window"
|
||||||
msgstr "Innloggingsvindu"
|
msgstr "Innloggingsvindu"
|
||||||
|
|
||||||
@ -471,6 +186,16 @@ msgstr "%d %B %Y, %H.%M"
|
|||||||
msgid "Web Authentication Redirect"
|
msgid "Web Authentication Redirect"
|
||||||
msgstr "Omdirigering av autentisering på nett"
|
msgstr "Omdirigering av autentisering på nett"
|
||||||
|
|
||||||
|
#. No support for non-modal system dialogs, so ignore the option
|
||||||
|
#. let modal = options['modal'] || true;
|
||||||
|
#: ../js/ui/accessDialog.js:62 ../js/ui/status/location.js:426
|
||||||
|
msgid "Deny Access"
|
||||||
|
msgstr "Nekt tilgang"
|
||||||
|
|
||||||
|
#: ../js/ui/accessDialog.js:63 ../js/ui/status/location.js:429
|
||||||
|
msgid "Grant Access"
|
||||||
|
msgstr "Gi tilgang"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:794
|
#: ../js/ui/appDisplay.js:794
|
||||||
msgid "Frequently used applications will appear here"
|
msgid "Frequently used applications will appear here"
|
||||||
msgstr "Ofte brukte programmer vises her"
|
msgstr "Ofte brukte programmer vises her"
|
||||||
@ -537,7 +262,7 @@ msgstr "Bytt bakgrunn …"
|
|||||||
msgid "Display Settings"
|
msgid "Display Settings"
|
||||||
msgstr "Innstillinger for skjerm"
|
msgstr "Innstillinger for skjerm"
|
||||||
|
|
||||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
|
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:374
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Innstillinger"
|
msgstr "Innstillinger"
|
||||||
|
|
||||||
@ -593,55 +318,55 @@ msgctxt "grid saturday"
|
|||||||
msgid "S"
|
msgid "S"
|
||||||
msgstr "L"
|
msgstr "L"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:416
|
#: ../js/ui/calendar.js:442
|
||||||
msgid "Previous month"
|
msgid "Previous month"
|
||||||
msgstr "Forrige måned"
|
msgstr "Forrige måned"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:426
|
#: ../js/ui/calendar.js:452
|
||||||
msgid "Next month"
|
msgid "Next month"
|
||||||
msgstr "Neste måned"
|
msgstr "Neste måned"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:579
|
#: ../js/ui/calendar.js:605
|
||||||
#, no-javascript-format
|
#, no-javascript-format
|
||||||
msgctxt "date day number format"
|
msgctxt "date day number format"
|
||||||
msgid "%d"
|
msgid "%d"
|
||||||
msgstr "%d"
|
msgstr "%d"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:634
|
#: ../js/ui/calendar.js:660
|
||||||
msgid "Week %V"
|
msgid "Week %V"
|
||||||
msgstr "Uke %V"
|
msgstr "Uke %V"
|
||||||
|
|
||||||
#. Translators: Shown in calendar event list for all day events
|
#. Translators: Shown in calendar event list for all day events
|
||||||
#. * Keep it short, best if you can use less then 10 characters
|
#. * Keep it short, best if you can use less then 10 characters
|
||||||
#.
|
#.
|
||||||
#: ../js/ui/calendar.js:695
|
#: ../js/ui/calendar.js:721
|
||||||
msgctxt "event list time"
|
msgctxt "event list time"
|
||||||
msgid "All Day"
|
msgid "All Day"
|
||||||
msgstr "Hele dagen"
|
msgstr "Hele dagen"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:821
|
#: ../js/ui/calendar.js:836
|
||||||
msgid "Events"
|
msgid "Events"
|
||||||
msgstr "Hendelser"
|
msgstr "Hendelser"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:830
|
#: ../js/ui/calendar.js:845
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A %B %d"
|
msgstr "%A %B %d"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:834
|
#: ../js/ui/calendar.js:849
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A %B %d, %Y"
|
msgstr "%A %B %d, %Y"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:919
|
#: ../js/ui/calendar.js:931
|
||||||
msgid "Notifications"
|
msgid "Notifications"
|
||||||
msgstr "Varslinger"
|
msgstr "Varslinger"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:1070
|
#: ../js/ui/calendar.js:1082
|
||||||
msgid "No Notifications"
|
msgid "No Notifications"
|
||||||
msgstr "Ingen varslinger"
|
msgstr "Ingen varslinger"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:1073
|
#: ../js/ui/calendar.js:1085
|
||||||
msgid "No Events"
|
msgid "No Events"
|
||||||
msgstr "Ingen hendelser"
|
msgstr "Ingen hendelser"
|
||||||
|
|
||||||
@ -753,7 +478,7 @@ msgstr "Nettverkspassord for mobilt bredbånd"
|
|||||||
msgid "A password is required to connect to “%s”."
|
msgid "A password is required to connect to “%s”."
|
||||||
msgstr "Du må oppgi et passord for å koble til «%s»."
|
msgstr "Du må oppgi et passord for å koble til «%s»."
|
||||||
|
|
||||||
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1658
|
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1660
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Nettverkshåndtering"
|
msgstr "Nettverkshåndtering"
|
||||||
|
|
||||||
@ -779,7 +504,7 @@ msgstr "Beklager, det virket ikke. Prøv igjen."
|
|||||||
|
|
||||||
#. Translators: this is the other person changing their old IM name to their new
|
#. Translators: this is the other person changing their old IM name to their new
|
||||||
#. IM name.
|
#. IM name.
|
||||||
#: ../js/ui/components/telepathyClient.js:760
|
#: ../js/ui/components/telepathyClient.js:765
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "%s er nå kjent som %s"
|
msgstr "%s er nå kjent som %s"
|
||||||
@ -911,7 +636,7 @@ msgstr[1] ""
|
|||||||
"Systemet starter på nytt og installere oppdateringer automatisk om %d "
|
"Systemet starter på nytt og installere oppdateringer automatisk om %d "
|
||||||
"sekunder."
|
"sekunder."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:127
|
#: ../js/ui/endSessionDialog.js:127 ../js/ui/endSessionDialog.js:147
|
||||||
msgctxt "button"
|
msgctxt "button"
|
||||||
msgid "Restart & Install"
|
msgid "Restart & Install"
|
||||||
msgstr "Start på nytt og installer"
|
msgstr "Start på nytt og installer"
|
||||||
@ -926,28 +651,43 @@ msgctxt "checkbox"
|
|||||||
msgid "Power off after updates are installed"
|
msgid "Power off after updates are installed"
|
||||||
msgstr "Slå av etter at oppdateringer er installert"
|
msgstr "Slå av etter at oppdateringer er installert"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:338
|
#: ../js/ui/endSessionDialog.js:137
|
||||||
|
msgctxt "title"
|
||||||
|
msgid "Restart & Install Upgrade"
|
||||||
|
msgstr "Start på nytt og installer oppgradering"
|
||||||
|
|
||||||
|
#. Translators: This is the text displayed for system upgrades in the
|
||||||
|
#. shut down dialog. First %s gets replaced with the distro name and
|
||||||
|
#. second %s with the distro version to upgrade to
|
||||||
|
#: ../js/ui/endSessionDialog.js:142
|
||||||
|
#, javascript-format
|
||||||
|
msgid ""
|
||||||
|
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||||
|
"time: ensure that you have backed up and that the computer is plugged in."
|
||||||
|
msgstr "%s %s vil bli installert etter omstart. Installering av en oppgradering kan ta lang tid: forsikre deg om at du har en sikkerhetskopi og at datamaskinen er koblet til strøm."
|
||||||
|
|
||||||
|
#: ../js/ui/endSessionDialog.js:361
|
||||||
msgid "Running on battery power: please plug in before installing updates."
|
msgid "Running on battery power: please plug in before installing updates."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Kjører på batteristrøm: vennligst koble til strøm før oppdateringer blir "
|
"Kjører på batteristrøm: vennligst koble til strøm før oppdateringer blir "
|
||||||
"installert."
|
"installert."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:355
|
#: ../js/ui/endSessionDialog.js:378
|
||||||
msgid "Some applications are busy or have unsaved work."
|
msgid "Some applications are busy or have unsaved work."
|
||||||
msgstr "Noen programmer er opptatt eller har arbeid som ikke er lagret."
|
msgstr "Noen programmer er opptatt eller har arbeid som ikke er lagret."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:362
|
#: ../js/ui/endSessionDialog.js:385
|
||||||
msgid "Other users are logged in."
|
msgid "Other users are logged in."
|
||||||
msgstr "Andre brukere er logget inn."
|
msgstr "Andre brukere er logget inn."
|
||||||
|
|
||||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||||
#: ../js/ui/endSessionDialog.js:640
|
#: ../js/ui/endSessionDialog.js:671
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s (remote)"
|
msgid "%s (remote)"
|
||||||
msgstr "%s (ekstern)"
|
msgstr "%s (ekstern)"
|
||||||
|
|
||||||
#. Translators: Console here refers to a tty like a VT console
|
#. Translators: Console here refers to a tty like a VT console
|
||||||
#: ../js/ui/endSessionDialog.js:643
|
#: ../js/ui/endSessionDialog.js:674
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s (console)"
|
msgid "%s (console)"
|
||||||
msgstr "%s (konsoll)"
|
msgstr "%s (konsoll)"
|
||||||
@ -961,7 +701,7 @@ msgstr "Installer"
|
|||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "Vil du laste ned og installere «%s» fra extensions.gnome.org?"
|
msgstr "Vil du laste ned og installere «%s» fra extensions.gnome.org?"
|
||||||
|
|
||||||
#: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:713
|
#: ../js/ui/keyboard.js:742 ../js/ui/status/keyboard.js:782
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Tastatur"
|
msgstr "Tastatur"
|
||||||
|
|
||||||
@ -998,7 +738,7 @@ msgstr "Slått på"
|
|||||||
|
|
||||||
#. translators:
|
#. translators:
|
||||||
#. * The device has been disabled
|
#. * The device has been disabled
|
||||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
|
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr "Slått av"
|
msgstr "Slått av"
|
||||||
|
|
||||||
@ -1046,7 +786,7 @@ msgstr "Media"
|
|||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "Angre"
|
msgstr "Angre"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:117
|
#: ../js/ui/overview.js:113
|
||||||
msgid "Overview"
|
msgid "Overview"
|
||||||
msgstr "Oversikt"
|
msgstr "Oversikt"
|
||||||
|
|
||||||
@ -1054,7 +794,7 @@ msgstr "Oversikt"
|
|||||||
#. in the search entry when no search is
|
#. in the search entry when no search is
|
||||||
#. active; it should not exceed ~30
|
#. active; it should not exceed ~30
|
||||||
#. characters.
|
#. characters.
|
||||||
#: ../js/ui/overview.js:244
|
#: ../js/ui/overview.js:240
|
||||||
msgid "Type to search…"
|
msgid "Type to search…"
|
||||||
msgstr "Skriv for å søke …"
|
msgstr "Skriv for å søke …"
|
||||||
|
|
||||||
@ -1118,11 +858,11 @@ msgid_plural "%d new notifications"
|
|||||||
msgstr[0] "%d ny varsling"
|
msgstr[0] "%d ny varsling"
|
||||||
msgstr[1] "%d nye varslinger"
|
msgstr[1] "%d nye varslinger"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
|
#: ../js/ui/screenShield.js:449 ../js/ui/status/system.js:382
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Lås"
|
msgstr "Lås"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:684
|
#: ../js/ui/screenShield.js:704
|
||||||
msgid "GNOME needs to lock the screen"
|
msgid "GNOME needs to lock the screen"
|
||||||
msgstr "GNOME må låse skjermen"
|
msgstr "GNOME må låse skjermen"
|
||||||
|
|
||||||
@ -1133,11 +873,11 @@ msgstr "GNOME må låse skjermen"
|
|||||||
#.
|
#.
|
||||||
#. XXX: another option is to kick the user into the gdm login
|
#. XXX: another option is to kick the user into the gdm login
|
||||||
#. screen, where we're not affected by grabs
|
#. screen, where we're not affected by grabs
|
||||||
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
|
#: ../js/ui/screenShield.js:825 ../js/ui/screenShield.js:1291
|
||||||
msgid "Unable to lock"
|
msgid "Unable to lock"
|
||||||
msgstr "Klarte ikke å låse"
|
msgstr "Klarte ikke å låse"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
|
#: ../js/ui/screenShield.js:826 ../js/ui/screenShield.js:1292
|
||||||
msgid "Lock was blocked by an application"
|
msgid "Lock was blocked by an application"
|
||||||
msgstr "Låsing ble stoppet av et program"
|
msgstr "Låsing ble stoppet av et program"
|
||||||
|
|
||||||
@ -1221,7 +961,7 @@ msgstr "Stor tekst"
|
|||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:56
|
#: ../js/ui/status/bluetooth.js:56 ../js/ui/status/network.js:624
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Bluetooth-innstillinger"
|
msgstr "Bluetooth-innstillinger"
|
||||||
|
|
||||||
@ -1256,7 +996,7 @@ msgstr "Slå av"
|
|||||||
msgid "Brightness"
|
msgid "Brightness"
|
||||||
msgstr "Lysstyrke"
|
msgstr "Lysstyrke"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:736
|
#: ../js/ui/status/keyboard.js:805
|
||||||
msgid "Show Keyboard Layout"
|
msgid "Show Keyboard Layout"
|
||||||
msgstr "Vis tastaturutforming"
|
msgstr "Vis tastaturutforming"
|
||||||
|
|
||||||
@ -1284,14 +1024,6 @@ msgstr "Plassering slått av"
|
|||||||
msgid "Enable"
|
msgid "Enable"
|
||||||
msgstr "Slå på"
|
msgstr "Slå på"
|
||||||
|
|
||||||
#: ../js/ui/status/location.js:426
|
|
||||||
msgid "Deny Access"
|
|
||||||
msgstr "Nekt tilgang"
|
|
||||||
|
|
||||||
#: ../js/ui/status/location.js:429
|
|
||||||
msgid "Grant Access"
|
|
||||||
msgstr "Gi tilgang"
|
|
||||||
|
|
||||||
#. Translators: %s is an application name
|
#. Translators: %s is an application name
|
||||||
#: ../js/ui/status/location.js:435
|
#: ../js/ui/status/location.js:435
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
@ -1300,7 +1032,9 @@ msgstr "Gi %s tilgang til din plassering?"
|
|||||||
|
|
||||||
#: ../js/ui/status/location.js:437
|
#: ../js/ui/status/location.js:437
|
||||||
msgid "Location access can be changed at any time from the privacy settings."
|
msgid "Location access can be changed at any time from the privacy settings."
|
||||||
msgstr "Tilgang til plassering kan endres når som helst fra innstillinger for personvern."
|
msgstr ""
|
||||||
|
"Tilgang til plassering kan endres når som helst fra innstillinger for "
|
||||||
|
"personvern."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:101
|
#: ../js/ui/status/network.js:101
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
@ -1368,7 +1102,7 @@ msgstr "%s tilkobling mislyktes"
|
|||||||
msgid "Wired Settings"
|
msgid "Wired Settings"
|
||||||
msgstr "Innstillinger for trådbundet nettverk"
|
msgstr "Innstillinger for trådbundet nettverk"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624
|
#: ../js/ui/status/network.js:545
|
||||||
msgid "Mobile Broadband Settings"
|
msgid "Mobile Broadband Settings"
|
||||||
msgstr "Innstillinger for mobilt bredbånd"
|
msgstr "Innstillinger for mobilt bredbånd"
|
||||||
|
|
||||||
@ -1386,8 +1120,8 @@ msgid "%s Disabled"
|
|||||||
msgstr "%s slått av"
|
msgstr "%s slått av"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:632
|
#: ../js/ui/status/network.js:632
|
||||||
msgid "Use as Internet connection"
|
msgid "Connect to Internet"
|
||||||
msgstr "Bruk som internettforbindelse"
|
msgstr "Koble til internett"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:813
|
#: ../js/ui/status/network.js:813
|
||||||
msgid "Airplane Mode is On"
|
msgid "Airplane Mode is On"
|
||||||
@ -1478,11 +1212,11 @@ msgstr "VPN"
|
|||||||
msgid "VPN Off"
|
msgid "VPN Off"
|
||||||
msgstr "VPN av"
|
msgstr "VPN av"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1697
|
#: ../js/ui/status/network.js:1699
|
||||||
msgid "Connection failed"
|
msgid "Connection failed"
|
||||||
msgstr "Tilkobling mislyktes"
|
msgstr "Tilkobling mislyktes"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1698
|
#: ../js/ui/status/network.js:1700
|
||||||
msgid "Activation of network connection failed"
|
msgid "Activation of network connection failed"
|
||||||
msgstr "Aktivering av nettverkstilkobling mislyktes"
|
msgstr "Aktivering av nettverkstilkobling mislyktes"
|
||||||
|
|
||||||
@ -1524,27 +1258,27 @@ msgstr "%d %%"
|
|||||||
msgid "Airplane Mode On"
|
msgid "Airplane Mode On"
|
||||||
msgstr "Flymodus er slått på"
|
msgstr "Flymodus er slått på"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:348
|
#: ../js/ui/status/system.js:351
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Bytt bruker"
|
msgstr "Bytt bruker"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:353
|
#: ../js/ui/status/system.js:356
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Logg ut"
|
msgstr "Logg ut"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:358
|
#: ../js/ui/status/system.js:361
|
||||||
msgid "Account Settings"
|
msgid "Account Settings"
|
||||||
msgstr "Innstillinger for konto"
|
msgstr "Innstillinger for konto"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:375
|
#: ../js/ui/status/system.js:378
|
||||||
msgid "Orientation Lock"
|
msgid "Orientation Lock"
|
||||||
msgstr "Lås for orientering"
|
msgstr "Lås for orientering"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:383
|
#: ../js/ui/status/system.js:386
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Hvilemodus"
|
msgstr "Hvilemodus"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:386
|
#: ../js/ui/status/system.js:389
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Slå av"
|
msgstr "Slå av"
|
||||||
|
|
||||||
@ -1670,13 +1404,9 @@ msgstr "Flytt til skjermen til venstre"
|
|||||||
msgid "Move to Monitor Right"
|
msgid "Move to Monitor Right"
|
||||||
msgstr "Flytt til skjermen til høyre"
|
msgstr "Flytt til skjermen til høyre"
|
||||||
|
|
||||||
#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1
|
|
||||||
msgid "Evolution Calendar"
|
|
||||||
msgstr "Evolution kalender"
|
|
||||||
|
|
||||||
#. translators:
|
#. translators:
|
||||||
#. * The number of sound outputs on a particular device
|
#. * The number of sound outputs on a particular device
|
||||||
#: ../src/gvc/gvc-mixer-control.c:1835
|
#: ../src/gvc/gvc-mixer-control.c:1873
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%u Output"
|
msgid "%u Output"
|
||||||
msgid_plural "%u Outputs"
|
msgid_plural "%u Outputs"
|
||||||
@ -1685,14 +1415,14 @@ msgstr[1] "%u utganger"
|
|||||||
|
|
||||||
#. translators:
|
#. translators:
|
||||||
#. * The number of sound inputs on a particular device
|
#. * The number of sound inputs on a particular device
|
||||||
#: ../src/gvc/gvc-mixer-control.c:1845
|
#: ../src/gvc/gvc-mixer-control.c:1883
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%u Input"
|
msgid "%u Input"
|
||||||
msgid_plural "%u Inputs"
|
msgid_plural "%u Inputs"
|
||||||
msgstr[0] "%u inngang"
|
msgstr[0] "%u inngang"
|
||||||
msgstr[1] "%u innganger"
|
msgstr[1] "%u innganger"
|
||||||
|
|
||||||
#: ../src/gvc/gvc-mixer-control.c:2371
|
#: ../src/gvc/gvc-mixer-control.c:2738
|
||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Systemlyder"
|
msgstr "Systemlyder"
|
||||||
|
|
||||||
@ -1712,12 +1442,12 @@ msgstr "Bruk spesifikt modus, f.eks «gdm» for innloggingsskjerm"
|
|||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Vis mulige modi"
|
msgstr "Vis mulige modi"
|
||||||
|
|
||||||
#: ../src/shell-app.c:246
|
#: ../src/shell-app.c:270
|
||||||
msgctxt "program"
|
msgctxt "program"
|
||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Ukjent"
|
msgstr "Ukjent"
|
||||||
|
|
||||||
#: ../src/shell-app.c:487
|
#: ../src/shell-app.c:511
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to launch “%s”"
|
msgid "Failed to launch “%s”"
|
||||||
msgstr "Klarte ikke å starte «%s»"
|
msgstr "Klarte ikke å starte «%s»"
|
||||||
@ -1733,3 +1463,232 @@ msgstr "Passordet kan ikke være tomt"
|
|||||||
#: ../src/shell-polkit-authentication-agent.c:353
|
#: ../src/shell-polkit-authentication-agent.c:353
|
||||||
msgid "Authentication dialog was dismissed by the user"
|
msgid "Authentication dialog was dismissed by the user"
|
||||||
msgstr "Autentiseringsdialogen ble lukket av brukeren"
|
msgstr "Autentiseringsdialogen ble lukket av brukeren"
|
||||||
|
|
||||||
|
#~ msgid "System"
|
||||||
|
#~ msgstr "System"
|
||||||
|
|
||||||
|
#~ msgid "Show the notification list"
|
||||||
|
#~ msgstr "Vis varslingsliste"
|
||||||
|
|
||||||
|
#~ msgid "Focus the active notification"
|
||||||
|
#~ msgstr "Fokuser på aktiv varsling"
|
||||||
|
|
||||||
|
#~ msgid "Show the overview"
|
||||||
|
#~ msgstr "Vis oversikt"
|
||||||
|
|
||||||
|
#~ msgid "Show all applications"
|
||||||
|
#~ msgstr "Vis alle programmer"
|
||||||
|
|
||||||
|
#~ msgid "Open the application menu"
|
||||||
|
#~ msgstr "Åpne programmenyen"
|
||||||
|
|
||||||
|
#~ msgid "GNOME Shell Extension Preferences"
|
||||||
|
#~ msgstr "Brukervalg for GNOME Shell-utvidelser"
|
||||||
|
|
||||||
|
#~ msgid "Configure GNOME Shell Extensions"
|
||||||
|
#~ msgstr "Sett opp utvidelser for GNOME Shell"
|
||||||
|
|
||||||
|
#~ msgid "GNOME Shell"
|
||||||
|
#~ msgstr "GNOME Shell"
|
||||||
|
|
||||||
|
#~ msgid "Window management and application launching"
|
||||||
|
#~ msgstr "Vindushåndtering og oppstart av programmer"
|
||||||
|
|
||||||
|
#~ msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||||
|
#~ msgstr "Slå på interne verktøy for utviklere og testere fra Alt-F2"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||||
|
#~ "dialog."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Tillat tilgang til interne feilsøkings- og overvåkingsverktøy ved å bruke "
|
||||||
|
#~ "Alt-F2-dialogen."
|
||||||
|
|
||||||
|
#~ msgid "UUIDs of extensions to enable"
|
||||||
|
#~ msgstr "UUID-er for utvidelser som skal slås på"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "GNOME Shell extensions have a UUID property; this key lists extensions "
|
||||||
|
#~ "which should be loaded. Any extension that wants to be loaded needs to be "
|
||||||
|
#~ "in this list. You can also manipulate this list with the EnableExtension "
|
||||||
|
#~ "and DisableExtension D-Bus methods on org.gnome.Shell."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "GNOME Shell-utvidelser har en UUID-egenskap. Denne nøkkelen viser "
|
||||||
|
#~ "utvidelser som skal lastes inn. Alle utvidelser som ønsker å bli lastet "
|
||||||
|
#~ "inn må være med på denne lista. Du kan også manipulere lista med DBus-"
|
||||||
|
#~ "metodene EnablExtension og DisableExtension på org.gnome.Shell."
|
||||||
|
|
||||||
|
#~ msgid "Disables the validation of extension version compatibility"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Slår av gyldighetssjekk av hvorvidt programversjoner passer med utvidelser"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "GNOME Shell will only load extensions that claim to support the current "
|
||||||
|
#~ "running version. Enabling this option will disable this check and try to "
|
||||||
|
#~ "load all extensions regardless of the versions they claim to support."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "GNOME Shell laster bare inn utvidelser som hevder å støtte kjørende "
|
||||||
|
#~ "versjon. Hvis du slår på dette valget, slår du av denne sjekken, og alle "
|
||||||
|
#~ "utvidelser lastes inn uavhengig av hvilke versjoner de hevder å støtte."
|
||||||
|
|
||||||
|
#~ msgid "List of desktop file IDs for favorite applications"
|
||||||
|
#~ msgstr "Liste av skrivebordsfil-id-er for favorittprogrammer"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The applications corresponding to these identifiers will be displayed in "
|
||||||
|
#~ "the favorites area."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Programmene som passer til disse identifikatorene vises i favorittområdet."
|
||||||
|
|
||||||
|
#~ msgid "App Picker View"
|
||||||
|
#~ msgstr "Visning av programvelger"
|
||||||
|
|
||||||
|
#~ msgid "Index of the currently selected view in the application picker."
|
||||||
|
#~ msgstr "Indeks for valgt visning i programvelgeren."
|
||||||
|
|
||||||
|
#~ msgid "History for command (Alt-F2) dialog"
|
||||||
|
#~ msgstr "Historikk for kommandodialog (Alt-F2)"
|
||||||
|
|
||||||
|
#~ msgid "History for the looking glass dialog"
|
||||||
|
#~ msgstr "Historikk for forstørrelsesglass-dialogen"
|
||||||
|
|
||||||
|
#~ msgid "Always show the 'Log out' menu item in the user menu."
|
||||||
|
#~ msgstr "Alltid vis menyoppføringen «Logg ut» i brukermenyen."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This key overrides the automatic hiding of the 'Log out' menu item in "
|
||||||
|
#~ "single-user, single-session situations."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Denne nøkkelen overstyrer skjuling av menyoppføringen «Logg ut» i "
|
||||||
|
#~ "situasjonen én bruker, én sesjon."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Whether to remember password for mounting encrypted or remote filesystems"
|
||||||
|
#~ msgstr "Om passord til eksterne eller krypterte filsystemer skal huskes."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The shell will request a password when an encrypted device or a remote "
|
||||||
|
#~ "filesystem is mounted. If the password can be saved for future use a "
|
||||||
|
#~ "'Remember Password' checkbox will be present. This key sets the default "
|
||||||
|
#~ "state of the checkbox."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Skallet spør etter passord når du monterer en kryptert enhet eller et "
|
||||||
|
#~ "eksternt filsystem. Hvis passordet kan lagres for fremtidig bruk, vises "
|
||||||
|
#~ "en avkryssingsboks med teksten «Husk passord». Denne nøkkelen bestemmer "
|
||||||
|
#~ "standardverdien for avkryssingsboksen."
|
||||||
|
|
||||||
|
#~ msgid "Show the week date in the calendar"
|
||||||
|
#~ msgstr "Vis ukedato/ukenummer i kalender"
|
||||||
|
|
||||||
|
#~ msgid "If true, display the ISO week date in the calendar."
|
||||||
|
#~ msgstr "Viser ISO-ukedato i kalenderen hvis «true»."
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to open the application menu"
|
||||||
|
#~ msgstr "Tastaturbinding som åpner programmenyen"
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to open the application menu."
|
||||||
|
#~ msgstr "Tastaturbinding som åpner programmenyen."
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to open the \"Show Applications\" view"
|
||||||
|
#~ msgstr "Tastaturbinding som åpner visningen «Vis programmer»"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Keybinding to open the \"Show Applications\" view of the Activities "
|
||||||
|
#~ "Overview."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Tastaturbinding som åpner visningen «Vis programmer» i "
|
||||||
|
#~ "aktivitetsoversikten."
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to open the overview"
|
||||||
|
#~ msgstr "Tastaturbinding som åpner oversikten"
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to open the Activities Overview."
|
||||||
|
#~ msgstr "Tastaturbinding som åpner aktivitetsoversikten."
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to toggle the visibility of the notification list"
|
||||||
|
#~ msgstr "Tastaturbinding som slår av/på visning av varslingsliste"
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to toggle the visibility of the notification list."
|
||||||
|
#~ msgstr "Tastaturbinding som slår av/på visning av varslingsliste."
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to focus the active notification"
|
||||||
|
#~ msgstr "Tastaturbinding som fokuserer aktiv varsling"
|
||||||
|
|
||||||
|
#~ msgid "Keybinding to focus the active notification."
|
||||||
|
#~ msgstr "Tastaturbinding som fokuserer aktiv varsling."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Keybinding that pauses and resumes all running tweens, for debugging "
|
||||||
|
#~ "purposes"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Hurtigtast som stanser og fortsetter pågående bevegelser til "
|
||||||
|
#~ "feilsøkingsformål"
|
||||||
|
|
||||||
|
#~ msgid "Which keyboard to use"
|
||||||
|
#~ msgstr "Tastatur som skal brukes"
|
||||||
|
|
||||||
|
#~ msgid "The type of keyboard to use."
|
||||||
|
#~ msgstr "Type tastatur som skal brukes."
|
||||||
|
|
||||||
|
#~ msgid "Limit switcher to current workspace."
|
||||||
|
#~ msgstr "Begrens programveksling til gjeldende arbeidsområde."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "If true, only applications that have windows on the current workspace are "
|
||||||
|
#~ "shown in the switcher. Otherwise, all applications are included."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Hvis verdien er sann («true»), er det bare programmer med vinduer på "
|
||||||
|
#~ "gjeldende arbeidsområder som vises i programveksleren. I motsatt fall kan "
|
||||||
|
#~ "du veksle mellom programmer på tvers av arbeidsområder."
|
||||||
|
|
||||||
|
#~ msgid "The application icon mode."
|
||||||
|
#~ msgstr "Ikonmodus for programmet."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Configures how the windows are shown in the switcher. Valid possibilities "
|
||||||
|
#~ "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||||
|
#~ "only' (shows only the application icon) or 'both'."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Bestemmer hvordan vinduene vises i programveksleren. Gyldige "
|
||||||
|
#~ "valgalternativer er «thumbnail-only» (viser miniatyrbilde av vinduet), "
|
||||||
|
#~ "«app-icon-only» (viser bare programikonet) og «both» (viser begge "
|
||||||
|
#~ "forannevnte)."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "If true, only windows from the current workspace are shown in the "
|
||||||
|
#~ "switcher. Otherwise, all windows are included."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Hvis verdien er sann («true»), er det bare vinduer på gjeldende "
|
||||||
|
#~ "arbeidsområder som vises i programveksleren. I motsatt fall vises vinduer "
|
||||||
|
#~ "fra alle arbeidsområder."
|
||||||
|
|
||||||
|
#~ msgid "Attach modal dialog to the parent window"
|
||||||
|
#~ msgstr "Fest modal dialog til opphavsvinduet"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Denne nøkkelen overstyrer nøkkelen i org.gnome.mutter når GNOME Shell "
|
||||||
|
#~ "kjøres."
|
||||||
|
|
||||||
|
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Del opp skjermkantene i fliser når brukeren drar og slipper vinduer på dem"
|
||||||
|
|
||||||
|
#~ msgid "Workspaces are managed dynamically"
|
||||||
|
#~ msgstr "Arbeidsområder håndteres dynamisk"
|
||||||
|
|
||||||
|
#~ msgid "Workspaces only on primary monitor"
|
||||||
|
#~ msgstr "Arbeidsområder vises kun på hovedskjerm"
|
||||||
|
|
||||||
|
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||||
|
#~ msgstr "Utsett fokusendringer i musmodus til peker slutter å bevege seg"
|
||||||
|
|
||||||
|
#~ msgid "Network Login"
|
||||||
|
#~ msgstr "Nettverkspålogging"
|
||||||
|
|
||||||
|
#~ msgid "Use as Internet connection"
|
||||||
|
#~ msgstr "Bruk som internettforbindelse"
|
||||||
|
|
||||||
|
#~ msgid "Evolution Calendar"
|
||||||
|
#~ msgstr "Evolution kalender"
|
||||||
|
817
po/pt_BR.po
817
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
810
po/sr@latin.po
810
po/sr@latin.po
File diff suppressed because it is too large
Load Diff
2
po/ug.po
2
po/ug.po
@ -15,7 +15,7 @@ msgstr ""
|
|||||||
"PO-Revision-Date: 2013-03-07 21:01+0900\n"
|
"PO-Revision-Date: 2013-03-07 21:01+0900\n"
|
||||||
"Last-Translator: Gheyret Kenji <gheyret@gmail.com>\n"
|
"Last-Translator: Gheyret Kenji <gheyret@gmail.com>\n"
|
||||||
"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
|
"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
|
||||||
"Language: \n"
|
"Language: ug\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
1981
po/uz@cyrillic.po
1981
po/uz@cyrillic.po
File diff suppressed because it is too large
Load Diff
824
po/zh_CN.po
824
po/zh_CN.po
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,7 @@ msgstr ""
|
|||||||
"PO-Revision-Date: 2014-08-19 19:17+0800\n"
|
"PO-Revision-Date: 2014-08-19 19:17+0800\n"
|
||||||
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
|
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
|
||||||
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
|
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
|
||||||
"Language: zh_TW\n"
|
"Language: zh_HK\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
800
po/zh_TW.po
800
po/zh_TW.po
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,9 @@ desktopdir=$(datadir)/applications
|
|||||||
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
|
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
|
||||||
desktop_in_files = calendar-server/evolution-calendar.desktop.in
|
desktop_in_files = calendar-server/evolution-calendar.desktop.in
|
||||||
|
|
||||||
@INTLTOOL_DESKTOP_RULE@
|
%.desktop:%.desktop.in
|
||||||
|
@$(MKDIR_P) $(builddir)/calendar-server
|
||||||
|
$(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
|
||||||
|
|
||||||
gnome_shell_calendar_server_CFLAGS = \
|
gnome_shell_calendar_server_CFLAGS = \
|
||||||
-I$(top_srcdir)/src \
|
-I$(top_srcdir)/src \
|
||||||
@ -30,6 +32,7 @@ gnome_shell_calendar_server_LDADD = \
|
|||||||
EXTRA_DIST += \
|
EXTRA_DIST += \
|
||||||
calendar-server/README \
|
calendar-server/README \
|
||||||
calendar-server/org.gnome.Shell.CalendarServer.service.in \
|
calendar-server/org.gnome.Shell.CalendarServer.service.in \
|
||||||
|
$(desktop_in_files) \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
CLEANFILES += \
|
CLEANFILES += \
|
||||||
|
8
src/calendar-server/evolution-calendar.desktop.in
Normal file
8
src/calendar-server/evolution-calendar.desktop.in
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=Evolution Calendar
|
||||||
|
Exec=evolution -c calendar
|
||||||
|
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
||||||
|
Icon=evolution
|
||||||
|
NoDisplay=true
|
||||||
|
Type=Application
|
||||||
|
StartupNotify=true
|
@ -1,7 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
_Name=Evolution Calendar
|
|
||||||
Exec=evolution -c calendar
|
|
||||||
Icon=evolution
|
|
||||||
NoDisplay=true
|
|
||||||
Type=Application
|
|
||||||
StartupNotify=true
|
|
@ -443,6 +443,8 @@ generate_instances_cb (ECalComponent *comp,
|
|||||||
occurrence->rid = e_cal_component_get_recurid_as_string (comp);
|
occurrence->rid = e_cal_component_get_recurid_as_string (comp);
|
||||||
|
|
||||||
appointment->occurrences = g_slist_append (appointment->occurrences, occurrence);
|
appointment->occurrences = g_slist_append (appointment->occurrences, occurrence);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -112,19 +112,40 @@ scan_startup_wm_class_to_id (ShellAppSystem *self)
|
|||||||
static gboolean
|
static gboolean
|
||||||
app_is_stale (ShellApp *app)
|
app_is_stale (ShellApp *app)
|
||||||
{
|
{
|
||||||
GDesktopAppInfo *info;
|
GDesktopAppInfo *info, *old;
|
||||||
gboolean is_stale;
|
GAppInfo *old_info, *new_info;
|
||||||
|
gboolean is_unchanged;
|
||||||
|
|
||||||
if (shell_app_is_window_backed (app))
|
if (shell_app_is_window_backed (app))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
info = g_desktop_app_info_new (shell_app_get_id (app));
|
info = g_desktop_app_info_new (shell_app_get_id (app));
|
||||||
is_stale = (info == NULL);
|
if (!info)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
old = shell_app_get_app_info (app);
|
||||||
|
old_info = G_APP_INFO (old);
|
||||||
|
new_info = G_APP_INFO (info);
|
||||||
|
|
||||||
|
is_unchanged =
|
||||||
|
g_app_info_should_show (old_info) == g_app_info_should_show (new_info) &&
|
||||||
|
strcmp (g_desktop_app_info_get_filename (old),
|
||||||
|
g_desktop_app_info_get_filename (info)) == 0 &&
|
||||||
|
g_strcmp0 (g_app_info_get_executable (old_info),
|
||||||
|
g_app_info_get_executable (new_info)) == 0 &&
|
||||||
|
g_strcmp0 (g_app_info_get_commandline (old_info),
|
||||||
|
g_app_info_get_commandline (new_info)) == 0 &&
|
||||||
|
strcmp (g_app_info_get_name (old_info),
|
||||||
|
g_app_info_get_name (new_info)) == 0 &&
|
||||||
|
g_strcmp0 (g_app_info_get_description (old_info),
|
||||||
|
g_app_info_get_description (new_info)) == 0 &&
|
||||||
|
strcmp (g_app_info_get_display_name (old_info),
|
||||||
|
g_app_info_get_display_name (new_info)) == 0 &&
|
||||||
|
g_icon_equal (g_app_info_get_icon (old_info),
|
||||||
|
g_app_info_get_icon (new_info));
|
||||||
|
|
||||||
if (info)
|
|
||||||
g_object_unref (info);
|
g_object_unref (info);
|
||||||
|
return !is_unchanged;
|
||||||
return is_stale;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
@ -277,6 +277,7 @@ shell_global_init (ShellGlobal *global)
|
|||||||
XDisplayName (NULL));
|
XDisplayName (NULL));
|
||||||
(void) g_mkdir_with_parents (path, 0700);
|
(void) g_mkdir_with_parents (path, 0700);
|
||||||
global->runtime_state_path = g_file_new_for_path (path);
|
global->runtime_state_path = g_file_new_for_path (path);
|
||||||
|
g_free (path);
|
||||||
|
|
||||||
global->settings = g_settings_new ("org.gnome.shell");
|
global->settings = g_settings_new ("org.gnome.shell");
|
||||||
|
|
||||||
@ -1583,7 +1584,7 @@ shell_global_get_current_time (ShellGlobal *global)
|
|||||||
*/
|
*/
|
||||||
GAppLaunchContext *
|
GAppLaunchContext *
|
||||||
shell_global_create_app_launch_context (ShellGlobal *global,
|
shell_global_create_app_launch_context (ShellGlobal *global,
|
||||||
int timestamp,
|
guint32 timestamp,
|
||||||
int workspace)
|
int workspace)
|
||||||
{
|
{
|
||||||
GdkAppLaunchContext *context;
|
GdkAppLaunchContext *context;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user