Merge ~3v1n0/ubuntu/+source/gnome-shell:ubuntu/master-xubuntu-cancel-search into ~ubuntu-desktop/ubuntu/+source/gnome-shell:ubuntu/master

Proposed by Marco Trevisan (Treviño)
Status: Superseded
Proposed branch: ~3v1n0/ubuntu/+source/gnome-shell:ubuntu/master-xubuntu-cancel-search
Merge into: ~ubuntu-desktop/ubuntu/+source/gnome-shell:ubuntu/master
Prerequisite: ~3v1n0/ubuntu/+source/gnome-shell:ubuntu/master-3.29.91
Diff against target: 9595 lines (+3202/-2523)
63 files modified
NEWS (+14/-0)
data/gnome-shell-osk-layouts.gresource.xml (+1/-0)
data/osk-layouts/in+mal.json (+559/-0)
debian/changelog (+37/-2)
debian/control (+15/-5)
debian/control.in (+15/-5)
debian/patches/js-main-Throw-error-if-no-valid-default-stylesheet-is-fou.patch (+1/-1)
debian/patches/search-Cancel-search-provider-operations-on-clear.patch (+29/-0)
debian/patches/search-Ignore-search-provider-results-metas-if-search-is-.patch (+30/-0)
debian/patches/series (+4/-1)
debian/patches/sessionMode-add-support-for-debugFlags-parameter.patch (+1/-1)
debian/patches/ubuntu/lightdm-user-switching.patch (+4/-4)
debian/patches/ubuntu/search-call-Cancel-method-on-providers-when-no-data-is-ne.patch (+161/-0)
debian/patches/viewSelector-Cancel-search-on-overview-hidden.patch (+36/-0)
dev/null (+0/-133)
js/extensionPrefs/main.js (+10/-9)
js/gdm/fingerprint.js (+8/-7)
js/gdm/oVirt.js (+7/-7)
js/gdm/realmd.js (+51/-48)
js/misc/gnomeSession.js (+47/-44)
js/misc/inputMethod.js (+21/-4)
js/misc/loginManager.js (+50/-47)
js/misc/modemManager.js (+53/-48)
js/misc/objectManager.js (+16/-15)
js/misc/permissionStore.js (+25/-24)
js/misc/smartcardManager.js (+9/-8)
js/misc/systemActions.js (+6/-5)
js/portalHelper/main.js (+20/-19)
js/ui/accessDialog.js (+23/-21)
js/ui/appDisplay.js (+6/-5)
js/ui/audioDeviceSelection.js (+13/-12)
js/ui/boxpointer.js (+1/-0)
js/ui/calendar.js (+13/-12)
js/ui/components/autorunManager.js (+9/-8)
js/ui/dash.js (+1/-0)
js/ui/dialog.js (+1/-0)
js/ui/endSessionDialog.js (+47/-43)
js/ui/magnifierDBus.js (+82/-80)
js/ui/mpris.js (+34/-31)
js/ui/notificationDaemon.js (+72/-68)
js/ui/padOsd.js (+9/-8)
js/ui/panel.js (+5/-1)
js/ui/remoteSearch.js (+49/-47)
js/ui/screencast.js (+24/-23)
js/ui/screenshot.js (+45/-44)
js/ui/scripting.js (+14/-13)
js/ui/shellDBus.js (+104/-101)
js/ui/shellMountOperation.js (+33/-32)
js/ui/status/bluetooth.js (+8/-7)
js/ui/status/brightness.js (+6/-5)
js/ui/status/location.js (+22/-20)
js/ui/status/network.js (+20/-19)
js/ui/status/nightLight.js (+7/-6)
js/ui/status/power.js (+12/-11)
js/ui/status/rfkill.js (+8/-7)
js/ui/status/thunderbolt.js (+36/-34)
js/ui/windowManager.js (+14/-13)
meson.build (+2/-2)
po/cs.po (+444/-554)
po/id.po (+84/-76)
po/it.po (+349/-385)
po/kk.po (+233/-225)
po/ko.po (+142/-173)
Reviewer Review Type Date Requested Status
Didier Roche-Tolomelli Needs Information
Review via email: mp+353825@code.launchpad.net

This proposal has been superseded by a proposal from 2018-08-30.

Description of the change

Added XUbuntuCancel method call for search providers

To post a comment you must log in.
6b51176... by Marek Cernocky <email address hidden>

Updated Czech translation

e207b45... by =?utf-8?q?Florian_M=C3=BCllner?= <email address hidden>

Bump version to 3.29.92

Update NEWS.

8717cfc... by Marco Trevisan (Treviño)

New upstream version 3.29.92

f9c4674... by Marco Trevisan (Treviño)

Update upstream source from tag 'upstream/3.29.92'

Update to upstream version '3.29.92'
with Debian dir ae24138d736b24d6ba797946d36fed41bc714d8f

1b5b8ae... by Marco Trevisan (Treviño)

debian/changelog: new upstream release

3562ac2... by Marco Trevisan (Treviño)

debian/control{,.in}: (build-)depend on mutter 3.29.92

6e775aa... by Simon McVittie

Standards-Version: 4.2.1 (no changes required)

a998d58... by Simon McVittie

Add Breaks for extensions that rely on the old global.screen API

See:
https://udd.debian.org/cgi-bin/bts-usertags.cgi?tag=shell-3.30&user=pkg-gnome-maintainers%40lists.alioth.debian.org

0f83487... by Simon McVittie

3.29.92-1

Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

Ok, this looks good to me, see some of my questions.

I saw that you made some changes on the MR after Florian's comment on your patches. Is there anything you can borrow and refresh here?

See as well my 2 questions/comments

review: Needs Information
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

> I saw that you made some changes on the MR after Florian's comment on your
> patches. Is there anything you can borrow and refresh here?

Yes, I wanted to refresh in case a review (like in this case) was coming in time, so nothing functional has been changed there, but I can refresh it on that.

As per the two questions, let me know if you want get rid of that variable or use a property bound to the cancellable instead.

Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

For the variable, it's really up to you and what is the most readable in your eyes. I just wanted to trigger that question so that you can think about it, but I have no strong opinion :)

056d56f... by Marco Trevisan (Treviño)

Merge with 'debian/3.29.92-1'

gnome-shell Debian release 3.29.92-1

4f6c773... by Marco Trevisan (Treviño)

debian/patches: refresh (removed applied one)

js-ui-Choose-some-actors-to-cache-on-the-GPU.patch

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) :

Unmerged commits

c09ef9a... by Marco Trevisan (Treviño)

debian/patches: add support fo XUbuntuCancel on remote search provider

Fixes LP: #1756826

4f6c773... by Marco Trevisan (Treviño)

debian/patches: refresh (removed applied one)

js-ui-Choose-some-actors-to-cache-on-the-GPU.patch

056d56f... by Marco Trevisan (Treviño)

Merge with 'debian/3.29.92-1'

gnome-shell Debian release 3.29.92-1

ec0c385... by Marco Trevisan (Treviño)

d/p/st-scroll-view-Handle-the-case-where-scrollbars-are-NULL.patch

Updated as per upstream review

e18d810... by Marco Trevisan (Treviño)

debian/changelog: list remaning changes on debian merge

2868dcf... by Marco Trevisan (Treviño)

debian/patches/series: reorder patches for easier merging

14c47c2... by Marco Trevisan (Treviño)

Merge 'debian/3.29.91-1' into ubuntu/master

gnome-shell Debian release 3.29.91-1

0f83487... by Simon McVittie

3.29.92-1

a998d58... by Simon McVittie

Add Breaks for extensions that rely on the old global.screen API

See:
https://udd.debian.org/cgi-bin/bts-usertags.cgi?tag=shell-3.30&user=pkg-gnome-maintainers%40lists.alioth.debian.org

6e775aa... by Simon McVittie

Standards-Version: 4.2.1 (no changes required)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/NEWS b/NEWS
2index 448f031..a279db2 100644
3--- a/NEWS
4+++ b/NEWS
5@@ -1,3 +1,17 @@
6+3.29.92
7+=======
8+* Choose some actors to cache on the GPU [Daniel; #792633]
9+* inputMethod: Hide preedit text if requested [Takao; #431]
10+* Fix forced fallback app-menus on wayland [Jonas; #276]
11+
12+Contributors:
13+ Jonas Ådahl, Takao Fujiwara, Mohammed Sadiq, Marco Trevisan (Treviño),
14+ Daniel van Vugt
15+
16+Translators:
17+ Baurzhan Muftakhidinov [kk], Kukuh Syafaat [id], Milo Casagrande [it],
18+ Changwoo Ryu [ko], Marek Cernocky [cs]
19+
20 3.29.91
21 =======
22 * Fix handling of 0/false options in ShowOSD D-Bus API [Florian; #791669]
23diff --git a/data/gnome-shell-osk-layouts.gresource.xml b/data/gnome-shell-osk-layouts.gresource.xml
24index 86d6cb9..b7969c7 100644
25--- a/data/gnome-shell-osk-layouts.gresource.xml
26+++ b/data/gnome-shell-osk-layouts.gresource.xml
27@@ -22,6 +22,7 @@
28 <file>id.json</file>
29 <file>il.json</file>
30 <file>in+bolnagri.json</file>
31+ <file>in+mal.json</file>
32 <file>ir.json</file>
33 <file>is.json</file>
34 <file>it.json</file>
35diff --git a/data/osk-layouts/in+mal.json b/data/osk-layouts/in+mal.json
36new file mode 100644
37index 0000000..bc153be
38--- /dev/null
39+++ b/data/osk-layouts/in+mal.json
40@@ -0,0 +1,559 @@
41+{
42+ "levels": [
43+ {
44+ "level": "",
45+ "mode": "default",
46+ "rows": [
47+ [
48+ [
49+ "െ"
50+ ],
51+ [
52+ "ൌ"
53+ ],
54+ [
55+ "ൈ"
56+ ],
57+ [
58+ "ാ"
59+ ],
60+ [
61+ "ീ"
62+ ],
63+ [
64+ "ൂ"
65+ ],
66+ [
67+ "ബ"
68+ ],
69+ [
70+ "ഹ"
71+ ],
72+ [
73+ "ഗ"
74+ ],
75+ [
76+ "ദ"
77+ ],
78+ [
79+ "ജ"
80+ ],
81+ [
82+ "ഡ"
83+ ],
84+ [
85+ "‍"
86+ ]
87+ ],
88+ [
89+ [
90+ "ോ"
91+ ],
92+ [
93+ "േ"
94+ ],
95+ [
96+ "്"
97+ ],
98+ [
99+ "ി"
100+ ],
101+ [
102+ "ു"
103+ ],
104+ [
105+ "പ"
106+ ],
107+ [
108+ "ര"
109+ ],
110+ [
111+ "ക"
112+ ],
113+ [
114+ "ത"
115+ ],
116+ [
117+ "ച"
118+ ],
119+ [
120+ "ട"
121+ ]
122+ ],
123+ [
124+ [
125+ "െ"
126+ ],
127+ [
128+ "ം"
129+ ],
130+ [
131+ "മ",
132+ "ç"
133+ ],
134+ [
135+ "ന"
136+ ],
137+ [
138+ "വ"
139+ ],
140+ [
141+ "ല",
142+ "ñ"
143+ ],
144+ [
145+ "സ"
146+ ],
147+ [
148+ "ഷ"
149+ ],
150+ [
151+ "യ"
152+ ]
153+ ],
154+ [
155+ [
156+ ","
157+ ],
158+ [
159+ " "
160+ ],
161+ [
162+ ".",
163+ "#",
164+ "!",
165+ ",",
166+ "?",
167+ "-",
168+ ":",
169+ "'",
170+ "@"
171+ ]
172+ ]
173+ ]
174+ },
175+ {
176+ "level": "shift",
177+ "mode": "latched",
178+ "rows": [
179+ [
180+ [
181+ "ഔ"
182+ ],
183+ [
184+ "ഐ"
185+ ],
186+ [
187+ "ആ"
188+ ],
189+ [
190+ "ഈ"
191+ ],
192+ [
193+ "ഊ"
194+ ],
195+ [
196+ "ഭ"
197+ ],
198+ [
199+ "ങ"
200+ ],
201+ [
202+ "ഘ"
203+ ],
204+ [
205+ "ധ"
206+ ],
207+ [
208+ "ഝ"
209+ ],
210+ [
211+ "ഢ"
212+ ],
213+ [
214+ "ഞ"
215+ ]
216+ ],
217+ [
218+ [
219+ "ഓ"
220+ ],
221+ [
222+ "ഏ"
223+ ],
224+ [
225+ "അ"
226+ ],
227+ [
228+ "ഇ"
229+ ],
230+ [
231+ "ഉ"
232+ ],
233+ [
234+ "ഫ"
235+ ],
236+ [
237+ "റ"
238+ ],
239+ [
240+ "ഖ"
241+ ],
242+ [
243+ "ഥ"
244+ ],
245+ [
246+ "ഛ"
247+ ],
248+ [
249+ "ഠ"
250+ ]
251+ ],
252+ [
253+ [
254+ "എ"
255+ ],
256+ [
257+ "​"
258+ ],
259+ [
260+ "ണ"
261+ ],
262+ [
263+ "ന"
264+ ],
265+ [
266+ "ഴ"
267+ ],
268+ [
269+ "ള"
270+ ],
271+ [
272+ "ശ"
273+ ],
274+ [
275+ "ഷ"
276+ ],
277+ [
278+ "യ"
279+ ]
280+ ],
281+ [
282+ [
283+ ","
284+ ],
285+ [
286+ " "
287+ ],
288+ [
289+ ".",
290+ "#",
291+ "!",
292+ ",",
293+ "?",
294+ "-",
295+ ":",
296+ "'",
297+ "@"
298+ ]
299+ ]
300+ ]
301+ },
302+ {
303+ "level": "opt",
304+ "mode": "locked",
305+ "rows": [
306+ [
307+ [
308+ "൧",
309+ "1",
310+ "¹",
311+ "½",
312+ "⅓",
313+ "¼",
314+ "⅛"
315+ ],
316+ [
317+ "൨",
318+ "2",
319+ "²",
320+ "⅔"
321+ ],
322+ [
323+ "൩",
324+ "3",
325+ "³",
326+ "¾",
327+ "⅜"
328+ ],
329+ [
330+ "൪",
331+ "4",
332+ "⁴"
333+ ],
334+ [
335+ "൫",
336+ "5",
337+ "⅝"
338+ ],
339+ [
340+ "൬",
341+ "6"
342+ ],
343+ [
344+ "൭",
345+ "7",
346+ "⅞"
347+ ],
348+ [
349+ "൮",
350+ "8"
351+ ],
352+ [
353+ "൯",
354+ "9"
355+ ],
356+ [
357+ "൦",
358+ "0",
359+ "ⁿ",
360+ "∅"
361+ ]
362+ ],
363+ [
364+ [
365+ "@"
366+ ],
367+ [
368+ "#"
369+ ],
370+ [
371+ "₹",
372+ "$",
373+ "¢",
374+ "£",
375+ "€",
376+ "¥",
377+ "₱"
378+ ],
379+ [
380+ "%",
381+ "‰"
382+ ],
383+ [
384+ "&"
385+ ],
386+ [
387+ "-",
388+ "_",
389+ "–",
390+ "—",
391+ "·"
392+ ],
393+ [
394+ "+",
395+ "±"
396+ ],
397+ [
398+ "(",
399+ "<",
400+ "{",
401+ "["
402+ ],
403+ [
404+ ")",
405+ ">",
406+ "}",
407+ "]"
408+ ]
409+ ],
410+ [
411+ [
412+ "*",
413+ "†",
414+ "‡",
415+ "★"
416+ ],
417+ [
418+ "\"",
419+ "“",
420+ "”",
421+ "«",
422+ "»"
423+ ],
424+ [
425+ "'",
426+ "‘",
427+ "’",
428+ "‹",
429+ "›"
430+ ],
431+ [
432+ ":"
433+ ],
434+ [
435+ ";"
436+ ],
437+ [
438+ "!",
439+ "¡"
440+ ],
441+ [
442+ "?",
443+ "¿"
444+ ]
445+ ],
446+ [
447+ [
448+ "_"
449+ ],
450+ [
451+ "/"
452+ ],
453+ [
454+ " "
455+ ],
456+ [
457+ ","
458+ ],
459+ [
460+ ".",
461+ "…"
462+ ]
463+ ]
464+ ]
465+ },
466+ {
467+ "level": "opt+shift",
468+ "mode": "locked",
469+ "rows": [
470+ [
471+ [
472+ "~"
473+ ],
474+ [
475+ "`"
476+ ],
477+ [
478+ "|"
479+ ],
480+ [
481+ "•",
482+ "♪",
483+ "♥",
484+ "♠",
485+ "♦",
486+ "♣"
487+ ],
488+ [
489+ "√"
490+ ],
491+ [
492+ "Π",
493+ "π"
494+ ],
495+ [
496+ "÷"
497+ ],
498+ [
499+ "×"
500+ ],
501+ [
502+ "¶",
503+ "§"
504+ ],
505+ [
506+ "∆"
507+ ]
508+ ],
509+ [
510+ [
511+ "£"
512+ ],
513+ [
514+ "¢"
515+ ],
516+ [
517+ "€"
518+ ],
519+ [
520+ "¥"
521+ ],
522+ [
523+ "^",
524+ "↑",
525+ "↓",
526+ "←",
527+ "→"
528+ ],
529+ [
530+ "°",
531+ "′",
532+ "″"
533+ ],
534+ [
535+ "=",
536+ "≠",
537+ "≈",
538+ "∞"
539+ ],
540+ [
541+ "{"
542+ ],
543+ [
544+ "}"
545+ ]
546+ ],
547+ [
548+ [
549+ "\\"
550+ ],
551+ [
552+ "©"
553+ ],
554+ [
555+ "®"
556+ ],
557+ [
558+ "™"
559+ ],
560+ [
561+ "℅"
562+ ],
563+ [
564+ "["
565+ ],
566+ [
567+ "]"
568+ ]
569+ ],
570+ [
571+ [
572+ "<",
573+ "‹",
574+ "≤",
575+ "«"
576+ ],
577+ [
578+ ">",
579+ "›",
580+ "≥",
581+ "»"
582+ ],
583+ [
584+ " "
585+ ],
586+ [
587+ ","
588+ ],
589+ [
590+ ".",
591+ "…"
592+ ]
593+ ]
594+ ]
595+ }
596+ ],
597+ "locale": "ml",
598+ "name": "Malayalam"
599+}
600diff --git a/debian/changelog b/debian/changelog
601index 3b2e50f..6e58525 100644
602--- a/debian/changelog
603+++ b/debian/changelog
604@@ -1,4 +1,4 @@
605-gnome-shell (3.29.91-1ubuntu1) UNRELEASED; urgency=medium
606+gnome-shell (3.29.92-1ubuntu1) UNRELEASED; urgency=medium
607
608 * Merge with debian, remaining changes:
609 + Replace gnome-backgrounds dep with ubuntu-wallpapers and Suggests
610@@ -58,10 +58,45 @@ gnome-shell (3.29.91-1ubuntu1) UNRELEASED; urgency=medium
611 - Run dh_translations and work around an issue with Rosetta and plural
612 translations
613 - Run dh_install with --fail-missing
614+ * Refresh patches
615 * d/p/st-scroll-view-Handle-the-case-where-scrollbars-are-NULL.patch:
616 - Updated as per upstream review
617+ * d/p/js-ui-Choose-some-actors-to-cache-on-the-GPU.patch:
618+ - Removed (applied upstream)
619+ * d/p/js-viewSelector-Cancel-search-on-overview-hiding.patch,
620+ d/p/search-Cancel-search-provider-operations-on-clear.patch,
621+ d/p/ubuntu/search-call-Cancel-method-on-providers-when-no-data-is-ne.patch:
622+ - Add support for cancelling remote search providers when the overlay
623+ is closed (and actually stop searches when requested from UI, LP: #1756826)
624+
625+ -- Marco Trevisan (Treviño) <marco@ubuntu.com> Thu, 30 Aug 2018 09:08:20 -0500
626+
627+gnome-shell (3.29.92-1) experimental; urgency=medium
628+
629+ * Team upload
630
631- -- Marco Trevisan (Treviño) <marco@ubuntu.com> Tue, 28 Aug 2018 00:35:19 +0200
632+ [ Marco Trevisan (Treviño) ]
633+ * New upstream development release
634+ * Build-depend on mutter 3.29.92
635+
636+ [ Simon McVittie ]
637+ * Standards-Version: 4.2.1 (no changes required)
638+ * Add Breaks on older versions of extensions that needed updates for
639+ this Shell version
640+ - gnome-shell-extension-autohidetopbar (#905111)
641+ - gnome-shell-extension-caffeine (#905108)
642+ - gnome-shell-extension-dashtodock (#905106)
643+ - gnome-shell-extension-top-icons-plus (#905115)
644+ * Add Breaks on extensions that still need updates for this version,
645+ using versions that assume they will be fixed in their next NMU or MU
646+ - gnome-shell-extension-dash-to-panel (#905110)
647+ - gnome-shell-extension-multi-monitors (#905114)
648+ - gnome-shell-extension-pixelsaver (#905109)
649+ - gnome-shell-extension-taskbar (#905113)
650+ - gnome-shell-extension-workspaces-to-dock (#905112)
651+ - gnome-shell-pomodoro (#905107)
652+
653+ -- Simon McVittie <smcv@debian.org> Thu, 30 Aug 2018 09:20:35 +0100
654
655 gnome-shell (3.29.91-1) experimental; urgency=medium
656
657diff --git a/debian/control b/debian/control
658index 62ffe3f..526848b 100644
659--- a/debian/control
660+++ b/debian/control
661@@ -37,7 +37,7 @@ Build-Depends: debhelper (>= 11.1.3),
662 libgstreamer1.0-dev (>= 0.11.92),
663 libgtk-3-dev (>= 3.21.6),
664 libibus-1.0-dev,
665- libmutter-3-dev (>= 3.29.91),
666+ libmutter-3-dev (>= 3.29.92),
667 libnm-dev (>= 1.10.4) [linux-any],
668 libpolkit-agent-1-dev (>= 0.100),
669 libpulse-dev (>= 2.0),
670@@ -54,7 +54,7 @@ Build-Depends: debhelper (>= 11.1.3),
671 xauth <!nocheck>,
672 xvfb <!nocheck>
673 Rules-Requires-Root: no
674-Standards-Version: 4.2.0
675+Standards-Version: 4.2.1
676 Homepage: https://wiki.gnome.org/Projects/GnomeShell
677 XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell
678 XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/gnome-shell.git -b debian/experimental
679@@ -77,7 +77,7 @@ Depends: evolution-data-server (>= 3.17.2),
680 gir1.2-gtk-3.0 (>= 3.16),
681 gir1.2-gweather-3.0 (>= 3.25.91),
682 gir1.2-ibus-1.0 (>= 1.5.2),
683- gir1.2-mutter-3 (>= 3.29.91),
684+ gir1.2-mutter-3 (>= 3.29.92),
685 gir1.2-nm-1.0 [linux-any],
686 gir1.2-nma-1.0 [linux-any],
687 gir1.2-pango-1.0,
688@@ -91,7 +91,7 @@ Depends: evolution-data-server (>= 3.17.2),
689 ubuntu-wallpapers,
690 gsettings-desktop-schemas (>= 3.27.90),
691 libglib2.0-bin (>= 2.53.0),
692- mutter (>= 3.29.91),
693+ mutter (>= 3.29.92),
694 python3,
695 ${gir:Depends},
696 ${misc:Depends},
697@@ -113,8 +113,18 @@ Suggests: chrome-gnome-shell,
698 gir1.2-telepathylogger-0.2 (>= 0.8.0)
699 Breaks: gdm3 (<< 3.19.92),
700 gnome-session (<< 3.19),
701+ gnome-shell-extension-autohidetopbar (<< 20180511-2~),
702+ gnome-shell-extension-caffeine (<< 0~git20171229-3~),
703+ gnome-shell-extension-dash-to-panel (<< 15-1.1~),
704+ gnome-shell-extension-dashtodock (<< 64),
705+ gnome-shell-extension-multi-monitors (<< 0.00~git20171014.1.df5d6e4-1.1~),
706+ gnome-shell-extension-pixelsaver (<< 1.10+git20161217-49f47bf-1.1~),
707+ gnome-shell-extension-taskbar (<< 57.0-2.1~),
708+ gnome-shell-extension-top-icons-plus (<< 21-4~),
709 gnome-shell-extension-ubuntu-dock (<< 63ubuntu1),
710- yaru-theme (<< 18.10.1)
711+ gnome-shell-extension-workspaces-to-dock (<< 45-1.1~),
712+ gnome-shell-pomodoro (<< 0.13.4-2.1~),
713+ yaru-theme (<< 18.10.1),
714 Conflicts: gnome-screensaver (<< 3.6)
715 Provides: notification-daemon,
716 polkit-1-auth-agent
717diff --git a/debian/control.in b/debian/control.in
718index 13b8aac..b8ed60e 100644
719--- a/debian/control.in
720+++ b/debian/control.in
721@@ -33,7 +33,7 @@ Build-Depends: debhelper (>= 11.1.3),
722 libgstreamer1.0-dev (>= 0.11.92),
723 libgtk-3-dev (>= 3.21.6),
724 libibus-1.0-dev,
725- libmutter-3-dev (>= 3.29.91),
726+ libmutter-3-dev (>= 3.29.92),
727 libnm-dev (>= 1.10.4) [linux-any],
728 libpolkit-agent-1-dev (>= 0.100),
729 libpulse-dev (>= 2.0),
730@@ -50,7 +50,7 @@ Build-Depends: debhelper (>= 11.1.3),
731 xauth <!nocheck>,
732 xvfb <!nocheck>
733 Rules-Requires-Root: no
734-Standards-Version: 4.2.0
735+Standards-Version: 4.2.1
736 Homepage: https://wiki.gnome.org/Projects/GnomeShell
737 XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell
738 XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/gnome-shell.git -b debian/experimental
739@@ -73,7 +73,7 @@ Depends: evolution-data-server (>= 3.17.2),
740 gir1.2-gtk-3.0 (>= 3.16),
741 gir1.2-gweather-3.0 (>= 3.25.91),
742 gir1.2-ibus-1.0 (>= 1.5.2),
743- gir1.2-mutter-3 (>= 3.29.91),
744+ gir1.2-mutter-3 (>= 3.29.92),
745 gir1.2-nm-1.0 [linux-any],
746 gir1.2-nma-1.0 [linux-any],
747 gir1.2-pango-1.0,
748@@ -87,7 +87,7 @@ Depends: evolution-data-server (>= 3.17.2),
749 ubuntu-wallpapers,
750 gsettings-desktop-schemas (>= 3.27.90),
751 libglib2.0-bin (>= 2.53.0),
752- mutter (>= 3.29.91),
753+ mutter (>= 3.29.92),
754 python3,
755 ${gir:Depends},
756 ${misc:Depends},
757@@ -109,8 +109,18 @@ Suggests: chrome-gnome-shell,
758 gir1.2-telepathylogger-0.2 (>= 0.8.0)
759 Breaks: gdm3 (<< 3.19.92),
760 gnome-session (<< 3.19),
761+ gnome-shell-extension-autohidetopbar (<< 20180511-2~),
762+ gnome-shell-extension-caffeine (<< 0~git20171229-3~),
763+ gnome-shell-extension-dash-to-panel (<< 15-1.1~),
764+ gnome-shell-extension-dashtodock (<< 64),
765+ gnome-shell-extension-multi-monitors (<< 0.00~git20171014.1.df5d6e4-1.1~),
766+ gnome-shell-extension-pixelsaver (<< 1.10+git20161217-49f47bf-1.1~),
767+ gnome-shell-extension-taskbar (<< 57.0-2.1~),
768+ gnome-shell-extension-top-icons-plus (<< 21-4~),
769 gnome-shell-extension-ubuntu-dock (<< 63ubuntu1),
770- yaru-theme (<< 18.10.1)
771+ gnome-shell-extension-workspaces-to-dock (<< 45-1.1~),
772+ gnome-shell-pomodoro (<< 0.13.4-2.1~),
773+ yaru-theme (<< 18.10.1),
774 Conflicts: gnome-screensaver (<< 3.6)
775 Provides: notification-daemon,
776 polkit-1-auth-agent
777diff --git a/debian/patches/js-main-Throw-error-if-no-valid-default-stylesheet-is-fou.patch b/debian/patches/js-main-Throw-error-if-no-valid-default-stylesheet-is-fou.patch
778index 98403a4..c246360 100644
779--- a/debian/patches/js-main-Throw-error-if-no-valid-default-stylesheet-is-fou.patch
780+++ b/debian/patches/js-main-Throw-error-if-no-valid-default-stylesheet-is-fou.patch
781@@ -11,7 +11,7 @@ Forwarded: not-needed, upstream does not support custom modes/themes officially.
782 1 file changed, 3 insertions(+)
783
784 diff --git a/js/ui/main.js b/js/ui/main.js
785-index aa1de83..92e61c8 100644
786+index 68c3a0c..ce57421 100644
787 --- a/js/ui/main.js
788 +++ b/js/ui/main.js
789 @@ -346,6 +346,9 @@ function loadTheme() {
790diff --git a/debian/patches/js-ui-Choose-some-actors-to-cache-on-the-GPU.patch b/debian/patches/js-ui-Choose-some-actors-to-cache-on-the-GPU.patch
791deleted file mode 100644
792index f9971bf..0000000
793--- a/debian/patches/js-ui-Choose-some-actors-to-cache-on-the-GPU.patch
794+++ /dev/null
795@@ -1,133 +0,0 @@
796-From: Daniel van Vugt <daniel.van.vugt@canonical.com>
797-Date: Fri, 6 Apr 2018 12:26:58 +0200
798-Subject: js/ui: Choose some actors to cache on the GPU
799-
800-Adds a wrapper function to flag actors that are good candidates for
801-caching in texture memory (what Clutter calls "offscreen redirect"),
802-thereby mostly eliminating their repaint overhead.
803-
804-This isn't exactly groundbreaking, it's how you're meant to use
805-OpenGL in the first place. But the difficulty is in the design of
806-Clutter which has some peculiarities making universal caching
807-inefficient at the moment:
808-
809- * Repainting an offscreen actor is measurably slower than repainting
810- the same actor if it was uncached. But only by less than 100%,
811- so if an actor can avoid changing every frame then caching is usually
812- more efficient over that timeframe.
813-
814- * The cached painting from a container typically includes its children,
815- so you can't cache containers whose children are usually animating at
816- full frame rate. That results in a performance loss.
817- This could be remedied in future by Clutter explicitly separating a
818- container's background painting from its child painting and always
819- caching the background (as StWidget tries to in some cases already).
820-
821-So this commit selects just a few areas where caching has been verified
822-to be beneficial, and many use cases now see their CPU usage halved:
823-
824-One small window active...... 10% -> 7% (-30%)
825-...under a panel menu........ 23% -> 9% (-61%)
826-One maximized window active.. 12% -> 9% (-25%)
827-...under a panel menu........ 23% -> 11% (-52%)
828-...under a shell dialog...... 22% -> 12% (-45%)
829-...in activities overview.... 32% -> 17% (-47%)
830-(on an i7-7700)
831-
832-Also a couple of bugs are fixed by this:
833-
834-https://bugzilla.gnome.org/show_bug.cgi?id=792634
835-https://bugzilla.gnome.org/show_bug.cgi?id=792633
836-
837-Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=792634
838-Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=792633
839-Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1744001
840-Forwarded: yes, https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/73
841----
842- js/ui/boxpointer.js | 1 +
843- js/ui/dash.js | 1 +
844- js/ui/dialog.js | 2 ++
845- js/ui/main.js | 16 ++++++++++++++++
846- js/ui/panel.js | 1 +
847- 5 files changed, 21 insertions(+)
848-
849-diff --git a/js/ui/boxpointer.js b/js/ui/boxpointer.js
850-index 47f718a..602646a 100644
851---- a/js/ui/boxpointer.js
852-+++ b/js/ui/boxpointer.js
853-@@ -44,6 +44,7 @@ var BoxPointer = new Lang.Class({
854- y_fill: true });
855- this._container = new Shell.GenericContainer();
856- this.actor.set_child(this._container);
857-+ Main.hintActorSeldomChanges(this.actor);
858- this._container.connect('get-preferred-width', this._getPreferredWidth.bind(this));
859- this._container.connect('get-preferred-height', this._getPreferredHeight.bind(this));
860- this._container.connect('allocate', this._allocate.bind(this));
861-diff --git a/js/ui/dash.js b/js/ui/dash.js
862-index 5ee2476..14864f1 100644
863---- a/js/ui/dash.js
864-+++ b/js/ui/dash.js
865-@@ -402,6 +402,7 @@ var Dash = new Lang.Class({
866- clip_to_allocation: true });
867- this._box._delegate = this;
868- this._container.add_actor(this._box);
869-+ Main.hintActorSeldomChanges(this._container);
870-
871- this._showAppsIcon = new ShowAppsIcon();
872- this._showAppsIcon.childScale = 1;
873-diff --git a/js/ui/dialog.js b/js/ui/dialog.js
874-index cfa192d..89db963 100644
875---- a/js/ui/dialog.js
876-+++ b/js/ui/dialog.js
877-@@ -6,6 +6,7 @@ const GObject = imports.gi.GObject;
878- const Pango = imports.gi.Pango;
879- const St = imports.gi.St;
880- const Lang = imports.lang;
881-+const Main = imports.ui.main;
882-
883- var Dialog = new Lang.Class({
884- Name: 'Dialog',
885-@@ -40,6 +41,7 @@ var Dialog = new Lang.Class({
886- // mode accordingly so wrapped labels are handled correctly during
887- // size requests.
888- this._dialog.request_mode = Clutter.RequestMode.HEIGHT_FOR_WIDTH;
889-+ Main.hintActorSeldomChanges(this._dialog);
890-
891- this.contentLayout = new St.BoxLayout({ vertical: true,
892- style_class: "modal-dialog-content-box" });
893-diff --git a/js/ui/main.js b/js/ui/main.js
894-index e107de7..6e3c971 100644
895---- a/js/ui/main.js
896-+++ b/js/ui/main.js
897-@@ -717,3 +717,19 @@ function showRestartMessage(message) {
898- let restartMessage = new RestartMessage(message);
899- restartMessage.open();
900- }
901-+
902-+/**
903-+ * hintActorSeldomChanges:
904-+ * @actor: A clutter actor
905-+ *
906-+ * Flag an actor as known to not need repainting very often. Such actors can
907-+ * have their painting cached in GPU memory so that future repaints triggered
908-+ * by other actors don't incur a repaint of @actor. This can provide dramatic
909-+ * performance benefits if used wisely.
910-+ *
911-+ * This hint needs to be provided manually because clutter presently lacks
912-+ * a good enough heuristic to toggle the optimization automatically.
913-+ */
914-+function hintActorSeldomChanges(actor) {
915-+ actor.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
916-+}
917-diff --git a/js/ui/panel.js b/js/ui/panel.js
918-index 05241ab..513ad3e 100644
919---- a/js/ui/panel.js
920-+++ b/js/ui/panel.js
921-@@ -776,6 +776,7 @@ var Panel = new Lang.Class({
922- this.actor = new Shell.GenericContainer({ name: 'panel',
923- reactive: true });
924- this.actor._delegate = this;
925-+ Main.hintActorSeldomChanges(this.actor);
926-
927- this._sessionStyle = null;
928-
929diff --git a/debian/patches/search-Cancel-search-provider-operations-on-clear.patch b/debian/patches/search-Cancel-search-provider-operations-on-clear.patch
930new file mode 100644
931index 0000000..052ee8a
932--- /dev/null
933+++ b/debian/patches/search-Cancel-search-provider-operations-on-clear.patch
934@@ -0,0 +1,29 @@
935+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
936+Date: Thu, 23 Aug 2018 18:14:38 +0200
937+Subject: search: Cancel search provider operations on clear
938+
939+Ensure that the search provider operations (just getResultMetas requests in the
940+current implementation) in progress are properly cancelled when we clear the UI,
941+otherwise returned results might still be added when not needed.
942+
943+This is triggered for each provider by the SearchResults reset.
944+
945+Bug-GNOME: https://gitlab.gnome.org/GNOME/gnome-shell/issues/183
946+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/bionic/+source/gnome-shell/+bug/1756826
947+Forwarded: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/205
948+---
949+ js/ui/search.js | 1 +
950+ 1 file changed, 1 insertion(+)
951+
952+diff --git a/js/ui/search.js b/js/ui/search.js
953+index 1fb54b4..804be95 100644
954+--- a/js/ui/search.js
955++++ b/js/ui/search.js
956+@@ -192,6 +192,7 @@ var SearchResultsBase = new Lang.Class({
957+ },
958+
959+ clear() {
960++ this._cancellable.cancel();
961+ for (let resultId in this._resultDisplays)
962+ this._resultDisplays[resultId].actor.destroy();
963+ this._resultDisplays = {};
964diff --git a/debian/patches/search-Ignore-search-provider-results-metas-if-search-is-.patch b/debian/patches/search-Ignore-search-provider-results-metas-if-search-is-.patch
965new file mode 100644
966index 0000000..27645a5
967--- /dev/null
968+++ b/debian/patches/search-Ignore-search-provider-results-metas-if-search-is-.patch
969@@ -0,0 +1,30 @@
970+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
971+Date: Thu, 30 Aug 2018 07:11:24 +0200
972+Subject: search: Ignore search provider results metas if search is cancelled
973+
974+Call updateSearch callback with no results when the search provider has been
975+cancelled, without doing any logging.
976+
977+Bug-GNOME: https://gitlab.gnome.org/GNOME/gnome-shell/issues/183
978+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/bionic/+source/gnome-shell/+bug/1756826
979+Forwarded: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/205
980+---
981+ js/ui/search.js | 5 +++--
982+ 1 file changed, 3 insertions(+), 2 deletions(-)
983+
984+diff --git a/js/ui/search.js b/js/ui/search.js
985+index 804be95..dd4bfad 100644
986+--- a/js/ui/search.js
987++++ b/js/ui/search.js
988+@@ -227,8 +227,9 @@ var SearchResultsBase = new Lang.Class({
989+
990+ this.provider.getResultMetas(metasNeeded, metas => {
991+ if (metas.length != metasNeeded.length) {
992+- log('Wrong number of result metas returned by search provider ' + this.provider.id +
993+- ': expected ' + metasNeeded.length + ' but got ' + metas.length);
994++ if (!this._cancellable.is_cancelled())
995++ log(`Wrong number of result metas returned by search provider ${this.provider.id}` +
996++ `: expected ${metasNeeded.length} but got ${metas.length}`);
997+ callback(false);
998+ return;
999+ }
1000diff --git a/debian/patches/series b/debian/patches/series
1001index d38aac0..cbca12c 100644
1002--- a/debian/patches/series
1003+++ b/debian/patches/series
1004@@ -9,7 +9,6 @@ ubuntu/block_mode_extension_update.patch
1005 optional-hot-corner.patch
1006 volume-Add-back-sound-feedback-on-scroll.patch
1007 st-texture-cache-Cancel-sliced-image-loading-on-target-ac.patch
1008-js-ui-Choose-some-actors-to-cache-on-the-GPU.patch
1009 main-show-an-error-message-on-gnome-shell-crash.patch
1010 global-make-possible-to-set-debug-flags-dynamically.patch
1011 main-increase-the-granularity-of-backtraces-in-SHELL_DEBU.patch
1012@@ -23,3 +22,7 @@ dnd-Nullify-_dragActor-after-we-ve-destroyed-it-and-avoid.patch
1013 messageList-stop-syncing-if-closeButton-has-been-destroye.patch
1014 automountManager-remove-allowAutorun-expire-timeout-on-vo.patch
1015 workaround_crasher_fractional_scaling.patch
1016+viewSelector-Cancel-search-on-overview-hidden.patch
1017+search-Cancel-search-provider-operations-on-clear.patch
1018+search-Ignore-search-provider-results-metas-if-search-is-.patch
1019+ubuntu/search-call-Cancel-method-on-providers-when-no-data-is-ne.patch
1020diff --git a/debian/patches/sessionMode-add-support-for-debugFlags-parameter.patch b/debian/patches/sessionMode-add-support-for-debugFlags-parameter.patch
1021index fec593e..afa4447 100644
1022--- a/debian/patches/sessionMode-add-support-for-debugFlags-parameter.patch
1023+++ b/debian/patches/sessionMode-add-support-for-debugFlags-parameter.patch
1024@@ -15,7 +15,7 @@ Forwarded: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/6
1025 2 files changed, 4 insertions(+)
1026
1027 diff --git a/js/ui/main.js b/js/ui/main.js
1028-index 6e3c971..aa1de83 100644
1029+index e107de7..68c3a0c 100644
1030 --- a/js/ui/main.js
1031 +++ b/js/ui/main.js
1032 @@ -111,6 +111,9 @@ function _sessionUpdated() {
1033diff --git a/debian/patches/ubuntu/lightdm-user-switching.patch b/debian/patches/ubuntu/lightdm-user-switching.patch
1034index 0ef5155..628934d 100644
1035--- a/debian/patches/ubuntu/lightdm-user-switching.patch
1036+++ b/debian/patches/ubuntu/lightdm-user-switching.patch
1037@@ -12,10 +12,10 @@ https://bugzilla.gnome.org/show_bug.cgi?id=685794
1038 1 file changed, 27 insertions(+), 7 deletions(-)
1039
1040 diff --git a/js/misc/systemActions.js b/js/misc/systemActions.js
1041-index bf8b460..fffa567 100644
1042+index 434dd95..2be7c0e 100644
1043 --- a/js/misc/systemActions.js
1044 +++ b/js/misc/systemActions.js
1045-@@ -218,6 +218,21 @@ const SystemActions = new Lang.Class({
1046+@@ -219,6 +219,21 @@ const SystemActions = new Lang.Class({
1047 return this._actions.get(LOCK_ORIENTATION_ACTION_ID).iconName;
1048 },
1049
1050@@ -37,7 +37,7 @@ index bf8b460..fffa567 100644
1051 _sensorProxyAppeared() {
1052 this._sensorProxy = new SensorProxy(Gio.DBus.system, SENSOR_BUS_NAME, SENSOR_OBJECT_PATH,
1053 (proxy, error) => {
1054-@@ -313,7 +328,7 @@ const SystemActions = new Lang.Class({
1055+@@ -314,7 +329,7 @@ const SystemActions = new Lang.Class({
1056 _updateLockScreen() {
1057 let showLock = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
1058 let allowLockScreen = !this._lockdownSettings.get_boolean(DISABLE_LOCK_SCREEN_KEY);
1059@@ -46,7 +46,7 @@ index bf8b460..fffa567 100644
1060 this.notify('can-lock-screen');
1061 },
1062
1063-@@ -400,20 +415,25 @@ const SystemActions = new Lang.Class({
1064+@@ -401,20 +416,25 @@ const SystemActions = new Lang.Class({
1065 if (!this._actions.get(LOCK_SCREEN_ACTION_ID).available)
1066 throw new Error('The lock-screen action is not available!');
1067
1068diff --git a/debian/patches/ubuntu/search-call-Cancel-method-on-providers-when-no-data-is-ne.patch b/debian/patches/ubuntu/search-call-Cancel-method-on-providers-when-no-data-is-ne.patch
1069new file mode 100644
1070index 0000000..00ff422
1071--- /dev/null
1072+++ b/debian/patches/ubuntu/search-call-Cancel-method-on-providers-when-no-data-is-ne.patch
1073@@ -0,0 +1,161 @@
1074+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
1075+Date: Thu, 23 Aug 2018 20:00:57 +0200
1076+Subject: search: call XUbuntuCancel method on providers when no data is
1077+ needed
1078+
1079+Add XUbuntuCancel method to search providers and call it when a search provider
1080+is still doing operations.
1081+
1082+This will allow to stop operations on providers.
1083+
1084+Fixes LP: #1756826
1085+
1086+Bug-GNOME: https://gitlab.gnome.org/GNOME/gnome-shell/issues/183
1087+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/bionic/+source/gnome-shell/+bug/1756826
1088+Forwarded: not-needed
1089+---
1090+ data/org.gnome.ShellSearchProvider.xml | 6 ++++++
1091+ data/org.gnome.ShellSearchProvider2.xml | 6 ++++++
1092+ js/ui/remoteSearch.js | 13 +++++++++++++
1093+ js/ui/search.js | 31 +++++++++++++++++++++++++++++++
1094+ 4 files changed, 56 insertions(+)
1095+
1096+diff --git a/data/org.gnome.ShellSearchProvider.xml b/data/org.gnome.ShellSearchProvider.xml
1097+index 78ad305..393cb01 100644
1098+--- a/data/org.gnome.ShellSearchProvider.xml
1099++++ b/data/org.gnome.ShellSearchProvider.xml
1100+@@ -69,5 +69,11 @@
1101+ <method name="ActivateResult">
1102+ <arg type="s" name="identifier" direction="in" />
1103+ </method>
1104++
1105++ <!--
1106++ XUbuntuCancel:
1107++ Cancel the current search operation
1108++ -->
1109++ <method name="XUbuntuCancel" />
1110+ </interface>
1111+ </node>
1112+diff --git a/data/org.gnome.ShellSearchProvider2.xml b/data/org.gnome.ShellSearchProvider2.xml
1113+index 9502340..8141bc0 100644
1114+--- a/data/org.gnome.ShellSearchProvider2.xml
1115++++ b/data/org.gnome.ShellSearchProvider2.xml
1116+@@ -83,5 +83,11 @@
1117+ <arg type="as" name="terms" direction="in" />
1118+ <arg type="u" name="timestamp" direction="in" />
1119+ </method>
1120++
1121++ <!--
1122++ XUbuntuCancel:
1123++ Cancel the current search operation
1124++ -->
1125++ <method name="XUbuntuCancel" />
1126+ </interface>
1127+ </node>
1128+diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js
1129+index 3b847af..7eaeb7b 100644
1130+--- a/js/ui/remoteSearch.js
1131++++ b/js/ui/remoteSearch.js
1132+@@ -31,6 +31,7 @@ const SearchProviderIface = `
1133+ <method name="ActivateResult">
1134+ <arg type="s" direction="in" />
1135+ </method>
1136++<method name="XUbuntuCancel" />
1137+ </interface>
1138+ </node>`;
1139+
1140+@@ -59,6 +60,7 @@ const SearchProvider2Iface = `
1141+ <arg type="as" direction="in" />
1142+ <arg type="u" direction="in" />
1143+ </method>
1144++<method name="XUbuntuCancel" />
1145+ </interface>
1146+ </node>`;
1147+
1148+@@ -312,6 +314,17 @@ var RemoteSearchProvider = new Lang.Class({
1149+ cancellable);
1150+ },
1151+
1152++ XUbuntuCancel(cancellable) {
1153++ this.proxy.XUbuntuCancelRemote((results, error) => {
1154++ if (error &&
1155++ !error.matches(Gio.DBusError, Gio.DBusError.UNKNOWN_METHOD) &&
1156++ !error.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) {
1157++ log('Received error from DBus search provider %s during XUbuntuCancel: %s'.format(this.id, String(error)));
1158++ }
1159++ },
1160++ cancellable);
1161++ },
1162++
1163+ activateResult(id) {
1164+ this.proxy.ActivateResultRemote(id);
1165+ },
1166+diff --git a/js/ui/search.js b/js/ui/search.js
1167+index dd4bfad..13d733b 100644
1168+--- a/js/ui/search.js
1169++++ b/js/ui/search.js
1170+@@ -225,7 +225,9 @@ var SearchResultsBase = new Lang.Class({
1171+ this._cancellable.cancel();
1172+ this._cancellable.reset();
1173+
1174++ this.provider.resultsMetasInProgress = true;
1175+ this.provider.getResultMetas(metasNeeded, metas => {
1176++ this.provider.resultsMetasInProgress = false;
1177+ if (metas.length != metasNeeded.length) {
1178+ if (!this._cancellable.is_cancelled())
1179+ log(`Wrong number of result metas returned by search provider ${this.provider.id}` +
1180+@@ -450,6 +452,10 @@ var SearchResults = new Lang.Class({
1181+
1182+ this._searchTimeoutId = 0;
1183+ this._cancellable = new Gio.Cancellable();
1184++ this._searchCancelCancellable = new Gio.Cancellable();
1185++ this._cancellable.connect(() => {
1186++ this._cancelSearchProviderRequest();
1187++ });
1188+
1189+ this._registerProvider(new AppDisplay.AppSearchProvider());
1190+ this._reloadRemoteProviders();
1191+@@ -491,11 +497,29 @@ var SearchResults = new Lang.Class({
1192+ }
1193+ },
1194+
1195++ _cancelSearchProviderRequest() {
1196++ if (this._terms.length != 0 || this._searchCancelTimeoutId > 0)
1197++ return;
1198++
1199++ this._searchCancelTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 100, () => {
1200++ this._providers.forEach(provider => {
1201++ if (provider.isRemoteProvider &&
1202++ (provider.searchInProgress || provider.resultsMetasInProgress)) {
1203++ provider.XUbuntuCancel(this._searchCancelCancellable);
1204++ }
1205++ });
1206++
1207++ delete this._searchCancelTimeoutId;
1208++ return GLib.SOURCE_REMOVE;
1209++ });
1210++ },
1211++
1212+ _reset() {
1213+ this._terms = [];
1214+ this._results = {};
1215+ this._clearDisplay();
1216+ this._clearSearchTimeout();
1217++ this._cancelSearchProviderRequest();
1218+ this._defaultResult = null;
1219+ this._startingSearch = false;
1220+
1221+@@ -562,6 +586,13 @@ var SearchResults = new Lang.Class({
1222+ if (this._terms.length > 0)
1223+ isSubSearch = searchString.indexOf(previousSearchString) == 0;
1224+
1225++ this._searchCancelCancellable.cancel();
1226++ this._searchCancelCancellable.reset();
1227++ if (this._searchCancelTimeoutId > 0) {
1228++ GLib.source_remove(this._searchCancelTimeoutId);
1229++ delete this._searchCancelTimeoutId;
1230++ }
1231++
1232+ this._terms = terms;
1233+ this._isSubSearch = isSubSearch;
1234+ this._updateSearchProgress();
1235diff --git a/debian/patches/viewSelector-Cancel-search-on-overview-hidden.patch b/debian/patches/viewSelector-Cancel-search-on-overview-hidden.patch
1236new file mode 100644
1237index 0000000..e69ae1e
1238--- /dev/null
1239+++ b/debian/patches/viewSelector-Cancel-search-on-overview-hidden.patch
1240@@ -0,0 +1,36 @@
1241+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
1242+Date: Thu, 23 Aug 2018 16:11:10 +0200
1243+Subject: viewSelector: Cancel search on overview hidden
1244+
1245+Currently when the overview is hidden, any pending search is kept alive, not only
1246+at remote search provider level (as per issue #183), but even the shell providers
1247+proxies continue to get and process data. This happens even if this is not needed
1248+anymore, while the UI reset is performed only next time that the overview is
1249+shown (causing some more computation presentation time).
1250+
1251+In order to stop this to happen, when the overview is hidden, we have to unset
1252+the search entry to an empty value as this would make SearchResults to have empty
1253+terms list and that would make the proxies cancellable to be triggered (without
1254+causing any further search to start).
1255+
1256+https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/205
1257+
1258+Bug-GNOME: https://gitlab.gnome.org/GNOME/gnome-shell/issues/183
1259+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/bionic/+source/gnome-shell/+bug/1756826
1260+Forwarded: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/205
1261+---
1262+ js/ui/viewSelector.js | 1 +
1263+ 1 file changed, 1 insertion(+)
1264+
1265+diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js
1266+index 2d5c33f..c650886 100644
1267+--- a/js/ui/viewSelector.js
1268++++ b/js/ui/viewSelector.js
1269+@@ -311,6 +311,7 @@ var ViewSelector = new Lang.Class({
1270+ },
1271+
1272+ hide() {
1273++ this.reset();
1274+ this._workspacesDisplay.hide();
1275+ },
1276+
1277diff --git a/js/extensionPrefs/main.js b/js/extensionPrefs/main.js
1278index a30b46b..80b8d5c 100644
1279--- a/js/extensionPrefs/main.js
1280+++ b/js/extensionPrefs/main.js
1281@@ -14,15 +14,16 @@ const _ = Gettext.gettext;
1282 const Config = imports.misc.config;
1283 const ExtensionUtils = imports.misc.extensionUtils;
1284
1285-const GnomeShellIface = '<node> \
1286-<interface name="org.gnome.Shell.Extensions"> \
1287-<signal name="ExtensionStatusChanged"> \
1288- <arg type="s" name="uuid"/> \
1289- <arg type="i" name="state"/> \
1290- <arg type="s" name="error"/> \
1291-</signal> \
1292-</interface> \
1293-</node>';
1294+const GnomeShellIface = `
1295+<node>
1296+<interface name="org.gnome.Shell.Extensions">
1297+<signal name="ExtensionStatusChanged">
1298+ <arg type="s" name="uuid"/>
1299+ <arg type="i" name="state"/>
1300+ <arg type="s" name="error"/>
1301+</signal>
1302+</interface>
1303+</node>`;
1304
1305 const GnomeShellProxy = Gio.DBusProxy.makeProxyWrapper(GnomeShellIface);
1306
1307diff --git a/js/gdm/fingerprint.js b/js/gdm/fingerprint.js
1308index 2aeb377..91025b9 100644
1309--- a/js/gdm/fingerprint.js
1310+++ b/js/gdm/fingerprint.js
1311@@ -5,13 +5,14 @@ const Lang = imports.lang;
1312 const Shell = imports.gi.Shell;
1313 const Signals = imports.signals;
1314
1315-const FprintManagerIface = '<node> \
1316-<interface name="net.reactivated.Fprint.Manager"> \
1317-<method name="GetDefaultDevice"> \
1318- <arg type="o" direction="out" /> \
1319-</method> \
1320-</interface> \
1321-</node>';
1322+const FprintManagerIface = `
1323+<node>
1324+<interface name="net.reactivated.Fprint.Manager">
1325+<method name="GetDefaultDevice">
1326+ <arg type="o" direction="out" />
1327+</method>
1328+</interface>
1329+</node>`;
1330
1331 const FprintManagerInfo = Gio.DBusInterfaceInfo.new_for_xml(FprintManagerIface);
1332
1333diff --git a/js/gdm/oVirt.js b/js/gdm/oVirt.js
1334index 8a6a545..8194c20 100644
1335--- a/js/gdm/oVirt.js
1336+++ b/js/gdm/oVirt.js
1337@@ -4,13 +4,13 @@ const Gio = imports.gi.Gio;
1338 const Lang = imports.lang;
1339 const Signals = imports.signals;
1340
1341-const OVirtCredentialsIface = '<node> \
1342-<interface name="org.ovirt.vdsm.Credentials"> \
1343-<signal name="UserAuthenticated"> \
1344- <arg type="s" name="token"/> \
1345-</signal> \
1346-</interface> \
1347-</node>';
1348+const OVirtCredentialsIface =`<node>
1349+<interface name="org.ovirt.vdsm.Credentials">
1350+<signal name="UserAuthenticated">
1351+ <arg type="s" name="token"/>
1352+</signal>
1353+</interface>
1354+</node>`;
1355
1356 const OVirtCredentialsInfo = Gio.DBusInterfaceInfo.new_for_xml(OVirtCredentialsIface);
1357
1358diff --git a/js/gdm/realmd.js b/js/gdm/realmd.js
1359index 9aa27d9..ae87aa1 100644
1360--- a/js/gdm/realmd.js
1361+++ b/js/gdm/realmd.js
1362@@ -5,58 +5,61 @@ const Lang = imports.lang;
1363 const Shell = imports.gi.Shell;
1364 const Signals = imports.signals;
1365
1366-const ProviderIface = '<node> \
1367-<interface name="org.freedesktop.realmd.Provider"> \
1368- <property name="Name" type="s" access="read"/> \
1369- <property name="Version" type="s" access="read"/> \
1370- <property name="Realms" type="ao" access="read"/> \
1371- <method name="Discover"> \
1372- <arg name="string" type="s" direction="in"/> \
1373- <arg name="options" type="a{sv}" direction="in"/> \
1374- <arg name="relevance" type="i" direction="out"/> \
1375- <arg name="realm" type="ao" direction="out"/> \
1376- </method> \
1377-</interface> \
1378-</node>';
1379+const ProviderIface = `
1380+<node>
1381+<interface name="org.freedesktop.realmd.Provider">
1382+ <property name="Name" type="s" access="read"/>
1383+ <property name="Version" type="s" access="read"/>
1384+ <property name="Realms" type="ao" access="read"/>
1385+ <method name="Discover">
1386+ <arg name="string" type="s" direction="in"/>
1387+ <arg name="options" type="a{sv}" direction="in"/>
1388+ <arg name="relevance" type="i" direction="out"/>
1389+ <arg name="realm" type="ao" direction="out"/>
1390+ </method>
1391+</interface>
1392+</node>`;
1393 const Provider = Gio.DBusProxy.makeProxyWrapper(ProviderIface);
1394
1395-const ServiceIface = '<node> \
1396-<interface name="org.freedesktop.realmd.Service"> \
1397- <method name="Cancel"> \
1398- <arg name="operation" type="s" direction="in"/> \
1399- </method> \
1400- <method name="Release" /> \
1401- <method name="SetLocale"> \
1402- <arg name="locale" type="s" direction="in"/> \
1403- </method> \
1404- <signal name="Diagnostics"> \
1405- <arg name="data" type="s"/> \
1406- <arg name="operation" type="s"/> \
1407- </signal> \
1408-</interface> \
1409-</node>';
1410+const ServiceIface = `
1411+<node>
1412+<interface name="org.freedesktop.realmd.Service">
1413+ <method name="Cancel">
1414+ <arg name="operation" type="s" direction="in"/>
1415+ </method>
1416+ <method name="Release" />
1417+ <method name="SetLocale">
1418+ <arg name="locale" type="s" direction="in"/>
1419+ </method>
1420+ <signal name="Diagnostics">
1421+ <arg name="data" type="s"/>
1422+ <arg name="operation" type="s"/>
1423+ </signal>
1424+</interface>
1425+</node>`;
1426 const Service = Gio.DBusProxy.makeProxyWrapper(ServiceIface);
1427
1428-const RealmIface = '<node> \
1429-<interface name="org.freedesktop.realmd.Realm"> \
1430- <property name="Name" type="s" access="read"/> \
1431- <property name="Configured" type="s" access="read"/> \
1432- <property name="Details" type="a(ss)" access="read"/> \
1433- <property name="LoginFormats" type="as" access="read"/> \
1434- <property name="LoginPolicy" type="s" access="read"/> \
1435- <property name="PermittedLogins" type="as" access="read"/> \
1436- <property name="SupportedInterfaces" type="as" access="read"/> \
1437- <method name="ChangeLoginPolicy"> \
1438- <arg name="login_policy" type="s" direction="in"/> \
1439- <arg name="permitted_add" type="as" direction="in"/> \
1440- <arg name="permitted_remove" type="as" direction="in"/> \
1441- <arg name="options" type="a{sv}" direction="in"/> \
1442- </method> \
1443- <method name="Deconfigure"> \
1444- <arg name="options" type="a{sv}" direction="in"/> \
1445- </method> \
1446-</interface> \
1447-</node>';
1448+const RealmIface = `
1449+<node>
1450+<interface name="org.freedesktop.realmd.Realm">
1451+ <property name="Name" type="s" access="read"/>
1452+ <property name="Configured" type="s" access="read"/>
1453+ <property name="Details" type="a(ss)" access="read"/>
1454+ <property name="LoginFormats" type="as" access="read"/>
1455+ <property name="LoginPolicy" type="s" access="read"/>
1456+ <property name="PermittedLogins" type="as" access="read"/>
1457+ <property name="SupportedInterfaces" type="as" access="read"/>
1458+ <method name="ChangeLoginPolicy">
1459+ <arg name="login_policy" type="s" direction="in"/>
1460+ <arg name="permitted_add" type="as" direction="in"/>
1461+ <arg name="permitted_remove" type="as" direction="in"/>
1462+ <arg name="options" type="a{sv}" direction="in"/>
1463+ </method>
1464+ <method name="Deconfigure">
1465+ <arg name="options" type="a{sv}" direction="in"/>
1466+ </method>
1467+</interface>
1468+</node>`;
1469 const Realm = Gio.DBusProxy.makeProxyWrapper(RealmIface);
1470
1471 var Manager = new Lang.Class({
1472diff --git a/js/misc/gnomeSession.js b/js/misc/gnomeSession.js
1473index 4c5d7f2..15a2202 100644
1474--- a/js/misc/gnomeSession.js
1475+++ b/js/misc/gnomeSession.js
1476@@ -4,17 +4,18 @@ const Gio = imports.gi.Gio;
1477 const Lang = imports.lang;
1478 const Signals = imports.signals;
1479
1480-const PresenceIface = '<node> \
1481-<interface name="org.gnome.SessionManager.Presence"> \
1482-<method name="SetStatus"> \
1483- <arg type="u" direction="in"/> \
1484-</method> \
1485-<property name="status" type="u" access="readwrite"/> \
1486-<signal name="StatusChanged"> \
1487- <arg type="u" direction="out"/> \
1488-</signal> \
1489-</interface> \
1490-</node>';
1491+const PresenceIface = `
1492+<node>
1493+<interface name="org.gnome.SessionManager.Presence">
1494+<method name="SetStatus">
1495+ <arg type="u" direction="in"/>
1496+</method>
1497+<property name="status" type="u" access="readwrite"/>
1498+<signal name="StatusChanged">
1499+ <arg type="u" direction="out"/>
1500+</signal>
1501+</interface>
1502+</node>`;
1503
1504 var PresenceStatus = {
1505 AVAILABLE: 0,
1506@@ -32,16 +33,17 @@ function Presence(initCallback, cancellable) {
1507 // Note inhibitors are immutable objects, so they don't
1508 // change at runtime (changes always come in the form
1509 // of new inhibitors)
1510-const InhibitorIface = '<node> \
1511-<interface name="org.gnome.SessionManager.Inhibitor"> \
1512-<method name="GetAppId"> \
1513- <arg type="s" direction="out" /> \
1514-</method> \
1515-<method name="GetReason"> \
1516- <arg type="s" direction="out" /> \
1517-</method> \
1518-</interface> \
1519-</node>';
1520+const InhibitorIface = `
1521+<node>
1522+<interface name="org.gnome.SessionManager.Inhibitor">
1523+<method name="GetAppId">
1524+ <arg type="s" direction="out" />
1525+</method>
1526+<method name="GetReason">
1527+ <arg type="s" direction="out" />
1528+</method>
1529+</interface>
1530+</node>`;
1531
1532 var InhibitorProxy = Gio.DBusProxy.makeProxyWrapper(InhibitorIface);
1533 function Inhibitor(objectPath, initCallback, cancellable) {
1534@@ -49,29 +51,30 @@ function Inhibitor(objectPath, initCallback, cancellable) {
1535 }
1536
1537 // Not the full interface, only the methods we use
1538-const SessionManagerIface = '<node> \
1539-<interface name="org.gnome.SessionManager"> \
1540-<method name="Logout"> \
1541- <arg type="u" direction="in" /> \
1542-</method> \
1543-<method name="Shutdown" /> \
1544-<method name="Reboot" /> \
1545-<method name="CanShutdown"> \
1546- <arg type="b" direction="out" /> \
1547-</method> \
1548-<method name="IsInhibited"> \
1549- <arg type="u" direction="in" /> \
1550- <arg type="b" direction="out" /> \
1551-</method> \
1552-<property name="SessionIsActive" type="b" access="read"/> \
1553-<signal name="InhibitorAdded"> \
1554- <arg type="o" direction="out"/> \
1555-</signal> \
1556-<signal name="InhibitorRemoved"> \
1557- <arg type="o" direction="out"/> \
1558-</signal> \
1559-</interface> \
1560-</node>';
1561+const SessionManagerIface = `
1562+<node>
1563+<interface name="org.gnome.SessionManager">
1564+<method name="Logout">
1565+ <arg type="u" direction="in" />
1566+</method>
1567+<method name="Shutdown" />
1568+<method name="Reboot" />
1569+<method name="CanShutdown">
1570+ <arg type="b" direction="out" />
1571+</method>
1572+<method name="IsInhibited">
1573+ <arg type="u" direction="in" />
1574+ <arg type="b" direction="out" />
1575+</method>
1576+<property name="SessionIsActive" type="b" access="read"/>
1577+<signal name="InhibitorAdded">
1578+ <arg type="o" direction="out"/>
1579+</signal>
1580+<signal name="InhibitorRemoved">
1581+ <arg type="o" direction="out"/>
1582+</signal>
1583+</interface>
1584+</node>`;
1585
1586 var SessionManagerProxy = Gio.DBusProxy.makeProxyWrapper(SessionManagerIface);
1587 function SessionManager(initCallback, cancellable) {
1588diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
1589index 59b3d78..320a6cc 100644
1590--- a/js/misc/inputMethod.js
1591+++ b/js/misc/inputMethod.js
1592@@ -17,6 +17,8 @@ var InputMethod = new Lang.Class({
1593 this._currentFocus = null;
1594 this._currentEvent = null;
1595 this._doForwardEvent = false;
1596+ this._preeditStr = '';
1597+ this._preeditPos = 0;
1598 this._ibus = IBus.Bus.new_async();
1599 this._ibus.connect('connected', this._onConnected.bind(this));
1600 this._ibus.connect('disconnected', this._clear.bind(this));
1601@@ -69,6 +71,8 @@ var InputMethod = new Lang.Class({
1602 this._context.connect('commit-text', this._onCommitText.bind(this));
1603 this._context.connect('delete-surrounding-text', this._onDeleteSurroundingText.bind(this));
1604 this._context.connect('update-preedit-text', this._onUpdatePreeditText.bind(this));
1605+ this._context.connect('show-preedit-text', this._onShowPreeditText.bind(this));
1606+ this._context.connect('hide-preedit-text', this._onHidePreeditText.bind(this));
1607 this._context.connect('forward-key-event', this._onForwardKeyEvent.bind(this));
1608
1609 this._updateCapabilities();
1610@@ -79,6 +83,8 @@ var InputMethod = new Lang.Class({
1611 this._hints = 0;
1612 this._purpose = 0;
1613 this._enabled = false;
1614+ this._preeditStr = ''
1615+ this._preeditPos = 0;
1616 },
1617
1618 _emitRequestSurrounding() {
1619@@ -95,11 +101,22 @@ var InputMethod = new Lang.Class({
1620 },
1621
1622 _onUpdatePreeditText(context, text, pos, visible) {
1623- let str = null;
1624- if (visible && text != null)
1625- str = text.get_text();
1626+ if (text == null)
1627+ return;
1628+ this._preeditStr = text.get_text();
1629+ this._preeditPos = pos;
1630+ if (visible)
1631+ this.set_preedit_text(this._preeditStr, pos);
1632+ else
1633+ this.set_preedit_text(null, pos);
1634+ },
1635+
1636+ _onShowPreeditText(context) {
1637+ this.set_preedit_text(this._preeditStr, this._preeditPos);
1638+ },
1639
1640- this.set_preedit_text(str, pos);
1641+ _onHidePreeditText(context) {
1642+ this.set_preedit_text(null, this._preeditPos);
1643 },
1644
1645 _onForwardKeyEvent(context, keyval, keycode, state) {
1646diff --git a/js/misc/loginManager.js b/js/misc/loginManager.js
1647index ccda382..b5891a3 100644
1648--- a/js/misc/loginManager.js
1649+++ b/js/misc/loginManager.js
1650@@ -7,53 +7,56 @@ const Mainloop = imports.mainloop;
1651 const Shell = imports.gi.Shell;
1652 const Signals = imports.signals;
1653
1654-const SystemdLoginManagerIface = '<node> \
1655-<interface name="org.freedesktop.login1.Manager"> \
1656-<method name="Suspend"> \
1657- <arg type="b" direction="in"/> \
1658-</method> \
1659-<method name="CanSuspend"> \
1660- <arg type="s" direction="out"/> \
1661-</method> \
1662-<method name="Inhibit"> \
1663- <arg type="s" direction="in"/> \
1664- <arg type="s" direction="in"/> \
1665- <arg type="s" direction="in"/> \
1666- <arg type="s" direction="in"/> \
1667- <arg type="h" direction="out"/> \
1668-</method> \
1669-<method name="GetSession"> \
1670- <arg type="s" direction="in"/> \
1671- <arg type="o" direction="out"/> \
1672-</method> \
1673-<method name="ListSessions"> \
1674- <arg name="sessions" type="a(susso)" direction="out"/> \
1675-</method> \
1676-<signal name="PrepareForSleep"> \
1677- <arg type="b" direction="out"/> \
1678-</signal> \
1679-</interface> \
1680-</node>';
1681-
1682-const SystemdLoginSessionIface = '<node> \
1683-<interface name="org.freedesktop.login1.Session"> \
1684-<signal name="Lock" /> \
1685-<signal name="Unlock" /> \
1686-<property name="Active" type="b" access="read" /> \
1687-<property name="Class" type="s" access="read" /> \
1688-<property name="Id" type="s" access="read" /> \
1689-<method name="SetLockedHint"> \
1690- <arg type="b" direction="in"/> \
1691-</method> \
1692-</interface> \
1693-</node>';
1694-
1695-const SystemdLoginUserIface = '<node> \
1696-<interface name="org.freedesktop.login1.User"> \
1697-<property name="Display" type="(so)" access="read" /> \
1698-<property name="Sessions" type="a(so)" access="read" /> \
1699-</interface> \
1700-</node>';
1701+const SystemdLoginManagerIface = `
1702+<node>
1703+<interface name="org.freedesktop.login1.Manager">
1704+<method name="Suspend">
1705+ <arg type="b" direction="in"/>
1706+</method>
1707+<method name="CanSuspend">
1708+ <arg type="s" direction="out"/>
1709+</method>
1710+<method name="Inhibit">
1711+ <arg type="s" direction="in"/>
1712+ <arg type="s" direction="in"/>
1713+ <arg type="s" direction="in"/>
1714+ <arg type="s" direction="in"/>
1715+ <arg type="h" direction="out"/>
1716+</method>
1717+<method name="GetSession">
1718+ <arg type="s" direction="in"/>
1719+ <arg type="o" direction="out"/>
1720+</method>
1721+<method name="ListSessions">
1722+ <arg name="sessions" type="a(susso)" direction="out"/>
1723+</method>
1724+<signal name="PrepareForSleep">
1725+ <arg type="b" direction="out"/>
1726+</signal>
1727+</interface>
1728+</node>`;
1729+
1730+const SystemdLoginSessionIface = `
1731+<node>
1732+<interface name="org.freedesktop.login1.Session">
1733+<signal name="Lock" />
1734+<signal name="Unlock" />
1735+<property name="Active" type="b" access="read" />
1736+<property name="Class" type="s" access="read" />
1737+<property name="Id" type="s" access="read" />
1738+<method name="SetLockedHint">
1739+ <arg type="b" direction="in"/>
1740+</method>
1741+</interface>
1742+</node>`;
1743+
1744+const SystemdLoginUserIface = `
1745+<node>
1746+<interface name="org.freedesktop.login1.User">
1747+<property name="Display" type="(so)" access="read" />
1748+<property name="Sessions" type="a(so)" access="read" />
1749+</interface>
1750+</node>`;
1751
1752 const SystemdLoginManager = Gio.DBusProxy.makeProxyWrapper(SystemdLoginManagerIface);
1753 const SystemdLoginSession = Gio.DBusProxy.makeProxyWrapper(SystemdLoginSessionIface);
1754diff --git a/js/misc/modemManager.js b/js/misc/modemManager.js
1755index 7ef265a..c473937 100644
1756--- a/js/misc/modemManager.js
1757+++ b/js/misc/modemManager.js
1758@@ -92,41 +92,43 @@ function _findProviderForSid(sid) {
1759 // The following are not the complete interfaces, just the methods we need
1760 // (or may need in the future)
1761
1762-const ModemGsmNetworkInterface = '<node> \
1763-<interface name="org.freedesktop.ModemManager.Modem.Gsm.Network"> \
1764-<method name="GetRegistrationInfo"> \
1765- <arg type="(uss)" direction="out" /> \
1766-</method> \
1767-<method name="GetSignalQuality"> \
1768- <arg type="u" direction="out" /> \
1769-</method> \
1770-<property name="AccessTechnology" type="u" access="read" /> \
1771-<signal name="SignalQuality"> \
1772- <arg type="u" direction="out" /> \
1773-</signal> \
1774-<signal name="RegistrationInfo"> \
1775- <arg type="u" direction="out" /> \
1776- <arg type="s" direction="out" /> \
1777- <arg type="s" direction="out" /> \
1778-</signal> \
1779-</interface> \
1780-</node>';
1781+const ModemGsmNetworkInterface = `
1782+<node>
1783+<interface name="org.freedesktop.ModemManager.Modem.Gsm.Network">
1784+<method name="GetRegistrationInfo">
1785+ <arg type="(uss)" direction="out" />
1786+</method>
1787+<method name="GetSignalQuality">
1788+ <arg type="u" direction="out" />
1789+</method>
1790+<property name="AccessTechnology" type="u" access="read" />
1791+<signal name="SignalQuality">
1792+ <arg type="u" direction="out" />
1793+</signal>
1794+<signal name="RegistrationInfo">
1795+ <arg type="u" direction="out" />
1796+ <arg type="s" direction="out" />
1797+ <arg type="s" direction="out" />
1798+</signal>
1799+</interface>
1800+</node>`;
1801
1802 const ModemGsmNetworkProxy = Gio.DBusProxy.makeProxyWrapper(ModemGsmNetworkInterface);
1803
1804-const ModemCdmaInterface = '<node> \
1805-<interface name="org.freedesktop.ModemManager.Modem.Cdma"> \
1806-<method name="GetSignalQuality"> \
1807- <arg type="u" direction="out" /> \
1808-</method> \
1809-<method name="GetServingSystem"> \
1810- <arg type="(usu)" direction="out" /> \
1811-</method> \
1812-<signal name="SignalQuality"> \
1813- <arg type="u" direction="out" /> \
1814-</signal> \
1815-</interface> \
1816-</node>';
1817+const ModemCdmaInterface = `
1818+<node>
1819+<interface name="org.freedesktop.ModemManager.Modem.Cdma">
1820+<method name="GetSignalQuality">
1821+ <arg type="u" direction="out" />
1822+</method>
1823+<method name="GetServingSystem">
1824+ <arg type="(usu)" direction="out" />
1825+</method>
1826+<signal name="SignalQuality">
1827+ <arg type="u" direction="out" />
1828+</signal>
1829+</interface>
1830+</node>`;
1831
1832 const ModemCdmaProxy = Gio.DBusProxy.makeProxyWrapper(ModemCdmaInterface);
1833
1834@@ -222,26 +224,29 @@ Signals.addSignalMethods(ModemCdma.prototype);
1835 // Support for the new ModemManager1 interface (MM >= 0.7)
1836 //------------------------------------------------------------------------------
1837
1838-const BroadbandModemInterface = '<node> \
1839-<interface name="org.freedesktop.ModemManager1.Modem"> \
1840-<property name="SignalQuality" type="(ub)" access="read" /> \
1841-</interface> \
1842-</node>';
1843+const BroadbandModemInterface = `
1844+<node>
1845+<interface name="org.freedesktop.ModemManager1.Modem">
1846+<property name="SignalQuality" type="(ub)" access="read" />
1847+</interface>
1848+</node>`;
1849 const BroadbandModemProxy = Gio.DBusProxy.makeProxyWrapper(BroadbandModemInterface);
1850
1851-const BroadbandModem3gppInterface = '<node> \
1852-<interface name="org.freedesktop.ModemManager1.Modem.Modem3gpp"> \
1853-<property name="OperatorCode" type="s" access="read" /> \
1854-<property name="OperatorName" type="s" access="read" /> \
1855-</interface> \
1856-</node>';
1857+const BroadbandModem3gppInterface = `
1858+<node>
1859+<interface name="org.freedesktop.ModemManager1.Modem.Modem3gpp">
1860+<property name="OperatorCode" type="s" access="read" />
1861+<property name="OperatorName" type="s" access="read" />
1862+</interface>
1863+</node>`;
1864 const BroadbandModem3gppProxy = Gio.DBusProxy.makeProxyWrapper(BroadbandModem3gppInterface);
1865
1866-const BroadbandModemCdmaInterface = '<node> \
1867-<interface name="org.freedesktop.ModemManager1.Modem.ModemCdma"> \
1868-<property name="Sid" type="u" access="read" /> \
1869-</interface> \
1870-</node>';
1871+const BroadbandModemCdmaInterface = `
1872+<node>
1873+<interface name="org.freedesktop.ModemManager1.Modem.ModemCdma">
1874+<property name="Sid" type="u" access="read" />
1875+</interface>
1876+</node>`;
1877 const BroadbandModemCdmaProxy = Gio.DBusProxy.makeProxyWrapper(BroadbandModemCdmaInterface);
1878
1879 var BroadbandModem = new Lang.Class({
1880diff --git a/js/misc/objectManager.js b/js/misc/objectManager.js
1881index 1ce4f83..efe669b 100644
1882--- a/js/misc/objectManager.js
1883+++ b/js/misc/objectManager.js
1884@@ -8,21 +8,22 @@ const Signals = imports.signals;
1885
1886 // Specified in the D-Bus specification here:
1887 // http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager
1888-const ObjectManagerIface = '<node> \
1889-<interface name="org.freedesktop.DBus.ObjectManager"> \
1890- <method name="GetManagedObjects"> \
1891- <arg name="objects" type="a{oa{sa{sv}}}" direction="out"/> \
1892- </method> \
1893- <signal name="InterfacesAdded"> \
1894- <arg name="objectPath" type="o"/> \
1895- <arg name="interfaces" type="a{sa{sv}}" /> \
1896- </signal> \
1897- <signal name="InterfacesRemoved"> \
1898- <arg name="objectPath" type="o"/> \
1899- <arg name="interfaces" type="as" /> \
1900- </signal> \
1901-</interface> \
1902-</node>';
1903+const ObjectManagerIface = `
1904+<node>
1905+<interface name="org.freedesktop.DBus.ObjectManager">
1906+ <method name="GetManagedObjects">
1907+ <arg name="objects" type="a{oa{sa{sv}}}" direction="out"/>
1908+ </method>
1909+ <signal name="InterfacesAdded">
1910+ <arg name="objectPath" type="o"/>
1911+ <arg name="interfaces" type="a{sa{sv}}" />
1912+ </signal>
1913+ <signal name="InterfacesRemoved">
1914+ <arg name="objectPath" type="o"/>
1915+ <arg name="interfaces" type="as" />
1916+ </signal>
1917+</interface>
1918+</node>`;
1919
1920 const ObjectManagerInfo = Gio.DBusInterfaceInfo.new_for_xml(ObjectManagerIface);
1921
1922diff --git a/js/misc/permissionStore.js b/js/misc/permissionStore.js
1923index 86c0cd8..6126e1f 100644
1924--- a/js/misc/permissionStore.js
1925+++ b/js/misc/permissionStore.js
1926@@ -2,30 +2,31 @@
1927
1928 const Gio = imports.gi.Gio;
1929
1930-const PermissionStoreIface = '<node> \
1931- <interface name="org.freedesktop.impl.portal.PermissionStore"> \
1932- <method name="Lookup"> \
1933- <arg name="table" type="s" direction="in"/> \
1934- <arg name="id" type="s" direction="in"/> \
1935- <arg name="permissions" type="a{sas}" direction="out"/> \
1936- <arg name="data" type="v" direction="out"/> \
1937- </method> \
1938- <method name="Set"> \
1939- <arg name="table" type="s" direction="in"/> \
1940- <arg name="create" type="b" direction="in"/> \
1941- <arg name="id" type="s" direction="in"/> \
1942- <arg name="app_permissions" type="a{sas}" direction="in"/> \
1943- <arg name="data" type="v" direction="in"/> \
1944- </method> \
1945- <signal name="Changed"> \
1946- <arg name="table" type="s" direction="out"/> \
1947- <arg name="id" type="s" direction="out"/> \
1948- <arg name="deleted" type="b" direction="out"/> \
1949- <arg name="data" type="v" direction="out"/> \
1950- <arg name="permissions" type="a{sas}" direction="out"/> \
1951- </signal> \
1952- </interface> \
1953-</node>';
1954+const PermissionStoreIface = `
1955+<node>
1956+ <interface name="org.freedesktop.impl.portal.PermissionStore">
1957+ <method name="Lookup">
1958+ <arg name="table" type="s" direction="in"/>
1959+ <arg name="id" type="s" direction="in"/>
1960+ <arg name="permissions" type="a{sas}" direction="out"/>
1961+ <arg name="data" type="v" direction="out"/>
1962+ </method>
1963+ <method name="Set">
1964+ <arg name="table" type="s" direction="in"/>
1965+ <arg name="create" type="b" direction="in"/>
1966+ <arg name="id" type="s" direction="in"/>
1967+ <arg name="app_permissions" type="a{sas}" direction="in"/>
1968+ <arg name="data" type="v" direction="in"/>
1969+ </method>
1970+ <signal name="Changed">
1971+ <arg name="table" type="s" direction="out"/>
1972+ <arg name="id" type="s" direction="out"/>
1973+ <arg name="deleted" type="b" direction="out"/>
1974+ <arg name="data" type="v" direction="out"/>
1975+ <arg name="permissions" type="a{sas}" direction="out"/>
1976+ </signal>
1977+ </interface>
1978+</node>`;
1979
1980 const PermissionStoreProxy = Gio.DBusProxy.makeProxyWrapper(PermissionStoreIface);
1981
1982diff --git a/js/misc/smartcardManager.js b/js/misc/smartcardManager.js
1983index 60808b3..51d2ea9 100644
1984--- a/js/misc/smartcardManager.js
1985+++ b/js/misc/smartcardManager.js
1986@@ -7,14 +7,15 @@ const Signals = imports.signals;
1987
1988 const ObjectManager = imports.misc.objectManager;
1989
1990-const SmartcardTokenIface = '<node> \
1991-<interface name="org.gnome.SettingsDaemon.Smartcard.Token"> \
1992- <property name="Name" type="s" access="read"/> \
1993- <property name="Driver" type="o" access="read"/> \
1994- <property name="IsInserted" type="b" access="read"/> \
1995- <property name="UsedToLogin" type="b" access="read"/> \
1996-</interface> \
1997-</node>';
1998+const SmartcardTokenIface = `
1999+<node>
2000+<interface name="org.gnome.SettingsDaemon.Smartcard.Token">
2001+ <property name="Name" type="s" access="read"/>
2002+ <property name="Driver" type="o" access="read"/>
2003+ <property name="IsInserted" type="b" access="read"/>
2004+ <property name="UsedToLogin" type="b" access="read"/>
2005+</interface>
2006+</node>`;
2007
2008 let _smartcardManager = null;
2009
2010diff --git a/js/misc/systemActions.js b/js/misc/systemActions.js
2011index bf8b460..434dd95 100644
2012--- a/js/misc/systemActions.js
2013+++ b/js/misc/systemActions.js
2014@@ -22,11 +22,12 @@ const ALWAYS_SHOW_LOG_OUT_KEY = 'always-show-log-out';
2015 const SENSOR_BUS_NAME = 'net.hadess.SensorProxy';
2016 const SENSOR_OBJECT_PATH = '/net/hadess/SensorProxy';
2017
2018-const SensorProxyInterface = '<node> \
2019-<interface name="net.hadess.SensorProxy"> \
2020- <property name="HasAccelerometer" type="b" access="read"/> \
2021-</interface> \
2022-</node>';
2023+const SensorProxyInterface = `
2024+<node>
2025+<interface name="net.hadess.SensorProxy">
2026+ <property name="HasAccelerometer" type="b" access="read"/>
2027+</interface>
2028+</node>`;
2029
2030 const POWER_OFF_ACTION_ID = 'power-off';
2031 const LOCK_SCREEN_ACTION_ID = 'lock-screen';
2032diff --git a/js/portalHelper/main.js b/js/portalHelper/main.js
2033index 838af46..e112f82 100644
2034--- a/js/portalHelper/main.js
2035+++ b/js/portalHelper/main.js
2036@@ -30,25 +30,26 @@ const CONNECTIVITY_CHECK_HOST = 'nmcheck.gnome.org';
2037 const CONNECTIVITY_CHECK_URI = 'http://' + CONNECTIVITY_CHECK_HOST;
2038 const CONNECTIVITY_RECHECK_RATELIMIT_TIMEOUT = 30 * GLib.USEC_PER_SEC;
2039
2040-const HelperDBusInterface = '<node> \
2041-<interface name="org.gnome.Shell.PortalHelper"> \
2042-<method name="Authenticate"> \
2043- <arg type="o" direction="in" name="connection" /> \
2044- <arg type="s" direction="in" name="url" /> \
2045- <arg type="u" direction="in" name="timestamp" /> \
2046-</method> \
2047-<method name="Close"> \
2048- <arg type="o" direction="in" name="connection" /> \
2049-</method> \
2050-<method name="Refresh"> \
2051- <arg type="o" direction="in" name="connection" /> \
2052-</method> \
2053-<signal name="Done"> \
2054- <arg type="o" name="connection" /> \
2055- <arg type="u" name="result" /> \
2056-</signal> \
2057-</interface> \
2058-</node>';
2059+const HelperDBusInterface = `
2060+<node>
2061+<interface name="org.gnome.Shell.PortalHelper">
2062+<method name="Authenticate">
2063+ <arg type="o" direction="in" name="connection" />
2064+ <arg type="s" direction="in" name="url" />
2065+ <arg type="u" direction="in" name="timestamp" />
2066+</method>
2067+<method name="Close">
2068+ <arg type="o" direction="in" name="connection" />
2069+</method>
2070+<method name="Refresh">
2071+ <arg type="o" direction="in" name="connection" />
2072+</method>
2073+<signal name="Done">
2074+ <arg type="o" name="connection" />
2075+ <arg type="u" name="result" />
2076+</signal>
2077+</interface>
2078+</node>`;
2079
2080 var PortalHeaderBar = new Lang.Class({
2081 Name: 'PortalHeaderBar',
2082diff --git a/js/ui/accessDialog.js b/js/ui/accessDialog.js
2083index 1bd9004..bb59ee5 100644
2084--- a/js/ui/accessDialog.js
2085+++ b/js/ui/accessDialog.js
2086@@ -10,27 +10,29 @@ const CheckBox = imports.ui.checkBox;
2087 const Dialog = imports.ui.dialog;
2088 const ModalDialog = imports.ui.modalDialog;
2089
2090-const RequestIface = '<node> \
2091-<interface name="org.freedesktop.impl.portal.Request"> \
2092-<method name="Close"/> \
2093-</interface> \
2094-</node>';
2095-
2096-const AccessIface = '<node> \
2097-<interface name="org.freedesktop.impl.portal.Access"> \
2098-<method name="AccessDialog"> \
2099- <arg type="o" name="handle" direction="in"/> \
2100- <arg type="s" name="app_id" direction="in"/> \
2101- <arg type="s" name="parent_window" direction="in"/> \
2102- <arg type="s" name="title" direction="in"/> \
2103- <arg type="s" name="subtitle" direction="in"/> \
2104- <arg type="s" name="body" direction="in"/> \
2105- <arg type="a{sv}" name="options" direction="in"/> \
2106- <arg type="u" name="response" direction="out"/> \
2107- <arg type="a{sv}" name="results" direction="out"/> \
2108-</method> \
2109-</interface> \
2110-</node>';
2111+const RequestIface = `
2112+<node>
2113+<interface name="org.freedesktop.impl.portal.Request">
2114+<method name="Close"/>
2115+</interface>
2116+</node>`;
2117+
2118+const AccessIface = `
2119+<node>
2120+<interface name="org.freedesktop.impl.portal.Access">
2121+<method name="AccessDialog">
2122+ <arg type="o" name="handle" direction="in"/>
2123+ <arg type="s" name="app_id" direction="in"/>
2124+ <arg type="s" name="parent_window" direction="in"/>
2125+ <arg type="s" name="title" direction="in"/>
2126+ <arg type="s" name="subtitle" direction="in"/>
2127+ <arg type="s" name="body" direction="in"/>
2128+ <arg type="a{sv}" name="options" direction="in"/>
2129+ <arg type="u" name="response" direction="out"/>
2130+ <arg type="a{sv}" name="results" direction="out"/>
2131+</method>
2132+</interface>
2133+</node>`;
2134
2135 var DialogResponse = {
2136 OK: 0,
2137diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
2138index 785b9f7..623dc6f 100644
2139--- a/js/ui/appDisplay.js
2140+++ b/js/ui/appDisplay.js
2141@@ -66,11 +66,12 @@ var PAGE_SWITCH_TIME = 0.3;
2142 const SWITCHEROO_BUS_NAME = 'net.hadess.SwitcherooControl';
2143 const SWITCHEROO_OBJECT_PATH = '/net/hadess/SwitcherooControl';
2144
2145-const SwitcherooProxyInterface = '<node> \
2146-<interface name="net.hadess.SwitcherooControl"> \
2147- <property name="HasDualGpu" type="b" access="read"/> \
2148-</interface> \
2149-</node>';
2150+const SwitcherooProxyInterface = `
2151+<node>
2152+<interface name="net.hadess.SwitcherooControl">
2153+ <property name="HasDualGpu" type="b" access="read"/>
2154+</interface>
2155+</node>`;
2156
2157 const SwitcherooProxy = Gio.DBusProxy.makeProxyWrapper(SwitcherooProxyInterface);
2158 let discreteGpuAvailable = false;
2159diff --git a/js/ui/audioDeviceSelection.js b/js/ui/audioDeviceSelection.js
2160index de8af09..8010ec1 100644
2161--- a/js/ui/audioDeviceSelection.js
2162+++ b/js/ui/audioDeviceSelection.js
2163@@ -15,18 +15,19 @@ var AudioDevice = {
2164 MICROPHONE: 1 << 2
2165 };
2166
2167-const AudioDeviceSelectionIface = '<node> \
2168-<interface name="org.gnome.Shell.AudioDeviceSelection"> \
2169-<method name="Open"> \
2170- <arg name="devices" direction="in" type="as" /> \
2171-</method> \
2172-<method name="Close"> \
2173-</method> \
2174-<signal name="DeviceSelected"> \
2175- <arg name="device" type="s" /> \
2176-</signal> \
2177-</interface> \
2178-</node>';
2179+const AudioDeviceSelectionIface = `
2180+<node>
2181+<interface name="org.gnome.Shell.AudioDeviceSelection">
2182+<method name="Open">
2183+ <arg name="devices" direction="in" type="as" />
2184+</method>
2185+<method name="Close">
2186+</method>
2187+<signal name="DeviceSelected">
2188+ <arg name="device" type="s" />
2189+</signal>
2190+</interface>
2191+</node>`;
2192
2193 var AudioDeviceSelectionDialog = new Lang.Class({
2194 Name: 'AudioDeviceSelectionDialog',
2195diff --git a/js/ui/boxpointer.js b/js/ui/boxpointer.js
2196index 47f718a..d51877d 100644
2197--- a/js/ui/boxpointer.js
2198+++ b/js/ui/boxpointer.js
2199@@ -44,6 +44,7 @@ var BoxPointer = new Lang.Class({
2200 y_fill: true });
2201 this._container = new Shell.GenericContainer();
2202 this.actor.set_child(this._container);
2203+ this.actor.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
2204 this._container.connect('get-preferred-width', this._getPreferredWidth.bind(this));
2205 this._container.connect('get-preferred-height', this._getPreferredHeight.bind(this));
2206 this._container.connect('allocate', this._allocate.bind(this));
2207diff --git a/js/ui/calendar.js b/js/ui/calendar.js
2208index 651aac6..990cac2 100644
2209--- a/js/ui/calendar.js
2210+++ b/js/ui/calendar.js
2211@@ -134,18 +134,19 @@ var EmptyEventSource = new Lang.Class({
2212 });
2213 Signals.addSignalMethods(EmptyEventSource.prototype);
2214
2215-const CalendarServerIface = '<node> \
2216-<interface name="org.gnome.Shell.CalendarServer"> \
2217-<method name="GetEvents"> \
2218- <arg type="x" direction="in" /> \
2219- <arg type="x" direction="in" /> \
2220- <arg type="b" direction="in" /> \
2221- <arg type="a(sssbxxa{sv})" direction="out" /> \
2222-</method> \
2223-<property name="HasCalendars" type="b" access="read" /> \
2224-<signal name="Changed" /> \
2225-</interface> \
2226-</node>';
2227+const CalendarServerIface = `
2228+<node>
2229+<interface name="org.gnome.Shell.CalendarServer">
2230+<method name="GetEvents">
2231+ <arg type="x" direction="in" />
2232+ <arg type="x" direction="in" />
2233+ <arg type="b" direction="in" />
2234+ <arg type="a(sssbxxa{sv})" direction="out" />
2235+</method>
2236+<property name="HasCalendars" type="b" access="read" />
2237+<signal name="Changed" />
2238+</interface>
2239+</node>`;
2240
2241 const CalendarServerInfo = Gio.DBusInterfaceInfo.new_for_xml(CalendarServerIface);
2242
2243diff --git a/js/ui/components/autorunManager.js b/js/ui/components/autorunManager.js
2244index bbd7328..37c774c 100644
2245--- a/js/ui/components/autorunManager.js
2246+++ b/js/ui/components/autorunManager.js
2247@@ -74,14 +74,15 @@ function startAppForMount(app, mount) {
2248
2249 /******************************************/
2250
2251-const HotplugSnifferIface = '<node> \
2252-<interface name="org.gnome.Shell.HotplugSniffer"> \
2253-<method name="SniffURI"> \
2254- <arg type="s" direction="in" /> \
2255- <arg type="as" direction="out" /> \
2256-</method> \
2257-</interface> \
2258-</node>';
2259+const HotplugSnifferIface = `
2260+<node>
2261+<interface name="org.gnome.Shell.HotplugSniffer">
2262+<method name="SniffURI">
2263+ <arg type="s" direction="in" />
2264+ <arg type="as" direction="out" />
2265+</method>
2266+</interface>
2267+</node>`;
2268
2269 const HotplugSnifferProxy = Gio.DBusProxy.makeProxyWrapper(HotplugSnifferIface);
2270 function HotplugSniffer() {
2271diff --git a/js/ui/dash.js b/js/ui/dash.js
2272index 5ee2476..9b8bfdd 100644
2273--- a/js/ui/dash.js
2274+++ b/js/ui/dash.js
2275@@ -402,6 +402,7 @@ var Dash = new Lang.Class({
2276 clip_to_allocation: true });
2277 this._box._delegate = this;
2278 this._container.add_actor(this._box);
2279+ this._container.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
2280
2281 this._showAppsIcon = new ShowAppsIcon();
2282 this._showAppsIcon.childScale = 1;
2283diff --git a/js/ui/dialog.js b/js/ui/dialog.js
2284index cfa192d..0dd3370 100644
2285--- a/js/ui/dialog.js
2286+++ b/js/ui/dialog.js
2287@@ -40,6 +40,7 @@ var Dialog = new Lang.Class({
2288 // mode accordingly so wrapped labels are handled correctly during
2289 // size requests.
2290 this._dialog.request_mode = Clutter.RequestMode.HEIGHT_FOR_WIDTH;
2291+ this._dialog.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
2292
2293 this.contentLayout = new St.BoxLayout({ vertical: true,
2294 style_class: "modal-dialog-content-box" });
2295diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js
2296index 5491fbb..a6b928c 100644
2297--- a/js/ui/endSessionDialog.js
2298+++ b/js/ui/endSessionDialog.js
2299@@ -43,22 +43,23 @@ const _DIALOG_ICON_SIZE = 48;
2300
2301 var GSM_SESSION_MANAGER_LOGOUT_FORCE = 2;
2302
2303-const EndSessionDialogIface = '<node> \
2304-<interface name="org.gnome.SessionManager.EndSessionDialog"> \
2305-<method name="Open"> \
2306- <arg type="u" direction="in" /> \
2307- <arg type="u" direction="in" /> \
2308- <arg type="u" direction="in" /> \
2309- <arg type="ao" direction="in" /> \
2310-</method> \
2311-<method name="Close" /> \
2312-<signal name="ConfirmedLogout" /> \
2313-<signal name="ConfirmedReboot" /> \
2314-<signal name="ConfirmedShutdown" /> \
2315-<signal name="Canceled" /> \
2316-<signal name="Closed" /> \
2317-</interface> \
2318-</node>';
2319+const EndSessionDialogIface = `
2320+<node>
2321+<interface name="org.gnome.SessionManager.EndSessionDialog">
2322+<method name="Open">
2323+ <arg type="u" direction="in" />
2324+ <arg type="u" direction="in" />
2325+ <arg type="u" direction="in" />
2326+ <arg type="ao" direction="in" />
2327+</method>
2328+<method name="Close" />
2329+<signal name="ConfirmedLogout" />
2330+<signal name="ConfirmedReboot" />
2331+<signal name="ConfirmedShutdown" />
2332+<signal name="Canceled" />
2333+<signal name="Closed" />
2334+</interface>
2335+</node>`;
2336
2337 const logoutDialogContent = {
2338 subjectWithUser: C_("title", "Log Out %s"),
2339@@ -168,39 +169,42 @@ const DialogContent = {
2340
2341 var MAX_USERS_IN_SESSION_DIALOG = 5;
2342
2343-const LogindSessionIface = '<node> \
2344-<interface name="org.freedesktop.login1.Session"> \
2345- <property name="Id" type="s" access="read"/> \
2346- <property name="Remote" type="b" access="read"/> \
2347- <property name="Class" type="s" access="read"/> \
2348- <property name="Type" type="s" access="read"/> \
2349- <property name="State" type="s" access="read"/> \
2350-</interface> \
2351-</node>';
2352+const LogindSessionIface = `
2353+<node>
2354+<interface name="org.freedesktop.login1.Session">
2355+ <property name="Id" type="s" access="read"/>
2356+ <property name="Remote" type="b" access="read"/>
2357+ <property name="Class" type="s" access="read"/>
2358+ <property name="Type" type="s" access="read"/>
2359+ <property name="State" type="s" access="read"/>
2360+</interface>
2361+</node>`;
2362
2363 const LogindSession = Gio.DBusProxy.makeProxyWrapper(LogindSessionIface);
2364
2365-const PkOfflineIface = '<node> \
2366-<interface name="org.freedesktop.PackageKit.Offline"> \
2367- <property name="UpdatePrepared" type="b" access="read"/> \
2368- <property name="UpdateTriggered" type="b" access="read"/> \
2369- <property name="UpgradePrepared" type="b" access="read"/> \
2370- <property name="UpgradeTriggered" type="b" access="read"/> \
2371- <property name="PreparedUpgrade" type="a{sv}" access="read"/> \
2372- <method name="Trigger"> \
2373- <arg type="s" name="action" direction="in"/> \
2374- </method> \
2375- <method name="Cancel"/> \
2376-</interface> \
2377-</node>';
2378+const PkOfflineIface = `
2379+<node>
2380+<interface name="org.freedesktop.PackageKit.Offline">
2381+ <property name="UpdatePrepared" type="b" access="read"/>
2382+ <property name="UpdateTriggered" type="b" access="read"/>
2383+ <property name="UpgradePrepared" type="b" access="read"/>
2384+ <property name="UpgradeTriggered" type="b" access="read"/>
2385+ <property name="PreparedUpgrade" type="a{sv}" access="read"/>
2386+ <method name="Trigger">
2387+ <arg type="s" name="action" direction="in"/>
2388+ </method>
2389+ <method name="Cancel"/>
2390+</interface>
2391+</node>`;
2392
2393 const PkOfflineProxy = Gio.DBusProxy.makeProxyWrapper(PkOfflineIface);
2394
2395-const UPowerIface = '<node> \
2396-<interface name="org.freedesktop.UPower"> \
2397- <property name="OnBattery" type="b" access="read"/> \
2398-</interface> \
2399-</node>';
2400+const UPowerIface = `
2401+<node>
2402+<interface name="org.freedesktop.UPower">
2403+ <property name="OnBattery" type="b" access="read"/>
2404+</interface>
2405+</node>`;
2406
2407 const UPowerProxy = Gio.DBusProxy.makeProxyWrapper(UPowerIface);
2408
2409diff --git a/js/ui/magnifierDBus.js b/js/ui/magnifierDBus.js
2410index cf8b430..c796d07 100644
2411--- a/js/ui/magnifierDBus.js
2412+++ b/js/ui/magnifierDBus.js
2413@@ -9,89 +9,91 @@ const ZOOM_SERVICE_PATH = '/org/gnome/Magnifier/ZoomRegion';
2414
2415 // Subset of gnome-mag's Magnifier dbus interface -- to be expanded. See:
2416 // http://git.gnome.org/browse/gnome-mag/tree/xml/...Magnifier.xml
2417-const MagnifierIface = '<node> \
2418-<interface name="org.gnome.Magnifier"> \
2419-<method name="setActive"> \
2420- <arg type="b" direction="in" /> \
2421-</method> \
2422-<method name="isActive"> \
2423- <arg type="b" direction="out" /> \
2424-</method> \
2425-<method name="showCursor" /> \
2426-<method name="hideCursor" /> \
2427-<method name="createZoomRegion"> \
2428- <arg type="d" direction="in" /> \
2429- <arg type="d" direction="in" /> \
2430- <arg type="ai" direction="in" /> \
2431- <arg type="ai" direction="in" /> \
2432- <arg type="o" direction="out" /> \
2433-</method> \
2434-<method name="addZoomRegion"> \
2435- <arg type="o" direction="in" /> \
2436- <arg type="b" direction="out" /> \
2437-</method> \
2438-<method name="getZoomRegions"> \
2439- <arg type="ao" direction="out" /> \
2440-</method> \
2441-<method name="clearAllZoomRegions" /> \
2442-<method name="fullScreenCapable"> \
2443- <arg type="b" direction="out" /> \
2444-</method> \
2445-<method name="setCrosswireSize"> \
2446- <arg type="i" direction="in" /> \
2447-</method> \
2448-<method name="getCrosswireSize"> \
2449- <arg type="i" direction="out" /> \
2450-</method> \
2451-<method name="setCrosswireLength"> \
2452- <arg type="i" direction="in" /> \
2453-</method> \
2454-<method name="getCrosswireLength"> \
2455- <arg type="i" direction="out" /> \
2456-</method> \
2457-<method name="setCrosswireClip"> \
2458- <arg type="b" direction="in" /> \
2459-</method> \
2460-<method name="getCrosswireClip"> \
2461- <arg type="b" direction="out" /> \
2462-</method> \
2463-<method name="setCrosswireColor"> \
2464- <arg type="u" direction="in" /> \
2465-</method> \
2466-<method name="getCrosswireColor"> \
2467- <arg type="u" direction="out" /> \
2468-</method> \
2469-</interface> \
2470-</node>';
2471+const MagnifierIface = `
2472+<node>
2473+<interface name="org.gnome.Magnifier">
2474+<method name="setActive">
2475+ <arg type="b" direction="in" />
2476+</method>
2477+<method name="isActive">
2478+ <arg type="b" direction="out" />
2479+</method>
2480+<method name="showCursor" />
2481+<method name="hideCursor" />
2482+<method name="createZoomRegion">
2483+ <arg type="d" direction="in" />
2484+ <arg type="d" direction="in" />
2485+ <arg type="ai" direction="in" />
2486+ <arg type="ai" direction="in" />
2487+ <arg type="o" direction="out" />
2488+</method>
2489+<method name="addZoomRegion">
2490+ <arg type="o" direction="in" />
2491+ <arg type="b" direction="out" />
2492+</method>
2493+<method name="getZoomRegions">
2494+ <arg type="ao" direction="out" />
2495+</method>
2496+<method name="clearAllZoomRegions" />
2497+<method name="fullScreenCapable">
2498+ <arg type="b" direction="out" />
2499+</method>
2500+<method name="setCrosswireSize">
2501+ <arg type="i" direction="in" />
2502+</method>
2503+<method name="getCrosswireSize">
2504+ <arg type="i" direction="out" />
2505+</method>
2506+<method name="setCrosswireLength">
2507+ <arg type="i" direction="in" />
2508+</method>
2509+<method name="getCrosswireLength">
2510+ <arg type="i" direction="out" />
2511+</method>
2512+<method name="setCrosswireClip">
2513+ <arg type="b" direction="in" />
2514+</method>
2515+<method name="getCrosswireClip">
2516+ <arg type="b" direction="out" />
2517+</method>
2518+<method name="setCrosswireColor">
2519+ <arg type="u" direction="in" />
2520+</method>
2521+<method name="getCrosswireColor">
2522+ <arg type="u" direction="out" />
2523+</method>
2524+</interface>
2525+</node>`;
2526
2527 // Subset of gnome-mag's ZoomRegion dbus interface -- to be expanded. See:
2528 // http://git.gnome.org/browse/gnome-mag/tree/xml/...ZoomRegion.xml
2529-const ZoomRegionIface = '<node> \
2530-<interface name="org.gnome.Magnifier.ZoomRegion"> \
2531-<method name="setMagFactor"> \
2532- <arg type="d" direction="in" /> \
2533- <arg type="d" direction="in" /> \
2534-</method> \
2535-<method name="getMagFactor"> \
2536- <arg type="d" direction="out" /> \
2537- <arg type="d" direction="out" /> \
2538-</method> \
2539-<method name="setRoi"> \
2540- <arg type="ai" direction="in" /> \
2541-</method> \
2542-<method name="getRoi"> \
2543- <arg type="ai" direction="out" /> \
2544-</method> \
2545-<method name="shiftContentsTo"> \
2546- <arg type="i" direction="in" /> \
2547- <arg type="i" direction="in" /> \
2548- <arg type="b" direction="out" /> \
2549-</method> \
2550-<method name="moveResize"> \
2551- <arg type="ai" direction="in" /> \
2552-</method> \
2553-</interface> \
2554-</node>';
2555+const ZoomRegionIface = `
2556+<node>
2557+<interface name="org.gnome.Magnifier.ZoomRegion">
2558+<method name="setMagFactor">
2559+ <arg type="d" direction="in" />
2560+ <arg type="d" direction="in" />
2561+</method>
2562+<method name="getMagFactor">
2563+ <arg type="d" direction="out" />
2564+ <arg type="d" direction="out" />
2565+</method>
2566+<method name="setRoi">
2567+ <arg type="ai" direction="in" />
2568+</method>
2569+<method name="getRoi">
2570+ <arg type="ai" direction="out" />
2571+</method>
2572+<method name="shiftContentsTo">
2573+ <arg type="i" direction="in" />
2574+ <arg type="i" direction="in" />
2575+ <arg type="b" direction="out" />
2576+</method>
2577+<method name="moveResize">
2578+ <arg type="ai" direction="in" />
2579+</method>
2580+</interface>
2581+</node>`;
2582
2583 // For making unique ZoomRegion DBus proxy object paths of the form:
2584 // '/org/gnome/Magnifier/ZoomRegion/zoomer0',
2585diff --git a/js/ui/mpris.js b/js/ui/mpris.js
2586index 2e80e99..a3b369c 100644
2587--- a/js/ui/mpris.js
2588+++ b/js/ui/mpris.js
2589@@ -8,41 +8,44 @@ const Calendar = imports.ui.calendar;
2590 const Main = imports.ui.main;
2591 const MessageList = imports.ui.messageList;
2592
2593-const DBusIface = '<node> \
2594-<interface name="org.freedesktop.DBus"> \
2595- <method name="ListNames"> \
2596- <arg type="as" direction="out" name="names" /> \
2597- </method> \
2598- <signal name="NameOwnerChanged"> \
2599- <arg type="s" direction="out" name="name" /> \
2600- <arg type="s" direction="out" name="oldOwner" /> \
2601- <arg type="s" direction="out" name="newOwner" /> \
2602- </signal> \
2603-</interface> \
2604-</node>';
2605+const DBusIface = `
2606+<node>
2607+<interface name="org.freedesktop.DBus">
2608+ <method name="ListNames">
2609+ <arg type="as" direction="out" name="names" />
2610+ </method>
2611+ <signal name="NameOwnerChanged">
2612+ <arg type="s" direction="out" name="name" />
2613+ <arg type="s" direction="out" name="oldOwner" />
2614+ <arg type="s" direction="out" name="newOwner" />
2615+ </signal>
2616+</interface>
2617+</node>`;
2618 const DBusProxy = Gio.DBusProxy.makeProxyWrapper(DBusIface);
2619
2620-const MprisIface = '<node> \
2621-<interface name="org.mpris.MediaPlayer2"> \
2622- <method name="Raise" /> \
2623- <property name="CanRaise" type="b" access="read" /> \
2624- <property name="DesktopEntry" type="s" access="read" /> \
2625-</interface> \
2626-</node>';
2627+const MprisIface = `
2628+<node>
2629+<interface name="org.mpris.MediaPlayer2">
2630+ <method name="Raise" />
2631+ <property name="CanRaise" type="b" access="read" />
2632+ <property name="DesktopEntry" type="s" access="read" />
2633+</interface>
2634+</node>`;
2635 const MprisProxy = Gio.DBusProxy.makeProxyWrapper(MprisIface);
2636
2637-const MprisPlayerIface = '<node> \
2638-<interface name="org.mpris.MediaPlayer2.Player"> \
2639- <method name="PlayPause" /> \
2640- <method name="Next" /> \
2641- <method name="Previous" /> \
2642- <property name="CanGoNext" type="b" access="read" /> \
2643- <property name="CanGoPrevious" type="b" access="read" /> \
2644- <property name="CanPlay" type="b" access="read" /> \
2645- <property name="Metadata" type="a{sv}" access="read" /> \
2646- <property name="PlaybackStatus" type="s" access="read" /> \
2647-</interface> \
2648-</node>';
2649+const MprisPlayerIface = `
2650+<node>
2651+<interface name="org.mpris.MediaPlayer2.Player">
2652+ <method name="PlayPause" />
2653+ <method name="Next" />
2654+ <method name="Previous" />
2655+ <property name="CanGoNext" type="b" access="read" />
2656+ <property name="CanGoPrevious" type="b" access="read" />
2657+ <property name="CanPlay" type="b" access="read" />
2658+ <property name="Metadata" type="a{sv}" access="read" />
2659+ <property name="PlaybackStatus" type="s" access="read" />
2660+</interface>
2661+</node>`;
2662 const MprisPlayerProxy = Gio.DBusProxy.makeProxyWrapper(MprisPlayerIface);
2663
2664 const MPRIS_PLAYER_PREFIX = 'org.mpris.MediaPlayer2.';
2665diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js
2666index 2b5a453..19d23da 100644
2667--- a/js/ui/notificationDaemon.js
2668+++ b/js/ui/notificationDaemon.js
2669@@ -17,55 +17,57 @@ const Params = imports.misc.params;
2670 const Util = imports.misc.util;
2671
2672 // Should really be defined in Gio.js
2673-const BusIface = '<node> \
2674-<interface name="org.freedesktop.DBus"> \
2675-<method name="GetConnectionUnixProcessID"> \
2676- <arg type="s" direction="in" /> \
2677- <arg type="u" direction="out" /> \
2678-</method> \
2679-</interface> \
2680-</node>';
2681+const BusIface = `
2682+<node>
2683+<interface name="org.freedesktop.DBus">
2684+<method name="GetConnectionUnixProcessID">
2685+ <arg type="s" direction="in" />
2686+ <arg type="u" direction="out" />
2687+</method>
2688+</interface>
2689+</node>`;
2690
2691 var BusProxy = Gio.DBusProxy.makeProxyWrapper(BusIface);
2692 function Bus() {
2693 return new BusProxy(Gio.DBus.session, 'org.freedesktop.DBus', '/org/freedesktop/DBus');
2694 }
2695
2696-const FdoNotificationsIface = '<node> \
2697-<interface name="org.freedesktop.Notifications"> \
2698-<method name="Notify"> \
2699- <arg type="s" direction="in"/> \
2700- <arg type="u" direction="in"/> \
2701- <arg type="s" direction="in"/> \
2702- <arg type="s" direction="in"/> \
2703- <arg type="s" direction="in"/> \
2704- <arg type="as" direction="in"/> \
2705- <arg type="a{sv}" direction="in"/> \
2706- <arg type="i" direction="in"/> \
2707- <arg type="u" direction="out"/> \
2708-</method> \
2709-<method name="CloseNotification"> \
2710- <arg type="u" direction="in"/> \
2711-</method> \
2712-<method name="GetCapabilities"> \
2713- <arg type="as" direction="out"/> \
2714-</method> \
2715-<method name="GetServerInformation"> \
2716- <arg type="s" direction="out"/> \
2717- <arg type="s" direction="out"/> \
2718- <arg type="s" direction="out"/> \
2719- <arg type="s" direction="out"/> \
2720-</method> \
2721-<signal name="NotificationClosed"> \
2722- <arg type="u"/> \
2723- <arg type="u"/> \
2724-</signal> \
2725-<signal name="ActionInvoked"> \
2726- <arg type="u"/> \
2727- <arg type="s"/> \
2728-</signal> \
2729-</interface> \
2730-</node>';
2731+const FdoNotificationsIface = `
2732+<node>
2733+<interface name="org.freedesktop.Notifications">
2734+<method name="Notify">
2735+ <arg type="s" direction="in"/>
2736+ <arg type="u" direction="in"/>
2737+ <arg type="s" direction="in"/>
2738+ <arg type="s" direction="in"/>
2739+ <arg type="s" direction="in"/>
2740+ <arg type="as" direction="in"/>
2741+ <arg type="a{sv}" direction="in"/>
2742+ <arg type="i" direction="in"/>
2743+ <arg type="u" direction="out"/>
2744+</method>
2745+<method name="CloseNotification">
2746+ <arg type="u" direction="in"/>
2747+</method>
2748+<method name="GetCapabilities">
2749+ <arg type="as" direction="out"/>
2750+</method>
2751+<method name="GetServerInformation">
2752+ <arg type="s" direction="out"/>
2753+ <arg type="s" direction="out"/>
2754+ <arg type="s" direction="out"/>
2755+ <arg type="s" direction="out"/>
2756+</method>
2757+<signal name="NotificationClosed">
2758+ <arg type="u"/>
2759+ <arg type="u"/>
2760+</signal>
2761+<signal name="ActionInvoked">
2762+ <arg type="u"/>
2763+ <arg type="s"/>
2764+</signal>
2765+</interface>
2766+</node>`;
2767
2768 var NotificationClosedReason = {
2769 EXPIRED: 1,
2770@@ -654,18 +656,19 @@ var GtkNotificationDaemonNotification = new Lang.Class({
2771 },
2772 });
2773
2774-const FdoApplicationIface = '<node> \
2775-<interface name="org.freedesktop.Application"> \
2776-<method name="ActivateAction"> \
2777- <arg type="s" direction="in" /> \
2778- <arg type="av" direction="in" /> \
2779- <arg type="a{sv}" direction="in" /> \
2780-</method> \
2781-<method name="Activate"> \
2782- <arg type="a{sv}" direction="in" /> \
2783-</method> \
2784-</interface> \
2785-</node>';
2786+const FdoApplicationIface = `
2787+<node>
2788+<interface name="org.freedesktop.Application">
2789+<method name="ActivateAction">
2790+ <arg type="s" direction="in" />
2791+ <arg type="av" direction="in" />
2792+ <arg type="a{sv}" direction="in" />
2793+</method>
2794+<method name="Activate">
2795+ <arg type="a{sv}" direction="in" />
2796+</method>
2797+</interface>
2798+</node>`;
2799 const FdoApplicationProxy = Gio.DBusProxy.makeProxyWrapper(FdoApplicationIface);
2800
2801 function objectPathFromAppId(appId) {
2802@@ -774,19 +777,20 @@ var GtkNotificationDaemonAppSource = new Lang.Class({
2803 },
2804 });
2805
2806-const GtkNotificationsIface = '<node> \
2807-<interface name="org.gtk.Notifications"> \
2808-<method name="AddNotification"> \
2809- <arg type="s" direction="in" /> \
2810- <arg type="s" direction="in" /> \
2811- <arg type="a{sv}" direction="in" /> \
2812-</method> \
2813-<method name="RemoveNotification"> \
2814- <arg type="s" direction="in" /> \
2815- <arg type="s" direction="in" /> \
2816-</method> \
2817-</interface> \
2818-</node>';
2819+const GtkNotificationsIface = `
2820+<node>
2821+<interface name="org.gtk.Notifications">
2822+<method name="AddNotification">
2823+ <arg type="s" direction="in" />
2824+ <arg type="s" direction="in" />
2825+ <arg type="a{sv}" direction="in" />
2826+</method>
2827+<method name="RemoveNotification">
2828+ <arg type="s" direction="in" />
2829+ <arg type="s" direction="in" />
2830+</method>
2831+</interface>
2832+</node>`;
2833
2834 var GtkNotificationDaemon = new Lang.Class({
2835 Name: 'GtkNotificationDaemon',
2836diff --git a/js/ui/padOsd.js b/js/ui/padOsd.js
2837index 8ef20b6..76321f5 100644
2838--- a/js/ui/padOsd.js
2839+++ b/js/ui/padOsd.js
2840@@ -962,14 +962,15 @@ var PadOsd = new Lang.Class({
2841 });
2842 Signals.addSignalMethods(PadOsd.prototype);
2843
2844-const PadOsdIface = '<node> \
2845-<interface name="org.gnome.Shell.Wacom.PadOsd"> \
2846-<method name="Show"> \
2847- <arg name="device_node" direction="in" type="o"/> \
2848- <arg name="edition_mode" direction="in" type="b"/> \
2849-</method> \
2850-</interface> \
2851-</node>';
2852+const PadOsdIface = `
2853+<node>
2854+<interface name="org.gnome.Shell.Wacom.PadOsd">
2855+<method name="Show">
2856+ <arg name="device_node" direction="in" type="o"/>
2857+ <arg name="edition_mode" direction="in" type="b"/>
2858+</method>
2859+</interface>
2860+</node>`;
2861
2862 var PadOsdService = new Lang.Class({
2863 Name: 'PadOsdService',
2864diff --git a/js/ui/panel.js b/js/ui/panel.js
2865index 05241ab..3726b84 100644
2866--- a/js/ui/panel.js
2867+++ b/js/ui/panel.js
2868@@ -307,8 +307,11 @@ var AppMenuButton = new Lang.Class({
2869 }
2870 }
2871
2872+ let shellShowsAppMenu = this._gtkSettings.gtk_shell_shows_app_menu;
2873+ Meta.prefs_set_show_fallback_app_menu(!shellShowsAppMenu);
2874+
2875 let visible = (this._targetApp != null &&
2876- this._gtkSettings.gtk_shell_shows_app_menu &&
2877+ shellShowsAppMenu &&
2878 !Main.overview.visibleTarget);
2879 if (visible)
2880 this.show();
2881@@ -776,6 +779,7 @@ var Panel = new Lang.Class({
2882 this.actor = new Shell.GenericContainer({ name: 'panel',
2883 reactive: true });
2884 this.actor._delegate = this;
2885+ this.actor.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
2886
2887 this._sessionStyle = null;
2888
2889diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js
2890index c6c5a29..3b847af 100644
2891--- a/js/ui/remoteSearch.js
2892+++ b/js/ui/remoteSearch.js
2893@@ -12,53 +12,55 @@ const Search = imports.ui.search;
2894
2895 const KEY_FILE_GROUP = 'Shell Search Provider';
2896
2897-const SearchProviderIface = '<node> \
2898-<interface name="org.gnome.Shell.SearchProvider"> \
2899-<method name="GetInitialResultSet"> \
2900- <arg type="as" direction="in" /> \
2901- <arg type="as" direction="out" /> \
2902-</method> \
2903-<method name="GetSubsearchResultSet"> \
2904- <arg type="as" direction="in" /> \
2905- <arg type="as" direction="in" /> \
2906- <arg type="as" direction="out" /> \
2907-</method> \
2908-<method name="GetResultMetas"> \
2909- <arg type="as" direction="in" /> \
2910- <arg type="aa{sv}" direction="out" /> \
2911-</method> \
2912-<method name="ActivateResult"> \
2913- <arg type="s" direction="in" /> \
2914-</method> \
2915-</interface> \
2916-</node>';
2917-
2918-const SearchProvider2Iface = '<node> \
2919-<interface name="org.gnome.Shell.SearchProvider2"> \
2920-<method name="GetInitialResultSet"> \
2921- <arg type="as" direction="in" /> \
2922- <arg type="as" direction="out" /> \
2923-</method> \
2924-<method name="GetSubsearchResultSet"> \
2925- <arg type="as" direction="in" /> \
2926- <arg type="as" direction="in" /> \
2927- <arg type="as" direction="out" /> \
2928-</method> \
2929-<method name="GetResultMetas"> \
2930- <arg type="as" direction="in" /> \
2931- <arg type="aa{sv}" direction="out" /> \
2932-</method> \
2933-<method name="ActivateResult"> \
2934- <arg type="s" direction="in" /> \
2935- <arg type="as" direction="in" /> \
2936- <arg type="u" direction="in" /> \
2937-</method> \
2938-<method name="LaunchSearch"> \
2939- <arg type="as" direction="in" /> \
2940- <arg type="u" direction="in" /> \
2941-</method> \
2942-</interface> \
2943-</node>';
2944+const SearchProviderIface = `
2945+<node>
2946+<interface name="org.gnome.Shell.SearchProvider">
2947+<method name="GetInitialResultSet">
2948+ <arg type="as" direction="in" />
2949+ <arg type="as" direction="out" />
2950+</method>
2951+<method name="GetSubsearchResultSet">
2952+ <arg type="as" direction="in" />
2953+ <arg type="as" direction="in" />
2954+ <arg type="as" direction="out" />
2955+</method>
2956+<method name="GetResultMetas">
2957+ <arg type="as" direction="in" />
2958+ <arg type="aa{sv}" direction="out" />
2959+</method>
2960+<method name="ActivateResult">
2961+ <arg type="s" direction="in" />
2962+</method>
2963+</interface>
2964+</node>`;
2965+
2966+const SearchProvider2Iface = `
2967+<node>
2968+<interface name="org.gnome.Shell.SearchProvider2">
2969+<method name="GetInitialResultSet">
2970+ <arg type="as" direction="in" />
2971+ <arg type="as" direction="out" />
2972+</method>
2973+<method name="GetSubsearchResultSet">
2974+ <arg type="as" direction="in" />
2975+ <arg type="as" direction="in" />
2976+ <arg type="as" direction="out" />
2977+</method>
2978+<method name="GetResultMetas">
2979+ <arg type="as" direction="in" />
2980+ <arg type="aa{sv}" direction="out" />
2981+</method>
2982+<method name="ActivateResult">
2983+ <arg type="s" direction="in" />
2984+ <arg type="as" direction="in" />
2985+ <arg type="u" direction="in" />
2986+</method>
2987+<method name="LaunchSearch">
2988+ <arg type="as" direction="in" />
2989+ <arg type="u" direction="in" />
2990+</method>
2991+</interface>
2992+</node>`;
2993
2994 var SearchProviderProxyInfo = Gio.DBusInterfaceInfo.new_for_xml(SearchProviderIface);
2995 var SearchProvider2ProxyInfo = Gio.DBusInterfaceInfo.new_for_xml(SearchProvider2Iface);
2996diff --git a/js/ui/screencast.js b/js/ui/screencast.js
2997index bf5d954..91514e3 100644
2998--- a/js/ui/screencast.js
2999+++ b/js/ui/screencast.js
3000@@ -8,29 +8,30 @@ const Signals = imports.signals;
3001
3002 const Main = imports.ui.main;
3003
3004-const ScreencastIface = '<node> \
3005-<interface name="org.gnome.Shell.Screencast"> \
3006-<method name="Screencast"> \
3007- <arg type="s" direction="in" name="file_template"/> \
3008- <arg type="a{sv}" direction="in" name="options"/> \
3009- <arg type="b" direction="out" name="success"/> \
3010- <arg type="s" direction="out" name="filename_used"/> \
3011-</method> \
3012-<method name="ScreencastArea"> \
3013- <arg type="i" direction="in" name="x"/> \
3014- <arg type="i" direction="in" name="y"/> \
3015- <arg type="i" direction="in" name="width"/> \
3016- <arg type="i" direction="in" name="height"/> \
3017- <arg type="s" direction="in" name="file_template"/> \
3018- <arg type="a{sv}" direction="in" name="options"/> \
3019- <arg type="b" direction="out" name="success"/> \
3020- <arg type="s" direction="out" name="filename_used"/> \
3021-</method> \
3022-<method name="StopScreencast"> \
3023- <arg type="b" direction="out" name="success"/> \
3024-</method> \
3025-</interface> \
3026-</node>';
3027+const ScreencastIface = `
3028+<node>
3029+<interface name="org.gnome.Shell.Screencast">
3030+<method name="Screencast">
3031+ <arg type="s" direction="in" name="file_template"/>
3032+ <arg type="a{sv}" direction="in" name="options"/>
3033+ <arg type="b" direction="out" name="success"/>
3034+ <arg type="s" direction="out" name="filename_used"/>
3035+</method>
3036+<method name="ScreencastArea">
3037+ <arg type="i" direction="in" name="x"/>
3038+ <arg type="i" direction="in" name="y"/>
3039+ <arg type="i" direction="in" name="width"/>
3040+ <arg type="i" direction="in" name="height"/>
3041+ <arg type="s" direction="in" name="file_template"/>
3042+ <arg type="a{sv}" direction="in" name="options"/>
3043+ <arg type="b" direction="out" name="success"/>
3044+ <arg type="s" direction="out" name="filename_used"/>
3045+</method>
3046+<method name="StopScreencast">
3047+ <arg type="b" direction="out" name="success"/>
3048+</method>
3049+</interface>
3050+</node>`;
3051
3052 var ScreencastService = new Lang.Class({
3053 Name: 'ScreencastService',
3054diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js
3055index 356a8cc..6534542 100644
3056--- a/js/ui/screenshot.js
3057+++ b/js/ui/screenshot.js
3058@@ -16,50 +16,51 @@ const Lightbox = imports.ui.lightbox;
3059 const Main = imports.ui.main;
3060 const Tweener = imports.ui.tweener;
3061
3062-const ScreenshotIface = '<node> \
3063-<interface name="org.gnome.Shell.Screenshot"> \
3064-<method name="ScreenshotArea"> \
3065- <arg type="i" direction="in" name="x"/> \
3066- <arg type="i" direction="in" name="y"/> \
3067- <arg type="i" direction="in" name="width"/> \
3068- <arg type="i" direction="in" name="height"/> \
3069- <arg type="b" direction="in" name="flash"/> \
3070- <arg type="s" direction="in" name="filename"/> \
3071- <arg type="b" direction="out" name="success"/> \
3072- <arg type="s" direction="out" name="filename_used"/> \
3073-</method> \
3074-<method name="ScreenshotWindow"> \
3075- <arg type="b" direction="in" name="include_frame"/> \
3076- <arg type="b" direction="in" name="include_cursor"/> \
3077- <arg type="b" direction="in" name="flash"/> \
3078- <arg type="s" direction="in" name="filename"/> \
3079- <arg type="b" direction="out" name="success"/> \
3080- <arg type="s" direction="out" name="filename_used"/> \
3081-</method> \
3082-<method name="Screenshot"> \
3083- <arg type="b" direction="in" name="include_cursor"/> \
3084- <arg type="b" direction="in" name="flash"/> \
3085- <arg type="s" direction="in" name="filename"/> \
3086- <arg type="b" direction="out" name="success"/> \
3087- <arg type="s" direction="out" name="filename_used"/> \
3088-</method> \
3089-<method name="SelectArea"> \
3090- <arg type="i" direction="out" name="x"/> \
3091- <arg type="i" direction="out" name="y"/> \
3092- <arg type="i" direction="out" name="width"/> \
3093- <arg type="i" direction="out" name="height"/> \
3094-</method> \
3095-<method name="FlashArea"> \
3096- <arg type="i" direction="in" name="x"/> \
3097- <arg type="i" direction="in" name="y"/> \
3098- <arg type="i" direction="in" name="width"/> \
3099- <arg type="i" direction="in" name="height"/> \
3100-</method> \
3101-<method name="PickColor"> \
3102- <arg type="a{sv}" direction="out" name="result"/> \
3103-</method> \
3104-</interface> \
3105-</node>';
3106+const ScreenshotIface = `
3107+<node>
3108+<interface name="org.gnome.Shell.Screenshot">
3109+<method name="ScreenshotArea">
3110+ <arg type="i" direction="in" name="x"/>
3111+ <arg type="i" direction="in" name="y"/>
3112+ <arg type="i" direction="in" name="width"/>
3113+ <arg type="i" direction="in" name="height"/>
3114+ <arg type="b" direction="in" name="flash"/>
3115+ <arg type="s" direction="in" name="filename"/>
3116+ <arg type="b" direction="out" name="success"/>
3117+ <arg type="s" direction="out" name="filename_used"/>
3118+</method>
3119+<method name="ScreenshotWindow">
3120+ <arg type="b" direction="in" name="include_frame"/>
3121+ <arg type="b" direction="in" name="include_cursor"/>
3122+ <arg type="b" direction="in" name="flash"/>
3123+ <arg type="s" direction="in" name="filename"/>
3124+ <arg type="b" direction="out" name="success"/>
3125+ <arg type="s" direction="out" name="filename_used"/>
3126+</method>
3127+<method name="Screenshot">
3128+ <arg type="b" direction="in" name="include_cursor"/>
3129+ <arg type="b" direction="in" name="flash"/>
3130+ <arg type="s" direction="in" name="filename"/>
3131+ <arg type="b" direction="out" name="success"/>
3132+ <arg type="s" direction="out" name="filename_used"/>
3133+</method>
3134+<method name="SelectArea">
3135+ <arg type="i" direction="out" name="x"/>
3136+ <arg type="i" direction="out" name="y"/>
3137+ <arg type="i" direction="out" name="width"/>
3138+ <arg type="i" direction="out" name="height"/>
3139+</method>
3140+<method name="FlashArea">
3141+ <arg type="i" direction="in" name="x"/>
3142+ <arg type="i" direction="in" name="y"/>
3143+ <arg type="i" direction="in" name="width"/>
3144+ <arg type="i" direction="in" name="height"/>
3145+</method>
3146+<method name="PickColor">
3147+ <arg type="a{sv}" direction="out" name="result"/>
3148+</method>
3149+</interface>
3150+</node>`;
3151
3152 var ScreenshotService = new Lang.Class({
3153 Name: 'ScreenshotService',
3154diff --git a/js/ui/scripting.js b/js/ui/scripting.js
3155index c96ebd1..b325eb1 100644
3156--- a/js/ui/scripting.js
3157+++ b/js/ui/scripting.js
3158@@ -68,19 +68,20 @@ function waitLeisure() {
3159 return callback => { cb = callback; };
3160 }
3161
3162-const PerfHelperIface = '<node> \
3163-<interface name="org.gnome.Shell.PerfHelper"> \
3164-<method name="CreateWindow"> \
3165- <arg type="i" direction="in" /> \
3166- <arg type="i" direction="in" /> \
3167- <arg type="b" direction="in" /> \
3168- <arg type="b" direction="in" /> \
3169- <arg type="b" direction="in" /> \
3170-</method> \
3171-<method name="WaitWindows" /> \
3172-<method name="DestroyWindows" /> \
3173-</interface> \
3174-</node>';
3175+const PerfHelperIface = `
3176+<node>
3177+<interface name="org.gnome.Shell.PerfHelper">
3178+<method name="CreateWindow">
3179+ <arg type="i" direction="in" />
3180+ <arg type="i" direction="in" />
3181+ <arg type="b" direction="in" />
3182+ <arg type="b" direction="in" />
3183+ <arg type="b" direction="in" />
3184+</method>
3185+<method name="WaitWindows" />
3186+<method name="DestroyWindows" />
3187+</interface>
3188+</node>`;
3189
3190 var PerfHelperProxy = Gio.DBusProxy.makeProxyWrapper(PerfHelperIface);
3191 function PerfHelper() {
3192diff --git a/js/ui/shellDBus.js b/js/ui/shellDBus.js
3193index 4d60ef4..871fe99 100644
3194--- a/js/ui/shellDBus.js
3195+++ b/js/ui/shellDBus.js
3196@@ -14,70 +14,72 @@ const Main = imports.ui.main;
3197 const Screenshot = imports.ui.screenshot;
3198 const ViewSelector = imports.ui.viewSelector;
3199
3200-const GnomeShellIface = '<node> \
3201-<interface name="org.gnome.Shell"> \
3202-<method name="Eval"> \
3203- <arg type="s" direction="in" name="script" /> \
3204- <arg type="b" direction="out" name="success" /> \
3205- <arg type="s" direction="out" name="result" /> \
3206-</method> \
3207-<method name="FocusSearch"/> \
3208-<method name="ShowOSD"> \
3209- <arg type="a{sv}" direction="in" name="params"/> \
3210-</method> \
3211-<method name="ShowMonitorLabels"> \
3212- <arg type="a{uv}" direction="in" name="params" /> \
3213-</method> \
3214-<method name="ShowMonitorLabels2"> \
3215- <arg type="a{sv}" direction="in" name="params" /> \
3216-</method> \
3217-<method name="HideMonitorLabels" /> \
3218-<method name="FocusApp"> \
3219- <arg type="s" direction="in" name="id"/> \
3220-</method> \
3221-<method name="ShowApplications" /> \
3222-<method name="GrabAccelerator"> \
3223- <arg type="s" direction="in" name="accelerator"/> \
3224- <arg type="u" direction="in" name="flags"/> \
3225- <arg type="u" direction="out" name="action"/> \
3226-</method> \
3227-<method name="GrabAccelerators"> \
3228- <arg type="a(su)" direction="in" name="accelerators"/> \
3229- <arg type="au" direction="out" name="actions"/> \
3230-</method> \
3231-<method name="UngrabAccelerator"> \
3232- <arg type="u" direction="in" name="action"/> \
3233- <arg type="b" direction="out" name="success"/> \
3234-</method> \
3235-<signal name="AcceleratorActivated"> \
3236- <arg name="action" type="u" /> \
3237- <arg name="parameters" type="a{sv}" /> \
3238-</signal> \
3239-<property name="Mode" type="s" access="read" /> \
3240-<property name="OverviewActive" type="b" access="readwrite" /> \
3241-<property name="ShellVersion" type="s" access="read" /> \
3242-</interface> \
3243-</node>';
3244-
3245-const ScreenSaverIface = '<node> \
3246-<interface name="org.gnome.ScreenSaver"> \
3247-<method name="Lock"> \
3248-</method> \
3249-<method name="GetActive"> \
3250- <arg name="active" direction="out" type="b" /> \
3251-</method> \
3252-<method name="SetActive"> \
3253- <arg name="value" direction="in" type="b" /> \
3254-</method> \
3255-<method name="GetActiveTime"> \
3256- <arg name="value" direction="out" type="u" /> \
3257-</method> \
3258-<signal name="ActiveChanged"> \
3259- <arg name="new_value" type="b" /> \
3260-</signal> \
3261-<signal name="WakeUpScreen" /> \
3262-</interface> \
3263-</node>';
3264+const GnomeShellIface = `
3265+<node>
3266+<interface name="org.gnome.Shell">
3267+<method name="Eval">
3268+ <arg type="s" direction="in" name="script" />
3269+ <arg type="b" direction="out" name="success" />
3270+ <arg type="s" direction="out" name="result" />
3271+</method>
3272+<method name="FocusSearch"/>
3273+<method name="ShowOSD">
3274+ <arg type="a{sv}" direction="in" name="params"/>
3275+</method>
3276+<method name="ShowMonitorLabels">
3277+ <arg type="a{uv}" direction="in" name="params" />
3278+</method>
3279+<method name="ShowMonitorLabels2">
3280+ <arg type="a{sv}" direction="in" name="params" />
3281+</method>
3282+<method name="HideMonitorLabels" />
3283+<method name="FocusApp">
3284+ <arg type="s" direction="in" name="id"/>
3285+</method>
3286+<method name="ShowApplications" />
3287+<method name="GrabAccelerator">
3288+ <arg type="s" direction="in" name="accelerator"/>
3289+ <arg type="u" direction="in" name="flags"/>
3290+ <arg type="u" direction="out" name="action"/>
3291+</method>
3292+<method name="GrabAccelerators">
3293+ <arg type="a(su)" direction="in" name="accelerators"/>
3294+ <arg type="au" direction="out" name="actions"/>
3295+</method>
3296+<method name="UngrabAccelerator">
3297+ <arg type="u" direction="in" name="action"/>
3298+ <arg type="b" direction="out" name="success"/>
3299+</method>
3300+<signal name="AcceleratorActivated">
3301+ <arg name="action" type="u" />
3302+ <arg name="parameters" type="a{sv}" />
3303+</signal>
3304+<property name="Mode" type="s" access="read" />
3305+<property name="OverviewActive" type="b" access="readwrite" />
3306+<property name="ShellVersion" type="s" access="read" />
3307+</interface>
3308+</node>`;
3309+
3310+const ScreenSaverIface = `
3311+<node>
3312+<interface name="org.gnome.ScreenSaver">
3313+<method name="Lock">
3314+</method>
3315+<method name="GetActive">
3316+ <arg name="active" direction="out" type="b" />
3317+</method>
3318+<method name="SetActive">
3319+ <arg name="value" direction="in" type="b" />
3320+</method>
3321+<method name="GetActiveTime">
3322+ <arg name="value" direction="out" type="u" />
3323+</method>
3324+<signal name="ActiveChanged">
3325+ <arg name="new_value" type="b" />
3326+</signal>
3327+<signal name="WakeUpScreen" />
3328+</interface>
3329+</node>`;
3330
3331 var GnomeShell = new Lang.Class({
3332 Name: 'GnomeShellDBus',
3333@@ -293,43 +295,44 @@ var GnomeShell = new Lang.Class({
3334 ShellVersion: Config.PACKAGE_VERSION
3335 });
3336
3337-const GnomeShellExtensionsIface = '<node> \
3338-<interface name="org.gnome.Shell.Extensions"> \
3339-<method name="ListExtensions"> \
3340- <arg type="a{sa{sv}}" direction="out" name="extensions" /> \
3341-</method> \
3342-<method name="GetExtensionInfo"> \
3343- <arg type="s" direction="in" name="extension" /> \
3344- <arg type="a{sv}" direction="out" name="info" /> \
3345-</method> \
3346-<method name="GetExtensionErrors"> \
3347- <arg type="s" direction="in" name="extension" /> \
3348- <arg type="as" direction="out" name="errors" /> \
3349-</method> \
3350-<signal name="ExtensionStatusChanged"> \
3351- <arg type="s" name="uuid"/> \
3352- <arg type="i" name="state"/> \
3353- <arg type="s" name="error"/> \
3354-</signal> \
3355-<method name="InstallRemoteExtension"> \
3356- <arg type="s" direction="in" name="uuid"/> \
3357- <arg type="s" direction="out" name="result"/> \
3358-</method> \
3359-<method name="UninstallExtension"> \
3360- <arg type="s" direction="in" name="uuid"/> \
3361- <arg type="b" direction="out" name="success"/> \
3362-</method> \
3363-<method name="LaunchExtensionPrefs"> \
3364- <arg type="s" direction="in" name="uuid"/> \
3365-</method> \
3366-<method name="ReloadExtension"> \
3367- <arg type="s" direction="in" name="uuid"/> \
3368-</method> \
3369-<method name="CheckForUpdates"> \
3370-</method> \
3371-<property name="ShellVersion" type="s" access="read" /> \
3372-</interface> \
3373-</node>';
3374+const GnomeShellExtensionsIface = `
3375+<node>
3376+<interface name="org.gnome.Shell.Extensions">
3377+<method name="ListExtensions">
3378+ <arg type="a{sa{sv}}" direction="out" name="extensions" />
3379+</method>
3380+<method name="GetExtensionInfo">
3381+ <arg type="s" direction="in" name="extension" />
3382+ <arg type="a{sv}" direction="out" name="info" />
3383+</method>
3384+<method name="GetExtensionErrors">
3385+ <arg type="s" direction="in" name="extension" />
3386+ <arg type="as" direction="out" name="errors" />
3387+</method>
3388+<signal name="ExtensionStatusChanged">
3389+ <arg type="s" name="uuid"/>
3390+ <arg type="i" name="state"/>
3391+ <arg type="s" name="error"/>
3392+</signal>
3393+<method name="InstallRemoteExtension">
3394+ <arg type="s" direction="in" name="uuid"/>
3395+ <arg type="s" direction="out" name="result"/>
3396+</method>
3397+<method name="UninstallExtension">
3398+ <arg type="s" direction="in" name="uuid"/>
3399+ <arg type="b" direction="out" name="success"/>
3400+</method>
3401+<method name="LaunchExtensionPrefs">
3402+ <arg type="s" direction="in" name="uuid"/>
3403+</method>
3404+<method name="ReloadExtension">
3405+ <arg type="s" direction="in" name="uuid"/>
3406+</method>
3407+<method name="CheckForUpdates">
3408+</method>
3409+<property name="ShellVersion" type="s" access="read" />
3410+</interface>
3411+</node>`;
3412
3413 var GnomeShellExtensions = new Lang.Class({
3414 Name: 'GnomeShellExtensionsDBus',
3415diff --git a/js/ui/shellMountOperation.js b/js/ui/shellMountOperation.js
3416index dee7799..9be0a46 100644
3417--- a/js/ui/shellMountOperation.js
3418+++ b/js/ui/shellMountOperation.js
3419@@ -436,38 +436,39 @@ var ShellProcessesDialog = new Lang.Class({
3420 });
3421 Signals.addSignalMethods(ShellProcessesDialog.prototype);
3422
3423-const GnomeShellMountOpIface = '<node> \
3424-<interface name="org.Gtk.MountOperationHandler"> \
3425-<method name="AskPassword"> \
3426- <arg type="s" direction="in" name="object_id"/> \
3427- <arg type="s" direction="in" name="message"/> \
3428- <arg type="s" direction="in" name="icon_name"/> \
3429- <arg type="s" direction="in" name="default_user"/> \
3430- <arg type="s" direction="in" name="default_domain"/> \
3431- <arg type="u" direction="in" name="flags"/> \
3432- <arg type="u" direction="out" name="response"/> \
3433- <arg type="a{sv}" direction="out" name="response_details"/> \
3434-</method> \
3435-<method name="AskQuestion"> \
3436- <arg type="s" direction="in" name="object_id"/> \
3437- <arg type="s" direction="in" name="message"/> \
3438- <arg type="s" direction="in" name="icon_name"/> \
3439- <arg type="as" direction="in" name="choices"/> \
3440- <arg type="u" direction="out" name="response"/> \
3441- <arg type="a{sv}" direction="out" name="response_details"/> \
3442-</method> \
3443-<method name="ShowProcesses"> \
3444- <arg type="s" direction="in" name="object_id"/> \
3445- <arg type="s" direction="in" name="message"/> \
3446- <arg type="s" direction="in" name="icon_name"/> \
3447- <arg type="ai" direction="in" name="application_pids"/> \
3448- <arg type="as" direction="in" name="choices"/> \
3449- <arg type="u" direction="out" name="response"/> \
3450- <arg type="a{sv}" direction="out" name="response_details"/> \
3451-</method> \
3452-<method name="Close"/> \
3453-</interface> \
3454-</node>';
3455+const GnomeShellMountOpIface = `
3456+<node>
3457+<interface name="org.Gtk.MountOperationHandler">
3458+<method name="AskPassword">
3459+ <arg type="s" direction="in" name="object_id"/>
3460+ <arg type="s" direction="in" name="message"/>
3461+ <arg type="s" direction="in" name="icon_name"/>
3462+ <arg type="s" direction="in" name="default_user"/>
3463+ <arg type="s" direction="in" name="default_domain"/>
3464+ <arg type="u" direction="in" name="flags"/>
3465+ <arg type="u" direction="out" name="response"/>
3466+ <arg type="a{sv}" direction="out" name="response_details"/>
3467+</method>
3468+<method name="AskQuestion">
3469+ <arg type="s" direction="in" name="object_id"/>
3470+ <arg type="s" direction="in" name="message"/>
3471+ <arg type="s" direction="in" name="icon_name"/>
3472+ <arg type="as" direction="in" name="choices"/>
3473+ <arg type="u" direction="out" name="response"/>
3474+ <arg type="a{sv}" direction="out" name="response_details"/>
3475+</method>
3476+<method name="ShowProcesses">
3477+ <arg type="s" direction="in" name="object_id"/>
3478+ <arg type="s" direction="in" name="message"/>
3479+ <arg type="s" direction="in" name="icon_name"/>
3480+ <arg type="ai" direction="in" name="application_pids"/>
3481+ <arg type="as" direction="in" name="choices"/>
3482+ <arg type="u" direction="out" name="response"/>
3483+ <arg type="a{sv}" direction="out" name="response_details"/>
3484+</method>
3485+<method name="Close"/>
3486+</interface>
3487+</node>`;
3488
3489 var ShellMountOperationType = {
3490 NONE: 0,
3491diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js
3492index 7ffc8f7..c81f836 100644
3493--- a/js/ui/status/bluetooth.js
3494+++ b/js/ui/status/bluetooth.js
3495@@ -11,13 +11,14 @@ const PopupMenu = imports.ui.popupMenu;
3496 const BUS_NAME = 'org.gnome.SettingsDaemon.Rfkill';
3497 const OBJECT_PATH = '/org/gnome/SettingsDaemon/Rfkill';
3498
3499-const RfkillManagerInterface = '<node> \
3500-<interface name="org.gnome.SettingsDaemon.Rfkill"> \
3501-<property name="BluetoothAirplaneMode" type="b" access="readwrite" /> \
3502-<property name="BluetoothHasAirplaneMode" type="b" access="read" /> \
3503-<property name="BluetoothHardwareAirplaneMode" type="b" access="readwrite" /> \
3504-</interface> \
3505-</node>';
3506+const RfkillManagerInterface = `
3507+<node>
3508+<interface name="org.gnome.SettingsDaemon.Rfkill">
3509+<property name="BluetoothAirplaneMode" type="b" access="readwrite" />
3510+<property name="BluetoothHasAirplaneMode" type="b" access="read" />
3511+<property name="BluetoothHardwareAirplaneMode" type="b" access="readwrite" />
3512+</interface>
3513+</node>`;
3514
3515 const RfkillManagerProxy = Gio.DBusProxy.makeProxyWrapper(RfkillManagerInterface);
3516
3517diff --git a/js/ui/status/brightness.js b/js/ui/status/brightness.js
3518index 55c5b0f..50640d2 100644
3519--- a/js/ui/status/brightness.js
3520+++ b/js/ui/status/brightness.js
3521@@ -11,11 +11,12 @@ const Slider = imports.ui.slider;
3522 const BUS_NAME = 'org.gnome.SettingsDaemon.Power';
3523 const OBJECT_PATH = '/org/gnome/SettingsDaemon/Power';
3524
3525-const BrightnessInterface = '<node> \
3526-<interface name="org.gnome.SettingsDaemon.Power.Screen"> \
3527-<property name="Brightness" type="i" access="readwrite"/> \
3528-</interface> \
3529-</node>';
3530+const BrightnessInterface = `
3531+<node>
3532+<interface name="org.gnome.SettingsDaemon.Power.Screen">
3533+<property name="Brightness" type="i" access="readwrite"/>
3534+</interface>
3535+</node>`;
3536
3537 const BrightnessProxy = Gio.DBusProxy.makeProxyWrapper(BrightnessInterface);
3538
3539diff --git a/js/ui/status/location.js b/js/ui/status/location.js
3540index e59a503..b5d6c7d 100644
3541--- a/js/ui/status/location.js
3542+++ b/js/ui/status/location.js
3543@@ -40,29 +40,31 @@ function accuracyLevelToString(accuracyLevel) {
3544 return 'NONE';
3545 }
3546
3547-var GeoclueIface = '<node> \
3548- <interface name="org.freedesktop.GeoClue2.Manager"> \
3549- <property name="InUse" type="b" access="read"/> \
3550- <property name="AvailableAccuracyLevel" type="u" access="read"/> \
3551- <method name="AddAgent"> \
3552- <arg name="id" type="s" direction="in"/> \
3553- </method> \
3554- </interface> \
3555-</node>';
3556+var GeoclueIface = `
3557+<node>
3558+ <interface name="org.freedesktop.GeoClue2.Manager">
3559+ <property name="InUse" type="b" access="read"/>
3560+ <property name="AvailableAccuracyLevel" type="u" access="read"/>
3561+ <method name="AddAgent">
3562+ <arg name="id" type="s" direction="in"/>
3563+ </method>
3564+ </interface>
3565+</node>`;
3566
3567 const GeoclueManager = Gio.DBusProxy.makeProxyWrapper(GeoclueIface);
3568
3569-var AgentIface = '<node> \
3570- <interface name="org.freedesktop.GeoClue2.Agent"> \
3571- <property name="MaxAccuracyLevel" type="u" access="read"/> \
3572- <method name="AuthorizeApp"> \
3573- <arg name="desktop_id" type="s" direction="in"/> \
3574- <arg name="req_accuracy_level" type="u" direction="in"/> \
3575- <arg name="authorized" type="b" direction="out"/> \
3576- <arg name="allowed_accuracy_level" type="u" direction="out"/> \
3577- </method> \
3578- </interface> \
3579-</node>';
3580+var AgentIface = `
3581+<node>
3582+ <interface name="org.freedesktop.GeoClue2.Agent">
3583+ <property name="MaxAccuracyLevel" type="u" access="read"/>
3584+ <method name="AuthorizeApp">
3585+ <arg name="desktop_id" type="s" direction="in"/>
3586+ <arg name="req_accuracy_level" type="u" direction="in"/>
3587+ <arg name="authorized" type="b" direction="out"/>
3588+ <arg name="allowed_accuracy_level" type="u" direction="out"/>
3589+ </method>
3590+ </interface>
3591+</node>`;
3592
3593 var Indicator = new Lang.Class({
3594 Name: 'LocationIndicator',
3595diff --git a/js/ui/status/network.js b/js/ui/status/network.js
3596index bf3a2ba..3e3d0d1 100644
3597--- a/js/ui/status/network.js
3598+++ b/js/ui/status/network.js
3599@@ -51,25 +51,26 @@ var PortalHelperResult = {
3600 RECHECK: 2
3601 };
3602
3603-const PortalHelperIface = '<node> \
3604-<interface name="org.gnome.Shell.PortalHelper"> \
3605-<method name="Authenticate"> \
3606- <arg type="o" direction="in" name="connection" /> \
3607- <arg type="s" direction="in" name="url" /> \
3608- <arg type="u" direction="in" name="timestamp" /> \
3609-</method> \
3610-<method name="Close"> \
3611- <arg type="o" direction="in" name="connection" /> \
3612-</method> \
3613-<method name="Refresh"> \
3614- <arg type="o" direction="in" name="connection" /> \
3615-</method> \
3616-<signal name="Done"> \
3617- <arg type="o" name="connection" /> \
3618- <arg type="u" name="result" /> \
3619-</signal> \
3620-</interface> \
3621-</node>';
3622+const PortalHelperIface = `
3623+<node>
3624+<interface name="org.gnome.Shell.PortalHelper">
3625+<method name="Authenticate">
3626+ <arg type="o" direction="in" name="connection" />
3627+ <arg type="s" direction="in" name="url" />
3628+ <arg type="u" direction="in" name="timestamp" />
3629+</method>
3630+<method name="Close">
3631+ <arg type="o" direction="in" name="connection" />
3632+</method>
3633+<method name="Refresh">
3634+ <arg type="o" direction="in" name="connection" />
3635+</method>
3636+<signal name="Done">
3637+ <arg type="o" name="connection" />
3638+ <arg type="u" name="result" />
3639+</signal>
3640+</interface>
3641+</node>`;
3642 const PortalHelperProxy = Gio.DBusProxy.makeProxyWrapper(PortalHelperIface);
3643
3644 function signalToIcon(value) {
3645diff --git a/js/ui/status/nightLight.js b/js/ui/status/nightLight.js
3646index f2523b5..f369d3d 100644
3647--- a/js/ui/status/nightLight.js
3648+++ b/js/ui/status/nightLight.js
3649@@ -10,12 +10,13 @@ const PopupMenu = imports.ui.popupMenu;
3650 const BUS_NAME = 'org.gnome.SettingsDaemon.Color';
3651 const OBJECT_PATH = '/org/gnome/SettingsDaemon/Color';
3652
3653-const ColorInterface = '<node> \
3654-<interface name="org.gnome.SettingsDaemon.Color"> \
3655- <property name="DisabledUntilTomorrow" type="b" access="readwrite"/> \
3656- <property name="NightLightActive" type="b" access="read"/> \
3657-</interface> \
3658-</node>';
3659+const ColorInterface = `
3660+<node>
3661+<interface name="org.gnome.SettingsDaemon.Color">
3662+ <property name="DisabledUntilTomorrow" type="b" access="readwrite"/>
3663+ <property name="NightLightActive" type="b" access="read"/>
3664+</interface>
3665+</node>`;
3666
3667 const ColorProxy = Gio.DBusProxy.makeProxyWrapper(ColorInterface);
3668
3669diff --git a/js/ui/status/power.js b/js/ui/status/power.js
3670index a2bfd75..cf57d8c 100644
3671--- a/js/ui/status/power.js
3672+++ b/js/ui/status/power.js
3673@@ -13,17 +13,18 @@ const PopupMenu = imports.ui.popupMenu;
3674 const BUS_NAME = 'org.freedesktop.UPower';
3675 const OBJECT_PATH = '/org/freedesktop/UPower/devices/DisplayDevice';
3676
3677-const DisplayDeviceInterface = '<node> \
3678-<interface name="org.freedesktop.UPower.Device"> \
3679- <property name="Type" type="u" access="read"/> \
3680- <property name="State" type="u" access="read"/> \
3681- <property name="Percentage" type="d" access="read"/> \
3682- <property name="TimeToEmpty" type="x" access="read"/> \
3683- <property name="TimeToFull" type="x" access="read"/> \
3684- <property name="IsPresent" type="b" access="read"/> \
3685- <property name="IconName" type="s" access="read"/> \
3686-</interface> \
3687-</node>';
3688+const DisplayDeviceInterface = `
3689+<node>
3690+<interface name="org.freedesktop.UPower.Device">
3691+ <property name="Type" type="u" access="read"/>
3692+ <property name="State" type="u" access="read"/>
3693+ <property name="Percentage" type="d" access="read"/>
3694+ <property name="TimeToEmpty" type="x" access="read"/>
3695+ <property name="TimeToFull" type="x" access="read"/>
3696+ <property name="IsPresent" type="b" access="read"/>
3697+ <property name="IconName" type="s" access="read"/>
3698+</interface>
3699+</node>`;
3700
3701 const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(DisplayDeviceInterface);
3702
3703diff --git a/js/ui/status/rfkill.js b/js/ui/status/rfkill.js
3704index 989a4f9..ecc8745 100644
3705--- a/js/ui/status/rfkill.js
3706+++ b/js/ui/status/rfkill.js
3707@@ -11,13 +11,14 @@ const PopupMenu = imports.ui.popupMenu;
3708 const BUS_NAME = 'org.gnome.SettingsDaemon.Rfkill';
3709 const OBJECT_PATH = '/org/gnome/SettingsDaemon/Rfkill';
3710
3711-const RfkillManagerInterface = '<node> \
3712-<interface name="org.gnome.SettingsDaemon.Rfkill"> \
3713-<property name="AirplaneMode" type="b" access="readwrite" /> \
3714-<property name="HardwareAirplaneMode" type="b" access="read" /> \
3715-<property name="ShouldShowAirplaneMode" type="b" access="read" /> \
3716-</interface> \
3717-</node>';
3718+const RfkillManagerInterface = `
3719+<node>
3720+<interface name="org.gnome.SettingsDaemon.Rfkill">
3721+<property name="AirplaneMode" type="b" access="readwrite" />
3722+<property name="HardwareAirplaneMode" type="b" access="read" />
3723+<property name="ShouldShowAirplaneMode" type="b" access="read" />
3724+</interface>
3725+</node>`;
3726
3727 const RfkillManagerProxy = Gio.DBusProxy.makeProxyWrapper(RfkillManagerInterface);
3728
3729diff --git a/js/ui/status/thunderbolt.js b/js/ui/status/thunderbolt.js
3730index 0c54319..efb401a 100644
3731--- a/js/ui/status/thunderbolt.js
3732+++ b/js/ui/status/thunderbolt.js
3733@@ -14,40 +14,42 @@ const PanelMenu = imports.ui.panelMenu;
3734
3735 /* Keep in sync with data/org.freedesktop.bolt.xml */
3736
3737-const BoltClientInterface = '<node> \
3738- <interface name="org.freedesktop.bolt1.Manager"> \
3739- <property name="Probing" type="b" access="read"></property> \
3740- <property name="AuthMode" type="s" access="readwrite"></property> \
3741- <method name="EnrollDevice"> \
3742- <arg type="s" name="uid" direction="in"> </arg> \
3743- <arg type="s" name="policy" direction="in"> </arg> \
3744- <arg type="s" name="flags" direction="in"> </arg> \
3745- <arg name="device" direction="out" type="o"> </arg> \
3746- </method> \
3747- <signal name="DeviceAdded"> \
3748- <arg name="device" type="o"> </arg> \
3749- </signal> \
3750- </interface> \
3751-</node>';
3752-
3753-const BoltDeviceInterface = '<node> \
3754- <interface name="org.freedesktop.bolt1.Device"> \
3755- <property name="Uid" type="s" access="read"></property> \
3756- <property name="Name" type="s" access="read"></property> \
3757- <property name="Vendor" type="s" access="read"></property> \
3758- <property name="Type" type="s" access="read"></property> \
3759- <property name="Status" type="s" access="read"></property> \
3760- <property name="Parent" type="s" access="read"></property> \
3761- <property name="SysfsPath" type="s" access="read"></property> \
3762- <property name="Stored" type="b" access="read"></property> \
3763- <property name="Policy" type="s" access="read"></property> \
3764- <property name="Key" type="s" access="read"></property> \
3765- <property name="Label" type="s" access="read"></property> \
3766- <property name="ConnectTime" type="t" access="read"></property> \
3767- <property name="AuthorizeTime" type="t" access="read"></property> \
3768- <property name="StoreTime" type="t" access="read"></property> \
3769- </interface> \
3770-</node>';
3771+const BoltClientInterface = `
3772+<node>
3773+ <interface name="org.freedesktop.bolt1.Manager">
3774+ <property name="Probing" type="b" access="read"></property>
3775+ <property name="AuthMode" type="s" access="readwrite"></property>
3776+ <method name="EnrollDevice">
3777+ <arg type="s" name="uid" direction="in"> </arg>
3778+ <arg type="s" name="policy" direction="in"> </arg>
3779+ <arg type="s" name="flags" direction="in"> </arg>
3780+ <arg name="device" direction="out" type="o"> </arg>
3781+ </method>
3782+ <signal name="DeviceAdded">
3783+ <arg name="device" type="o"> </arg>
3784+ </signal>
3785+ </interface>
3786+</node>`;
3787+
3788+const BoltDeviceInterface = `
3789+<node>
3790+ <interface name="org.freedesktop.bolt1.Device">
3791+ <property name="Uid" type="s" access="read"></property>
3792+ <property name="Name" type="s" access="read"></property>
3793+ <property name="Vendor" type="s" access="read"></property>
3794+ <property name="Type" type="s" access="read"></property>
3795+ <property name="Status" type="s" access="read"></property>
3796+ <property name="Parent" type="s" access="read"></property>
3797+ <property name="SysfsPath" type="s" access="read"></property>
3798+ <property name="Stored" type="b" access="read"></property>
3799+ <property name="Policy" type="s" access="read"></property>
3800+ <property name="Key" type="s" access="read"></property>
3801+ <property name="Label" type="s" access="read"></property>
3802+ <property name="ConnectTime" type="t" access="read"></property>
3803+ <property name="AuthorizeTime" type="t" access="read"></property>
3804+ <property name="StoreTime" type="t" access="read"></property>
3805+ </interface>
3806+</node>`;
3807
3808 const BoltDeviceProxy = Gio.DBusProxy.makeProxyWrapper(BoltDeviceInterface);
3809
3810diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
3811index 36d8a9f..b6627e2 100644
3812--- a/js/ui/windowManager.js
3813+++ b/js/ui/windowManager.js
3814@@ -42,19 +42,20 @@ var ONE_SECOND = 1000; // in ms
3815 const GSD_WACOM_BUS_NAME = 'org.gnome.SettingsDaemon.Wacom';
3816 const GSD_WACOM_OBJECT_PATH = '/org/gnome/SettingsDaemon/Wacom';
3817
3818-const GsdWacomIface = '<node name="/org/gnome/SettingsDaemon/Wacom"> \
3819-<interface name="org.gnome.SettingsDaemon.Wacom"> \
3820- <method name="SetGroupModeLED"> \
3821- <arg name="device_path" direction="in" type="s"/> \
3822- <arg name="group" direction="in" type="u"/> \
3823- <arg name="mode" direction="in" type="u"/> \
3824- </method> \
3825- <method name="SetOLEDLabels"> \
3826- <arg name="device_path" direction="in" type="s"/> \
3827- <arg name="labels" direction="in" type="as"/> \
3828- </method> \
3829- </interface> \
3830-</node>';
3831+const GsdWacomIface = `
3832+<node name="/org/gnome/SettingsDaemon/Wacom">
3833+<interface name="org.gnome.SettingsDaemon.Wacom">
3834+ <method name="SetGroupModeLED">
3835+ <arg name="device_path" direction="in" type="s"/>
3836+ <arg name="group" direction="in" type="u"/>
3837+ <arg name="mode" direction="in" type="u"/>
3838+ </method>
3839+ <method name="SetOLEDLabels">
3840+ <arg name="device_path" direction="in" type="s"/>
3841+ <arg name="labels" direction="in" type="as"/>
3842+ </method>
3843+ </interface>
3844+</node>`;
3845
3846 const GsdWacomProxy = Gio.DBusProxy.makeProxyWrapper(GsdWacomIface);
3847
3848diff --git a/meson.build b/meson.build
3849index 00dd966..47d1bc3 100644
3850--- a/meson.build
3851+++ b/meson.build
3852@@ -1,5 +1,5 @@
3853 project('gnome-shell', 'c',
3854- version: '3.29.91',
3855+ version: '3.29.92',
3856 meson_version: '>= 0.47.0',
3857 license: 'GPLv2+'
3858 )
3859@@ -23,7 +23,7 @@ gi_req = '>= 1.49.1'
3860 gjs_req = '>= 1.47.0'
3861 gtk_req = '>= 3.15.0'
3862 json_glib_req = '>= 0.13.2'
3863-mutter_req = '>= 3.29.91'
3864+mutter_req = '>= 3.29.92'
3865 polkit_req = '>= 0.100'
3866 schemas_req = '>= 3.27.90'
3867 startup_req = '>= 0.11'
3868diff --git a/po/cs.po b/po/cs.po
3869index 8169e52..38eec1c 100644
3870--- a/po/cs.po
3871+++ b/po/cs.po
3872@@ -11,8 +11,8 @@ msgid ""
3873 msgstr ""
3874 "Project-Id-Version: gnome-shell\n"
3875 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
3876-"POT-Creation-Date: 2018-04-13 19:54+0000\n"
3877-"PO-Revision-Date: 2018-04-24 17:32+0200\n"
3878+"POT-Creation-Date: 2018-08-27 17:24+0000\n"
3879+"PO-Revision-Date: 2018-08-29 07:16+0200\n"
3880 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
3881 "Language-Team: čeština <gnome-cs-list@gnome.org>\n"
3882 "Language: cs\n"
3883@@ -48,7 +48,7 @@ msgid "Open the application menu"
3884 msgstr "Otevřít nabídku aplikací"
3885
3886 #: data/gnome-shell-extension-prefs.desktop.in.in:4
3887-#: js/extensionPrefs/main.js:150
3888+#: js/extensionPrefs/main.js:151
3889 msgid "Shell Extensions"
3890 msgstr "Rozšíření pro Shell"
3891
3892@@ -287,32 +287,32 @@ msgstr ""
3893 "Je-li zapnuto, objeví se v přepínači oken jen ty, co jsou na aktuální "
3894 "pracovní ploše. V opačném případě jsou zahrnuta všechna okna."
3895
3896-#: data/org.gnome.shell.gschema.xml.in:197
3897+#: data/org.gnome.shell.gschema.xml.in:198
3898 msgid "Attach modal dialog to the parent window"
3899 msgstr "Modální dialogová okna připojovat k rodičovskému oknu"
3900
3901-#: data/org.gnome.shell.gschema.xml.in:198
3902-#: data/org.gnome.shell.gschema.xml.in:207
3903-#: data/org.gnome.shell.gschema.xml.in:215
3904-#: data/org.gnome.shell.gschema.xml.in:223
3905-#: data/org.gnome.shell.gschema.xml.in:231
3906+#: data/org.gnome.shell.gschema.xml.in:199
3907+#: data/org.gnome.shell.gschema.xml.in:208
3908+#: data/org.gnome.shell.gschema.xml.in:216
3909+#: data/org.gnome.shell.gschema.xml.in:224
3910+#: data/org.gnome.shell.gschema.xml.in:232
3911 msgid ""
3912 "This key overrides the key in org.gnome.mutter when running GNOME Shell."
3913 msgstr "Když běží GNOME Shell, tento klíč přepíše klíč v org.gnome.mutter"
3914
3915-#: data/org.gnome.shell.gschema.xml.in:206
3916+#: data/org.gnome.shell.gschema.xml.in:207
3917 msgid "Enable edge tiling when dropping windows on screen edges"
3918 msgstr "Okna upuštěná u okraje obrazovky nechat řadit jako dlaždice"
3919
3920-#: data/org.gnome.shell.gschema.xml.in:214
3921+#: data/org.gnome.shell.gschema.xml.in:215
3922 msgid "Workspaces are managed dynamically"
3923 msgstr "Pracovní plochy jsou spravovány dynamicky"
3924
3925-#: data/org.gnome.shell.gschema.xml.in:222
3926+#: data/org.gnome.shell.gschema.xml.in:223
3927 msgid "Workspaces only on primary monitor"
3928 msgstr "Pracovní plochy jen na hlavním monitoru"
3929
3930-#: data/org.gnome.shell.gschema.xml.in:230
3931+#: data/org.gnome.shell.gschema.xml.in:231
3932 msgid "Delay focus changes in mouse mode until the pointer stops moving"
3933 msgstr "Se změnou zaměření v režimu myši čekat na zastavení pohybu ukazatele"
3934
3935@@ -325,16 +325,16 @@ msgstr "Přihlášení do sítě"
3936 msgid "network-workgroup"
3937 msgstr "network-workgroup"
3938
3939-#: js/extensionPrefs/main.js:120
3940+#: js/extensionPrefs/main.js:121
3941 #, javascript-format
3942 msgid "There was an error loading the preferences dialog for %s:"
3943 msgstr ""
3944 "Nastala chyba při načítání dialogového okna předvoleb pro rozšíření %s:"
3945
3946-#: js/gdm/authPrompt.js:147 js/ui/audioDeviceSelection.js:71
3947-#: js/ui/components/networkAgent.js:117 js/ui/components/polkitAgent.js:153
3948-#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:197
3949-#: js/ui/shellMountOperation.js:343 js/ui/status/network.js:919
3950+#: js/gdm/authPrompt.js:147 js/ui/components/networkAgent.js:117
3951+#: js/ui/components/polkitAgent.js:153 js/ui/endSessionDialog.js:486
3952+#: js/ui/extensionDownloader.js:197 js/ui/shellMountOperation.js:343
3953+#: js/ui/status/network.js:920
3954 msgid "Cancel"
3955 msgstr "Zrušit"
3956
3957@@ -352,20 +352,20 @@ msgctxt "button"
3958 msgid "Sign In"
3959 msgstr "Přihlásit se"
3960
3961-#: js/gdm/loginDialog.js:315
3962+#: js/gdm/loginDialog.js:319
3963 msgid "Choose Session"
3964 msgstr "Vybrat sezení"
3965
3966 #. translators: this message is shown below the user list on the
3967 #. login screen. It can be activated to reveal an entry for
3968 #. manually entering the username.
3969-#: js/gdm/loginDialog.js:458
3970+#: js/gdm/loginDialog.js:462
3971 msgid "Not listed?"
3972 msgstr "Nejste na seznamu?"
3973
3974 #. Translators: this message is shown below the username entry field
3975 #. to clue the user in on how to login to the local network realm
3976-#: js/gdm/loginDialog.js:887
3977+#: js/gdm/loginDialog.js:891
3978 #, javascript-format
3979 msgid "(e.g., user or %s)"
3980 msgstr "(např. uživatel nebo %s)"
3981@@ -373,12 +373,12 @@ msgstr "(např. uživatel nebo %s)"
3982 #. TTLS and PEAP are actually much more complicated, but this complication
3983 #. is not visible here since we only care about phase2 authentication
3984 #. (and don't even care of which one)
3985-#: js/gdm/loginDialog.js:892 js/ui/components/networkAgent.js:243
3986+#: js/gdm/loginDialog.js:896 js/ui/components/networkAgent.js:243
3987 #: js/ui/components/networkAgent.js:261
3988 msgid "Username: "
3989 msgstr "Uživatelské jméno: "
3990
3991-#: js/gdm/loginDialog.js:1228
3992+#: js/gdm/loginDialog.js:1234
3993 msgid "Login Window"
3994 msgstr "Přihlašovací okno"
3995
3996@@ -391,86 +391,10 @@ msgstr "Chyba ověření"
3997 #. as a cue to display our own message.
3998 #. Translators: this message is shown below the password entry field
3999 #. to indicate the user can swipe their finger instead
4000-#: js/gdm/util.js:482
4001+#: js/gdm/util.js:485
4002 msgid "(or swipe finger)"
4003 msgstr "(nebo otiskněte prst)"
4004
4005-#. Translators: The name of the power-off action in search
4006-#: js/misc/systemActions.js:99
4007-msgctxt "search-result"
4008-msgid "Power Off"
4009-msgstr "Vypnout"
4010-
4011-#. Translators: A list of keywords that match the power-off action, separated by semicolons
4012-#: js/misc/systemActions.js:102
4013-msgid "power off;shutdown;reboot;restart"
4014-msgstr ""
4015-"vypnout;vypnutí;restart;restartování;restartovat;reboot;znovu zavést systém;"
4016-"zavedení systému;natažení systému;"
4017-
4018-#. Translators: The name of the lock screen action in search
4019-#: js/misc/systemActions.js:106
4020-msgctxt "search-result"
4021-msgid "Lock Screen"
4022-msgstr "Zamknout obrazovku"
4023-
4024-#. Translators: A list of keywords that match the lock screen action, separated by semicolons
4025-#: js/misc/systemActions.js:109
4026-msgid "lock screen"
4027-msgstr ""
4028-"zamknout obrazovku;zamknout počítač;uzamknout obrazovku;uzamknout počítač;"
4029-"zamčít obrazovku;zamčít počítač;uzamčít obrazovku;uzamčít počítač;zamknutí "
4030-"obrazovky;zamknutí počítače;uzamknutí obrazovky;uzamknutí počítače;zamčení "
4031-"obrazovky;zamčení počítače;uzamčení obrazovky;uzamčení počítače;"
4032-
4033-#. Translators: The name of the logout action in search
4034-#: js/misc/systemActions.js:113
4035-msgctxt "search-result"
4036-msgid "Log Out"
4037-msgstr "Odhlásit se"
4038-
4039-#. Translators: A list of keywords that match the logout action, separated by semicolons
4040-#: js/misc/systemActions.js:116
4041-msgid "logout;sign off"
4042-msgstr "odhlásit se;odhlášení;odlogovat se;odlogování;"
4043-
4044-#. Translators: The name of the suspend action in search
4045-#: js/misc/systemActions.js:120
4046-msgctxt "search-result"
4047-msgid "Suspend"
4048-msgstr "Uspat do paměti"
4049-
4050-#. Translators: A list of keywords that match the suspend action, separated by semicolons
4051-#: js/misc/systemActions.js:123
4052-msgid "suspend;sleep"
4053-msgstr "uspat do paměti;režim spánku;"
4054-
4055-#. Translators: The name of the switch user action in search
4056-#: js/misc/systemActions.js:127
4057-msgctxt "search-result"
4058-msgid "Switch User"
4059-msgstr "Přepnout uživatele"
4060-
4061-#. Translators: A list of keywords that match the switch user action, separated by semicolons
4062-#: js/misc/systemActions.js:130
4063-msgid "switch user"
4064-msgstr "přepnout uživatele;přepnutí uživatele;"
4065-
4066-#. Translators: The name of the lock orientation action in search
4067-#: js/misc/systemActions.js:134
4068-msgctxt "search-result"
4069-msgid "Lock Orientation"
4070-msgstr "Zamknout otočení"
4071-
4072-#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
4073-#: js/misc/systemActions.js:137
4074-msgid "lock orientation;screen;rotation"
4075-msgstr ""
4076-"zamknout otočení;zamknout orientaci;uzamknout otočení;uzamknout orientaci;"
4077-"zamčít otočení;zamčít orientaci;uzamčít otočení;uzamčít orientaci;zamknutí "
4078-"otočení;zamknutí orientace;uzamknutí otočení;uzamknutí orientace;zamčení "
4079-"otočení;zamčení orientace;uzamčení otočení;uzamčení orientace;"
4080-
4081 #: js/misc/util.js:122
4082 msgid "Command not found"
4083 msgstr "Příkaz nenalezen"
4084@@ -612,58 +536,35 @@ msgstr "%e. %B %l∶%M %p"
4085 msgid "%B %d %Y, %l∶%M %p"
4086 msgstr "%e. %B %Y, %l∶%M %p"
4087
4088-#. TRANSLATORS: this is the title of the wifi captive portal login window
4089-#: js/portalHelper/main.js:66
4090-msgid "Hotspot Login"
4091-msgstr "Přihlášení k přístupovému bodu"
4092-
4093-#: js/portalHelper/main.js:112
4094-msgid ""
4095-"Your connection to this hotspot login is not secure. Passwords or other "
4096-"information you enter on this page can be viewed by people nearby."
4097-msgstr ""
4098-"Vaše připojení k tomuto přístupovému bodu není bezpečné. Hesla a další "
4099-"informace, které zadáte na této stránce mohou vidět ostatní lidé v okolí."
4100-
4101-#. No support for non-modal system dialogs, so ignore the option
4102-#. let modal = options['modal'] || true;
4103-#: js/ui/accessDialog.js:63 js/ui/status/location.js:393
4104-msgid "Deny Access"
4105-msgstr "Zamítnout přístup"
4106-
4107-#: js/ui/accessDialog.js:64 js/ui/status/location.js:396
4108-msgid "Grant Access"
4109-msgstr "Schválit přístup"
4110-
4111-#: js/ui/appDisplay.js:793
4112+#: js/ui/appDisplay.js:794
4113 msgid "Frequently used applications will appear here"
4114 msgstr "Zde se objeví často používané aplikace"
4115
4116-#: js/ui/appDisplay.js:914
4117+#: js/ui/appDisplay.js:915
4118 msgid "Frequent"
4119 msgstr "Časté"
4120
4121-#: js/ui/appDisplay.js:921
4122+#: js/ui/appDisplay.js:922
4123 msgid "All"
4124 msgstr "Všechny"
4125
4126-#: js/ui/appDisplay.js:1886
4127+#: js/ui/appDisplay.js:1891
4128 msgid "New Window"
4129 msgstr "Nové okno"
4130
4131-#: js/ui/appDisplay.js:1900
4132+#: js/ui/appDisplay.js:1905
4133 msgid "Launch using Dedicated Graphics Card"
4134 msgstr "Spustit pomocí vyhrazené grafické karty"
4135
4136-#: js/ui/appDisplay.js:1927 js/ui/dash.js:285
4137+#: js/ui/appDisplay.js:1932 js/ui/dash.js:285
4138 msgid "Remove from Favorites"
4139 msgstr "Odstranit z oblíbených"
4140
4141-#: js/ui/appDisplay.js:1933
4142+#: js/ui/appDisplay.js:1938
4143 msgid "Add to Favorites"
4144 msgstr "Přidat mezi oblíbené"
4145
4146-#: js/ui/appDisplay.js:1943
4147+#: js/ui/appDisplay.js:1948
4148 msgid "Show Details"
4149 msgstr "Zobrazit podrobnosti"
4150
4151@@ -677,35 +578,15 @@ msgstr "%s byl přidán mezi oblíbené."
4152 msgid "%s has been removed from your favorites."
4153 msgstr "%s byl odstraněn z oblíbených."
4154
4155-#: js/ui/audioDeviceSelection.js:59
4156-msgid "Select Audio Device"
4157-msgstr "Výběr zvukového zařízení"
4158-
4159-#: js/ui/audioDeviceSelection.js:69
4160-msgid "Sound Settings"
4161-msgstr "Nastavení zvuku"
4162-
4163-#: js/ui/audioDeviceSelection.js:78
4164-msgid "Headphones"
4165-msgstr "Sluchátka"
4166-
4167-#: js/ui/audioDeviceSelection.js:80
4168-msgid "Headset"
4169-msgstr "Sluchátka s mikrofonem"
4170-
4171-#: js/ui/audioDeviceSelection.js:82 js/ui/status/volume.js:221
4172-msgid "Microphone"
4173-msgstr "Mikrofon"
4174-
4175 #: js/ui/backgroundMenu.js:19
4176 msgid "Change Background…"
4177 msgstr "Změnit pozadí…"
4178
4179-#: js/ui/backgroundMenu.js:21 js/ui/status/nightLight.js:51
4180+#: js/ui/backgroundMenu.js:21 js/ui/status/nightLight.js:52
4181 msgid "Display Settings"
4182 msgstr "Nastavení displeje"
4183
4184-#: js/ui/backgroundMenu.js:22 js/ui/status/system.js:264
4185+#: js/ui/backgroundMenu.js:22
4186 msgid "Settings"
4187 msgstr "Nastavení"
4188
4189@@ -767,7 +648,7 @@ msgstr "So"
4190 #. * "%OB" is the new format specifier introduced in glibc 2.27,
4191 #. * in most cases you should not change it.
4192 #.
4193-#: js/ui/calendar.js:379
4194+#: js/ui/calendar.js:380
4195 msgid "%OB"
4196 msgstr "%OB"
4197
4198@@ -780,65 +661,65 @@ msgstr "%OB"
4199 #. * in most cases you should not use the old "%B" here unless you
4200 #. * absolutely know what you are doing.
4201 #.
4202-#: js/ui/calendar.js:389
4203+#: js/ui/calendar.js:390
4204 msgid "%OB %Y"
4205 msgstr "%OB %Y"
4206
4207-#: js/ui/calendar.js:446
4208+#: js/ui/calendar.js:447
4209 msgid "Previous month"
4210 msgstr "Předchozí měsíc"
4211
4212-#: js/ui/calendar.js:456
4213+#: js/ui/calendar.js:457
4214 msgid "Next month"
4215 msgstr "Následující měsíc"
4216
4217-#: js/ui/calendar.js:609
4218+#: js/ui/calendar.js:610
4219 #, no-javascript-format
4220 msgctxt "date day number format"
4221 msgid "%d"
4222 msgstr "%e"
4223
4224-#: js/ui/calendar.js:664
4225+#: js/ui/calendar.js:665
4226 msgid "Week %V"
4227 msgstr "%V. týden"
4228
4229 #. Translators: Shown in calendar event list for all day events
4230 #. * Keep it short, best if you can use less then 10 characters
4231 #.
4232-#: js/ui/calendar.js:733
4233+#: js/ui/calendar.js:734
4234 msgctxt "event list time"
4235 msgid "All Day"
4236 msgstr "Celý den"
4237
4238-#: js/ui/calendar.js:864
4239+#: js/ui/calendar.js:867
4240 msgctxt "calendar heading"
4241 msgid "%A, %B %d"
4242 msgstr "%A, %e. %B"
4243
4244-#: js/ui/calendar.js:868
4245+#: js/ui/calendar.js:871
4246 msgctxt "calendar heading"
4247 msgid "%A, %B %d, %Y"
4248 msgstr "%A, %e. %B %Y"
4249
4250-#: js/ui/calendar.js:1086
4251+#: js/ui/calendar.js:1101
4252 msgid "No Notifications"
4253 msgstr "Nejsou žádná upozornění"
4254
4255-#: js/ui/calendar.js:1089
4256+#: js/ui/calendar.js:1104
4257 msgid "No Events"
4258 msgstr "Nejsou žádné události"
4259
4260-#: js/ui/calendar.js:1117
4261+#: js/ui/calendar.js:1132
4262 msgid "Clear All"
4263 msgstr "Vymazat vše"
4264
4265 #. Translators: %s is an application name
4266-#: js/ui/closeDialog.js:44
4267+#: js/ui/closeDialog.js:47
4268 #, javascript-format
4269 msgid "“%s” is not responding."
4270 msgstr "Aplikace „%s“ neodpovídá."
4271
4272-#: js/ui/closeDialog.js:45
4273+#: js/ui/closeDialog.js:48
4274 msgid ""
4275 "You may choose to wait a short while for it to continue or force the "
4276 "application to quit entirely."
4277@@ -846,11 +727,11 @@ msgstr ""
4278 "Můžete si vybrat, jestli chvilku počkat, zda bude normálně pokračovat, nebo "
4279 "ji násilně celou ukončit."
4280
4281-#: js/ui/closeDialog.js:61
4282+#: js/ui/closeDialog.js:64
4283 msgid "Force Quit"
4284 msgstr "Vynutit ukončení"
4285
4286-#: js/ui/closeDialog.js:64
4287+#: js/ui/closeDialog.js:67
4288 msgid "Wait"
4289 msgstr "Počkat"
4290
4291@@ -862,12 +743,12 @@ msgstr "Externí svazek připojen"
4292 msgid "External drive disconnected"
4293 msgstr "Externí svazek odpojen"
4294
4295-#: js/ui/components/autorunManager.js:354
4296+#: js/ui/components/autorunManager.js:355
4297 #, javascript-format
4298 msgid "Open with %s"
4299 msgstr "Otevřít pomocí %s"
4300
4301-#: js/ui/components/keyring.js:107 js/ui/components/polkitAgent.js:295
4302+#: js/ui/components/keyring.js:107 js/ui/components/polkitAgent.js:297
4303 msgid "Password:"
4304 msgstr "Heslo:"
4305
4306@@ -875,8 +756,7 @@ msgstr "Heslo:"
4307 msgid "Type again:"
4308 msgstr "Napište znovu:"
4309
4310-#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:245
4311-#: js/ui/status/network.js:336 js/ui/status/network.js:922
4312+#: js/ui/components/networkAgent.js:112 js/ui/status/network.js:923
4313 msgid "Connect"
4314 msgstr "Připojit"
4315
4316@@ -904,11 +784,11 @@ msgstr "Heslo soukromého klíče: "
4317 msgid "Service: "
4318 msgstr "Služba: "
4319
4320-#: js/ui/components/networkAgent.js:292 js/ui/components/networkAgent.js:659
4321+#: js/ui/components/networkAgent.js:292 js/ui/components/networkAgent.js:668
4322 msgid "Authentication required by wireless network"
4323 msgstr "K bezdrátové síti je vyžadováno ověření"
4324
4325-#: js/ui/components/networkAgent.js:293 js/ui/components/networkAgent.js:660
4326+#: js/ui/components/networkAgent.js:293 js/ui/components/networkAgent.js:669
4327 #, javascript-format
4328 msgid ""
4329 "Passwords or encryption keys are required to access the wireless network "
4330@@ -917,7 +797,7 @@ msgstr ""
4331 "Pro přístup k bezdrátové síti „%s“ jsou vyžadována hesla nebo šifrovací "
4332 "klíče."
4333
4334-#: js/ui/components/networkAgent.js:297 js/ui/components/networkAgent.js:663
4335+#: js/ui/components/networkAgent.js:297 js/ui/components/networkAgent.js:672
4336 msgid "Wired 802.1X authentication"
4337 msgstr "Ověření připojení po drátu 802.1X"
4338
4339@@ -925,15 +805,15 @@ msgstr "Ověření připojení po drátu 802.1X"
4340 msgid "Network name: "
4341 msgstr "Název sítě: "
4342
4343-#: js/ui/components/networkAgent.js:304 js/ui/components/networkAgent.js:667
4344+#: js/ui/components/networkAgent.js:304 js/ui/components/networkAgent.js:676
4345 msgid "DSL authentication"
4346 msgstr "Ověření DSL"
4347
4348-#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:673
4349+#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:682
4350 msgid "PIN code required"
4351 msgstr "Požadován kód PIN"
4352
4353-#: js/ui/components/networkAgent.js:312 js/ui/components/networkAgent.js:674
4354+#: js/ui/components/networkAgent.js:312 js/ui/components/networkAgent.js:683
4355 msgid "PIN code is needed for the mobile broadband device"
4356 msgstr "Pro mobilní širokopásmové zařízení je vyžadován kód PIN"
4357
4358@@ -941,17 +821,17 @@ msgstr "Pro mobilní širokopásmové zařízení je vyžadován kód PIN"
4359 msgid "PIN: "
4360 msgstr "PIN: "
4361
4362-#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:680
4363+#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:689
4364 msgid "Mobile broadband network password"
4365 msgstr "Heslo k mobilní širokopásmové síti"
4366
4367-#: js/ui/components/networkAgent.js:321 js/ui/components/networkAgent.js:664
4368-#: js/ui/components/networkAgent.js:668 js/ui/components/networkAgent.js:681
4369+#: js/ui/components/networkAgent.js:321 js/ui/components/networkAgent.js:673
4370+#: js/ui/components/networkAgent.js:677 js/ui/components/networkAgent.js:690
4371 #, javascript-format
4372 msgid "A password is required to connect to “%s”."
4373 msgstr "Pro připojení k „%s“ je vyžadováno heslo."
4374
4375-#: js/ui/components/networkAgent.js:648 js/ui/status/network.js:1691
4376+#: js/ui/components/networkAgent.js:657 js/ui/status/network.js:1705
4377 msgid "Network Manager"
4378 msgstr "Network Manager"
4379
4380@@ -971,7 +851,7 @@ msgstr "Ověřit"
4381 #. * requested authentication was not gained; this can happen
4382 #. * because of an authentication error (like invalid password),
4383 #. * for instance.
4384-#: js/ui/components/polkitAgent.js:281 js/ui/shellMountOperation.js:327
4385+#: js/ui/components/polkitAgent.js:283 js/ui/shellMountOperation.js:327
4386 msgid "Sorry, that didn’t work. Please try again."
4387 msgstr "Ověření bohužel nebylo úspěšné. Zkuste to prosím znovu."
4388
4389@@ -992,7 +872,7 @@ msgstr "Zobrazit aplikace"
4390
4391 #. Translators: this is the name of the dock/favorites area on
4392 #. the left of the overview
4393-#: js/ui/dash.js:443
4394+#: js/ui/dash.js:444
4395 msgid "Dash"
4396 msgstr "Oblíbené"
4397
4398@@ -1074,158 +954,27 @@ msgstr "Připojit se kvůli informacím o počasí"
4399 msgid "Weather information is currently unavailable"
4400 msgstr "Informace o počasí nejsou nyní dostupné"
4401
4402-#: js/ui/endSessionDialog.js:64
4403-#, javascript-format
4404-msgctxt "title"
4405-msgid "Log Out %s"
4406-msgstr "Odhlásit uživatele %s"
4407-
4408-#: js/ui/endSessionDialog.js:65
4409-msgctxt "title"
4410-msgid "Log Out"
4411-msgstr "Odhlášení"
4412-
4413-#: js/ui/endSessionDialog.js:67
4414-#, javascript-format
4415-msgid "%s will be logged out automatically in %d second."
4416-msgid_plural "%s will be logged out automatically in %d seconds."
4417-msgstr[0] "Uživatel %s bude automaticky odhlášen za %d sekundu."
4418-msgstr[1] "Uživatel %s bude automaticky odhlášen za %d sekundy."
4419-msgstr[2] "Uživatel %s bude automaticky odhlášen za %d sekund."
4420-
4421-#: js/ui/endSessionDialog.js:72
4422-#, javascript-format
4423-msgid "You will be logged out automatically in %d second."
4424-msgid_plural "You will be logged out automatically in %d seconds."
4425-msgstr[0] "Budete automaticky odhlášeni za %d sekundu."
4426-msgstr[1] "Budete automaticky odhlášeni za %d sekundy."
4427-msgstr[2] "Budete automaticky odhlášeni za %d sekund."
4428-
4429-#: js/ui/endSessionDialog.js:78
4430-msgctxt "button"
4431-msgid "Log Out"
4432-msgstr "Odhlásit"
4433-
4434-#: js/ui/endSessionDialog.js:84
4435-msgctxt "title"
4436-msgid "Power Off"
4437-msgstr "Vypnutí"
4438-
4439-#: js/ui/endSessionDialog.js:85
4440-msgctxt "title"
4441-msgid "Install Updates & Power Off"
4442-msgstr "Nainstalovat aktualizace a vypnout"
4443-
4444-#: js/ui/endSessionDialog.js:87
4445-#, javascript-format
4446-msgid "The system will power off automatically in %d second."
4447-msgid_plural "The system will power off automatically in %d seconds."
4448-msgstr[0] "Systém bude automaticky vypnut za %d sekundu."
4449-msgstr[1] "Systém bude automaticky vypnut za %d sekundy."
4450-msgstr[2] "Systém bude automaticky vypnut za %d sekund."
4451-
4452-#: js/ui/endSessionDialog.js:91
4453-msgctxt "checkbox"
4454-msgid "Install pending software updates"
4455-msgstr "Nainstalovat čekající aktualizace softwaru"
4456-
4457-#: js/ui/endSessionDialog.js:94 js/ui/endSessionDialog.js:111
4458-msgctxt "button"
4459-msgid "Restart"
4460-msgstr "Restartovat"
4461-
4462-#: js/ui/endSessionDialog.js:96
4463-msgctxt "button"
4464-msgid "Power Off"
4465-msgstr "Vypnout"
4466-
4467-#: js/ui/endSessionDialog.js:103
4468-msgctxt "title"
4469-msgid "Restart"
4470-msgstr "Restart"
4471-
4472-#: js/ui/endSessionDialog.js:105
4473-#, javascript-format
4474-msgid "The system will restart automatically in %d second."
4475-msgid_plural "The system will restart automatically in %d seconds."
4476-msgstr[0] "Systém bude automaticky restartován za %d sekundu."
4477-msgstr[1] "Systém bude automaticky restartován za %d sekundy."
4478-msgstr[2] "Systém bude automaticky restartován za %d sekund."
4479-
4480-#: js/ui/endSessionDialog.js:119
4481-msgctxt "title"
4482-msgid "Restart & Install Updates"
4483-msgstr "Restartovat a nainstalovat aktualizace"
4484-
4485-#: js/ui/endSessionDialog.js:121
4486-#, javascript-format
4487-msgid "The system will automatically restart and install updates in %d second."
4488-msgid_plural ""
4489-"The system will automatically restart and install updates in %d seconds."
4490-msgstr[0] ""
4491-"Systém bude automaticky restartován za %d sekundu a poté se nainstalují "
4492-"aktualizace."
4493-msgstr[1] ""
4494-"Systém bude automaticky restartován za %d sekundy a poté se nainstalují "
4495-"aktualizace."
4496-msgstr[2] ""
4497-"Systém bude automaticky restartován za %d sekund a poté se nainstalují "
4498-"aktualizace."
4499-
4500-#: js/ui/endSessionDialog.js:127 js/ui/endSessionDialog.js:147
4501-msgctxt "button"
4502-msgid "Restart &amp; Install"
4503-msgstr "Restartovat a nainstalovat"
4504-
4505-#: js/ui/endSessionDialog.js:128
4506-msgctxt "button"
4507-msgid "Install &amp; Power Off"
4508-msgstr "Nainstalovat a vypnout"
4509-
4510-#: js/ui/endSessionDialog.js:129
4511-msgctxt "checkbox"
4512-msgid "Power off after updates are installed"
4513-msgstr "Po nainstalování aktualizací vypnout"
4514-
4515-#: js/ui/endSessionDialog.js:137
4516-msgctxt "title"
4517-msgid "Restart & Install Upgrade"
4518-msgstr "Restartovat a nainstalovat povýšení"
4519-
4520-#. Translators: This is the text displayed for system upgrades in the
4521-#. shut down dialog. First %s gets replaced with the distro name and
4522-#. second %s with the distro version to upgrade to
4523-#: js/ui/endSessionDialog.js:142
4524-#, javascript-format
4525-msgid ""
4526-"%s %s will be installed after restart. Upgrade installation can take a long "
4527-"time: ensure that you have backed up and that the computer is plugged in."
4528-msgstr ""
4529-"Verze %2s distribuce %1s bude nainstalována po restartu. Instalace povýšení "
4530-"může zabrat hodně času: zkontrolujte, že máte vše zazálohováno a že počítač "
4531-"je připojen do elektriky."
4532-
4533-#: js/ui/endSessionDialog.js:361
4534+#: js/ui/endSessionDialog.js:365
4535 msgid "Running on battery power: please plug in before installing updates."
4536 msgstr ""
4537 "Počítač běží na baterii: před instalací jej prosím připojte k napájení."
4538
4539-#: js/ui/endSessionDialog.js:378
4540+#: js/ui/endSessionDialog.js:382
4541 msgid "Some applications are busy or have unsaved work."
4542 msgstr "Některé aplikace jsou zaneprázdněny nebo obsahují neuloženou práci."
4543
4544-#: js/ui/endSessionDialog.js:385
4545+#: js/ui/endSessionDialog.js:389
4546 msgid "Other users are logged in."
4547 msgstr "Jsou přihlášeni jiní uživatelé."
4548
4549 #. Translators: Remote here refers to a remote session, like a ssh login
4550-#: js/ui/endSessionDialog.js:666
4551+#: js/ui/endSessionDialog.js:670
4552 #, javascript-format
4553 msgid "%s (remote)"
4554 msgstr "%s (vzdálený)"
4555
4556 #. Translators: Console here refers to a tty like a VT console
4557-#: js/ui/endSessionDialog.js:669
4558+#: js/ui/endSessionDialog.js:673
4559 #, javascript-format
4560 msgid "%s (console)"
4561 msgstr "%s (konzola)"
4562@@ -1311,16 +1060,12 @@ msgstr ""
4563 msgid "Leave On"
4564 msgstr "Ponechat zapnuté"
4565
4566-#: js/ui/kbdA11yDialog.js:59 js/ui/status/bluetooth.js:143
4567-#: js/ui/status/network.js:1281
4568+#: js/ui/kbdA11yDialog.js:59 js/ui/status/network.js:1295
4569 msgid "Turn On"
4570 msgstr "Zapnout"
4571
4572-#: js/ui/kbdA11yDialog.js:67 js/ui/status/bluetooth.js:143
4573-#: js/ui/status/network.js:154 js/ui/status/network.js:337
4574-#: js/ui/status/network.js:1281 js/ui/status/network.js:1396
4575-#: js/ui/status/nightLight.js:47 js/ui/status/rfkill.js:90
4576-#: js/ui/status/rfkill.js:117
4577+#: js/ui/kbdA11yDialog.js:67 js/ui/status/network.js:1295
4578+#: js/ui/status/network.js:1410 js/ui/status/nightLight.js:48
4579 msgid "Turn Off"
4580 msgstr "Vypnout"
4581
4582@@ -1380,18 +1125,22 @@ msgstr "Zobrazit zdroj"
4583 msgid "Web Page"
4584 msgstr "Webová stránka"
4585
4586-#: js/ui/messageTray.js:1493
4587+#: js/ui/messageTray.js:1495
4588 msgid "System Information"
4589 msgstr "Informace o systému"
4590
4591-#: js/ui/mpris.js:211
4592+#: js/ui/mpris.js:214
4593 msgid "Unknown artist"
4594 msgstr "Neznámý umělec"
4595
4596-#: js/ui/mpris.js:212
4597+#: js/ui/mpris.js:215
4598 msgid "Unknown title"
4599 msgstr "Neznámý název"
4600
4601+#: js/ui/osdWindow.js:32 js/ui/status/volume.js:204
4602+msgid "Volume"
4603+msgstr "Hlasitost"
4604+
4605 #: js/ui/overview.js:83
4606 msgid "Undo"
4607 msgstr "Zpět"
4608@@ -1434,42 +1183,42 @@ msgstr "Přířadit klávesu"
4609 msgid "Done"
4610 msgstr "Hotovo"
4611
4612-#: js/ui/padOsd.js:740
4613+#: js/ui/padOsd.js:742
4614 msgid "Edit…"
4615 msgstr "Upravit…"
4616
4617-#: js/ui/padOsd.js:782 js/ui/padOsd.js:887
4618+#: js/ui/padOsd.js:784 js/ui/padOsd.js:889
4619 msgid "None"
4620 msgstr "Źádná"
4621
4622-#: js/ui/padOsd.js:841
4623+#: js/ui/padOsd.js:843
4624 msgid "Press a button to configure"
4625 msgstr "Zmáčkněte tlačítko pro nastavení"
4626
4627-#: js/ui/padOsd.js:842
4628+#: js/ui/padOsd.js:844
4629 msgid "Press Esc to exit"
4630 msgstr "Zmáčknutím Esc ukončíte"
4631
4632-#: js/ui/padOsd.js:845
4633+#: js/ui/padOsd.js:847
4634 msgid "Press any key to exit"
4635 msgstr "Zmáčknutím klávesy ukončíte"
4636
4637-#: js/ui/panel.js:355
4638+#: js/ui/panel.js:356
4639 msgid "Quit"
4640 msgstr "Ukončit"
4641
4642 #. Translators: If there is no suitable word for "Activities"
4643 #. in your language, you can use the word for "Overview".
4644-#: js/ui/panel.js:411
4645+#: js/ui/panel.js:412
4646 msgid "Activities"
4647 msgstr "Činnosti"
4648
4649-#: js/ui/panel.js:692
4650+#: js/ui/panel.js:693
4651 msgctxt "System menu in the top bar"
4652 msgid "System"
4653 msgstr "Systém"
4654
4655-#: js/ui/panel.js:811
4656+#: js/ui/panel.js:817
4657 msgid "Top Bar"
4658 msgstr "Horní lišta"
4659
4660@@ -1478,23 +1227,23 @@ msgstr "Horní lišta"
4661 #. "ON" and "OFF") or "toggle-switch-intl" (for toggle
4662 #. switches containing "◯" and "|"). Other values will
4663 #. simply result in invisible toggle switches.
4664-#: js/ui/popupMenu.js:291
4665+#: js/ui/popupMenu.js:300
4666 msgid "toggle-switch-us"
4667 msgstr "toggle-switch-intl"
4668
4669-#: js/ui/runDialog.js:70
4670+#: js/ui/runDialog.js:74
4671 msgid "Enter a Command"
4672 msgstr "Zadejte příkaz:"
4673
4674-#: js/ui/runDialog.js:110 js/ui/windowMenu.js:175
4675+#: js/ui/runDialog.js:114 js/ui/windowMenu.js:174
4676 msgid "Close"
4677 msgstr "Zavřít"
4678
4679-#: js/ui/runDialog.js:273
4680+#: js/ui/runDialog.js:276
4681 msgid "Restart is not available on Wayland"
4682 msgstr "Restart není na Waylandu k dispozici"
4683
4684-#: js/ui/runDialog.js:278
4685+#: js/ui/runDialog.js:281
4686 msgid "Restarting…"
4687 msgstr "Restartuje se…"
4688
4689@@ -1520,7 +1269,7 @@ msgstr[0] "%d nové upozornění"
4690 msgstr[1] "%d nová upozornění"
4691 msgstr[2] "%d nových upozornění"
4692
4693-#: js/ui/screenShield.js:451 js/ui/status/system.js:283
4694+#: js/ui/screenShield.js:451 js/ui/status/system.js:294
4695 msgid "Lock"
4696 msgstr "Uzamknout"
4697
4698@@ -1627,35 +1376,6 @@ msgstr "Vysoký kontrast"
4699 msgid "Large Text"
4700 msgstr "Styl velkého textu"
4701
4702-#: js/ui/status/bluetooth.js:48
4703-msgid "Bluetooth"
4704-msgstr "Bluetooth"
4705-
4706-#: js/ui/status/bluetooth.js:57 js/ui/status/network.js:614
4707-msgid "Bluetooth Settings"
4708-msgstr "Nastavení Bluetooth"
4709-
4710-#. Translators: this is the number of connected bluetooth devices
4711-#: js/ui/status/bluetooth.js:137
4712-#, javascript-format
4713-msgid "%d Connected"
4714-msgid_plural "%d Connected"
4715-msgstr[0] "%d připojené"
4716-msgstr[1] "%d připojená"
4717-msgstr[2] "%d připojených"
4718-
4719-#: js/ui/status/bluetooth.js:139
4720-msgid "Off"
4721-msgstr "Vypnuto"
4722-
4723-#: js/ui/status/bluetooth.js:141
4724-msgid "On"
4725-msgstr "Zapnuto"
4726-
4727-#: js/ui/status/brightness.js:44
4728-msgid "Brightness"
4729-msgstr "Jas"
4730-
4731 #: js/ui/status/keyboard.js:781
4732 msgid "Keyboard"
4733 msgstr "Klávesnice"
4734@@ -1664,219 +1384,173 @@ msgstr "Klávesnice"
4735 msgid "Show Keyboard Layout"
4736 msgstr "Zobrazit rozložení klávesnice"
4737
4738-#: js/ui/status/location.js:89 js/ui/status/location.js:197
4739+#: js/ui/status/location.js:91 js/ui/status/location.js:199
4740 msgid "Location Enabled"
4741 msgstr "Zjišťování polohy je povoleno"
4742
4743-#: js/ui/status/location.js:90 js/ui/status/location.js:198
4744+#: js/ui/status/location.js:92 js/ui/status/location.js:200
4745 msgid "Disable"
4746 msgstr "Zakázát"
4747
4748-#: js/ui/status/location.js:91
4749+#: js/ui/status/location.js:93
4750 msgid "Privacy Settings"
4751 msgstr "Nastavení ochrany osobních údajů"
4752
4753-#: js/ui/status/location.js:196
4754+#: js/ui/status/location.js:198
4755 msgid "Location In Use"
4756 msgstr "Zjišťování polohy se používá"
4757
4758-#: js/ui/status/location.js:200
4759+#: js/ui/status/location.js:202
4760 msgid "Location Disabled"
4761 msgstr "Zjišťování polohy je zakázáno"
4762
4763-#: js/ui/status/location.js:201
4764+#: js/ui/status/location.js:203
4765 msgid "Enable"
4766 msgstr "Povolit"
4767
4768 #. Translators: %s is an application name
4769-#: js/ui/status/location.js:386
4770+#: js/ui/status/location.js:388
4771 #, javascript-format
4772 msgid "Give %s access to your location?"
4773 msgstr "Schválit pro %s přístup k vaší poloze?"
4774
4775-#: js/ui/status/location.js:387
4776+#: js/ui/status/location.js:389
4777 msgid "Location access can be changed at any time from the privacy settings."
4778 msgstr ""
4779 "Přístup ke službám pro určování polohy lze kdykoliv změnit v nastavení "
4780 "soukromí."
4781
4782-#: js/ui/status/network.js:90
4783-msgid "<unknown>"
4784-msgstr "<neznámé>"
4785-
4786-#. Translators: %s is a network identifier
4787-#: js/ui/status/network.js:441 js/ui/status/network.js:1310
4788-#, javascript-format
4789-msgid "%s Off"
4790-msgstr "%s je vypnuto"
4791-
4792-#. Translators: %s is a network identifier
4793-#: js/ui/status/network.js:444
4794-#, javascript-format
4795-msgid "%s Connected"
4796-msgstr "%s je připojeno"
4797-
4798-#. Translators: this is for network devices that are physically present but are not
4799-#. under NetworkManager's control (and thus cannot be used in the menu);
4800-#. %s is a network identifier
4801-#: js/ui/status/network.js:449
4802-#, javascript-format
4803-msgid "%s Unmanaged"
4804-msgstr "%s není spravováno"
4805-
4806-#. Translators: %s is a network identifier
4807-#: js/ui/status/network.js:452
4808-#, javascript-format
4809-msgid "%s Disconnecting"
4810-msgstr "%s se odpojuje"
4811-
4812-#. Translators: %s is a network identifier
4813-#: js/ui/status/network.js:459 js/ui/status/network.js:1302
4814-#, javascript-format
4815-msgid "%s Connecting"
4816-msgstr "%s se připojuje"
4817-
4818-#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
4819-#: js/ui/status/network.js:462
4820-#, javascript-format
4821-msgid "%s Requires Authentication"
4822-msgstr "%s požaduje ověření"
4823-
4824-#. Translators: this is for devices that require some kind of firmware or kernel
4825-#. module, which is missing; %s is a network identifier
4826-#: js/ui/status/network.js:470
4827-#, javascript-format
4828-msgid "Firmware Missing For %s"
4829-msgstr "Schází firmware pro %s"
4830-
4831-#. Translators: this is for a network device that cannot be activated (for example it
4832-#. is disabled by rfkill, or it has no coverage; %s is a network identifier
4833-#: js/ui/status/network.js:474
4834-#, javascript-format
4835-msgid "%s Unavailable"
4836-msgstr "%s je nedostupné"
4837-
4838-#. Translators: %s is a network identifier
4839-#: js/ui/status/network.js:477
4840-#, javascript-format
4841-msgid "%s Connection Failed"
4842-msgstr "%s selhalo připojení"
4843-
4844-#: js/ui/status/network.js:493
4845-msgid "Wired Settings"
4846-msgstr "Nastavení připojení po drátu"
4847+#: js/ui/status/location.js:395
4848+msgid "Deny Access"
4849+msgstr "Zamítnout přístup"
4850
4851-#: js/ui/status/network.js:535
4852-msgid "Mobile Broadband Settings"
4853-msgstr "Nastavení mobilní širokopásmové sítě"
4854+#: js/ui/status/location.js:398
4855+msgid "Grant Access"
4856+msgstr "Schválit přístup"
4857
4858 #. Translators: %s is a network identifier
4859-#: js/ui/status/network.js:578 js/ui/status/network.js:1307
4860+#: js/ui/status/network.js:579 js/ui/status/network.js:1321
4861 #, javascript-format
4862 msgid "%s Hardware Disabled"
4863 msgstr "%s je hardwarově zakázáno"
4864
4865 #. Translators: this is for a network device that cannot be activated
4866 #. because it's disabled by rfkill (airplane mode); %s is a network identifier
4867-#: js/ui/status/network.js:582
4868+#: js/ui/status/network.js:583
4869 #, javascript-format
4870 msgid "%s Disabled"
4871 msgstr "%s je zakázáno"
4872
4873-#: js/ui/status/network.js:622
4874+#: js/ui/status/network.js:615
4875+msgid "Bluetooth Settings"
4876+msgstr "Nastavení Bluetooth"
4877+
4878+#: js/ui/status/network.js:623
4879 msgid "Connect to Internet"
4880 msgstr "Připojit k Internetu"
4881
4882-#: js/ui/status/network.js:816
4883+#: js/ui/status/network.js:817
4884 msgid "Airplane Mode is On"
4885 msgstr "Režim „letadlo“ je zapnutý"
4886
4887-#: js/ui/status/network.js:817
4888+#: js/ui/status/network.js:818
4889 msgid "Wi-Fi is disabled when airplane mode is on."
4890 msgstr "Když je zapnutý režim „letadlo“, je WiFi zakázána."
4891
4892-#: js/ui/status/network.js:818
4893+#: js/ui/status/network.js:819
4894 msgid "Turn Off Airplane Mode"
4895 msgstr "Vypnout režim „letadlo“"
4896
4897-#: js/ui/status/network.js:827
4898+#: js/ui/status/network.js:828
4899 msgid "Wi-Fi is Off"
4900 msgstr "WiFi je vypnutá"
4901
4902-#: js/ui/status/network.js:828
4903+#: js/ui/status/network.js:829
4904 msgid "Wi-Fi needs to be turned on in order to connect to a network."
4905 msgstr "Abyste se připojili k síti, je zapotřebí zapnout WiFi."
4906
4907-#: js/ui/status/network.js:829
4908+#: js/ui/status/network.js:830
4909 msgid "Turn On Wi-Fi"
4910 msgstr "Zapnout WiFi"
4911
4912-#: js/ui/status/network.js:854
4913+#: js/ui/status/network.js:855
4914 msgid "Wi-Fi Networks"
4915 msgstr "Sítě WiFi"
4916
4917-#: js/ui/status/network.js:856
4918+#: js/ui/status/network.js:857
4919 msgid "Select a network"
4920 msgstr "Vyberte síť"
4921
4922-#: js/ui/status/network.js:886
4923+#: js/ui/status/network.js:887
4924 msgid "No Networks"
4925 msgstr "Žádné sítě"
4926
4927-#: js/ui/status/network.js:907 js/ui/status/rfkill.js:115
4928+#: js/ui/status/network.js:908
4929 msgid "Use hardware switch to turn off"
4930 msgstr "K vypnutí použijte fyzický vypínač"
4931
4932-#: js/ui/status/network.js:1173
4933+#: js/ui/status/network.js:1187
4934 msgid "Select Network"
4935 msgstr "Vybrat síť"
4936
4937-#: js/ui/status/network.js:1179
4938+#: js/ui/status/network.js:1193
4939 msgid "Wi-Fi Settings"
4940 msgstr "Nastavení WiFi"
4941
4942 #. Translators: %s is a network identifier
4943-#: js/ui/status/network.js:1298
4944+#: js/ui/status/network.js:1312
4945 #, javascript-format
4946 msgid "%s Hotspot Active"
4947 msgstr "%s je aktivní přístupový bod"
4948
4949 #. Translators: %s is a network identifier
4950-#: js/ui/status/network.js:1313
4951+#: js/ui/status/network.js:1316
4952+#, javascript-format
4953+msgid "%s Connecting"
4954+msgstr "%s se připojuje"
4955+
4956+#. Translators: %s is a network identifier
4957+#: js/ui/status/network.js:1324
4958+#, javascript-format
4959+msgid "%s Off"
4960+msgstr "%s je vypnuto"
4961+
4962+#. Translators: %s is a network identifier
4963+#: js/ui/status/network.js:1327
4964 #, javascript-format
4965 msgid "%s Not Connected"
4966 msgstr "%s není připojeno"
4967
4968-#: js/ui/status/network.js:1413
4969+#: js/ui/status/network.js:1427
4970 msgid "connecting…"
4971 msgstr "připojuje se…"
4972
4973 #. Translators: this is for network connections that require some kind of key or password
4974-#: js/ui/status/network.js:1416
4975+#: js/ui/status/network.js:1430
4976 msgid "authentication required"
4977 msgstr "je požadováno ověření"
4978
4979-#: js/ui/status/network.js:1418
4980+#: js/ui/status/network.js:1432
4981 msgid "connection failed"
4982 msgstr "připojení selhalo"
4983
4984-#: js/ui/status/network.js:1472
4985+#: js/ui/status/network.js:1486
4986 msgid "VPN Settings"
4987 msgstr "Nastavení VPN"
4988
4989-#: js/ui/status/network.js:1485
4990+#: js/ui/status/network.js:1499
4991 msgid "VPN"
4992 msgstr "VPN"
4993
4994-#: js/ui/status/network.js:1495
4995+#: js/ui/status/network.js:1509
4996 msgid "VPN Off"
4997 msgstr "VPN je vypnuta"
4998
4999-#: js/ui/status/network.js:1559 js/ui/status/rfkill.js:93
5000+#: js/ui/status/network.js:1573
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches