Merge ~3v1n0/ubuntu/+source/gnome-shell:ubuntu/master into ~ubuntu-desktop/ubuntu/+source/gnome-shell:ubuntu/master
- Git
- lp:~3v1n0/ubuntu/+source/gnome-shell
- ubuntu/master
- Merge into ubuntu/master
Proposed by
Marco Trevisan (Treviño)
Status: | Merged |
---|---|
Merged at revision: | d0274d5fef8c3023ff0b206708f907082a25ea2f |
Proposed branch: | ~3v1n0/ubuntu/+source/gnome-shell:ubuntu/master |
Merge into: | ~ubuntu-desktop/ubuntu/+source/gnome-shell:ubuntu/master |
Diff against target: |
2243 lines (+469/-710) 32 files modified
NEWS (+31/-0) data/dbus-interfaces/org.gnome.Shell.xml (+0/-3) data/gnome-shell-theme.gresource.xml (+0/-2) data/theme/gnome-shell-sass/_common.scss (+9/-8) data/theme/toggle-off-intl.svg (+45/-151) data/theme/toggle-on-intl.svg (+45/-134) debian/.gitignore (+10/-0) debian/changelog (+76/-0) debian/clean (+1/-0) debian/patches/magnifier-Show-cursor-when-magnifier-is-enabled-and-scale.patch (+10/-10) debian/patches/optional-hot-corner.patch (+1/-1) debian/patches/ubuntu/resolve_alternate_theme_path.patch (+1/-1) debian/patches/ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch (+1/-1) debian/rules (+13/-1) dev/null (+0/-207) js/extensionPrefs/main.js (+3/-3) js/perf/hwtest.js (+6/-3) js/ui/appFavorites.js (+16/-8) js/ui/barLevel.js (+15/-12) js/ui/boxpointer.js (+27/-61) js/ui/dash.js (+5/-9) js/ui/dateMenu.js (+11/-5) js/ui/layout.js (+1/-1) js/ui/osdMonitorLabeler.js (+0/-22) js/ui/panel.js (+1/-2) js/ui/popupMenu.js (+0/-6) js/ui/screenshot.js (+6/-26) js/ui/shellDBus.js (+7/-10) js/ui/windowManager.js (+37/-11) js/ui/workspacesView.js (+85/-10) meson.build (+1/-1) src/st/st-theme-node.c (+5/-1) |
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Daniel van Vugt (community) | Approve | ||
Ubuntu Desktop | Pending | ||
Review via email: mp+366668@code.launchpad.net |
Commit message
Description of the change
Update to 3.32.1
To post a comment you must log in.
Revision history for this message
Iain Lane (laney) wrote : | # |
> (1) Again I recommend not including the large section in changelog entries detailing what hasn't changed ("remaining changes:") because it is misleading to document in detail things that are not part of the update.
This is Ubuntu merge policy. If you think it's wrong, a discussion on ubuntu-devel would be the way to go about getting it changed.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | diff --git a/NEWS b/NEWS |
2 | index a86e5e4..fcfa060 100644 |
3 | --- a/NEWS |
4 | +++ b/NEWS |
5 | @@ -1,3 +1,34 @@ |
6 | +3.32.1 |
7 | +====== |
8 | +* Fix avatar scaling on login screen [Florian; #1024] |
9 | +* Fix distortion of desktop zoom [Florian; #646] |
10 | +* Fix mouse cursor visibility when using desktop zoom [Florian, Marco; #1020] |
11 | +* Fix screen dimming after wake-up on lock screen [Xiaoguang; #900] |
12 | +* Fix Alt+Esc switcher [Florian; #1064] |
13 | +* Respect struts for popover placement [Andrea; #1102] |
14 | +* Fix app icons updates after theme changes [Florian; #1117] |
15 | +* Fix desktop zoom after resolution changes [Marco; #1120] |
16 | +* Implement stick-to-finger workspace switch overview gestures [Florian; #516] |
17 | +* Make World Clocks offsets relative to local time [Florian; #1157] |
18 | +* Fix top app icon disappearing from dash [Florian; #1053] |
19 | +* Update switch style to match new Adwaita [Jakub; !496] |
20 | +* Ensure CSS units are pixel-aligned when scaling is used [Carlos; #91] |
21 | +* Misc. bug fixes and cleanups [Florian, Jakub, Robert, Alex, Carlos, Phil, |
22 | + Marco, Benjamin, AsciiWolf, Ray, verdre; !444, #1016, #1018, !449, #1036, |
23 | + !455, #1094, !440, #1023, #624, #1017, !476, !473, !480, #1130, !485, !481, |
24 | + !490, !489, #1151, !435, #1160, !482, #1150, #1166, !384] |
25 | + |
26 | +Contributors: |
27 | + AsciiWolf, Andrea Azzarone, Benjamin Berg, Carlos Garnacho, Victor Ibragimov, |
28 | + Robert Mader, Alex Monday, Florian Müllner, Jakub Steiner, Ray Strode, |
29 | + Marco Trevisan (Treviño), verdre, Xiaoguang Wang, Phil Wyett |
30 | + |
31 | +Translators: |
32 | + Victor Ibragimov [tg, af, et, ja], Bruce Cowan [en_GB], Piotr Drąg [tg], |
33 | + Charles Monzat [fr], Khaled Hosny [ar], Goran Vidović [hr], |
34 | + Cheng-Chia Tseng [zh_TW], Carmen Bianca BAKKER [eo], Daniel Mustieles [es], |
35 | + Dušan Kazik [sk] |
36 | + |
37 | 3.32.0 |
38 | ====== |
39 | * Fix sizing issues in on-screen-keyboard emoji panel [Carlos; !439] |
40 | diff --git a/data/dbus-interfaces/org.gnome.Shell.xml b/data/dbus-interfaces/org.gnome.Shell.xml |
41 | index 1fef302..094c294 100644 |
42 | --- a/data/dbus-interfaces/org.gnome.Shell.xml |
43 | +++ b/data/dbus-interfaces/org.gnome.Shell.xml |
44 | @@ -9,9 +9,6 @@ |
45 | <method name="ShowOSD"> |
46 | <arg type="a{sv}" direction="in" name="params"/> |
47 | </method> |
48 | - <method name="ShowMonitorLabels"> |
49 | - <arg type="a{uv}" direction="in" name="params"/> |
50 | - </method> |
51 | <method name="ShowMonitorLabels2"> |
52 | <arg type="a{sv}" direction="in" name="params"/> |
53 | </method> |
54 | diff --git a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml |
55 | index b778254..c05be6b 100644 |
56 | --- a/data/gnome-shell-theme.gresource.xml |
57 | +++ b/data/gnome-shell-theme.gresource.xml |
58 | @@ -21,10 +21,8 @@ |
59 | <file>noise-texture.png</file> |
60 | <file>pad-osd.css</file> |
61 | <file>process-working.svg</file> |
62 | - <file>toggle-off-us.svg</file> |
63 | <file>toggle-off-intl.svg</file> |
64 | <file>toggle-off-hc.svg</file> |
65 | - <file>toggle-on-us.svg</file> |
66 | <file>toggle-on-intl.svg</file> |
67 | <file>toggle-on-hc.svg</file> |
68 | </gresource> |
69 | diff --git a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss |
70 | index c7485ae..a6357ba 100644 |
71 | --- a/data/theme/gnome-shell-sass/_common.scss |
72 | +++ b/data/theme/gnome-shell-sass/_common.scss |
73 | @@ -157,18 +157,13 @@ StScrollBar { |
74 | |
75 | /* Switches */ |
76 | .toggle-switch { |
77 | - width: 65px; |
78 | + width: 46px; |
79 | height: 22px; |
80 | background-size: contain; |
81 | + background-image: url("resource:///org/gnome/shell/theme/toggle-off-intl.svg"); |
82 | + &:checked { background-image: url("resource:///org/gnome/shell/theme/toggle-on-intl.svg"); } |
83 | } |
84 | |
85 | - @each $v in us, intl { |
86 | - .toggle-switch-#{$v} { |
87 | - background-image: url("resource:///org/gnome/shell/theme/toggle-off-#{$v}.svg"); |
88 | - &:checked { background-image: url("resource:///org/gnome/shell/theme/toggle-on-#{$v}.svg"); } |
89 | - } |
90 | - } |
91 | - |
92 | /* links */ |
93 | .shell-link { |
94 | color: $link_color; |
95 | @@ -1142,6 +1137,12 @@ StScrollBar { |
96 | |
97 | .ripple-box:rtl { border-radius: 0 0 0 52px; } // just a simple change to the border radius position |
98 | |
99 | +// Rubberband for select-area screenshots |
100 | +.select-area-rubberband { |
101 | + background-color: transparentize($selected_bg_color,0.7); |
102 | + border: 1px solid $selected_bg_color; |
103 | +} |
104 | + |
105 | // not really top bar only |
106 | .popup-menu-arrow { icon-size: 1.09em; } |
107 | .popup-menu-icon { icon-size: 1.09em; } |
108 | diff --git a/data/theme/toggle-off-intl.svg b/data/theme/toggle-off-intl.svg |
109 | index a1734fb..cb08712 100644 |
110 | --- a/data/theme/toggle-off-intl.svg |
111 | +++ b/data/theme/toggle-off-intl.svg |
112 | @@ -10,124 +10,62 @@ |
113 | xmlns:xlink="http://www.w3.org/1999/xlink" |
114 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
115 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
116 | - width="65" |
117 | + width="46" |
118 | height="22" |
119 | - id="svg2857" |
120 | + viewBox="0 0 46 22" |
121 | version="1.1" |
122 | - inkscape:version="0.48.5 r10040" |
123 | - sodipodi:docname="toggle-off-us.svg"> |
124 | + id="svg2751" |
125 | + inkscape:version="0.92.4 5da689c313, 2019-01-14" |
126 | + sodipodi:docname="toggle-off-intl.svg"> |
127 | <defs |
128 | - id="defs2859"> |
129 | - <inkscape:perspective |
130 | - sodipodi:type="inkscape:persp3d" |
131 | - inkscape:vp_x="0 : 526.18109 : 1" |
132 | - inkscape:vp_y="0 : 1000 : 0" |
133 | - inkscape:vp_z="744.09448 : 526.18109 : 1" |
134 | - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" |
135 | - id="perspective2865" /> |
136 | - <inkscape:perspective |
137 | - id="perspective2843" |
138 | - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" |
139 | - inkscape:vp_z="1 : 0.5 : 1" |
140 | - inkscape:vp_y="0 : 1000 : 0" |
141 | - inkscape:vp_x="0 : 0.5 : 1" |
142 | - sodipodi:type="inkscape:persp3d" /> |
143 | + id="defs2745"> |
144 | <linearGradient |
145 | inkscape:collect="always" |
146 | - xlink:href="#linearGradient76469-7-7-4" |
147 | - id="linearGradient38024" |
148 | - gradientUnits="userSpaceOnUse" |
149 | - gradientTransform="matrix(1.0215462,0,0,1.0322581,717.22867,428.68472)" |
150 | - x1="6" |
151 | - y1="102.95528" |
152 | - x2="6" |
153 | - y2="84.505203" /> |
154 | - <linearGradient |
155 | - inkscape:collect="always" |
156 | - id="linearGradient76469-7-7-4"> |
157 | + id="linearGradient3329"> |
158 | <stop |
159 | - style="stop-color:#2e3232;stop-opacity:1" |
160 | + style="stop-color:#39393a;stop-opacity:1;" |
161 | offset="0" |
162 | - id="stop76471-7-1-5" /> |
163 | + id="stop3325" /> |
164 | <stop |
165 | - style="stop-color:#3e4545;stop-opacity:1" |
166 | + style="stop-color:#302f30;stop-opacity:1" |
167 | offset="1" |
168 | - id="stop76473-9-0-0" /> |
169 | + id="stop3327" /> |
170 | </linearGradient> |
171 | - <inkscape:path-effect |
172 | - effect="spiro" |
173 | - id="path-effect77541-4" |
174 | - is_visible="true" /> |
175 | - <inkscape:path-effect |
176 | - effect="spiro" |
177 | - id="path-effect77541-4-0" |
178 | - is_visible="true" /> |
179 | <linearGradient |
180 | inkscape:collect="always" |
181 | - xlink:href="#linearGradient37802-8" |
182 | - id="linearGradient12311-3-1-0-5-4" |
183 | - gradientUnits="userSpaceOnUse" |
184 | - gradientTransform="matrix(1.5918367,0,0,0.85714285,-256.56122,59.071426)" |
185 | - x1="610.13782" |
186 | - y1="501.43866" |
187 | - x2="610.13782" |
188 | - y2="492.52756" /> |
189 | - <linearGradient |
190 | - id="linearGradient37802-8" |
191 | - inkscape:collect="always"> |
192 | - <stop |
193 | - id="stop37804-1" |
194 | - offset="0" |
195 | - style="stop-color:#2c2c2c;stop-opacity:1" /> |
196 | - <stop |
197 | - id="stop37806-8" |
198 | - offset="1" |
199 | - style="stop-color:#16191a;stop-opacity:1" /> |
200 | - </linearGradient> |
201 | - <linearGradient |
202 | - y2="492.52756" |
203 | - x2="610.13782" |
204 | - y1="501.43866" |
205 | - x1="610.13782" |
206 | - gradientTransform="matrix(1.5918367,0,0,0.85714285,-900.56122,-423.92857)" |
207 | + xlink:href="#linearGradient3329" |
208 | + id="linearGradient3331" |
209 | + x1="53" |
210 | + y1="294.42917" |
211 | + x2="53" |
212 | + y2="309.80417" |
213 | gradientUnits="userSpaceOnUse" |
214 | - id="linearGradient13602" |
215 | - xlink:href="#linearGradient37802-8" |
216 | - inkscape:collect="always" /> |
217 | + gradientTransform="translate(-42.760724)" /> |
218 | </defs> |
219 | <sodipodi:namedview |
220 | id="base" |
221 | - pagecolor="#000000" |
222 | + pagecolor="#535353" |
223 | bordercolor="#666666" |
224 | borderopacity="1.0" |
225 | inkscape:pageopacity="1" |
226 | inkscape:pageshadow="2" |
227 | inkscape:zoom="1" |
228 | - inkscape:cx="-5.0602834" |
229 | - inkscape:cy="16.473273" |
230 | + inkscape:cx="-19.436775" |
231 | + inkscape:cy="-13.499723" |
232 | inkscape:document-units="px" |
233 | - inkscape:current-layer="g37994" |
234 | + inkscape:current-layer="layer1" |
235 | showgrid="false" |
236 | - inkscape:window-width="2560" |
237 | - inkscape:window-height="1375" |
238 | - inkscape:window-x="0" |
239 | - inkscape:window-y="27" |
240 | - inkscape:window-maximized="1" |
241 | + units="px" |
242 | + inkscape:pagecheckerboard="true" |
243 | borderlayer="true" |
244 | inkscape:showpageshadow="false" |
245 | - inkscape:snap-nodes="false" |
246 | - inkscape:snap-bbox="true" |
247 | showborder="false"> |
248 | <inkscape:grid |
249 | type="xygrid" |
250 | - id="grid12954" |
251 | - empspacing="5" |
252 | - visible="true" |
253 | - enabled="true" |
254 | - snapvisiblegridlinesonly="true" /> |
255 | + id="grid3298" /> |
256 | </sodipodi:namedview> |
257 | <metadata |
258 | - id="metadata2862"> |
259 | + id="metadata2748"> |
260 | <rdf:RDF> |
261 | <cc:Work |
262 | rdf:about=""> |
263 | @@ -142,68 +80,24 @@ |
264 | inkscape:label="Layer 1" |
265 | inkscape:groupmode="layer" |
266 | id="layer1" |
267 | - transform="translate(-444.64286,-781.36218)"> |
268 | - <g |
269 | - transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)" |
270 | - id="g37994"> |
271 | - <g |
272 | - id="g37996" |
273 | - transform="translate(-115,1277)"> |
274 | - <rect |
275 | - style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.19591837" |
276 | - id="rect13475" |
277 | - width="98" |
278 | - height="25" |
279 | - x="644.5" |
280 | - y="484.61118" |
281 | - rx="4.7429576" |
282 | - ry="3.8424656" /> |
283 | - <rect |
284 | - ry="3.8424656" |
285 | - rx="4.7429576" |
286 | - y="483.5" |
287 | - x="644.5" |
288 | - height="25" |
289 | - width="98" |
290 | - id="rect38000" |
291 | - style="color:#000000;fill:url(#linearGradient12311-3-1-0-5-4);fill-opacity:1;fill-rule:nonzero;stroke:#16191a;stroke-width:1.37920942;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" /> |
292 | - </g> |
293 | - <g |
294 | - transform="translate(-49.946213,-1.890275)" |
295 | - id="g38002"> |
296 | - <g |
297 | - transform="translate(-115,1247)" |
298 | - style="display:inline" |
299 | - id="g38004"> |
300 | - <rect |
301 | - ry="3.7972314" |
302 | - rx="4.6871223" |
303 | - y="515.5" |
304 | - x="694.53046" |
305 | - height="25" |
306 | - width="45.969578" |
307 | - id="rect38006" |
308 | - style="color:#000000;fill:url(#linearGradient38024);fill-opacity:1;fill-rule:nonzero;stroke:#1f2020;stroke-width:1.37920964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> |
309 | - <path |
310 | - sodipodi:nodetypes="cc" |
311 | - style="opacity:0.1;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
312 | - d="m 699.09675,516.7365 36.86904,0" |
313 | - id="path38016" |
314 | - inkscape:path-effect="#path-effect77541-4" |
315 | - inkscape:original-d="m 699.09675,516.7365 36.86904,0" |
316 | - inkscape:connector-curvature="0" /> |
317 | - </g> |
318 | - </g> |
319 | - <path |
320 | - sodipodi:type="arc" |
321 | - style="color:#000000;fill:none;stroke:#ffffff;stroke-width:2.15627193;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" |
322 | - id="path13479" |
323 | - sodipodi:cx="16.4375" |
324 | - sodipodi:cy="10.8125" |
325 | - sodipodi:rx="4.3125" |
326 | - sodipodi:ry="4.3125" |
327 | - d="m 20.75,10.8125 a 4.3125,4.3125 0 1 1 -8.625,0 4.3125,4.3125 0 1 1 8.625,0 z" |
328 | - transform="matrix(1.4212691,0,0,1.1514287,577.38488,1761.1138)" /> |
329 | - </g> |
330 | + transform="translate(0,-291.17916)"> |
331 | + <rect |
332 | + style="opacity:1;vector-effect:none;fill:#323233;fill-opacity:1;stroke:#272728;stroke-width:1.08532763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal" |
333 | + id="rect3296" |
334 | + width="44.446434" |
335 | + height="20.910645" |
336 | + x="0.625" |
337 | + y="291.71494" |
338 | + rx="10.455324" |
339 | + ry="10.073335" /> |
340 | + <rect |
341 | + ry="10.455322" |
342 | + rx="10.455322" |
343 | + y="291.71494" |
344 | + x="0.5428465" |
345 | + height="20.910645" |
346 | + width="21.142862" |
347 | + id="rect3300" |
348 | + style="opacity:1;vector-effect:none;fill:url(#linearGradient3331);fill-opacity:1;stroke:#151515;stroke-width:1.08532763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal" /> |
349 | </g> |
350 | </svg> |
351 | diff --git a/data/theme/toggle-off-us.svg b/data/theme/toggle-off-us.svg |
352 | deleted file mode 100644 |
353 | index 941501d..0000000 |
354 | --- a/data/theme/toggle-off-us.svg |
355 | +++ /dev/null |
356 | @@ -1,255 +0,0 @@ |
357 | -<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
358 | -<!-- Created with Inkscape (http://www.inkscape.org/) --> |
359 | - |
360 | -<svg |
361 | - xmlns:dc="http://purl.org/dc/elements/1.1/" |
362 | - xmlns:cc="http://creativecommons.org/ns#" |
363 | - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
364 | - xmlns:svg="http://www.w3.org/2000/svg" |
365 | - xmlns="http://www.w3.org/2000/svg" |
366 | - xmlns:xlink="http://www.w3.org/1999/xlink" |
367 | - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
368 | - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
369 | - width="65" |
370 | - height="22" |
371 | - id="svg2857" |
372 | - version="1.1" |
373 | - inkscape:version="0.48.5 r10040" |
374 | - sodipodi:docname="toggle-on-intl.svg"> |
375 | - <defs |
376 | - id="defs2859"> |
377 | - <inkscape:perspective |
378 | - sodipodi:type="inkscape:persp3d" |
379 | - inkscape:vp_x="0 : 526.18109 : 1" |
380 | - inkscape:vp_y="0 : 1000 : 0" |
381 | - inkscape:vp_z="744.09448 : 526.18109 : 1" |
382 | - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" |
383 | - id="perspective2865" /> |
384 | - <inkscape:perspective |
385 | - id="perspective2843" |
386 | - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" |
387 | - inkscape:vp_z="1 : 0.5 : 1" |
388 | - inkscape:vp_y="0 : 1000 : 0" |
389 | - inkscape:vp_x="0 : 0.5 : 1" |
390 | - sodipodi:type="inkscape:persp3d" /> |
391 | - <linearGradient |
392 | - inkscape:collect="always" |
393 | - xlink:href="#linearGradient76469-7-7-4" |
394 | - id="linearGradient38024" |
395 | - gradientUnits="userSpaceOnUse" |
396 | - gradientTransform="matrix(1.0215462,0,0,1.0322581,717.22867,428.68472)" |
397 | - x1="6" |
398 | - y1="102.95528" |
399 | - x2="6" |
400 | - y2="84.505203" /> |
401 | - <linearGradient |
402 | - inkscape:collect="always" |
403 | - id="linearGradient76469-7-7-4"> |
404 | - <stop |
405 | - style="stop-color:#2e3232;stop-opacity:1" |
406 | - offset="0" |
407 | - id="stop76471-7-1-5" /> |
408 | - <stop |
409 | - style="stop-color:#3e4545;stop-opacity:1" |
410 | - offset="1" |
411 | - id="stop76473-9-0-0" /> |
412 | - </linearGradient> |
413 | - <inkscape:path-effect |
414 | - effect="spiro" |
415 | - id="path-effect77541-4" |
416 | - is_visible="true" /> |
417 | - <linearGradient |
418 | - inkscape:collect="always" |
419 | - xlink:href="#linearGradient37802" |
420 | - id="linearGradient12311-3-1-0-5" |
421 | - gradientUnits="userSpaceOnUse" |
422 | - gradientTransform="matrix(1.5918367,0,0,0.85714285,-256.56122,59.071426)" |
423 | - x1="610.13782" |
424 | - y1="501.43866" |
425 | - x2="610.13782" |
426 | - y2="492.52756" /> |
427 | - <linearGradient |
428 | - id="linearGradient37802" |
429 | - inkscape:collect="always"> |
430 | - <stop |
431 | - id="stop37804" |
432 | - offset="0" |
433 | - style="stop-color:#2c2c2c;stop-opacity:1" /> |
434 | - <stop |
435 | - id="stop37806" |
436 | - offset="1" |
437 | - style="stop-color:#16191a;stop-opacity:1" /> |
438 | - </linearGradient> |
439 | - <linearGradient |
440 | - inkscape:collect="always" |
441 | - xlink:href="#linearGradient76469-7-7-4-3" |
442 | - id="linearGradient77680" |
443 | - gradientUnits="userSpaceOnUse" |
444 | - gradientTransform="matrix(1,0,0,1.0322581,717.71949,428.68472)" |
445 | - x1="6" |
446 | - y1="102.95528" |
447 | - x2="6" |
448 | - y2="84.505203" /> |
449 | - <linearGradient |
450 | - inkscape:collect="always" |
451 | - id="linearGradient76469-7-7-4-3"> |
452 | - <stop |
453 | - style="stop-color:#2e3232;stop-opacity:1" |
454 | - offset="0" |
455 | - id="stop76471-7-1-5-7" /> |
456 | - <stop |
457 | - style="stop-color:#3e4545;stop-opacity:1" |
458 | - offset="1" |
459 | - id="stop76473-9-0-0-9" /> |
460 | - </linearGradient> |
461 | - <inkscape:path-effect |
462 | - effect="spiro" |
463 | - id="path-effect77541-4-0" |
464 | - is_visible="true" /> |
465 | - <linearGradient |
466 | - inkscape:collect="always" |
467 | - xlink:href="#linearGradient37802-8" |
468 | - id="linearGradient12311-3-1-0-5-4" |
469 | - gradientUnits="userSpaceOnUse" |
470 | - gradientTransform="matrix(1.5918367,0,0,0.85714285,-256.56122,59.071426)" |
471 | - x1="610.13782" |
472 | - y1="501.43866" |
473 | - x2="610.13782" |
474 | - y2="492.52756" /> |
475 | - <linearGradient |
476 | - id="linearGradient37802-8" |
477 | - inkscape:collect="always"> |
478 | - <stop |
479 | - id="stop37804-1" |
480 | - offset="0" |
481 | - style="stop-color:#2c2c2c;stop-opacity:1" /> |
482 | - <stop |
483 | - id="stop37806-8" |
484 | - offset="1" |
485 | - style="stop-color:#16191a;stop-opacity:1" /> |
486 | - </linearGradient> |
487 | - <linearGradient |
488 | - y2="492.52756" |
489 | - x2="610.13782" |
490 | - y1="501.43866" |
491 | - x1="610.13782" |
492 | - gradientTransform="matrix(1.5918367,0,0,0.85714285,-900.56122,-423.92857)" |
493 | - gradientUnits="userSpaceOnUse" |
494 | - id="linearGradient13602" |
495 | - xlink:href="#linearGradient37802-8" |
496 | - inkscape:collect="always" /> |
497 | - </defs> |
498 | - <sodipodi:namedview |
499 | - id="base" |
500 | - pagecolor="#000000" |
501 | - bordercolor="#666666" |
502 | - borderopacity="1.0" |
503 | - inkscape:pageopacity="1" |
504 | - inkscape:pageshadow="2" |
505 | - inkscape:zoom="1" |
506 | - inkscape:cx="16.760995" |
507 | - inkscape:cy="21.955673" |
508 | - inkscape:document-units="px" |
509 | - inkscape:current-layer="g37994" |
510 | - showgrid="false" |
511 | - inkscape:window-width="2560" |
512 | - inkscape:window-height="1375" |
513 | - inkscape:window-x="0" |
514 | - inkscape:window-y="27" |
515 | - inkscape:window-maximized="1" |
516 | - borderlayer="true" |
517 | - inkscape:showpageshadow="false" |
518 | - inkscape:snap-nodes="false" |
519 | - inkscape:snap-bbox="true" |
520 | - showborder="false"> |
521 | - <inkscape:grid |
522 | - type="xygrid" |
523 | - id="grid12954" |
524 | - empspacing="5" |
525 | - visible="true" |
526 | - enabled="true" |
527 | - snapvisiblegridlinesonly="true" /> |
528 | - </sodipodi:namedview> |
529 | - <metadata |
530 | - id="metadata2862"> |
531 | - <rdf:RDF> |
532 | - <cc:Work |
533 | - rdf:about=""> |
534 | - <dc:format>image/svg+xml</dc:format> |
535 | - <dc:type |
536 | - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
537 | - <dc:title></dc:title> |
538 | - </cc:Work> |
539 | - </rdf:RDF> |
540 | - </metadata> |
541 | - <g |
542 | - inkscape:label="Layer 1" |
543 | - inkscape:groupmode="layer" |
544 | - id="layer1" |
545 | - transform="translate(-444.64286,-781.36218)"> |
546 | - <g |
547 | - transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)" |
548 | - id="g37994"> |
549 | - <g |
550 | - id="g37996" |
551 | - transform="translate(-115,1277)"> |
552 | - <rect |
553 | - style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.19591837" |
554 | - id="rect13475" |
555 | - width="98" |
556 | - height="25" |
557 | - x="644.5" |
558 | - y="484.61118" |
559 | - rx="4.7429576" |
560 | - ry="3.8424656" /> |
561 | - <rect |
562 | - ry="3.8424656" |
563 | - rx="4.7429576" |
564 | - y="483.5" |
565 | - x="644.5" |
566 | - height="25" |
567 | - width="98" |
568 | - id="rect38000" |
569 | - style="color:#000000;fill:url(#linearGradient12311-3-1-0-5-4);fill-opacity:1;fill-rule:nonzero;stroke:#16191a;stroke-width:1.37920942;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" /> |
570 | - </g> |
571 | - <g |
572 | - transform="translate(-49.946213,-1.890275)" |
573 | - id="g38002"> |
574 | - <g |
575 | - transform="translate(-115,1247)" |
576 | - style="display:inline" |
577 | - id="g38004"> |
578 | - <rect |
579 | - ry="3.7972314" |
580 | - rx="4.6871223" |
581 | - y="515.5" |
582 | - x="694.53046" |
583 | - height="25" |
584 | - width="45.969578" |
585 | - id="rect38006" |
586 | - style="color:#000000;fill:url(#linearGradient38024);fill-opacity:1;fill-rule:nonzero;stroke:#1f2020;stroke-width:1.37920964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> |
587 | - <path |
588 | - sodipodi:nodetypes="cc" |
589 | - style="opacity:0.1;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
590 | - d="m 699.09675,516.7365 36.86904,0" |
591 | - id="path38016" |
592 | - inkscape:path-effect="#path-effect77541-4" |
593 | - inkscape:original-d="m 699.09675,516.7365 36.86904,0" |
594 | - inkscape:connector-curvature="0" /> |
595 | - </g> |
596 | - </g> |
597 | - <text |
598 | - xml:space="preserve" |
599 | - style="font-size:13.79166794px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold" |
600 | - x="520.29974" |
601 | - y="1997.0011" |
602 | - id="text75614" |
603 | - sodipodi:linespacing="125%" |
604 | - transform="scale(1.1236771,0.88993537)"><tspan |
605 | - sodipodi:role="line" |
606 | - id="tspan75616" |
607 | - x="520.29974" |
608 | - y="1997.0011">OFF</tspan></text> |
609 | - </g> |
610 | - </g> |
611 | -</svg> |
612 | diff --git a/data/theme/toggle-on-intl.svg b/data/theme/toggle-on-intl.svg |
613 | index b007065..142e0a8 100644 |
614 | --- a/data/theme/toggle-on-intl.svg |
615 | +++ b/data/theme/toggle-on-intl.svg |
616 | @@ -10,117 +10,69 @@ |
617 | xmlns:xlink="http://www.w3.org/1999/xlink" |
618 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
619 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
620 | - width="65" |
621 | + width="46" |
622 | height="22" |
623 | - id="svg2857" |
624 | + viewBox="0 0 46 22" |
625 | version="1.1" |
626 | - inkscape:version="0.91 r13725" |
627 | + id="svg2751" |
628 | + inkscape:version="0.92.4 5da689c313, 2019-01-14" |
629 | sodipodi:docname="toggle-on-intl.svg"> |
630 | <defs |
631 | - id="defs2859"> |
632 | - <inkscape:perspective |
633 | - sodipodi:type="inkscape:persp3d" |
634 | - inkscape:vp_x="0 : 526.18109 : 1" |
635 | - inkscape:vp_y="0 : 1000 : 0" |
636 | - inkscape:vp_z="744.09448 : 526.18109 : 1" |
637 | - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" |
638 | - id="perspective2865" /> |
639 | - <inkscape:perspective |
640 | - id="perspective2843" |
641 | - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" |
642 | - inkscape:vp_z="1 : 0.5 : 1" |
643 | - inkscape:vp_y="0 : 1000 : 0" |
644 | - inkscape:vp_x="0 : 0.5 : 1" |
645 | - sodipodi:type="inkscape:persp3d" /> |
646 | + id="defs2745"> |
647 | <linearGradient |
648 | inkscape:collect="always" |
649 | - xlink:href="#linearGradient77461" |
650 | - id="linearGradient77551" |
651 | - gradientUnits="userSpaceOnUse" |
652 | - gradientTransform="matrix(1.3066667,0,0,1,-841.64667,-483)" |
653 | - x1="1164.7644" |
654 | - y1="962.93695" |
655 | - x2="1164.7644" |
656 | - y2="970.51404" /> |
657 | - <linearGradient |
658 | - id="linearGradient77461" |
659 | - inkscape:collect="always"> |
660 | + id="linearGradient3329"> |
661 | <stop |
662 | - id="stop77463" |
663 | + style="stop-color:#39393a;stop-opacity:1;" |
664 | offset="0" |
665 | - style="stop-color:#182f4c;stop-opacity:1" /> |
666 | + id="stop3325" /> |
667 | <stop |
668 | - id="stop77465" |
669 | + style="stop-color:#302f30;stop-opacity:1" |
670 | offset="1" |
671 | - style="stop-color:#205b9a;stop-opacity:1" /> |
672 | + id="stop3327" /> |
673 | </linearGradient> |
674 | <linearGradient |
675 | inkscape:collect="always" |
676 | - xlink:href="#linearGradient76469-7-7-4" |
677 | - id="linearGradient38024" |
678 | + xlink:href="#linearGradient3329" |
679 | + id="linearGradient3331" |
680 | + x1="53" |
681 | + y1="294.42917" |
682 | + x2="53" |
683 | + y2="309.80417" |
684 | gradientUnits="userSpaceOnUse" |
685 | - gradientTransform="matrix(1.0215462,0,0,1.0322581,717.22867,428.68472)" |
686 | - x1="6" |
687 | - y1="102.95528" |
688 | - x2="6" |
689 | - y2="84.505203" /> |
690 | - <linearGradient |
691 | - inkscape:collect="always" |
692 | - id="linearGradient76469-7-7-4"> |
693 | - <stop |
694 | - style="stop-color:#2e3232;stop-opacity:1" |
695 | - offset="0" |
696 | - id="stop76471-7-1-5" /> |
697 | - <stop |
698 | - style="stop-color:#3e4545;stop-opacity:1" |
699 | - offset="1" |
700 | - id="stop76473-9-0-0" /> |
701 | - </linearGradient> |
702 | - <inkscape:path-effect |
703 | - effect="spiro" |
704 | - id="path-effect77541-4" |
705 | - is_visible="true" /> |
706 | + gradientTransform="translate(-19)" /> |
707 | </defs> |
708 | <sodipodi:namedview |
709 | id="base" |
710 | - pagecolor="#000000" |
711 | + pagecolor="#535353" |
712 | bordercolor="#666666" |
713 | borderopacity="1.0" |
714 | inkscape:pageopacity="1" |
715 | inkscape:pageshadow="2" |
716 | inkscape:zoom="1" |
717 | - inkscape:cx="37.410841" |
718 | - inkscape:cy="16.009314" |
719 | + inkscape:cx="13.588971" |
720 | + inkscape:cy="14.124546" |
721 | inkscape:document-units="px" |
722 | - inkscape:current-layer="g37994" |
723 | + inkscape:current-layer="layer1" |
724 | showgrid="false" |
725 | - inkscape:window-width="2560" |
726 | - inkscape:window-height="1376" |
727 | - inkscape:window-x="0" |
728 | - inkscape:window-y="27" |
729 | - inkscape:window-maximized="1" |
730 | + units="px" |
731 | + inkscape:pagecheckerboard="true" |
732 | borderlayer="true" |
733 | inkscape:showpageshadow="false" |
734 | - inkscape:snap-nodes="false" |
735 | - inkscape:snap-bbox="true" |
736 | showborder="false"> |
737 | <inkscape:grid |
738 | type="xygrid" |
739 | - id="grid12954" |
740 | - empspacing="5" |
741 | - visible="true" |
742 | - enabled="true" |
743 | - snapvisiblegridlinesonly="true" /> |
744 | + id="grid3298" /> |
745 | </sodipodi:namedview> |
746 | <metadata |
747 | - id="metadata2862"> |
748 | + id="metadata2748"> |
749 | <rdf:RDF> |
750 | <cc:Work |
751 | rdf:about=""> |
752 | <dc:format>image/svg+xml</dc:format> |
753 | <dc:type |
754 | rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
755 | - <dc:title /> |
756 | + <dc:title></dc:title> |
757 | </cc:Work> |
758 | </rdf:RDF> |
759 | </metadata> |
760 | @@ -128,65 +80,24 @@ |
761 | inkscape:label="Layer 1" |
762 | inkscape:groupmode="layer" |
763 | id="layer1" |
764 | - transform="translate(-444.64286,-781.36218)"> |
765 | - <g |
766 | - transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)" |
767 | - id="g37994"> |
768 | - <g |
769 | - id="g37996" |
770 | - transform="translate(-115,1277)"> |
771 | - <rect |
772 | - style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.19591837" |
773 | - id="rect13475" |
774 | - width="98" |
775 | - height="25" |
776 | - x="644.5" |
777 | - y="484.61118" |
778 | - rx="4.7429576" |
779 | - ry="3.8424656" /> |
780 | - <rect |
781 | - ry="3.8424656" |
782 | - rx="4.7429576" |
783 | - y="483.5" |
784 | - x="644.5" |
785 | - height="25" |
786 | - width="98" |
787 | - id="rect38000" |
788 | - style="color:#000000;fill:url(#linearGradient77551);fill-opacity:1;fill-rule:nonzero;stroke:#182f4c;stroke-width:1.37920964;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> |
789 | - </g> |
790 | - <g |
791 | - transform="translate(2.0625,-2)" |
792 | - id="g38002"> |
793 | - <g |
794 | - transform="translate(-115,1247)" |
795 | - style="display:inline" |
796 | - id="g38004"> |
797 | - <rect |
798 | - ry="3.7972314" |
799 | - rx="4.6871223" |
800 | - y="515.5" |
801 | - x="694.53046" |
802 | - height="25" |
803 | - width="45.969578" |
804 | - id="rect38006" |
805 | - style="color:#000000;fill:url(#linearGradient38024);fill-opacity:1;fill-rule:nonzero;stroke:#1f2020;stroke-width:1.37920964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> |
806 | - <path |
807 | - sodipodi:nodetypes="cc" |
808 | - style="opacity:0.1;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
809 | - d="m 699.09675,516.7365 36.86904,0" |
810 | - id="path38016" |
811 | - inkscape:path-effect="#path-effect77541-4" |
812 | - inkscape:original-d="m 699.09675,516.7365 36.86904,0" |
813 | - inkscape:connector-curvature="0" /> |
814 | - </g> |
815 | - </g> |
816 | - <rect |
817 | - style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" |
818 | - id="rect13678" |
819 | - width="3.0646207" |
820 | - height="12.414008" |
821 | - x="554.77728" |
822 | - y="1767.3566" /> |
823 | - </g> |
824 | + transform="translate(0,-291.17916)"> |
825 | + <rect |
826 | + style="opacity:1;vector-effect:none;fill:#15539e;fill-opacity:1;stroke:#030e1b;stroke-width:1.08532763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal" |
827 | + id="rect3296" |
828 | + width="44.446434" |
829 | + height="20.910645" |
830 | + x="0.625" |
831 | + y="291.71494" |
832 | + rx="10.455324" |
833 | + ry="10.073335" /> |
834 | + <rect |
835 | + ry="10.455322" |
836 | + rx="10.455322" |
837 | + y="291.71494" |
838 | + x="24.30357" |
839 | + height="20.910645" |
840 | + width="21.142862" |
841 | + id="rect3300" |
842 | + style="opacity:1;vector-effect:none;fill:url(#linearGradient3331);fill-opacity:1;stroke:#030e1b;stroke-width:1.08532763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal" /> |
843 | </g> |
844 | </svg> |
845 | diff --git a/data/theme/toggle-on-us.svg b/data/theme/toggle-on-us.svg |
846 | deleted file mode 100644 |
847 | index 501fc30..0000000 |
848 | --- a/data/theme/toggle-on-us.svg |
849 | +++ /dev/null |
850 | @@ -1,207 +0,0 @@ |
851 | -<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
852 | -<!-- Created with Inkscape (http://www.inkscape.org/) --> |
853 | - |
854 | -<svg |
855 | - xmlns:dc="http://purl.org/dc/elements/1.1/" |
856 | - xmlns:cc="http://creativecommons.org/ns#" |
857 | - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
858 | - xmlns:svg="http://www.w3.org/2000/svg" |
859 | - xmlns="http://www.w3.org/2000/svg" |
860 | - xmlns:xlink="http://www.w3.org/1999/xlink" |
861 | - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
862 | - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
863 | - width="65" |
864 | - height="22" |
865 | - id="svg2857" |
866 | - version="1.1" |
867 | - inkscape:version="0.91 r13725" |
868 | - sodipodi:docname="toggle-on-us.svg"> |
869 | - <defs |
870 | - id="defs2859"> |
871 | - <inkscape:perspective |
872 | - sodipodi:type="inkscape:persp3d" |
873 | - inkscape:vp_x="0 : 526.18109 : 1" |
874 | - inkscape:vp_y="0 : 1000 : 0" |
875 | - inkscape:vp_z="744.09448 : 526.18109 : 1" |
876 | - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" |
877 | - id="perspective2865" /> |
878 | - <inkscape:perspective |
879 | - id="perspective2843" |
880 | - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" |
881 | - inkscape:vp_z="1 : 0.5 : 1" |
882 | - inkscape:vp_y="0 : 1000 : 0" |
883 | - inkscape:vp_x="0 : 0.5 : 1" |
884 | - sodipodi:type="inkscape:persp3d" /> |
885 | - <linearGradient |
886 | - inkscape:collect="always" |
887 | - xlink:href="#linearGradient76469-7-7-4" |
888 | - id="linearGradient38024" |
889 | - gradientUnits="userSpaceOnUse" |
890 | - gradientTransform="matrix(1.0215462,0,0,1.0322581,717.22867,428.68472)" |
891 | - x1="6" |
892 | - y1="102.95528" |
893 | - x2="6" |
894 | - y2="84.505203" /> |
895 | - <linearGradient |
896 | - inkscape:collect="always" |
897 | - id="linearGradient76469-7-7-4"> |
898 | - <stop |
899 | - style="stop-color:#2e3232;stop-opacity:1" |
900 | - offset="0" |
901 | - id="stop76471-7-1-5" /> |
902 | - <stop |
903 | - style="stop-color:#3e4545;stop-opacity:1" |
904 | - offset="1" |
905 | - id="stop76473-9-0-0" /> |
906 | - </linearGradient> |
907 | - <inkscape:path-effect |
908 | - effect="spiro" |
909 | - id="path-effect77541-4" |
910 | - is_visible="true" /> |
911 | - <linearGradient |
912 | - id="linearGradient77461-1" |
913 | - inkscape:collect="always"> |
914 | - <stop |
915 | - id="stop77463-1" |
916 | - offset="0" |
917 | - style="stop-color:#182f4c;stop-opacity:1" /> |
918 | - <stop |
919 | - id="stop77465-4" |
920 | - offset="1" |
921 | - style="stop-color:#205b9a;stop-opacity:1" /> |
922 | - </linearGradient> |
923 | - <linearGradient |
924 | - inkscape:collect="always" |
925 | - xlink:href="#linearGradient77461-1" |
926 | - id="linearGradient77551-6-5" |
927 | - gradientUnits="userSpaceOnUse" |
928 | - gradientTransform="matrix(0.8527367,0,0,0.80554422,-969.41608,-778.00299)" |
929 | - x1="1164.7644" |
930 | - y1="962.93695" |
931 | - x2="1164.7644" |
932 | - y2="970.51404" /> |
933 | - <linearGradient |
934 | - inkscape:collect="always" |
935 | - xlink:href="#linearGradient77461-1" |
936 | - id="linearGradient11198" |
937 | - gradientUnits="userSpaceOnUse" |
938 | - gradientTransform="matrix(1.3066667,0,0,1,-1066.3709,794.25325)" |
939 | - x1="1322.5831" |
940 | - y1="-312.51855" |
941 | - x2="1322.5831" |
942 | - y2="-306.53461" /> |
943 | - </defs> |
944 | - <sodipodi:namedview |
945 | - id="base" |
946 | - pagecolor="#000000" |
947 | - bordercolor="#666666" |
948 | - borderopacity="1.0" |
949 | - inkscape:pageopacity="1" |
950 | - inkscape:pageshadow="2" |
951 | - inkscape:zoom="1" |
952 | - inkscape:cx="-26.798898" |
953 | - inkscape:cy="5.3753009" |
954 | - inkscape:document-units="px" |
955 | - inkscape:current-layer="g37994" |
956 | - showgrid="false" |
957 | - inkscape:window-width="2560" |
958 | - inkscape:window-height="1376" |
959 | - inkscape:window-x="0" |
960 | - inkscape:window-y="27" |
961 | - inkscape:window-maximized="1" |
962 | - borderlayer="true" |
963 | - inkscape:showpageshadow="false" |
964 | - inkscape:snap-nodes="false" |
965 | - inkscape:snap-bbox="true" |
966 | - showborder="false"> |
967 | - <inkscape:grid |
968 | - type="xygrid" |
969 | - id="grid12954" |
970 | - empspacing="5" |
971 | - visible="true" |
972 | - enabled="true" |
973 | - snapvisiblegridlinesonly="true" /> |
974 | - </sodipodi:namedview> |
975 | - <metadata |
976 | - id="metadata2862"> |
977 | - <rdf:RDF> |
978 | - <cc:Work |
979 | - rdf:about=""> |
980 | - <dc:format>image/svg+xml</dc:format> |
981 | - <dc:type |
982 | - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
983 | - <dc:title /> |
984 | - </cc:Work> |
985 | - </rdf:RDF> |
986 | - </metadata> |
987 | - <g |
988 | - inkscape:label="Layer 1" |
989 | - inkscape:groupmode="layer" |
990 | - id="layer1" |
991 | - transform="translate(-444.64286,-781.36218)"> |
992 | - <g |
993 | - transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)" |
994 | - id="g37994"> |
995 | - <g |
996 | - id="g37996" |
997 | - transform="translate(-115,1277)"> |
998 | - <rect |
999 | - style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.19591837" |
1000 | - id="rect13475" |
1001 | - width="98" |
1002 | - height="25" |
1003 | - x="644.5" |
1004 | - y="484.61118" |
1005 | - rx="4.7429576" |
1006 | - ry="3.8424656" /> |
1007 | - <rect |
1008 | - ry="3.8424656" |
1009 | - rx="4.7429576" |
1010 | - y="483.5" |
1011 | - x="644.5" |
1012 | - height="25" |
1013 | - width="98" |
1014 | - id="rect38000" |
1015 | - style="color:#000000;fill:url(#linearGradient11198);fill-opacity:1;fill-rule:nonzero;stroke:#182f4c;stroke-width:1.37920964;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;clip-rule:nonzero;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" /> |
1016 | - </g> |
1017 | - <g |
1018 | - transform="translate(2.0625,-2)" |
1019 | - id="g38002"> |
1020 | - <g |
1021 | - transform="translate(-115,1247)" |
1022 | - style="display:inline" |
1023 | - id="g38004"> |
1024 | - <rect |
1025 | - ry="3.7972314" |
1026 | - rx="4.6871223" |
1027 | - y="515.5" |
1028 | - x="694.53046" |
1029 | - height="25" |
1030 | - width="45.969578" |
1031 | - id="rect38006" |
1032 | - style="color:#000000;fill:url(#linearGradient38024);fill-opacity:1;fill-rule:nonzero;stroke:#1f2020;stroke-width:1.37920964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> |
1033 | - <path |
1034 | - sodipodi:nodetypes="cc" |
1035 | - style="opacity:0.1;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
1036 | - d="m 699.09675,516.7365 36.86904,0" |
1037 | - id="path38016" |
1038 | - inkscape:path-effect="#path-effect77541-4" |
1039 | - inkscape:original-d="m 699.09675,516.7365 36.86904,0" |
1040 | - inkscape:connector-curvature="0" /> |
1041 | - </g> |
1042 | - </g> |
1043 | - <text |
1044 | - transform="scale(1.1000946,0.90901274)" |
1045 | - sodipodi:linespacing="125%" |
1046 | - id="text38018" |
1047 | - y="1955.5205" |
1048 | - x="495.94223" |
1049 | - style="font-size:13.29953671px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold" |
1050 | - xml:space="preserve"><tspan |
1051 | - y="1955.5205" |
1052 | - x="495.94223" |
1053 | - id="tspan38020" |
1054 | - sodipodi:role="line">ON</tspan></text> |
1055 | - </g> |
1056 | - </g> |
1057 | -</svg> |
1058 | diff --git a/debian/.gitignore b/debian/.gitignore |
1059 | new file mode 100644 |
1060 | index 0000000..a320335 |
1061 | --- /dev/null |
1062 | +++ b/debian/.gitignore |
1063 | @@ -0,0 +1,10 @@ |
1064 | +/*.debhelper |
1065 | +/*.debhelper.log |
1066 | +/*.substvars |
1067 | +/.debhelper/ |
1068 | +/debhelper-build-stamp |
1069 | +/files |
1070 | +/gnome-shell-common/ |
1071 | +/gnome-shell/ |
1072 | +/home/ |
1073 | +/tmp/ |
1074 | diff --git a/debian/changelog b/debian/changelog |
1075 | index f1dbe5d..5ea2903 100644 |
1076 | --- a/debian/changelog |
1077 | +++ b/debian/changelog |
1078 | @@ -1,3 +1,79 @@ |
1079 | +gnome-shell (3.32.1-1ubuntu1) UNRELEASED; urgency=medium |
1080 | + |
1081 | + * Merge with debian |
1082 | + - Update to 3.32.1 upstream version (LP: #1826936) |
1083 | + - Fixes Icon disappears from favorites (LP: #1822846) |
1084 | + - Fix applications aren't focused in Wayland session (LP: #1826176) |
1085 | + remaining changes: |
1086 | + + Replace gnome-backgrounds dep with ubuntu-wallpapers and Suggests |
1087 | + gnome-themes-standard-data, gnome-backgrounds |
1088 | + + Add some Recommends: |
1089 | + - ubuntu-session (| gnome-session) to have the ubuntu session available |
1090 | + - xserver-xorg-legacy |
1091 | + - yaru-theme-gnome-shell for the default ubuntu theming |
1092 | + + Update debian/gbp.conf with Ubuntu settings |
1093 | + + gnome-shell-common.install: Install Ubuntu mode |
1094 | + + gnome-shell-common.prerm: Remove deprecated ubuntu theme alternative |
1095 | + + ubuntu/desktop_detect.patch: |
1096 | + - add caching for desktop detection to avoid querying the current |
1097 | + desktop env variable as iterate through the list each time. For the |
1098 | + time of the Shell process, we can expect this env variable to stay |
1099 | + stable. |
1100 | + + ubuntu/smarter_alt_tab.patch: |
1101 | + - quick alt-tab (without showing up the switcher) switch only between |
1102 | + the last window of the last 2 applications to be focused instead of |
1103 | + raising all windows of those apps. |
1104 | + + ubuntu/lightdm-user-switching.patch: |
1105 | + - Allow user switching when using LightDM. |
1106 | + + ubuntu/lock_on_suspend.patch |
1107 | + - Respect Ubuntu's lock-on-suspend setting. |
1108 | + + ubuntu/gdm.patch |
1109 | + - as gdm is system-wide and not session-wide, ensure gdm has an ubuntu |
1110 | + styling by default, not impacting the gnome user session though. |
1111 | + + ubuntu/background_login.patch |
1112 | + - Change default background color as we modified the default GDM color |
1113 | + for our ubuntu session. Change it as well here, still applying the |
1114 | + background noise loading. |
1115 | + + ubuntu/gdm_alternatives.patch |
1116 | + - Add support for GDM3 theme alternatives |
1117 | + + ubuntu/block_mode_extension_update.patch |
1118 | + - Don't allow ubuntu mode extension to update |
1119 | + + optional-hot-corner.patch |
1120 | + - enable patch proposed by upstream developer already in package (but |
1121 | + not in series) to add a settings for optional hot corner activation. |
1122 | + + volume-Add-back-sound-feedback-on-scroll.patch |
1123 | + - Fix regression causing missing feedback on volume slider scroll |
1124 | + + main-show-an-error-message-on-gnome-shell-crash.patch, |
1125 | + global-make-possible-to-set-debug-flags-dynamically.patch, |
1126 | + main-increase-the-granularity-of-backtraces-in-SHELL_DEBU.patch, |
1127 | + main-add-backtrace-crashes-all-and-backtrace-all.patch, |
1128 | + sessionMode-add-support-for-debugFlags-parameter.patch: |
1129 | + - Improve debug JS tracing for crash reports |
1130 | + + st-scroll-view-Handle-the-case-where-scrollbars-are-NULL.patch, |
1131 | + st-scroll-view-Remove-scrollbars-references-on-dispose.patch: |
1132 | + - Fix crash on theme changes |
1133 | + + ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch: |
1134 | + - stop searches when requested from UI |
1135 | + + magnifier-Show-cursor-when-magnifier-is-enabled-and-scale.patch: |
1136 | + - Show monitor scaled cursor when magnifier is enabled |
1137 | + * d/p/magnifier-Show-cursor-when-magnifier-is-enabled-and-scale.patch: |
1138 | + - Handle the no-monitor case (LP: #1826797) |
1139 | + |
1140 | + -- Marco Trevisan (Treviño) <marco@ubuntu.com> Mon, 29 Apr 2019 17:29:23 -0500 |
1141 | + |
1142 | +gnome-shell (3.32.1-1) experimental; urgency=medium |
1143 | + |
1144 | + [ Simon McVittie ] |
1145 | + * d/rules: Create a temporary HOME, XDG_RUNTIME_DIR for the unit tests. |
1146 | + This goes some way towards fixing test failures and FTBFS on buster's |
1147 | + sbuild, as deployed on the s390x buildd. |
1148 | + * d/.gitignore: Add |
1149 | + |
1150 | + [ Laurent Bigonville ] |
1151 | + * New upstream release |
1152 | + |
1153 | + -- Laurent Bigonville <bigon@debian.org> Mon, 22 Apr 2019 15:45:49 +0200 |
1154 | + |
1155 | gnome-shell (3.32.0+git20190410-1ubuntu1) disco; urgency=medium |
1156 | |
1157 | * Merging with debian git snapshot (LP: #1820775, LP: #1818790), |
1158 | diff --git a/debian/clean b/debian/clean |
1159 | new file mode 100644 |
1160 | index 0000000..3d6866b |
1161 | --- /dev/null |
1162 | +++ b/debian/clean |
1163 | @@ -0,0 +1 @@ |
1164 | +debian/home/ |
1165 | diff --git a/debian/patches/magnifier-Show-cursor-when-magnifier-is-enabled-and-scale.patch b/debian/patches/magnifier-Show-cursor-when-magnifier-is-enabled-and-scale.patch |
1166 | index 879b647..58a5ad5 100644 |
1167 | --- a/debian/patches/magnifier-Show-cursor-when-magnifier-is-enabled-and-scale.patch |
1168 | +++ b/debian/patches/magnifier-Show-cursor-when-magnifier-is-enabled-and-scale.patch |
1169 | @@ -1,7 +1,6 @@ |
1170 | From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net> |
1171 | -Date: Wed, 27 Mar 2019 16:14:39 +0100 |
1172 | -Subject: magnifier: Scale the sprite to match the current monitor |
1173 | - scaling |
1174 | +Date: Wed, 27 Mar 2019 09:14:39 -0600 |
1175 | +Subject: magnifier: Scale the sprite to match the current monitor scaling |
1176 | |
1177 | Compute the sprite texture scale (unfortunately using a workaround, based on |
1178 | mutter cursor size preferences, tying to figure out the closest texture integer |
1179 | @@ -13,11 +12,11 @@ Applied-Upstream: no |
1180 | Forwarded: yes |
1181 | --- |
1182 | js/ui/layout.js | 24 ++++++++++++++++++++---- |
1183 | - js/ui/magnifier.js | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- |
1184 | - 2 files changed, 72 insertions(+), 6 deletions(-) |
1185 | + js/ui/magnifier.js | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- |
1186 | + 2 files changed, 73 insertions(+), 6 deletions(-) |
1187 | |
1188 | diff --git a/js/ui/layout.js b/js/ui/layout.js |
1189 | -index 27a3099..376a585 100644 |
1190 | +index 2683213..1b5beaf 100644 |
1191 | --- a/js/ui/layout.js |
1192 | +++ b/js/ui/layout.js |
1193 | @@ -930,22 +930,38 @@ var LayoutManager = GObject.registerClass({ |
1194 | @@ -64,7 +63,7 @@ index 27a3099..376a585 100644 |
1195 | if (this._startingUp) |
1196 | return; |
1197 | diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js |
1198 | -index 021dbd8..2bbfcdd 100644 |
1199 | +index 021dbd8..611a656 100644 |
1200 | --- a/js/ui/magnifier.js |
1201 | +++ b/js/ui/magnifier.js |
1202 | @@ -48,6 +48,8 @@ var MouseSpriteContent = GObject.registerClass({ |
1203 | @@ -148,20 +147,21 @@ index 021dbd8..2bbfcdd 100644 |
1204 | St.Settings.get().connect('notify::magnifier-active', () => { |
1205 | this.setActive(St.Settings.get().magnifier_active); |
1206 | }); |
1207 | -@@ -126,6 +168,12 @@ var Magnifier = class Magnifier { |
1208 | +@@ -126,6 +168,13 @@ var Magnifier = class Magnifier { |
1209 | this.setActive(St.Settings.get().magnifier_active); |
1210 | } |
1211 | |
1212 | + _updateContentScale() { |
1213 | + let monitor = Main.layoutManager.findMonitorForPoint(this.xMouse, |
1214 | + this.yMouse); |
1215 | -+ this._mouseSprite.content.monitorScale = monitor.geometry_scale; |
1216 | ++ this._mouseSprite.content.monitorScale = monitor ? |
1217 | ++ monitor.geometry_scale : 1; |
1218 | + } |
1219 | + |
1220 | /** |
1221 | * showSystemCursor: |
1222 | * Show the system mouse pointer. |
1223 | -@@ -235,6 +283,8 @@ var Magnifier = class Magnifier { |
1224 | +@@ -235,6 +284,8 @@ var Magnifier = class Magnifier { |
1225 | this.xMouse = xMouse; |
1226 | this.yMouse = yMouse; |
1227 | |
1228 | diff --git a/debian/patches/optional-hot-corner.patch b/debian/patches/optional-hot-corner.patch |
1229 | index ab55e96..5255f74 100644 |
1230 | --- a/debian/patches/optional-hot-corner.patch |
1231 | +++ b/debian/patches/optional-hot-corner.patch |
1232 | @@ -33,7 +33,7 @@ index 24e2a75..2a5432a 100644 |
1233 | <default>[ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default> |
1234 | <summary>List of desktop file IDs for favorite applications</summary> |
1235 | diff --git a/js/ui/layout.js b/js/ui/layout.js |
1236 | -index e3c93a9..27a3099 100644 |
1237 | +index 30e750d..2683213 100644 |
1238 | --- a/js/ui/layout.js |
1239 | +++ b/js/ui/layout.js |
1240 | @@ -267,6 +267,9 @@ var LayoutManager = GObject.registerClass({ |
1241 | diff --git a/debian/patches/ubuntu/resolve_alternate_theme_path.patch b/debian/patches/ubuntu/resolve_alternate_theme_path.patch |
1242 | index 6a2ca7d..ec839b2 100644 |
1243 | --- a/debian/patches/ubuntu/resolve_alternate_theme_path.patch |
1244 | +++ b/debian/patches/ubuntu/resolve_alternate_theme_path.patch |
1245 | @@ -1,5 +1,5 @@ |
1246 | From: Didier Roche <didrocks@ubuntu.com> |
1247 | -Date: Tue, 22 Oct 2019 11:22:06 +0200 |
1248 | +Date: Tue, 22 Oct 2019 04:22:06 -0500 |
1249 | Subject: Resolve real path name for theme file |
1250 | |
1251 | We are using alternative theme paths. Some of them are symlinks like |
1252 | diff --git a/debian/patches/ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch b/debian/patches/ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch |
1253 | index 611e61f..e1d7197 100644 |
1254 | --- a/debian/patches/ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch |
1255 | +++ b/debian/patches/ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch |
1256 | @@ -1,5 +1,5 @@ |
1257 | From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net> |
1258 | -Date: Thu, 23 Aug 2018 20:00:57 +0200 |
1259 | +Date: Thu, 23 Aug 2018 13:00:57 -0500 |
1260 | Subject: search: call XUbuntuCancel method on providers when no data is |
1261 | needed |
1262 | |
1263 | diff --git a/debian/rules b/debian/rules |
1264 | index 00c6fbf..0831ef7 100755 |
1265 | --- a/debian/rules |
1266 | +++ b/debian/rules |
1267 | @@ -38,4 +38,16 @@ override_dh_strip: |
1268 | dh_strip --dbgsym-migration='gnome-shell-dbg (<< 3.20.2-2~)' |
1269 | |
1270 | override_dh_auto_test: |
1271 | - xvfb-run -a dh_auto_test |
1272 | +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) |
1273 | + # Avoid test failures on buildd environments where HOME, |
1274 | + # XDG_RUNTIME_DIR might be invalid |
1275 | + mkdir -p -m700 $(CURDIR)/debian/home/run |
1276 | + env \ |
1277 | + -u XDG_CACHE_HOME \ |
1278 | + -u XDG_CONFIG_DIRS \ |
1279 | + -u XDG_CONFIG_HOME \ |
1280 | + -u XDG_DATA_HOME \ |
1281 | + HOME=$(CURDIR)/debian/home \ |
1282 | + XDG_RUNTIME_DIR=$(CURDIR)/debian/home/run \ |
1283 | + xvfb-run -a dh_auto_test |
1284 | +endif |
1285 | diff --git a/js/extensionPrefs/main.js b/js/extensionPrefs/main.js |
1286 | index 438788f..43efa95 100644 |
1287 | --- a/js/extensionPrefs/main.js |
1288 | +++ b/js/extensionPrefs/main.js |
1289 | @@ -551,9 +551,9 @@ class ExtensionRow extends Gtk.ListBoxRow { |
1290 | |
1291 | let button = new Gtk.Button({ valign: Gtk.Align.CENTER, |
1292 | no_show_all: true }); |
1293 | - button.add(new Gtk.Image({ icon_name: 'emblem-system-symbolic', |
1294 | - icon_size: Gtk.IconSize.BUTTON, |
1295 | - visible: true })); |
1296 | + button.set_image(new Gtk.Image({ icon_name: 'emblem-system-symbolic', |
1297 | + icon_size: Gtk.IconSize.BUTTON, |
1298 | + visible: true })); |
1299 | button.get_style_context().add_class('circular'); |
1300 | hbox.add(button); |
1301 | |
1302 | diff --git a/js/perf/hwtest.js b/js/perf/hwtest.js |
1303 | index 31a25a7..661f2ef 100644 |
1304 | --- a/js/perf/hwtest.js |
1305 | +++ b/js/perf/hwtest.js |
1306 | @@ -1,4 +1,4 @@ |
1307 | -const { Clutter, Gio, Gtk, Shell } = imports.gi; |
1308 | +const { Clutter, Gio, Shell } = imports.gi; |
1309 | const Main = imports.ui.main; |
1310 | const Scripting = imports.ui.scripting; |
1311 | |
1312 | @@ -104,7 +104,10 @@ function *run() { |
1313 | yield Scripting.waitLeisure(); |
1314 | Scripting.scriptEvent('desktopShown'); |
1315 | |
1316 | - Gtk.Settings.get_default().gtk_enable_animations = false; |
1317 | + let interfaceSettings = new Gio.Settings({ |
1318 | + schema_id: 'org.gnome.desktop.interface' |
1319 | + }); |
1320 | + interfaceSettings.set_boolean('enable-animations', false); |
1321 | |
1322 | Scripting.scriptEvent('overviewShowStart'); |
1323 | Main.overview.show(); |
1324 | @@ -200,7 +203,7 @@ function *run() { |
1325 | |
1326 | yield Scripting.sleep(1000); |
1327 | |
1328 | - Gtk.Settings.get_default().gtk_enable_animations = true; |
1329 | + interfaceSettings.set_boolean('enable-animations', true); |
1330 | } |
1331 | |
1332 | let overviewShowStart; |
1333 | diff --git a/js/ui/appFavorites.js b/js/ui/appFavorites.js |
1334 | index a80504c..657e159 100644 |
1335 | --- a/js/ui/appFavorites.js |
1336 | +++ b/js/ui/appFavorites.js |
1337 | @@ -14,39 +14,47 @@ const RENAMED_DESKTOP_IDS = { |
1338 | 'epiphany.desktop': 'org.gnome.Epiphany.desktop', |
1339 | 'evolution.desktop': 'org.gnome.Evolution.desktop', |
1340 | 'file-roller.desktop': 'org.gnome.FileRoller.desktop', |
1341 | + 'five-or-more.desktop': 'org.gnome.five-or-more.desktop', |
1342 | + 'four-in-a-row.desktop': 'org.gnome.Four-in-a-row.desktop', |
1343 | 'gcalctool.desktop': 'org.gnome.Calculator.desktop', |
1344 | 'geary.desktop': 'org.gnome.Geary.desktop', |
1345 | 'gedit.desktop': 'org.gnome.gedit.desktop', |
1346 | - 'glchess.desktop': 'gnome-chess.desktop', |
1347 | - 'glines.desktop': 'five-or-more.desktop', |
1348 | - 'gnect.desktop': 'four-in-a-row.desktop', |
1349 | + 'glchess.desktop': 'org.gnome.Chess.desktop', |
1350 | + 'glines.desktop': 'org.gnome.five-or-more.desktop', |
1351 | + 'gnect.desktop': 'org.gnome.Four-in-a-row.desktop', |
1352 | 'gnibbles.desktop': 'org.gnome.Nibbles.desktop', |
1353 | - 'gnobots2.desktop': 'gnome-robots.desktop', |
1354 | + 'gnobots2.desktop': 'org.gnome.Robots.desktop', |
1355 | 'gnome-boxes.desktop': 'org.gnome.Boxes.desktop', |
1356 | 'gnome-calculator.desktop': 'org.gnome.Calculator.desktop', |
1357 | + 'gnome-chess.desktop': 'org.gnome.Chess.desktop', |
1358 | 'gnome-clocks.desktop': 'org.gnome.clocks.desktop', |
1359 | 'gnome-contacts.desktop': 'org.gnome.Contacts.desktop', |
1360 | 'gnome-documents.desktop': 'org.gnome.Documents.desktop', |
1361 | 'gnome-font-viewer.desktop': 'org.gnome.font-viewer.desktop', |
1362 | + 'gnome-klotski.desktop': 'org.gnome.Klotski.desktop', |
1363 | 'gnome-nibbles.desktop': 'org.gnome.Nibbles.desktop', |
1364 | 'gnome-mahjongg.desktop': 'org.gnome.Mahjongg.desktop', |
1365 | + 'gnome-mines.desktop': 'org.gnome.Mines.desktop', |
1366 | 'gnome-music.desktop': 'org.gnome.Music.desktop', |
1367 | 'gnome-photos.desktop': 'org.gnome.Photos.desktop', |
1368 | + 'gnome-robots.desktop': 'org.gnome.Robots.desktop', |
1369 | 'gnome-screenshot.desktop': 'org.gnome.Screenshot.desktop', |
1370 | 'gnome-software.desktop': 'org.gnome.Software.desktop', |
1371 | 'gnome-terminal.desktop': 'org.gnome.Terminal.desktop', |
1372 | + 'gnome-tetravex.desktop': 'org.gnome.Tetravex.desktop', |
1373 | 'gnome-tweaks.desktop': 'org.gnome.tweaks.desktop', |
1374 | 'gnome-weather.desktop': 'org.gnome.Weather.desktop', |
1375 | - 'gnomine.desktop': 'gnome-mines.desktop', |
1376 | - 'gnotravex.desktop': 'gnome-tetravex.desktop', |
1377 | - 'gnotski.desktop': 'gnome-klotski.desktop', |
1378 | - 'gtali.desktop': 'tali.desktop', |
1379 | + 'gnomine.desktop': 'org.gnome.Mines.desktop', |
1380 | + 'gnotravex.desktop': 'org.gnome.Tetravex.desktop', |
1381 | + 'gnotski.desktop': 'org.gnome.Klotski.desktop', |
1382 | + 'gtali.desktop': 'org.gnome.Tali.desktop', |
1383 | 'iagno.desktop': 'org.gnome.Reversi.desktop', |
1384 | 'nautilus.desktop': 'org.gnome.Nautilus.desktop', |
1385 | 'org.gnome.gnome-2048.desktop': 'org.gnome.TwentyFortyEight.desktop', |
1386 | 'org.gnome.taquin.desktop': 'org.gnome.Taquin.desktop', |
1387 | 'org.gnome.Weather.Application.desktop': 'org.gnome.Weather.desktop', |
1388 | 'polari.desktop': 'org.gnome.Polari.desktop', |
1389 | + 'tali.desktop': 'org.gnome.Tali.desktop', |
1390 | 'totem.desktop': 'org.gnome.Totem.desktop', |
1391 | 'evince.desktop': 'org.gnome.Evince.desktop', |
1392 | }; |
1393 | diff --git a/js/ui/barLevel.js b/js/ui/barLevel.js |
1394 | index d8d3736..c4072e2 100644 |
1395 | --- a/js/ui/barLevel.js |
1396 | +++ b/js/ui/barLevel.js |
1397 | @@ -121,7 +121,8 @@ var BarLevel = class { |
1398 | cr.lineTo(x, (height - barLevelHeight) / 2); |
1399 | cr.lineTo(x, (height + barLevelHeight) / 2); |
1400 | cr.lineTo(barLevelBorderRadius + barLevelBorderWidth, (height + barLevelHeight) / 2); |
1401 | - Clutter.cairo_set_source_color(cr, barLevelActiveColor); |
1402 | + if (this._value > 0) |
1403 | + Clutter.cairo_set_source_color(cr, barLevelActiveColor); |
1404 | cr.fillPreserve(); |
1405 | Clutter.cairo_set_source_color(cr, barLevelActiveBorderColor); |
1406 | cr.setLineWidth(barLevelBorderWidth); |
1407 | @@ -143,17 +144,19 @@ var BarLevel = class { |
1408 | } |
1409 | |
1410 | /* end progress bar arc */ |
1411 | - if (this._value <= this._overdriveStart) |
1412 | - Clutter.cairo_set_source_color(cr, barLevelActiveColor); |
1413 | - else |
1414 | - Clutter.cairo_set_source_color(cr, barLevelOverdriveColor); |
1415 | - cr.arc(endX, height / 2, barLevelBorderRadius, TAU * 3 / 4, TAU * 1 / 4); |
1416 | - cr.lineTo(Math.floor(endX), (height + barLevelHeight) / 2); |
1417 | - cr.lineTo(Math.floor(endX), (height - barLevelHeight) / 2); |
1418 | - cr.lineTo(endX, (height - barLevelHeight) / 2); |
1419 | - cr.fillPreserve(); |
1420 | - cr.setLineWidth(barLevelBorderWidth); |
1421 | - cr.stroke(); |
1422 | + if (this._value > 0) { |
1423 | + if (this._value <= this._overdriveStart) |
1424 | + Clutter.cairo_set_source_color(cr, barLevelActiveColor); |
1425 | + else |
1426 | + Clutter.cairo_set_source_color(cr, barLevelOverdriveColor); |
1427 | + cr.arc(endX, height / 2, barLevelBorderRadius, TAU * 3 / 4, TAU * 1 / 4); |
1428 | + cr.lineTo(Math.floor(endX), (height + barLevelHeight) / 2); |
1429 | + cr.lineTo(Math.floor(endX), (height - barLevelHeight) / 2); |
1430 | + cr.lineTo(endX, (height - barLevelHeight) / 2); |
1431 | + cr.fillPreserve(); |
1432 | + cr.setLineWidth(barLevelBorderWidth); |
1433 | + cr.stroke(); |
1434 | + } |
1435 | |
1436 | /* draw overdrive separator */ |
1437 | if (overdriveActive) { |
1438 | diff --git a/js/ui/boxpointer.js b/js/ui/boxpointer.js |
1439 | index 11b2bdd..c8e5ced 100644 |
1440 | --- a/js/ui/boxpointer.js |
1441 | +++ b/js/ui/boxpointer.js |
1442 | @@ -47,10 +47,6 @@ var BoxPointer = GObject.registerClass({ |
1443 | this._border.connect('repaint', this._drawBorder.bind(this)); |
1444 | this.add_actor(this._border); |
1445 | this.bin.raise(this._border); |
1446 | - this._xOffset = 0; |
1447 | - this._yOffset = 0; |
1448 | - this._xPosition = 0; |
1449 | - this._yPosition = 0; |
1450 | this._sourceAlignment = 0.5; |
1451 | this._capturedEventId = 0; |
1452 | this._muteInput(); |
1453 | @@ -118,23 +114,23 @@ var BoxPointer = GObject.registerClass({ |
1454 | if (animate & PopupAnimation.SLIDE) { |
1455 | switch (this._arrowSide) { |
1456 | case St.Side.TOP: |
1457 | - this.yOffset = -rise; |
1458 | + this.translation_y = -rise; |
1459 | break; |
1460 | case St.Side.BOTTOM: |
1461 | - this.yOffset = rise; |
1462 | + this.translation_y = rise; |
1463 | break; |
1464 | case St.Side.LEFT: |
1465 | - this.xOffset = -rise; |
1466 | + this.translation_x = -rise; |
1467 | break; |
1468 | case St.Side.RIGHT: |
1469 | - this.xOffset = rise; |
1470 | + this.translation_x = rise; |
1471 | break; |
1472 | } |
1473 | } |
1474 | |
1475 | Tweener.addTween(this, { opacity: 255, |
1476 | - xOffset: 0, |
1477 | - yOffset: 0, |
1478 | + translation_x: 0, |
1479 | + translation_y: 0, |
1480 | transition: 'linear', |
1481 | onComplete: () => { |
1482 | this._unmuteInput(); |
1483 | @@ -148,8 +144,8 @@ var BoxPointer = GObject.registerClass({ |
1484 | if (!this.visible) |
1485 | return; |
1486 | |
1487 | - let xOffset = 0; |
1488 | - let yOffset = 0; |
1489 | + let translationX = 0; |
1490 | + let translationY = 0; |
1491 | let themeNode = this.get_theme_node(); |
1492 | let rise = themeNode.get_length('-arrow-rise'); |
1493 | let fade = (animate & PopupAnimation.FADE); |
1494 | @@ -158,16 +154,16 @@ var BoxPointer = GObject.registerClass({ |
1495 | if (animate & PopupAnimation.SLIDE) { |
1496 | switch (this._arrowSide) { |
1497 | case St.Side.TOP: |
1498 | - yOffset = rise; |
1499 | + translationY = rise; |
1500 | break; |
1501 | case St.Side.BOTTOM: |
1502 | - yOffset = -rise; |
1503 | + translationY = -rise; |
1504 | break; |
1505 | case St.Side.LEFT: |
1506 | - xOffset = rise; |
1507 | + translationX = rise; |
1508 | break; |
1509 | case St.Side.RIGHT: |
1510 | - xOffset = -rise; |
1511 | + translationX = -rise; |
1512 | break; |
1513 | } |
1514 | } |
1515 | @@ -176,15 +172,15 @@ var BoxPointer = GObject.registerClass({ |
1516 | |
1517 | Tweener.removeTweens(this); |
1518 | Tweener.addTween(this, { opacity: fade ? 0 : 255, |
1519 | - xOffset: xOffset, |
1520 | - yOffset: yOffset, |
1521 | + translation_x: translationX, |
1522 | + translation_y: translationY, |
1523 | transition: 'linear', |
1524 | time: animationTime, |
1525 | onComplete: () => { |
1526 | this.hide(); |
1527 | this.opacity = 0; |
1528 | - this.xOffset = 0; |
1529 | - this.yOffset = 0; |
1530 | + this.translation_x = 0; |
1531 | + this.translation_y = 0; |
1532 | if (onComplete) |
1533 | onComplete(); |
1534 | } |
1535 | @@ -477,11 +473,15 @@ var BoxPointer = GObject.registerClass({ |
1536 | _reposition() { |
1537 | let sourceActor = this._sourceActor; |
1538 | let alignment = this._arrowAlignment; |
1539 | + let monitorIndex = Main.layoutManager.findIndexForActor(sourceActor); |
1540 | + |
1541 | + this._sourceAllocation = Shell.util_get_transformed_allocation(sourceActor); |
1542 | + this._workArea = Main.layoutManager.getWorkAreaForMonitor(monitorIndex); |
1543 | |
1544 | // Position correctly relative to the sourceActor |
1545 | let sourceNode = sourceActor.get_theme_node(); |
1546 | let sourceContentBox = sourceNode.get_content_box(sourceActor.get_allocation_box()); |
1547 | - let sourceAllocation = Shell.util_get_transformed_allocation(sourceActor); |
1548 | + let sourceAllocation = this._sourceAllocation; |
1549 | let sourceCenterX = sourceAllocation.x1 + sourceContentBox.x1 + (sourceContentBox.x2 - sourceContentBox.x1) * this._sourceAlignment; |
1550 | let sourceCenterY = sourceAllocation.y1 + sourceContentBox.y1 + (sourceContentBox.y2 - sourceContentBox.y1) * this._sourceAlignment; |
1551 | let [minWidth, minHeight, natWidth, natHeight] = this.get_preferred_size(); |
1552 | @@ -489,8 +489,7 @@ var BoxPointer = GObject.registerClass({ |
1553 | // We also want to keep it onscreen, and separated from the |
1554 | // edge by the same distance as the main part of the box is |
1555 | // separated from its sourceActor |
1556 | - let monitorIndex = Main.layoutManager.findIndexForActor(sourceActor); |
1557 | - let workarea = Main.layoutManager.getWorkAreaForMonitor(monitorIndex); |
1558 | + let workarea = this._workArea; |
1559 | let themeNode = this.get_theme_node(); |
1560 | let borderWidth = themeNode.get_length('-arrow-border-width'); |
1561 | let arrowBase = themeNode.get_length('-arrow-base'); |
1562 | @@ -584,9 +583,9 @@ var BoxPointer = GObject.registerClass({ |
1563 | parent = parent.get_parent(); |
1564 | } |
1565 | |
1566 | - this._xPosition = Math.floor(x); |
1567 | - this._yPosition = Math.floor(y); |
1568 | - this._shiftActor(); |
1569 | + // Actually set the position |
1570 | + this.x = Math.floor(x); |
1571 | + this.y = Math.floor(y); |
1572 | } |
1573 | |
1574 | // @origin: Coordinate specifying middle of the arrow, along |
1575 | @@ -609,25 +608,10 @@ var BoxPointer = GObject.registerClass({ |
1576 | } |
1577 | } |
1578 | |
1579 | - _shiftActor() { |
1580 | - // Since the position of the BoxPointer depends on the allocated size |
1581 | - // of the BoxPointer and the position of the source actor, trying |
1582 | - // to position the BoxPointer via the x/y properties will result in |
1583 | - // allocation loops and warnings. Instead we do the positioning via |
1584 | - // the anchor point, which is independent of allocation, and leave |
1585 | - // x == y == 0. |
1586 | - this.set_anchor_point(-(this._xPosition + this._xOffset), |
1587 | - -(this._yPosition + this._yOffset)); |
1588 | - } |
1589 | - |
1590 | _calculateArrowSide(arrowSide) { |
1591 | - let sourceAllocation = Shell.util_get_transformed_allocation(this._sourceActor); |
1592 | + let sourceAllocation = this._sourceAllocation; |
1593 | let [minWidth, minHeight, boxWidth, boxHeight] = this.get_preferred_size(); |
1594 | - let monitorActor = this.sourceActor; |
1595 | - if (!monitorActor) |
1596 | - monitorActor = this; |
1597 | - let monitorIndex = Main.layoutManager.findIndexForActor(monitorActor); |
1598 | - let workarea = Main.layoutManager.getWorkAreaForMonitor(monitorIndex); |
1599 | + let workarea = this._workArea; |
1600 | |
1601 | switch (arrowSide) { |
1602 | case St.Side.TOP: |
1603 | @@ -669,24 +653,6 @@ var BoxPointer = GObject.registerClass({ |
1604 | } |
1605 | } |
1606 | |
1607 | - set xOffset(offset) { |
1608 | - this._xOffset = offset; |
1609 | - this._shiftActor(); |
1610 | - } |
1611 | - |
1612 | - get xOffset() { |
1613 | - return this._xOffset; |
1614 | - } |
1615 | - |
1616 | - set yOffset(offset) { |
1617 | - this._yOffset = offset; |
1618 | - this._shiftActor(); |
1619 | - } |
1620 | - |
1621 | - get yOffset() { |
1622 | - return this._yOffset; |
1623 | - } |
1624 | - |
1625 | updateArrowSide(side) { |
1626 | this._arrowSide = side; |
1627 | this._border.queue_repaint(); |
1628 | diff --git a/js/ui/dash.js b/js/ui/dash.js |
1629 | index e60cdd8..6b5aeff 100644 |
1630 | --- a/js/ui/dash.js |
1631 | +++ b/js/ui/dash.js |
1632 | @@ -584,22 +584,18 @@ var Dash = class Dash { |
1633 | let firstButton = iconChildren[0].child; |
1634 | let firstIcon = firstButton._delegate.icon; |
1635 | |
1636 | - let minHeight, natHeight; |
1637 | - let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; |
1638 | - |
1639 | - // Enforce the current icon size during the size request |
1640 | + // Enforce valid spacings during the size request |
1641 | firstIcon.icon.ensure_style(); |
1642 | - let [, currentHeight] = firstIcon.icon.get_size(); |
1643 | - firstIcon.icon.set_height(this.iconSize * scaleFactor); |
1644 | - [minHeight, natHeight] = firstButton.get_preferred_height(-1); |
1645 | - firstIcon.icon.set_height(currentHeight); |
1646 | + let [, iconHeight] = firstIcon.icon.get_preferred_height(-1); |
1647 | + let [, buttonHeight] = firstButton.get_preferred_height(-1); |
1648 | |
1649 | // Subtract icon padding and box spacing from the available height |
1650 | - availHeight -= iconChildren.length * (natHeight - this.iconSize * scaleFactor) + |
1651 | + availHeight -= iconChildren.length * (buttonHeight - iconHeight) + |
1652 | (iconChildren.length - 1) * spacing; |
1653 | |
1654 | let availSize = availHeight / iconChildren.length; |
1655 | |
1656 | + let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; |
1657 | let iconSizes = baseIconSizes.map(s => s * scaleFactor); |
1658 | |
1659 | let newIconSize = baseIconSizes[0]; |
1660 | diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js |
1661 | index 697d6fb..fb32fbb 100644 |
1662 | --- a/js/ui/dateMenu.js |
1663 | +++ b/js/ui/dateMenu.js |
1664 | @@ -136,11 +136,12 @@ var WorldClocksSection = class WorldClocksSection { |
1665 | layout.attach(header, 0, 0, 2, 1); |
1666 | this.actor.label_actor = header; |
1667 | |
1668 | + let localOffset = GLib.DateTime.new_now_local().get_utc_offset(); |
1669 | + |
1670 | for (let i = 0; i < this._locations.length; i++) { |
1671 | let l = this._locations[i].location; |
1672 | |
1673 | - let name = l.get_level() == GWeather.LocationLevel.NAMED_TIMEZONE ? l.get_name() |
1674 | - : l.get_city_name(); |
1675 | + let name = l.get_city_name() || l.get_name(); |
1676 | let label = new St.Label({ style_class: 'world-clocks-city', |
1677 | text: name, |
1678 | x_align: Clutter.ActorAlign.START, |
1679 | @@ -149,7 +150,8 @@ var WorldClocksSection = class WorldClocksSection { |
1680 | |
1681 | let time = new St.Label({ style_class: 'world-clocks-time' }); |
1682 | |
1683 | - let offset = l.get_timezone().get_offset() / 60.; |
1684 | + let otherOffset = this._getTimeAtLocation(l).get_utc_offset(); |
1685 | + let offset = (otherOffset - localOffset) / GLib.TIME_SPAN_HOUR; |
1686 | let fmt = (Math.trunc(offset) == offset) ? '%s%.0f' : '%s%.1f'; |
1687 | let prefix = (offset >= 0) ? '+' : '-'; |
1688 | let tz = new St.Label({ style_class: 'world-clocks-timezone', |
1689 | @@ -182,11 +184,15 @@ var WorldClocksSection = class WorldClocksSection { |
1690 | } |
1691 | } |
1692 | |
1693 | + _getTimeAtLocation(location) { |
1694 | + let tz = GLib.TimeZone.new(location.get_timezone().get_tzid()); |
1695 | + return GLib.DateTime.new_now(tz); |
1696 | + } |
1697 | + |
1698 | _updateLabels() { |
1699 | for (let i = 0; i < this._locations.length; i++) { |
1700 | let l = this._locations[i]; |
1701 | - let tz = GLib.TimeZone.new(l.location.get_timezone().get_tzid()); |
1702 | - let now = GLib.DateTime.new_now(tz); |
1703 | + let now = this._getTimeAtLocation(l.location); |
1704 | l.actor.text = Util.formatTime(now, { timeOnly: true }); |
1705 | } |
1706 | } |
1707 | diff --git a/js/ui/layout.js b/js/ui/layout.js |
1708 | index e3c93a9..30e750d 100644 |
1709 | --- a/js/ui/layout.js |
1710 | +++ b/js/ui/layout.js |
1711 | @@ -252,7 +252,7 @@ var LayoutManager = GObject.registerClass({ |
1712 | |
1713 | // A dummy actor that tracks the mouse or text cursor, based on the |
1714 | // position and size set in setDummyCursorGeometry. |
1715 | - this.dummyCursor = new St.Widget({ width: 0, height: 0, visible: false }); |
1716 | + this.dummyCursor = new St.Widget({ width: 0, height: 0, opacity: 0 }); |
1717 | this.uiGroup.add_actor(this.dummyCursor); |
1718 | |
1719 | global.stage.remove_actor(global.top_window_group); |
1720 | diff --git a/js/ui/osdMonitorLabeler.js b/js/ui/osdMonitorLabeler.js |
1721 | index 55b4d3c..62feace 100644 |
1722 | --- a/js/ui/osdMonitorLabeler.js |
1723 | +++ b/js/ui/osdMonitorLabeler.js |
1724 | @@ -95,28 +95,6 @@ var OsdMonitorLabeler = class { |
1725 | |
1726 | this._reset(); |
1727 | |
1728 | - for (let id in params) { |
1729 | - let monitor = this._monitorManager.get_monitor_for_output(id); |
1730 | - if (monitor == -1) |
1731 | - continue; |
1732 | - this._monitorLabels.get(monitor).push(params[id].deep_unpack()); |
1733 | - } |
1734 | - |
1735 | - // In mirrored display setups, more than one physical outputs |
1736 | - // might be showing the same logical monitor. In that case, we |
1737 | - // join each output's labels on the same OSD widget. |
1738 | - for (let [monitor, labels] of this._monitorLabels.entries()) { |
1739 | - labels.sort(); |
1740 | - this._osdLabels.push(new OsdMonitorLabel(monitor, labels.join(' '))); |
1741 | - } |
1742 | - } |
1743 | - |
1744 | - show2(client, params) { |
1745 | - if (!this._trackClient(client)) |
1746 | - return; |
1747 | - |
1748 | - this._reset(); |
1749 | - |
1750 | for (let connector in params) { |
1751 | let monitor = this._monitorManager.get_monitor_for_connector(connector); |
1752 | if (monitor == -1) |
1753 | diff --git a/js/ui/panel.js b/js/ui/panel.js |
1754 | index 0f052d3..36e16d3 100644 |
1755 | --- a/js/ui/panel.js |
1756 | +++ b/js/ui/panel.js |
1757 | @@ -1,6 +1,6 @@ |
1758 | // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- |
1759 | |
1760 | -const { Atk, Clutter, Gio, GLib, GObject, Gtk, Meta, Shell, St } = imports.gi; |
1761 | +const { Atk, Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi; |
1762 | const Cairo = imports.cairo; |
1763 | const Mainloop = imports.mainloop; |
1764 | |
1765 | @@ -201,7 +201,6 @@ var AppMenuButton = GObject.registerClass({ |
1766 | this._startingApps = []; |
1767 | |
1768 | this._menuManager = panel.menuManager; |
1769 | - this._gtkSettings = Gtk.Settings.get_default(); |
1770 | this._targetApp = null; |
1771 | this._busyNotifyId = 0; |
1772 | |
1773 | diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js |
1774 | index 283934c..4481853 100644 |
1775 | --- a/js/ui/popupMenu.js |
1776 | +++ b/js/ui/popupMenu.js |
1777 | @@ -277,12 +277,6 @@ var Switch = class { |
1778 | this.actor = new St.Bin({ style_class: 'toggle-switch', |
1779 | accessible_role: Atk.Role.CHECK_BOX, |
1780 | can_focus: true }); |
1781 | - // Translators: this MUST be either "toggle-switch-us" |
1782 | - // (for toggle switches containing the English words |
1783 | - // "ON" and "OFF") or "toggle-switch-intl" (for toggle |
1784 | - // switches containing "◯" and "|"). Other values will |
1785 | - // simply result in invisible toggle switches. |
1786 | - this.actor.add_style_class_name(_("toggle-switch-us")); |
1787 | this.setToggleState(state); |
1788 | } |
1789 | |
1790 | diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js |
1791 | index 9261535..c6896ff 100644 |
1792 | --- a/js/ui/screenshot.js |
1793 | +++ b/js/ui/screenshot.js |
1794 | @@ -1,6 +1,6 @@ |
1795 | // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- |
1796 | |
1797 | -const { Clutter, Gio, GLib, Gtk, Meta, Shell, St } = imports.gi; |
1798 | +const { Clutter, Gio, GLib, Meta, Shell, St } = imports.gi; |
1799 | const Signals = imports.signals; |
1800 | |
1801 | const GrabHelper = imports.ui.grabHelper; |
1802 | @@ -227,8 +227,6 @@ var SelectArea = class { |
1803 | this._lastY = 0; |
1804 | this._result = null; |
1805 | |
1806 | - this._initRubberbandColors(); |
1807 | - |
1808 | this._group = new St.Widget({ visible: false, |
1809 | reactive: true, |
1810 | x: 0, |
1811 | @@ -248,10 +246,10 @@ var SelectArea = class { |
1812 | coordinate: Clutter.BindCoordinate.ALL }); |
1813 | this._group.add_constraint(constraint); |
1814 | |
1815 | - this._rubberband = new Clutter.Rectangle({ color: this._background, |
1816 | - has_border: true, |
1817 | - border_width: 1, |
1818 | - border_color: this._border }); |
1819 | + this._rubberband = new St.Widget({ |
1820 | + style_class: 'select-area-rubberband', |
1821 | + visible: false |
1822 | + }); |
1823 | this._group.add_actor(this._rubberband); |
1824 | } |
1825 | |
1826 | @@ -265,25 +263,6 @@ var SelectArea = class { |
1827 | this._group.visible = true; |
1828 | } |
1829 | |
1830 | - _initRubberbandColors() { |
1831 | - function colorFromRGBA(rgba) { |
1832 | - return new Clutter.Color({ red: rgba.red * 255, |
1833 | - green: rgba.green * 255, |
1834 | - blue: rgba.blue * 255, |
1835 | - alpha: rgba.alpha * 255 }); |
1836 | - } |
1837 | - |
1838 | - let path = new Gtk.WidgetPath(); |
1839 | - path.append_type(Gtk.IconView); |
1840 | - |
1841 | - let context = new Gtk.StyleContext(); |
1842 | - context.set_path(path); |
1843 | - context.add_class('rubberband'); |
1844 | - |
1845 | - this._background = colorFromRGBA(context.get_background_color(Gtk.StateFlags.NORMAL)); |
1846 | - this._border = colorFromRGBA(context.get_border_color(Gtk.StateFlags.NORMAL)); |
1847 | - } |
1848 | - |
1849 | _getGeometry() { |
1850 | return { x: Math.min(this._startX, this._lastX), |
1851 | y: Math.min(this._startY, this._lastY), |
1852 | @@ -302,6 +281,7 @@ var SelectArea = class { |
1853 | |
1854 | this._rubberband.set_position(geometry.x, geometry.y); |
1855 | this._rubberband.set_size(geometry.width, geometry.height); |
1856 | + this._rubberband.show(); |
1857 | |
1858 | return Clutter.EVENT_PROPAGATE; |
1859 | } |
1860 | diff --git a/js/ui/shellDBus.js b/js/ui/shellDBus.js |
1861 | index 469a6c7..19d07ac 100644 |
1862 | --- a/js/ui/shellDBus.js |
1863 | +++ b/js/ui/shellDBus.js |
1864 | @@ -79,14 +79,17 @@ var GnomeShell = class { |
1865 | for (let param in params) |
1866 | params[param] = params[param].deep_unpack(); |
1867 | |
1868 | - let { monitor: monitorIndex, |
1869 | + let { connector, |
1870 | label, |
1871 | level, |
1872 | max_level: maxLevel, |
1873 | icon: serializedIcon } = params; |
1874 | |
1875 | - if (monitorIndex === undefined) |
1876 | - monitorIndex = -1; |
1877 | + let monitorIndex = -1; |
1878 | + if (connector) { |
1879 | + let monitorManager = Meta.MonitorManager.get(); |
1880 | + monitorIndex = monitorManager.get_monitor_for_connector(connector); |
1881 | + } |
1882 | |
1883 | let icon = null; |
1884 | if (serializedIcon) |
1885 | @@ -203,16 +206,10 @@ var GnomeShell = class { |
1886 | this._grabbers.delete(name); |
1887 | } |
1888 | |
1889 | - ShowMonitorLabelsAsync(params, invocation) { |
1890 | - let sender = invocation.get_sender(); |
1891 | - let [dict] = params; |
1892 | - Main.osdMonitorLabeler.show(sender, dict); |
1893 | - } |
1894 | - |
1895 | ShowMonitorLabels2Async(params, invocation) { |
1896 | let sender = invocation.get_sender(); |
1897 | let [dict] = params; |
1898 | - Main.osdMonitorLabeler.show2(sender, dict); |
1899 | + Main.osdMonitorLabeler.show(sender, dict); |
1900 | } |
1901 | |
1902 | HideMonitorLabelsAsync(params, invocation) { |
1903 | diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js |
1904 | index ea9493d..b9f5fef 100644 |
1905 | --- a/js/ui/windowManager.js |
1906 | +++ b/js/ui/windowManager.js |
1907 | @@ -456,13 +456,28 @@ var TilePreview = class { |
1908 | }; |
1909 | |
1910 | var TouchpadWorkspaceSwitchAction = class { |
1911 | - constructor(actor) { |
1912 | + constructor(actor, allowedModes) { |
1913 | + this._allowedModes = allowedModes; |
1914 | this._dx = 0; |
1915 | this._dy = 0; |
1916 | + this._enabled = true; |
1917 | actor.connect('captured-event', this._handleEvent.bind(this)); |
1918 | this._touchpadSettings = new Gio.Settings({schema_id: 'org.gnome.desktop.peripherals.touchpad'}); |
1919 | } |
1920 | |
1921 | + get enabled() { |
1922 | + return this._enabled; |
1923 | + } |
1924 | + |
1925 | + set enabled(enabled) { |
1926 | + if (this._enabled == enabled) |
1927 | + return; |
1928 | + |
1929 | + this._enabled = enabled; |
1930 | + if (!enabled) |
1931 | + this.emit('cancel'); |
1932 | + } |
1933 | + |
1934 | _checkActivated() { |
1935 | let dir; |
1936 | |
1937 | @@ -482,15 +497,16 @@ var TouchpadWorkspaceSwitchAction = class { |
1938 | } |
1939 | |
1940 | _handleEvent(actor, event) { |
1941 | - let allowedModes = Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW; |
1942 | - |
1943 | if (event.type() != Clutter.EventType.TOUCHPAD_SWIPE) |
1944 | return Clutter.EVENT_PROPAGATE; |
1945 | |
1946 | if (event.get_touchpad_gesture_finger_count() != 4) |
1947 | return Clutter.EVENT_PROPAGATE; |
1948 | |
1949 | - if ((allowedModes & Main.actionMode) == 0) |
1950 | + if ((this._allowedModes & Main.actionMode) == 0) |
1951 | + return Clutter.EVENT_PROPAGATE; |
1952 | + |
1953 | + if (!this._enabled) |
1954 | return Clutter.EVENT_PROPAGATE; |
1955 | |
1956 | if (event.get_gesture_phase() == Clutter.TouchpadGesturePhase.UPDATE) { |
1957 | @@ -523,10 +539,11 @@ var WorkspaceSwitchAction = GObject.registerClass({ |
1958 | 'motion': { param_types: [GObject.TYPE_DOUBLE, GObject.TYPE_DOUBLE] }, |
1959 | 'cancel': { param_types: [] }}, |
1960 | }, class WorkspaceSwitchAction extends Clutter.SwipeAction { |
1961 | - _init() { |
1962 | + _init(allowedModes) { |
1963 | super._init(); |
1964 | this.set_n_touch_points(4); |
1965 | this._swept = false; |
1966 | + this._allowedModes = allowedModes; |
1967 | |
1968 | global.display.connect('grab-op-begin', () => { |
1969 | this.cancel(); |
1970 | @@ -534,14 +551,12 @@ var WorkspaceSwitchAction = GObject.registerClass({ |
1971 | } |
1972 | |
1973 | vfunc_gesture_prepare(actor) { |
1974 | - let allowedModes = Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW; |
1975 | - |
1976 | this._swept = false; |
1977 | |
1978 | if (!super.vfunc_gesture_prepare(actor)) |
1979 | return false; |
1980 | |
1981 | - return (allowedModes & Main.actionMode); |
1982 | + return (this._allowedModes & Main.actionMode); |
1983 | } |
1984 | |
1985 | vfunc_gesture_progress(actor) { |
1986 | @@ -1043,14 +1058,15 @@ var WindowManager = class { |
1987 | global.workspace_manager.override_workspace_layout(Meta.DisplayCorner.TOPLEFT, |
1988 | false, -1, 1); |
1989 | |
1990 | - let gesture = new WorkspaceSwitchAction(); |
1991 | + let allowedModes = Shell.ActionMode.NORMAL; |
1992 | + let gesture = new WorkspaceSwitchAction(allowedModes); |
1993 | gesture.connect('motion', this._switchWorkspaceMotion.bind(this)); |
1994 | gesture.connect('activated', this._actionSwitchWorkspace.bind(this)); |
1995 | gesture.connect('cancel', this._switchWorkspaceCancel.bind(this)); |
1996 | global.stage.add_action(gesture); |
1997 | |
1998 | // This is not a normal Clutter.GestureAction, doesn't need add_action() |
1999 | - gesture = new TouchpadWorkspaceSwitchAction(global.stage); |
2000 | + gesture = new TouchpadWorkspaceSwitchAction(global.stage, allowedModes); |
2001 | gesture.connect('motion', this._switchWorkspaceMotion.bind(this)); |
2002 | gesture.connect('activated', this._actionSwitchWorkspace.bind(this)); |
2003 | gesture.connect('cancel', this._switchWorkspaceCancel.bind(this)); |
2004 | @@ -1202,6 +1218,10 @@ var WindowManager = class { |
2005 | // Same for OR windows |
2006 | if (window.is_override_redirect()) |
2007 | return; |
2008 | + // Sticky windows don't need moving, in fact moving would |
2009 | + // unstick them |
2010 | + if (window.on_all_workspaces) |
2011 | + return; |
2012 | // Windows on workspaces below pos don't need moving |
2013 | let index = window.get_workspace().index(); |
2014 | if (index < pos) |
2015 | @@ -1468,8 +1488,13 @@ var WindowManager = class { |
2016 | if (this._clearAnimationInfo(actor)) |
2017 | this._shellwm.completed_size_change(actor); |
2018 | |
2019 | + let destroyId = actor.connect('destroy', () => { |
2020 | + this._clearAnimationInfo(actor); |
2021 | + }); |
2022 | + |
2023 | actor.__animationInfo = { clone: actorClone, |
2024 | - oldRect: oldFrameRect }; |
2025 | + oldRect: oldFrameRect, |
2026 | + destroyId: destroyId }; |
2027 | } |
2028 | |
2029 | _sizeChangedWindow(shellwm, actor) { |
2030 | @@ -1530,6 +1555,7 @@ var WindowManager = class { |
2031 | _clearAnimationInfo(actor) { |
2032 | if (actor.__animationInfo) { |
2033 | actor.__animationInfo.clone.destroy(); |
2034 | + actor.disconnect(actor.__animationInfo.destroyId); |
2035 | delete actor.__animationInfo; |
2036 | return true; |
2037 | } |
2038 | diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js |
2039 | index d2557a4..f631781 100644 |
2040 | --- a/js/ui/workspacesView.js |
2041 | +++ b/js/ui/workspacesView.js |
2042 | @@ -1,10 +1,11 @@ |
2043 | // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- |
2044 | |
2045 | -const { Clutter, Gio, GObject, Meta, St } = imports.gi; |
2046 | +const { Clutter, Gio, GObject, Meta, Shell, St } = imports.gi; |
2047 | const Signals = imports.signals; |
2048 | |
2049 | const Main = imports.ui.main; |
2050 | const Tweener = imports.ui.tweener; |
2051 | +const WindowManager = imports.ui.windowManager; |
2052 | const Workspace = imports.ui.workspace; |
2053 | |
2054 | var WORKSPACE_SWITCH_TIME = 0.25; |
2055 | @@ -82,6 +83,7 @@ var WorkspacesView = class extends WorkspacesViewBase { |
2056 | |
2057 | this._animating = false; // tweening |
2058 | this._scrolling = false; // swipe-scrolling |
2059 | + this._gestureActive = false; // touch(pad) gestures |
2060 | this._animatingScroll = false; // programatically updating the adjustment |
2061 | |
2062 | let activeWorkspaceIndex = workspaceManager.get_active_workspace_index(); |
2063 | @@ -211,7 +213,7 @@ var WorkspacesView = class extends WorkspacesViewBase { |
2064 | |
2065 | for (let w = 0; w < this._workspaces.length; w++) { |
2066 | let workspace = this._workspaces[w]; |
2067 | - if (this._animating || this._scrolling) { |
2068 | + if (this._animating || this._scrolling || this._gestureActive) { |
2069 | workspace.actor.show(); |
2070 | } else { |
2071 | if (this._inDrag) |
2072 | @@ -223,7 +225,7 @@ var WorkspacesView = class extends WorkspacesViewBase { |
2073 | } |
2074 | |
2075 | _updateScrollAdjustment(index) { |
2076 | - if (this._scrolling) |
2077 | + if (this._scrolling || this._gestureActive) |
2078 | return; |
2079 | |
2080 | this._animatingScroll = true; |
2081 | @@ -300,6 +302,18 @@ var WorkspacesView = class extends WorkspacesViewBase { |
2082 | this._updateVisibility(); |
2083 | } |
2084 | |
2085 | + startTouchGesture() { |
2086 | + this._gestureActive = true; |
2087 | + } |
2088 | + |
2089 | + endTouchGesture() { |
2090 | + this._gestureActive = false; |
2091 | + |
2092 | + // Make sure title captions etc are shown as necessary |
2093 | + this._scrollToActive(); |
2094 | + this._updateVisibility(); |
2095 | + } |
2096 | + |
2097 | // sync the workspaces' positions to the value of the scroll adjustment |
2098 | // and change the active workspace if appropriate |
2099 | _onScroll(adj) { |
2100 | @@ -310,7 +324,7 @@ var WorkspacesView = class extends WorkspacesViewBase { |
2101 | let active = workspaceManager.get_active_workspace_index(); |
2102 | let current = Math.round(adj.value); |
2103 | |
2104 | - if (active != current) { |
2105 | + if (active != current && !this._gestureActive) { |
2106 | if (!this._workspaces[current]) { |
2107 | // The current workspace was destroyed. This could happen |
2108 | // when you are on the last empty workspace, and consolidate |
2109 | @@ -391,6 +405,12 @@ var ExtraWorkspaceView = class extends WorkspacesViewBase { |
2110 | |
2111 | endSwipeScroll() { |
2112 | } |
2113 | + |
2114 | + startTouchGesture() { |
2115 | + } |
2116 | + |
2117 | + endTouchGesture() { |
2118 | + } |
2119 | }; |
2120 | |
2121 | var DelegateFocusNavigator = GObject.registerClass( |
2122 | @@ -430,23 +450,37 @@ var WorkspacesDisplay = class { |
2123 | return false; |
2124 | } |
2125 | |
2126 | - for (let i = 0; i < this._workspacesViews.length; i++) |
2127 | - this._workspacesViews[i].startSwipeScroll(); |
2128 | + this._startSwipeScroll(); |
2129 | return true; |
2130 | }); |
2131 | panAction.connect('gesture-cancel', () => { |
2132 | clickAction.release(); |
2133 | - for (let i = 0; i < this._workspacesViews.length; i++) |
2134 | - this._workspacesViews[i].endSwipeScroll(); |
2135 | + this._endSwipeScroll(); |
2136 | }); |
2137 | panAction.connect('gesture-end', () => { |
2138 | clickAction.release(); |
2139 | - for (let i = 0; i < this._workspacesViews.length; i++) |
2140 | - this._workspacesViews[i].endSwipeScroll(); |
2141 | + this._endSwipeScroll(); |
2142 | }); |
2143 | Main.overview.addAction(panAction); |
2144 | this.actor.bind_property('mapped', panAction, 'enabled', GObject.BindingFlags.SYNC_CREATE); |
2145 | |
2146 | + let allowedModes = Shell.ActionMode.OVERVIEW; |
2147 | + let switchGesture = new WindowManager.WorkspaceSwitchAction(allowedModes); |
2148 | + switchGesture.connect('motion', this._onSwitchWorkspaceMotion.bind(this)); |
2149 | + switchGesture.connect('activated', this._onSwitchWorkspaceActivated.bind(this)); |
2150 | + switchGesture.connect('cancel', this._endTouchGesture.bind(this)); |
2151 | + Main.overview.addAction(switchGesture); |
2152 | + this.actor.bind_property('mapped', switchGesture, 'enabled', GObject.BindingFlags.SYNC_CREATE); |
2153 | + |
2154 | + switchGesture = new WindowManager.TouchpadWorkspaceSwitchAction(global.stage, allowedModes); |
2155 | + switchGesture.connect('motion', this._onSwitchWorkspaceMotion.bind(this)); |
2156 | + switchGesture.connect('activated', this._onSwitchWorkspaceActivated.bind(this)); |
2157 | + switchGesture.connect('cancel', this._endTouchGesture.bind(this)); |
2158 | + this.actor.connect('notify::mapped', () => { |
2159 | + switchGesture.enabled = this.actor.mapped; |
2160 | + }); |
2161 | + switchGesture.enabled = this.actor.mapped; |
2162 | + |
2163 | this._primaryIndex = Main.layoutManager.primaryIndex; |
2164 | |
2165 | this._workspacesViews = []; |
2166 | @@ -474,6 +508,47 @@ var WorkspacesDisplay = class { |
2167 | return false; |
2168 | } |
2169 | |
2170 | + _startSwipeScroll() { |
2171 | + for (let i = 0; i < this._workspacesViews.length; i++) |
2172 | + this._workspacesViews[i].startSwipeScroll(); |
2173 | + } |
2174 | + |
2175 | + _endSwipeScroll() { |
2176 | + for (let i = 0; i < this._workspacesViews.length; i++) |
2177 | + this._workspacesViews[i].endSwipeScroll(); |
2178 | + } |
2179 | + |
2180 | + _startTouchGesture() { |
2181 | + for (let i = 0; i < this._workspacesViews.length; i++) |
2182 | + this._workspacesViews[i].startTouchGesture(); |
2183 | + } |
2184 | + |
2185 | + _endTouchGesture() { |
2186 | + for (let i = 0; i < this._workspacesViews.length; i++) |
2187 | + this._workspacesViews[i].endTouchGesture(); |
2188 | + } |
2189 | + |
2190 | + _onSwitchWorkspaceMotion(action, xRel, yRel) { |
2191 | + // We don't have a way to hook into start of touchpad actions, |
2192 | + // luckily this is safe to call repeatedly. |
2193 | + this._startTouchGesture(); |
2194 | + |
2195 | + let workspaceManager = global.workspace_manager; |
2196 | + let active = workspaceManager.get_active_workspace_index(); |
2197 | + let adjustment = this._scrollAdjustment; |
2198 | + adjustment.value = (active - yRel / this.actor.height) * adjustment.page_size; |
2199 | + } |
2200 | + |
2201 | + _onSwitchWorkspaceActivated(action, direction) { |
2202 | + let workspaceManager = global.workspace_manager; |
2203 | + let activeWorkspace = workspaceManager.get_active_workspace(); |
2204 | + let newWs = activeWorkspace.get_neighbor(direction); |
2205 | + if (newWs != activeWorkspace) |
2206 | + newWs.activate(global.get_current_time()); |
2207 | + |
2208 | + this._endTouchGesture(); |
2209 | + } |
2210 | + |
2211 | navigateFocus(from, direction) { |
2212 | return this._getPrimaryView().actor.navigate_focus(from, direction, false); |
2213 | } |
2214 | diff --git a/meson.build b/meson.build |
2215 | index e42611e..e3500d4 100644 |
2216 | --- a/meson.build |
2217 | +++ b/meson.build |
2218 | @@ -1,5 +1,5 @@ |
2219 | project('gnome-shell', 'c', |
2220 | - version: '3.32.0', |
2221 | + version: '3.32.1', |
2222 | meson_version: '>= 0.47.0', |
2223 | license: 'GPLv2+' |
2224 | ) |
2225 | diff --git a/src/st/st-theme-node.c b/src/st/st-theme-node.c |
2226 | index c05ca78..8a6ebf0 100644 |
2227 | --- a/src/st/st-theme-node.c |
2228 | +++ b/src/st/st-theme-node.c |
2229 | @@ -1136,10 +1136,14 @@ get_length_from_term_int (StThemeNode *node, |
2230 | { |
2231 | double value; |
2232 | GetFromTermResult result; |
2233 | + int scale_factor; |
2234 | |
2235 | result = get_length_from_term (node, term, use_parent_font, &value); |
2236 | if (result == VALUE_FOUND) |
2237 | - *length = (int) (0.5 + value); |
2238 | + { |
2239 | + g_object_get (node->context, "scale-factor", &scale_factor, NULL); |
2240 | + *length = (int) ((value / scale_factor) + 0.5) * scale_factor; |
2241 | + } |
2242 | return result; |
2243 | } |
2244 |
I'm not directly familiar with recent changes to gnome-shell 3.32.1. It looks reasonable, except:
(1) Again I recommend not including the large section in changelog entries detailing what hasn't changed ("remaining changes:") because it is misleading to document in detail things that are not part of the update.