Merge lp:~docky-core/docky/desktop into lp:docky

Proposed by Robert Dyer
Status: Merged
Merged at revision: 1735
Proposed branch: lp:~docky-core/docky/desktop
Merge into: lp:docky
Diff against target: 3005 lines (+2740/-81)
16 files modified
StandardPlugins/Desktop/Desktop.csproj (+9/-0)
StandardPlugins/Desktop/Makefile.am (+9/-0)
StandardPlugins/Desktop/Resources/Desktop.addin.xml.in (+7/-8)
StandardPlugins/Desktop/Resources/icons/show-desktop.svg (+811/-0)
StandardPlugins/Desktop/Resources/icons/window-cascade.svg (+581/-0)
StandardPlugins/Desktop/Resources/icons/window-tile.svg (+629/-0)
StandardPlugins/Desktop/src/CascadeDesktopItem.cs (+51/-0)
StandardPlugins/Desktop/src/DesktopActionsProvider.cs (+62/-0)
StandardPlugins/Desktop/src/DesktopDockItem.cs (+6/-61)
StandardPlugins/Desktop/src/DesktopItemProvider.cs (+2/-9)
StandardPlugins/Desktop/src/ShowDesktopItem.cs (+50/-0)
StandardPlugins/Desktop/src/TileDesktopItem.cs (+51/-0)
StandardPlugins/Desktop/src/Wink/ScreenUtils.cs (+162/-0)
StandardPlugins/Desktop/src/Wink/Viewport.cs (+292/-0)
po/POTFILES.in (+4/-1)
po/docky.pot (+14/-2)
To merge this branch: bzr merge lp:~docky-core/docky/desktop
Reviewer Review Type Date Requested Status
Rico Tzschichholz Approve
Review via email: mp+44793@code.launchpad.net

Description of the change

Adds tile and cascade to the desktop docklet.

To post a comment you must log in.
Revision history for this message
Rico Tzschichholz (ricotz) wrote :

Delete src/Xlib/X11Atoms.cs|src/Xlib/Xlib.cs and link against the implementation in Docky.Services

review: Needs Fixing
Revision history for this message
Robert Dyer (psybers) wrote :

Fixed.

lp:~docky-core/docky/desktop updated
1732. By Robert Dyer

reuse services xlib code

1733. By Robert Dyer

cleanup some of the ported Wink helper code

1734. By Robert Dyer

remove duplicate Wnck.Window extensions

1735. By Robert Dyer

add undo support

1736. By Robert Dyer

add icons

1737. By Robert Dyer

fix wnck critical

1738. By Robert Dyer

remove duplicate class

1739. By Robert Dyer

update pot

1740. By Robert Dyer

make sure no leaks

1741. By Rico Tzschichholz

change WindowState class to struct

Revision history for this message
Rico Tzschichholz (ricotz) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'StandardPlugins/Desktop/Desktop.csproj'
2--- StandardPlugins/Desktop/Desktop.csproj 2010-08-06 08:06:53 +0000
3+++ StandardPlugins/Desktop/Desktop.csproj 2010-12-29 12:19:13 +0000
4@@ -29,7 +29,13 @@
5 <WarningLevel>4</WarningLevel>
6 </PropertyGroup>
7 <ItemGroup>
8+ <Compile Include="src\Wink\Viewport.cs" />
9+ <Compile Include="src\Wink\ScreenUtils.cs" />
10 <Compile Include="src\DesktopDockItem.cs" />
11+ <Compile Include="src\ShowDesktopItem.cs" />
12+ <Compile Include="src\TileDesktopItem.cs" />
13+ <Compile Include="src\CascadeDesktopItem.cs" />
14+ <Compile Include="src\DesktopActionsProvider.cs" />
15 <Compile Include="src\DesktopItemProvider.cs" />
16 </ItemGroup>
17 <ItemGroup>
18@@ -63,6 +69,9 @@
19 </ItemGroup>
20 <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
21 <ItemGroup>
22+ <None Include="Resources\icons\show-desktop.svg" />
23+ <None Include="Resources\icons\window-tile.svg" />
24+ <None Include="Resources\icons\window-cascade.svg" />
25 <None Include="Resources\Desktop.addin.xml" />
26 </ItemGroup>
27 </Project>
28
29=== modified file 'StandardPlugins/Desktop/Makefile.am'
30--- StandardPlugins/Desktop/Makefile.am 2010-08-06 08:06:53 +0000
31+++ StandardPlugins/Desktop/Makefile.am 2010-12-29 12:19:13 +0000
32@@ -4,10 +4,19 @@
33 ASSEMBLY = Desktop
34
35 FILES = \
36+ src/Wink/Viewport.cs \
37+ src/Wink/ScreenUtils.cs \
38 src/DesktopDockItem.cs \
39+ src/ShowDesktopItem.cs \
40+ src/TileDesktopItem.cs \
41+ src/CascadeDesktopItem.cs \
42+ src/DesktopActionsProvider.cs \
43 src/DesktopItemProvider.cs
44
45 RESOURCES = \
46+ Resources/icons/show-desktop.svg \
47+ Resources/icons/window-cascade.svg \
48+ Resources/icons/window-tile.svg \
49 Resources/Desktop.addin.xml
50
51 PROJECT_REFERENCES= \
52
53=== modified file 'StandardPlugins/Desktop/Resources/Desktop.addin.xml.in'
54--- StandardPlugins/Desktop/Resources/Desktop.addin.xml.in 2010-06-17 06:43:24 +0000
55+++ StandardPlugins/Desktop/Resources/Desktop.addin.xml.in 2010-12-29 12:19:13 +0000
56@@ -5,21 +5,20 @@
57 isroot="false"
58 defaultEnabled="false"
59 name="Desktop"
60- description="Show Desktop Toggler"
61- author="Rico Tzschichholz"
62+ description="Show, Tile or Cascade your Desktop"
63+ author="Rico Tzschichholz, Robert Dyer"
64 icon="desktop"
65 >
66-
67+
68 <Dependencies>
69 <Addin id="Items" version="1.0" />
70 </Dependencies>
71-
72+
73 <Runtime>
74- <Import assembly="Desktop.dll"/>
75+ <Import assembly="Desktop.dll" />
76 </Runtime>
77-
78+
79 <Extension path="/Docky/ItemProvider">
80 <ItemProvider type="Desktop.DesktopItemProvider" />
81- </Extension>
82-
83+ </Extension>
84 </Addin>
85
86=== added directory 'StandardPlugins/Desktop/Resources/icons'
87=== added file 'StandardPlugins/Desktop/Resources/icons/show-desktop.svg'
88--- StandardPlugins/Desktop/Resources/icons/show-desktop.svg 1970-01-01 00:00:00 +0000
89+++ StandardPlugins/Desktop/Resources/icons/show-desktop.svg 2010-12-29 12:19:13 +0000
90@@ -0,0 +1,811 @@
91+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
92+<!-- Created with Inkscape (http://www.inkscape.org/) -->
93+
94+<svg
95+ xmlns:dc="http://purl.org/dc/elements/1.1/"
96+ xmlns:cc="http://creativecommons.org/ns#"
97+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
98+ xmlns:svg="http://www.w3.org/2000/svg"
99+ xmlns="http://www.w3.org/2000/svg"
100+ xmlns:xlink="http://www.w3.org/1999/xlink"
101+ version="1.1"
102+ width="48"
103+ height="48"
104+ id="svg3658">
105+ <defs
106+ id="defs3660">
107+ <linearGradient
108+ x1="16.626165"
109+ y1="15.298182"
110+ x2="20.054544"
111+ y2="24.627615"
112+ id="linearGradient3568"
113+ xlink:href="#linearGradient8265-821-176-38-919-66-249-7-7"
114+ gradientUnits="userSpaceOnUse"
115+ gradientTransform="matrix(0.82498024,0,0,1.3012336,4.1618797,-1.4329212)" />
116+ <linearGradient
117+ id="linearGradient8265-821-176-38-919-66-249-7-7">
118+ <stop
119+ id="stop2687-1-9"
120+ style="stop-color:#ffffff;stop-opacity:1"
121+ offset="0" />
122+ <stop
123+ id="stop2689-5-4"
124+ style="stop-color:#ffffff;stop-opacity:0"
125+ offset="1" />
126+ </linearGradient>
127+ <linearGradient
128+ x1="23.99999"
129+ y1="4.999989"
130+ x2="23.99999"
131+ y2="43"
132+ id="linearGradient2959"
133+ xlink:href="#linearGradient3924"
134+ gradientUnits="userSpaceOnUse"
135+ gradientTransform="translate(3.7e-6,1.00001)" />
136+ <linearGradient
137+ id="linearGradient3924">
138+ <stop
139+ id="stop3926"
140+ style="stop-color:#ffffff;stop-opacity:1"
141+ offset="0" />
142+ <stop
143+ id="stop3928"
144+ style="stop-color:#ffffff;stop-opacity:0.23529412"
145+ offset="0.06316455" />
146+ <stop
147+ id="stop3930"
148+ style="stop-color:#ffffff;stop-opacity:0.15686275"
149+ offset="0.95056331" />
150+ <stop
151+ id="stop3932"
152+ style="stop-color:#ffffff;stop-opacity:0.39215687"
153+ offset="1" />
154+ </linearGradient>
155+ <radialGradient
156+ cx="7.4956832"
157+ cy="8.4497671"
158+ r="19.99999"
159+ fx="7.4956832"
160+ fy="8.4497671"
161+ id="radialGradient2874"
162+ xlink:href="#linearGradient2867-449-88-871-390-598-476-591-434-148-57-177"
163+ gradientUnits="userSpaceOnUse"
164+ gradientTransform="matrix(1.9428467e-8,2.33699,-2.4722567,-4.3056275e-8,44.890104,-11.434799)" />
165+ <linearGradient
166+ id="linearGradient2867-449-88-871-390-598-476-591-434-148-57-177">
167+ <stop
168+ id="stop3750"
169+ style="stop-color:#90dbec;stop-opacity:1"
170+ offset="0" />
171+ <stop
172+ id="stop3752"
173+ style="stop-color:#55c1ec;stop-opacity:1"
174+ offset="0.26238" />
175+ <stop
176+ id="stop3754"
177+ style="stop-color:#3689e6;stop-opacity:1"
178+ offset="0.704952" />
179+ <stop
180+ id="stop3756"
181+ style="stop-color:#2b63a0;stop-opacity:1"
182+ offset="1" />
183+ </linearGradient>
184+ <linearGradient
185+ x1="24"
186+ y1="44"
187+ x2="24"
188+ y2="3.8990016"
189+ id="linearGradient2876"
190+ xlink:href="#linearGradient3707-319-631-407-324"
191+ gradientUnits="userSpaceOnUse"
192+ gradientTransform="translate(1.2e-6,1)" />
193+ <linearGradient
194+ id="linearGradient3707-319-631-407-324">
195+ <stop
196+ id="stop3760"
197+ style="stop-color:#185f9a;stop-opacity:1"
198+ offset="0" />
199+ <stop
200+ id="stop3762"
201+ style="stop-color:#599ec9;stop-opacity:1"
202+ offset="1" />
203+ </linearGradient>
204+ <radialGradient
205+ cx="4.9929786"
206+ cy="43.5"
207+ r="2.5"
208+ fx="4.9929786"
209+ fy="43.5"
210+ id="radialGradient3013"
211+ xlink:href="#linearGradient3688-166-749"
212+ gradientUnits="userSpaceOnUse"
213+ gradientTransform="matrix(2.003784,0,0,1.4,27.98813,-17.4)" />
214+ <linearGradient
215+ id="linearGradient3688-166-749">
216+ <stop
217+ id="stop2883"
218+ style="stop-color:#181818;stop-opacity:1"
219+ offset="0" />
220+ <stop
221+ id="stop2885"
222+ style="stop-color:#181818;stop-opacity:0"
223+ offset="1" />
224+ </linearGradient>
225+ <radialGradient
226+ cx="4.9929786"
227+ cy="43.5"
228+ r="2.5"
229+ fx="4.9929786"
230+ fy="43.5"
231+ id="radialGradient3015"
232+ xlink:href="#linearGradient3688-464-309"
233+ gradientUnits="userSpaceOnUse"
234+ gradientTransform="matrix(2.003784,0,0,1.4,-20.01187,-104.4)" />
235+ <linearGradient
236+ id="linearGradient3688-464-309">
237+ <stop
238+ id="stop2889"
239+ style="stop-color:#181818;stop-opacity:1"
240+ offset="0" />
241+ <stop
242+ id="stop2891"
243+ style="stop-color:#181818;stop-opacity:0"
244+ offset="1" />
245+ </linearGradient>
246+ <linearGradient
247+ id="linearGradient3702-501-757">
248+ <stop
249+ id="stop2895"
250+ style="stop-color:#181818;stop-opacity:0"
251+ offset="0" />
252+ <stop
253+ id="stop2897"
254+ style="stop-color:#181818;stop-opacity:1"
255+ offset="0.5" />
256+ <stop
257+ id="stop2899"
258+ style="stop-color:#181818;stop-opacity:0"
259+ offset="1" />
260+ </linearGradient>
261+ <linearGradient
262+ x1="25.058096"
263+ y1="47.027729"
264+ x2="25.058096"
265+ y2="39.999443"
266+ id="linearGradient3656"
267+ xlink:href="#linearGradient3702-501-757"
268+ gradientUnits="userSpaceOnUse" />
269+ <linearGradient
270+ id="linearGradient3707-319-631-407-1-846-5">
271+ <stop
272+ id="stop3788-4"
273+ style="stop-color:#365a7c;stop-opacity:1"
274+ offset="0" />
275+ <stop
276+ id="stop3790-2"
277+ style="stop-color:#5ea1ca;stop-opacity:1"
278+ offset="1" />
279+ </linearGradient>
280+ <linearGradient
281+ id="linearGradient3707-319-631-407-1-4-477-8">
282+ <stop
283+ id="stop3782-1"
284+ style="stop-color:#365a7c;stop-opacity:1"
285+ offset="0" />
286+ <stop
287+ id="stop3784-0"
288+ style="stop-color:#5ea1ca;stop-opacity:1"
289+ offset="1" />
290+ </linearGradient>
291+ <linearGradient
292+ id="linearGradient3707-319-631-407-1-9-274-0-6-9">
293+ <stop
294+ id="stop3776-3-8-3"
295+ style="stop-color:#365a7c;stop-opacity:1"
296+ offset="0" />
297+ <stop
298+ id="stop3778-5-3-9"
299+ style="stop-color:#5ea1ca;stop-opacity:1"
300+ offset="1" />
301+ </linearGradient>
302+ <linearGradient
303+ id="linearGradient3707-319-631-407-1-9-274-0-6-9-4">
304+ <stop
305+ id="stop3776-3-8-3-8"
306+ style="stop-color:#365a7c;stop-opacity:1"
307+ offset="0" />
308+ <stop
309+ id="stop3778-5-3-9-1"
310+ style="stop-color:#5ea1ca;stop-opacity:1"
311+ offset="1" />
312+ </linearGradient>
313+ <linearGradient
314+ id="linearGradient3707-319-631-407-1-4-477-8-3">
315+ <stop
316+ id="stop3782-1-0"
317+ style="stop-color:#365a7c;stop-opacity:1"
318+ offset="0" />
319+ <stop
320+ id="stop3784-0-4"
321+ style="stop-color:#5ea1ca;stop-opacity:1"
322+ offset="1" />
323+ </linearGradient>
324+ <linearGradient
325+ id="linearGradient3707-319-631-407-1-846-5-44">
326+ <stop
327+ id="stop3788-4-7"
328+ style="stop-color:#365a7c;stop-opacity:1"
329+ offset="0" />
330+ <stop
331+ id="stop3790-2-6"
332+ style="stop-color:#5ea1ca;stop-opacity:1"
333+ offset="1" />
334+ </linearGradient>
335+ <linearGradient
336+ id="linearGradient3707-319-631-407-1-9-274-0-6-9-4-6">
337+ <stop
338+ id="stop3776-3-8-3-8-9"
339+ style="stop-color:#365a7c;stop-opacity:1"
340+ offset="0" />
341+ <stop
342+ id="stop3778-5-3-9-1-2"
343+ style="stop-color:#5ea1ca;stop-opacity:1"
344+ offset="1" />
345+ </linearGradient>
346+ <linearGradient
347+ id="linearGradient3707-319-631-407-1-4-477-8-3-4">
348+ <stop
349+ id="stop3782-1-0-7"
350+ style="stop-color:#365a7c;stop-opacity:1"
351+ offset="0" />
352+ <stop
353+ id="stop3784-0-4-7"
354+ style="stop-color:#5ea1ca;stop-opacity:1"
355+ offset="1" />
356+ </linearGradient>
357+ <linearGradient
358+ id="linearGradient3707-319-631-407-1-846-5-44-4">
359+ <stop
360+ id="stop3788-4-7-8"
361+ style="stop-color:#365a7c;stop-opacity:1"
362+ offset="0" />
363+ <stop
364+ id="stop3790-2-6-1"
365+ style="stop-color:#5ea1ca;stop-opacity:1"
366+ offset="1" />
367+ </linearGradient>
368+ <linearGradient
369+ x1="19.874987"
370+ y1="44.520065"
371+ x2="19.874987"
372+ y2="5.2502403"
373+ id="linearGradient3325"
374+ xlink:href="#linearGradient3707-319-631-407-1-846-5-44"
375+ gradientUnits="userSpaceOnUse"
376+ gradientTransform="matrix(0.95,0,0,0.75,1.1801893,34.25)" />
377+ <linearGradient
378+ x1="19.874987"
379+ y1="44.520065"
380+ x2="19.874987"
381+ y2="5.2502403"
382+ id="linearGradient3328"
383+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-3"
384+ gradientUnits="userSpaceOnUse"
385+ gradientTransform="matrix(0.95454544,0,0,0.77272726,1.312631,33.818182)" />
386+ <linearGradient
387+ x1="19.874987"
388+ y1="44.520065"
389+ x2="19.874987"
390+ y2="5.2502403"
391+ id="linearGradient3331"
392+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9-4"
393+ gradientUnits="userSpaceOnUse"
394+ gradientTransform="matrix(0.95833334,0,0,0.79166666,1.4229987,33.458334)" />
395+ <linearGradient
396+ x1="19.874987"
397+ y1="44.520065"
398+ x2="19.874987"
399+ y2="5.2502403"
400+ id="linearGradient3335"
401+ xlink:href="#linearGradient3707-319-631-407-1-846-5"
402+ gradientUnits="userSpaceOnUse"
403+ gradientTransform="matrix(0.75,0,0,0.7,7.352781,5.7)" />
404+ <linearGradient
405+ x1="19.874987"
406+ y1="44.520065"
407+ x2="19.874987"
408+ y2="5.2502403"
409+ id="linearGradient3338"
410+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8"
411+ gradientUnits="userSpaceOnUse"
412+ gradientTransform="matrix(0.77272727,0,0,0.72727272,8.014987,5.1818182)" />
413+ <linearGradient
414+ x1="19.874987"
415+ y1="44.520065"
416+ x2="19.874987"
417+ y2="5.2502403"
418+ id="linearGradient3341"
419+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9"
420+ gradientUnits="userSpaceOnUse"
421+ gradientTransform="matrix(0.79166667,0,0,0.75,8.566825,4.7499995)" />
422+ <linearGradient
423+ x1="19.874987"
424+ y1="44.520065"
425+ x2="19.874987"
426+ y2="5.2502403"
427+ id="linearGradient3345"
428+ xlink:href="#linearGradient3707-319-631-407-1-846-5-44-4"
429+ gradientUnits="userSpaceOnUse"
430+ gradientTransform="matrix(0.9,0,0,0.75,-5.7766628,1.25)" />
431+ <linearGradient
432+ x1="19.874987"
433+ y1="44.520065"
434+ x2="19.874987"
435+ y2="5.2502403"
436+ id="linearGradient3348"
437+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-3-4"
438+ gradientUnits="userSpaceOnUse"
439+ gradientTransform="matrix(0.9090909,0,0,0.77272726,-5.51178,0.818182)" />
440+ <linearGradient
441+ x1="19.874987"
442+ y1="44.520065"
443+ x2="19.874987"
444+ y2="5.2502403"
445+ id="linearGradient3351"
446+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9-4-6"
447+ gradientUnits="userSpaceOnUse"
448+ gradientTransform="matrix(0.91666667,0,0,0.79166666,-5.2910447,0.458334)" />
449+ <linearGradient
450+ x1="19.874987"
451+ y1="44.520065"
452+ x2="19.874987"
453+ y2="5.2502403"
454+ id="linearGradient3076"
455+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9"
456+ gradientUnits="userSpaceOnUse"
457+ gradientTransform="matrix(0.79166667,0,0,0.75,8.566825,4.7499995)" />
458+ <linearGradient
459+ x1="19.874987"
460+ y1="44.520065"
461+ x2="19.874987"
462+ y2="5.2502403"
463+ id="linearGradient3078"
464+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8"
465+ gradientUnits="userSpaceOnUse"
466+ gradientTransform="matrix(0.77272727,0,0,0.72727272,8.014987,5.1818182)" />
467+ <linearGradient
468+ x1="19.874987"
469+ y1="44.520065"
470+ x2="19.874987"
471+ y2="5.2502403"
472+ id="linearGradient3080"
473+ xlink:href="#linearGradient3707-319-631-407-1-846-5"
474+ gradientUnits="userSpaceOnUse"
475+ gradientTransform="matrix(0.75,0,0,0.7,7.352781,5.7)" />
476+ <linearGradient
477+ x1="19.874987"
478+ y1="44.520065"
479+ x2="19.874987"
480+ y2="5.2502403"
481+ id="linearGradient3094"
482+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9-4-6"
483+ gradientUnits="userSpaceOnUse"
484+ gradientTransform="matrix(0.91666667,0,0,0.79166666,-5.2910447,0.458334)" />
485+ <linearGradient
486+ x1="19.874987"
487+ y1="44.520065"
488+ x2="19.874987"
489+ y2="5.2502403"
490+ id="linearGradient3096"
491+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-3-4"
492+ gradientUnits="userSpaceOnUse"
493+ gradientTransform="matrix(0.9090909,0,0,0.77272726,-5.51178,0.818182)" />
494+ <linearGradient
495+ x1="19.874987"
496+ y1="44.520065"
497+ x2="19.874987"
498+ y2="5.2502403"
499+ id="linearGradient3098"
500+ xlink:href="#linearGradient3707-319-631-407-1-846-5-44-4"
501+ gradientUnits="userSpaceOnUse"
502+ gradientTransform="matrix(0.9,0,0,0.75,-5.7766628,1.25)" />
503+ <linearGradient
504+ x1="19.874987"
505+ y1="44.520065"
506+ x2="19.874987"
507+ y2="5.2502403"
508+ id="linearGradient3100"
509+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9-4"
510+ gradientUnits="userSpaceOnUse"
511+ gradientTransform="matrix(0.95833334,0,0,0.79166666,1.4229987,33.458334)" />
512+ <linearGradient
513+ x1="19.874987"
514+ y1="44.520065"
515+ x2="19.874987"
516+ y2="5.2502403"
517+ id="linearGradient3102"
518+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-3"
519+ gradientUnits="userSpaceOnUse"
520+ gradientTransform="matrix(0.95454544,0,0,0.77272726,1.312631,33.818182)" />
521+ <linearGradient
522+ x1="19.874987"
523+ y1="44.520065"
524+ x2="19.874987"
525+ y2="5.2502403"
526+ id="linearGradient3104"
527+ xlink:href="#linearGradient3707-319-631-407-1-846-5-44"
528+ gradientUnits="userSpaceOnUse"
529+ gradientTransform="matrix(0.95,0,0,0.75,1.1801893,34.25)" />
530+ <linearGradient
531+ x1="-34.653061"
532+ y1="18.763996"
533+ x2="-34.653061"
534+ y2="-32.884937"
535+ id="linearGradient3108"
536+ xlink:href="#linearGradient3707-319-631-407-1-846-5-44"
537+ gradientUnits="userSpaceOnUse"
538+ gradientTransform="matrix(-1.4,0,0,0.75,-16.791858,30.25)" />
539+ <linearGradient
540+ x1="19.874987"
541+ y1="44.520065"
542+ x2="19.874987"
543+ y2="5.2502403"
544+ id="linearGradient3111"
545+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-3"
546+ gradientUnits="userSpaceOnUse"
547+ gradientTransform="matrix(1.3636363,0,0,0.77272726,15.73233,29.818182)" />
548+ <linearGradient
549+ x1="19.874987"
550+ y1="44.520065"
551+ x2="19.874987"
552+ y2="5.2502403"
553+ id="linearGradient3114"
554+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9-4"
555+ gradientUnits="userSpaceOnUse"
556+ gradientTransform="matrix(1.3333333,0,0,0.79166666,14.849389,29.458334)" />
557+ <linearGradient
558+ x1="23.99999"
559+ y1="4.999989"
560+ x2="23.99999"
561+ y2="43"
562+ id="linearGradient2959-8"
563+ xlink:href="#linearGradient3924-8"
564+ gradientUnits="userSpaceOnUse"
565+ gradientTransform="translate(3.7e-6,1.00001)" />
566+ <linearGradient
567+ id="linearGradient3924-8">
568+ <stop
569+ id="stop3926-3"
570+ style="stop-color:#ffffff;stop-opacity:1"
571+ offset="0" />
572+ <stop
573+ id="stop3928-1"
574+ style="stop-color:#ffffff;stop-opacity:0.23529412"
575+ offset="0.06316455" />
576+ <stop
577+ id="stop3930-8"
578+ style="stop-color:#ffffff;stop-opacity:0.15686275"
579+ offset="0.95056331" />
580+ <stop
581+ id="stop3932-9"
582+ style="stop-color:#ffffff;stop-opacity:0.39215687"
583+ offset="1" />
584+ </linearGradient>
585+ <linearGradient
586+ x1="-23.286304"
587+ y1="19.124146"
588+ x2="-23.286304"
589+ y2="-30.743233"
590+ id="linearGradient3985"
591+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9-4-9"
592+ gradientUnits="userSpaceOnUse"
593+ gradientTransform="matrix(-2.0833333,0,0,-0.79166666,-35.70217,18.541666)" />
594+ <linearGradient
595+ id="linearGradient3707-319-631-407-1-9-274-0-6-9-4-9">
596+ <stop
597+ id="stop3776-3-8-3-8-0"
598+ style="stop-color:#365a7c;stop-opacity:1"
599+ offset="0" />
600+ <stop
601+ id="stop3778-5-3-9-1-8"
602+ style="stop-color:#5ea1ca;stop-opacity:1"
603+ offset="1" />
604+ </linearGradient>
605+ <linearGradient
606+ x1="-24.373634"
607+ y1="19.095417"
608+ x2="-24.373634"
609+ y2="-31.817726"
610+ id="linearGradient3953-6"
611+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-3-0"
612+ gradientUnits="userSpaceOnUse"
613+ gradientTransform="matrix(-2.1306817,0,0,-0.77272726,-37.081766,18.181818)" />
614+ <linearGradient
615+ id="linearGradient3707-319-631-407-1-4-477-8-3-0">
616+ <stop
617+ id="stop3782-1-0-6"
618+ style="stop-color:#365a7c;stop-opacity:1"
619+ offset="0" />
620+ <stop
621+ id="stop3784-0-4-4"
622+ style="stop-color:#5ea1ca;stop-opacity:1"
623+ offset="1" />
624+ </linearGradient>
625+ <linearGradient
626+ x1="-34.653061"
627+ y1="18.763996"
628+ x2="-34.653061"
629+ y2="-32.884937"
630+ id="linearGradient3108-2"
631+ xlink:href="#linearGradient3707-319-631-407-1-846-5-44-1"
632+ gradientUnits="userSpaceOnUse"
633+ gradientTransform="matrix(-2.1875,0,0,-0.75,-38.737278,17.75)" />
634+ <linearGradient
635+ id="linearGradient3707-319-631-407-1-846-5-44-1">
636+ <stop
637+ id="stop3788-4-7-9"
638+ style="stop-color:#365a7c;stop-opacity:1"
639+ offset="0" />
640+ <stop
641+ id="stop3790-2-6-9"
642+ style="stop-color:#5ea1ca;stop-opacity:1"
643+ offset="1" />
644+ </linearGradient>
645+ <linearGradient
646+ x1="-23.286304"
647+ y1="19.124146"
648+ x2="-23.286304"
649+ y2="-30.743233"
650+ id="linearGradient3957"
651+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9-4-4"
652+ gradientUnits="userSpaceOnUse"
653+ gradientTransform="matrix(-1.3333333,0,0,0.79166666,-14.849389,29.458334)" />
654+ <linearGradient
655+ id="linearGradient3707-319-631-407-1-9-274-0-6-9-4-4">
656+ <stop
657+ id="stop3776-3-8-3-8-1"
658+ style="stop-color:#365a7c;stop-opacity:1"
659+ offset="0" />
660+ <stop
661+ id="stop3778-5-3-9-1-6"
662+ style="stop-color:#5ea1ca;stop-opacity:1"
663+ offset="1" />
664+ </linearGradient>
665+ <linearGradient
666+ x1="-24.373634"
667+ y1="19.095417"
668+ x2="-24.373634"
669+ y2="-31.817726"
670+ id="linearGradient3953"
671+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-3-3"
672+ gradientUnits="userSpaceOnUse"
673+ gradientTransform="matrix(-1.3636363,0,0,0.77272726,-15.73233,29.818182)" />
674+ <linearGradient
675+ id="linearGradient3707-319-631-407-1-4-477-8-3-3">
676+ <stop
677+ id="stop3782-1-0-8"
678+ style="stop-color:#365a7c;stop-opacity:1"
679+ offset="0" />
680+ <stop
681+ id="stop3784-0-4-5"
682+ style="stop-color:#5ea1ca;stop-opacity:1"
683+ offset="1" />
684+ </linearGradient>
685+ <linearGradient
686+ x1="-34.653061"
687+ y1="18.763996"
688+ x2="-34.653061"
689+ y2="-32.884937"
690+ id="linearGradient3108-5"
691+ xlink:href="#linearGradient3707-319-631-407-1-846-5-44-0"
692+ gradientUnits="userSpaceOnUse"
693+ gradientTransform="matrix(-1.4,0,0,0.75,-16.791858,30.25)" />
694+ <linearGradient
695+ id="linearGradient3707-319-631-407-1-846-5-44-0">
696+ <stop
697+ id="stop3788-4-7-1"
698+ style="stop-color:#365a7c;stop-opacity:1"
699+ offset="0" />
700+ <stop
701+ id="stop3790-2-6-2"
702+ style="stop-color:#5ea1ca;stop-opacity:1"
703+ offset="1" />
704+ </linearGradient>
705+ <linearGradient
706+ x1="-23.286304"
707+ y1="19.124146"
708+ x2="-23.286304"
709+ y2="-30.743233"
710+ id="linearGradient4183"
711+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9-4-4"
712+ gradientUnits="userSpaceOnUse"
713+ gradientTransform="matrix(-1.3333333,0,0,0.79166666,-14.849389,29.458334)" />
714+ <linearGradient
715+ x1="-24.373634"
716+ y1="19.095417"
717+ x2="-24.373634"
718+ y2="-31.817726"
719+ id="linearGradient4185"
720+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-3-3"
721+ gradientUnits="userSpaceOnUse"
722+ gradientTransform="matrix(-1.3636363,0,0,0.77272726,-15.73233,29.818182)" />
723+ <linearGradient
724+ x1="-23.286304"
725+ y1="19.124146"
726+ x2="-23.286304"
727+ y2="-30.743233"
728+ id="linearGradient4187"
729+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9-4-9"
730+ gradientUnits="userSpaceOnUse"
731+ gradientTransform="matrix(-2.0833333,0,0,-0.79166666,-35.70217,18.541666)" />
732+ <linearGradient
733+ x1="-24.373634"
734+ y1="19.095417"
735+ x2="-24.373634"
736+ y2="-31.817726"
737+ id="linearGradient4189"
738+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-3-0"
739+ gradientUnits="userSpaceOnUse"
740+ gradientTransform="matrix(-2.1306817,0,0,-0.77272726,-37.081766,18.181818)" />
741+ <linearGradient
742+ x1="-34.653061"
743+ y1="18.763996"
744+ x2="-34.653061"
745+ y2="-32.884937"
746+ id="linearGradient4191"
747+ xlink:href="#linearGradient3707-319-631-407-1-846-5-44-1"
748+ gradientUnits="userSpaceOnUse"
749+ gradientTransform="matrix(-2.1875,0,0,-0.75,-38.737278,17.75)" />
750+ <linearGradient
751+ x1="-34.653061"
752+ y1="18.763996"
753+ x2="-34.653061"
754+ y2="-32.884937"
755+ id="linearGradient4195"
756+ xlink:href="#linearGradient3707-319-631-407-1-846-5-44-1"
757+ gradientUnits="userSpaceOnUse"
758+ gradientTransform="matrix(-2.1875,0,0,-0.75,-38.737278,17.75)" />
759+ <linearGradient
760+ x1="-24.373634"
761+ y1="19.095417"
762+ x2="-24.373634"
763+ y2="-31.817726"
764+ id="linearGradient4198"
765+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-3-0"
766+ gradientUnits="userSpaceOnUse"
767+ gradientTransform="matrix(-2.1306817,0,0,-0.77272726,-37.081766,18.181818)" />
768+ <linearGradient
769+ x1="-23.286304"
770+ y1="19.124146"
771+ x2="-23.286304"
772+ y2="-30.743233"
773+ id="linearGradient4201"
774+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9-4-9"
775+ gradientUnits="userSpaceOnUse"
776+ gradientTransform="matrix(-2.0833333,0,0,-0.79166666,-35.70217,18.541666)" />
777+ <linearGradient
778+ x1="-34.653061"
779+ y1="18.763996"
780+ x2="-34.653061"
781+ y2="-32.884937"
782+ id="linearGradient4233"
783+ xlink:href="#linearGradient3707-319-631-407-1-846-5-44-0"
784+ gradientUnits="userSpaceOnUse"
785+ gradientTransform="matrix(-1.4,0,0,0.75,-16.791858,30.25)" />
786+ <linearGradient
787+ x1="-24.373634"
788+ y1="19.095417"
789+ x2="-24.373634"
790+ y2="-31.817726"
791+ id="linearGradient4236"
792+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-3-3"
793+ gradientUnits="userSpaceOnUse"
794+ gradientTransform="matrix(-1.3636363,0,0,0.77272726,-15.73233,29.818182)" />
795+ <linearGradient
796+ x1="-23.286304"
797+ y1="19.124146"
798+ x2="-23.286304"
799+ y2="-30.743233"
800+ id="linearGradient4239"
801+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9-4-4"
802+ gradientUnits="userSpaceOnUse"
803+ gradientTransform="matrix(-1.3333333,0,0,0.79166666,-14.849389,29.458334)" />
804+ </defs>
805+ <metadata
806+ id="metadata3663">
807+ <rdf:RDF>
808+ <cc:Work
809+ rdf:about="">
810+ <dc:format>image/svg+xml</dc:format>
811+ <dc:type
812+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
813+ <dc:title></dc:title>
814+ </cc:Work>
815+ </rdf:RDF>
816+ </metadata>
817+ <g
818+ id="layer1">
819+ <g
820+ transform="matrix(1.1578952,0,0,0.57142859,-3.789484,19.142856)"
821+ id="g3712"
822+ style="opacity:0.4">
823+ <rect
824+ width="5"
825+ height="7"
826+ x="38"
827+ y="40"
828+ id="rect2801"
829+ style="fill:url(#radialGradient3013);fill-opacity:1;stroke:none" />
830+ <rect
831+ width="5"
832+ height="7"
833+ x="-10"
834+ y="-47"
835+ transform="scale(-1,-1)"
836+ id="rect3696"
837+ style="fill:url(#radialGradient3015);fill-opacity:1;stroke:none" />
838+ <rect
839+ width="28"
840+ height="7.0000005"
841+ x="10"
842+ y="40"
843+ id="rect3700"
844+ style="fill:url(#linearGradient3656);fill-opacity:1;stroke:none" />
845+ </g>
846+ <rect
847+ width="39"
848+ height="39"
849+ rx="2"
850+ ry="2"
851+ x="4.5"
852+ y="5.5"
853+ id="rect5505-21"
854+ style="color:#000000;fill:url(#radialGradient2874);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2876);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
855+ <rect
856+ width="37"
857+ height="37"
858+ rx="1"
859+ ry="1"
860+ x="5.5"
861+ y="6.5"
862+ id="rect6741"
863+ style="opacity:0.5;fill:none;stroke:url(#linearGradient2959);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
864+ <path
865+ d="M 6.2169167,6 C 5.5377266,6 5,6.9124652 5,7.8 L 5.0126445,30 C 6.1058123,29.975834 42.170261,21.153092 43,20.728709 L 43,7.8 C 43,7.1215957 42.468817,6 41.88071,6 L 6.2169214,6 z"
866+ id="path3333"
867+ style="opacity:0.2;fill:url(#linearGradient3568);fill-opacity:1;fill-rule:evenodd;stroke:none" />
868+ <path
869+ d="M 9.40625,35 C 8.6248022,35 8,35.624802 8,36.40625 L 8,44 40,44 40,36.40625 C 40,35.624802 39.375198,35 38.59375,35 l -29.1875,0 z"
870+ id="rect3038-4-1-1-8-5-1"
871+ style="opacity:0.05;color:#000000;fill:url(#linearGradient4239);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
872+ <path
873+ d="M 10.28125,36 C 9.5649229,36 9,36.564923 9,37.28125 L 9,44 39,44 39,37.28125 C 39,36.564923 38.435077,36 37.71875,36 l -27.4375,0 z"
874+ id="rect3038-4-1-7"
875+ style="opacity:0.1;color:#000000;fill:url(#linearGradient4236);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
876+ <path
877+ d="M 11.1875,37 C 10.536294,37 10,37.536294 10,38.1875 L 10,44 38,44 38,38.1875 C 38,37.536294 37.463706,37 36.8125,37 l -25.625,0 z"
878+ id="rect3038-4-5"
879+ style="opacity:0.25;color:#000000;fill:url(#linearGradient4233);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
880+ <path
881+ d="m 35.507286,38.492714 c -7.671524,0 -15.343048,0 -23.014572,0 -0.897076,-0.01757 -1,0.422115 -1,1.007286 l 0,4 25.014572,0 0,-4.007286 c 0.01298,-0.537526 -0.462292,-1.012936 -1,-1 z"
882+ id="rect3038-9"
883+ style="color:#000000;fill:#f7f7f7;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.98542738;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" />
884+ <path
885+ d="M 6.5,6 C 5.669,6 5,6.669 5,7.5 L 5,13 43,13 43,7.5 C 43,6.669 42.331,6 41.5,6 l -35,0 z"
886+ id="rect3038-4-1-1-8-5-1-9"
887+ style="opacity:0.05;color:#000000;fill:url(#linearGradient4201);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
888+ <path
889+ d="M 6.5,6 C 5.669,6 5,6.669 5,7.5 L 5,12 43,12 43,7.5 C 43,6.669 42.331,6 41.5,6 l -35,0 z"
890+ id="rect3038-4-1-7-3"
891+ style="opacity:0.1;color:#000000;fill:url(#linearGradient4198);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
892+ <path
893+ d="M 6.5,6 C 5.669,6 5,6.669 5,7.5 L 5,11 43,11 43,7.5 C 43,6.669 42.331,6 41.5,6 l -35,0 z"
894+ id="rect3038-4-5-1"
895+ style="opacity:0.25;color:#000000;fill:url(#linearGradient4195);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
896+ <path
897+ d="m 41.027196,6.5005086 c -11.351592,0 -22.703185,0 -34.0547772,0 -1.3274079,-0.01757 -1.479705,0.422115 -1.479705,1.007286 l 0,1.9922054 37.0141872,0 0,-1.9994914 c 0.01921,-0.537526 -0.684056,-1.012936 -1.479705,-1 z"
898+ id="rect3038-9-4"
899+ style="color:#000000;fill:#f7f7f7;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.98542738;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" />
900+ </g>
901+</svg>
902
903=== added file 'StandardPlugins/Desktop/Resources/icons/window-cascade.svg'
904--- StandardPlugins/Desktop/Resources/icons/window-cascade.svg 1970-01-01 00:00:00 +0000
905+++ StandardPlugins/Desktop/Resources/icons/window-cascade.svg 2010-12-29 12:19:13 +0000
906@@ -0,0 +1,581 @@
907+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
908+<!-- Created with Inkscape (http://www.inkscape.org/) -->
909+
910+<svg
911+ xmlns:dc="http://purl.org/dc/elements/1.1/"
912+ xmlns:cc="http://creativecommons.org/ns#"
913+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
914+ xmlns:svg="http://www.w3.org/2000/svg"
915+ xmlns="http://www.w3.org/2000/svg"
916+ xmlns:xlink="http://www.w3.org/1999/xlink"
917+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
918+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
919+ width="48px"
920+ height="48px"
921+ id="svg3658"
922+ version="1.1"
923+ inkscape:version="0.48.0 r9654"
924+ sodipodi:docname="window-cascade.svg"
925+ inkscape:export-filename="/home/daniel/window-cascade.png"
926+ inkscape:export-xdpi="90"
927+ inkscape:export-ydpi="90">
928+ <defs
929+ id="defs3660">
930+ <linearGradient
931+ inkscape:collect="always"
932+ xlink:href="#linearGradient8265-821-176-38-919-66-249-7-7"
933+ id="linearGradient3568"
934+ gradientUnits="userSpaceOnUse"
935+ gradientTransform="matrix(0.82498024,0,0,1.3012336,4.1618797,-1.4329212)"
936+ x1="16.626165"
937+ y1="15.298182"
938+ x2="20.054544"
939+ y2="24.627615" />
940+ <linearGradient
941+ id="linearGradient8265-821-176-38-919-66-249-7-7">
942+ <stop
943+ offset="0"
944+ style="stop-color:#ffffff;stop-opacity:1"
945+ id="stop2687-1-9" />
946+ <stop
947+ offset="1"
948+ style="stop-color:#ffffff;stop-opacity:0"
949+ id="stop2689-5-4" />
950+ </linearGradient>
951+ <linearGradient
952+ inkscape:collect="always"
953+ xlink:href="#linearGradient3924"
954+ id="linearGradient2959"
955+ gradientUnits="userSpaceOnUse"
956+ gradientTransform="translate(3.7e-6,1.00001)"
957+ x1="23.99999"
958+ y1="4.999989"
959+ x2="23.99999"
960+ y2="43" />
961+ <linearGradient
962+ id="linearGradient3924">
963+ <stop
964+ offset="0"
965+ style="stop-color:#ffffff;stop-opacity:1;"
966+ id="stop3926" />
967+ <stop
968+ id="stop3928"
969+ style="stop-color:#ffffff;stop-opacity:0.23529412;"
970+ offset="0.06316455" />
971+ <stop
972+ offset="0.95056331"
973+ style="stop-color:#ffffff;stop-opacity:0.15686275;"
974+ id="stop3930" />
975+ <stop
976+ offset="1"
977+ style="stop-color:#ffffff;stop-opacity:0.39215687;"
978+ id="stop3932" />
979+ </linearGradient>
980+ <radialGradient
981+ r="19.99999"
982+ fy="8.4497671"
983+ fx="7.4956832"
984+ cy="8.4497671"
985+ cx="7.4956832"
986+ gradientTransform="matrix(1.9428467e-8,2.33699,-2.4722567,-4.3056275e-8,44.890104,-11.434799)"
987+ gradientUnits="userSpaceOnUse"
988+ id="radialGradient2874"
989+ xlink:href="#linearGradient2867-449-88-871-390-598-476-591-434-148-57-177"
990+ inkscape:collect="always" />
991+ <linearGradient
992+ id="linearGradient2867-449-88-871-390-598-476-591-434-148-57-177">
993+ <stop
994+ id="stop3750"
995+ style="stop-color:#90dbec;stop-opacity:1;"
996+ offset="0" />
997+ <stop
998+ id="stop3752"
999+ style="stop-color:#55c1ec;stop-opacity:1;"
1000+ offset="0.26238" />
1001+ <stop
1002+ id="stop3754"
1003+ style="stop-color:#3689e6;stop-opacity:1;"
1004+ offset="0.704952" />
1005+ <stop
1006+ id="stop3756"
1007+ style="stop-color:#2b63a0;stop-opacity:1;"
1008+ offset="1" />
1009+ </linearGradient>
1010+ <linearGradient
1011+ y2="3.8990016"
1012+ x2="24"
1013+ y1="44"
1014+ x1="24"
1015+ gradientTransform="translate(1.2e-6,1)"
1016+ gradientUnits="userSpaceOnUse"
1017+ id="linearGradient2876"
1018+ xlink:href="#linearGradient3707-319-631-407-324"
1019+ inkscape:collect="always" />
1020+ <linearGradient
1021+ id="linearGradient3707-319-631-407-324">
1022+ <stop
1023+ id="stop3760"
1024+ style="stop-color:#185f9a;stop-opacity:1;"
1025+ offset="0" />
1026+ <stop
1027+ id="stop3762"
1028+ style="stop-color:#599ec9;stop-opacity:1;"
1029+ offset="1" />
1030+ </linearGradient>
1031+ <radialGradient
1032+ inkscape:collect="always"
1033+ xlink:href="#linearGradient3688-166-749"
1034+ id="radialGradient3013"
1035+ gradientUnits="userSpaceOnUse"
1036+ gradientTransform="matrix(2.003784,0,0,1.4,27.98813,-17.4)"
1037+ cx="4.9929786"
1038+ cy="43.5"
1039+ fx="4.9929786"
1040+ fy="43.5"
1041+ r="2.5" />
1042+ <linearGradient
1043+ id="linearGradient3688-166-749">
1044+ <stop
1045+ offset="0"
1046+ style="stop-color:#181818;stop-opacity:1"
1047+ id="stop2883" />
1048+ <stop
1049+ offset="1"
1050+ style="stop-color:#181818;stop-opacity:0"
1051+ id="stop2885" />
1052+ </linearGradient>
1053+ <radialGradient
1054+ inkscape:collect="always"
1055+ xlink:href="#linearGradient3688-464-309"
1056+ id="radialGradient3015"
1057+ gradientUnits="userSpaceOnUse"
1058+ gradientTransform="matrix(2.003784,0,0,1.4,-20.01187,-104.4)"
1059+ cx="4.9929786"
1060+ cy="43.5"
1061+ fx="4.9929786"
1062+ fy="43.5"
1063+ r="2.5" />
1064+ <linearGradient
1065+ id="linearGradient3688-464-309">
1066+ <stop
1067+ offset="0"
1068+ style="stop-color:#181818;stop-opacity:1"
1069+ id="stop2889" />
1070+ <stop
1071+ offset="1"
1072+ style="stop-color:#181818;stop-opacity:0"
1073+ id="stop2891" />
1074+ </linearGradient>
1075+ <linearGradient
1076+ id="linearGradient3702-501-757">
1077+ <stop
1078+ offset="0"
1079+ style="stop-color:#181818;stop-opacity:0"
1080+ id="stop2895" />
1081+ <stop
1082+ offset="0.5"
1083+ style="stop-color:#181818;stop-opacity:1"
1084+ id="stop2897" />
1085+ <stop
1086+ offset="1"
1087+ style="stop-color:#181818;stop-opacity:0"
1088+ id="stop2899" />
1089+ </linearGradient>
1090+ <linearGradient
1091+ y2="39.999443"
1092+ x2="25.058096"
1093+ y1="47.027729"
1094+ x1="25.058096"
1095+ gradientUnits="userSpaceOnUse"
1096+ id="linearGradient3656"
1097+ xlink:href="#linearGradient3702-501-757"
1098+ inkscape:collect="always" />
1099+ <linearGradient
1100+ inkscape:collect="always"
1101+ xlink:href="#linearGradient3707-319-631-407-1-846-5"
1102+ id="linearGradient3374-6"
1103+ gradientUnits="userSpaceOnUse"
1104+ x1="19.874987"
1105+ y1="44.520065"
1106+ x2="19.874987"
1107+ y2="5.2502403"
1108+ gradientTransform="translate(47.137042,0)" />
1109+ <linearGradient
1110+ id="linearGradient3707-319-631-407-1-846-5">
1111+ <stop
1112+ offset="0"
1113+ style="stop-color:#365a7c;stop-opacity:1"
1114+ id="stop3788-4" />
1115+ <stop
1116+ offset="1"
1117+ style="stop-color:#5ea1ca;stop-opacity:1;"
1118+ id="stop3790-2" />
1119+ </linearGradient>
1120+ <linearGradient
1121+ inkscape:collect="always"
1122+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8"
1123+ id="linearGradient3372-9"
1124+ gradientUnits="userSpaceOnUse"
1125+ x1="19.874987"
1126+ y1="44.520065"
1127+ x2="19.874987"
1128+ y2="5.2502403"
1129+ gradientTransform="translate(47.137042,0)" />
1130+ <linearGradient
1131+ id="linearGradient3707-319-631-407-1-4-477-8">
1132+ <stop
1133+ offset="0"
1134+ style="stop-color:#365a7c;stop-opacity:1"
1135+ id="stop3782-1" />
1136+ <stop
1137+ offset="1"
1138+ style="stop-color:#5ea1ca;stop-opacity:1;"
1139+ id="stop3784-0" />
1140+ </linearGradient>
1141+ <linearGradient
1142+ inkscape:collect="always"
1143+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0"
1144+ id="linearGradient3370-4"
1145+ gradientUnits="userSpaceOnUse"
1146+ x1="19.874987"
1147+ y1="44.520065"
1148+ x2="19.874987"
1149+ y2="5.2502403"
1150+ gradientTransform="translate(47.137042,0)" />
1151+ <linearGradient
1152+ id="linearGradient3707-319-631-407-1-9-274-0">
1153+ <stop
1154+ offset="0"
1155+ style="stop-color:#365a7c;stop-opacity:1"
1156+ id="stop3776-3" />
1157+ <stop
1158+ offset="1"
1159+ style="stop-color:#5ea1ca;stop-opacity:1;"
1160+ id="stop3778-5" />
1161+ </linearGradient>
1162+ <linearGradient
1163+ inkscape:collect="always"
1164+ xlink:href="#linearGradient3707-319-631-407-1-846-5-5"
1165+ id="linearGradient3374-6-0"
1166+ gradientUnits="userSpaceOnUse"
1167+ x1="19.874987"
1168+ y1="44.520065"
1169+ x2="19.874987"
1170+ y2="5.2502403"
1171+ gradientTransform="translate(59.137042,12)" />
1172+ <linearGradient
1173+ id="linearGradient3707-319-631-407-1-846-5-5">
1174+ <stop
1175+ offset="0"
1176+ style="stop-color:#365a7c;stop-opacity:1"
1177+ id="stop3788-4-2" />
1178+ <stop
1179+ offset="1"
1180+ style="stop-color:#5ea1ca;stop-opacity:1;"
1181+ id="stop3790-2-7" />
1182+ </linearGradient>
1183+ <linearGradient
1184+ inkscape:collect="always"
1185+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-19"
1186+ id="linearGradient3372-9-9"
1187+ gradientUnits="userSpaceOnUse"
1188+ x1="19.874987"
1189+ y1="44.520065"
1190+ x2="19.874987"
1191+ y2="5.2502403"
1192+ gradientTransform="translate(59.137042,12)" />
1193+ <linearGradient
1194+ id="linearGradient3707-319-631-407-1-4-477-8-19">
1195+ <stop
1196+ offset="0"
1197+ style="stop-color:#365a7c;stop-opacity:1"
1198+ id="stop3782-1-6" />
1199+ <stop
1200+ offset="1"
1201+ style="stop-color:#5ea1ca;stop-opacity:1;"
1202+ id="stop3784-0-3" />
1203+ </linearGradient>
1204+ <linearGradient
1205+ id="linearGradient3707-319-631-407-1-9-274-0-8">
1206+ <stop
1207+ offset="0"
1208+ style="stop-color:#365a7c;stop-opacity:1"
1209+ id="stop3776-3-4" />
1210+ <stop
1211+ offset="1"
1212+ style="stop-color:#5ea1ca;stop-opacity:1;"
1213+ id="stop3778-5-6" />
1214+ </linearGradient>
1215+ <linearGradient
1216+ y2="5.2502403"
1217+ x2="19.874987"
1218+ y1="44.520065"
1219+ x1="19.874987"
1220+ gradientTransform="translate(59.137042,12)"
1221+ gradientUnits="userSpaceOnUse"
1222+ id="linearGradient4079"
1223+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-8"
1224+ inkscape:collect="always" />
1225+ <linearGradient
1226+ inkscape:collect="always"
1227+ xlink:href="#linearGradient3707-319-631-407-1-846-5-52"
1228+ id="linearGradient3374-6-5"
1229+ gradientUnits="userSpaceOnUse"
1230+ x1="19.874987"
1231+ y1="44.520065"
1232+ x2="19.874987"
1233+ y2="5.2502403"
1234+ gradientTransform="translate(53.137042,6)" />
1235+ <linearGradient
1236+ id="linearGradient3707-319-631-407-1-846-5-52">
1237+ <stop
1238+ offset="0"
1239+ style="stop-color:#365a7c;stop-opacity:1"
1240+ id="stop3788-4-1" />
1241+ <stop
1242+ offset="1"
1243+ style="stop-color:#5ea1ca;stop-opacity:1;"
1244+ id="stop3790-2-5" />
1245+ </linearGradient>
1246+ <linearGradient
1247+ inkscape:collect="always"
1248+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-16"
1249+ id="linearGradient3372-9-99"
1250+ gradientUnits="userSpaceOnUse"
1251+ x1="19.874987"
1252+ y1="44.520065"
1253+ x2="19.874987"
1254+ y2="5.2502403"
1255+ gradientTransform="translate(53.137042,6)" />
1256+ <linearGradient
1257+ id="linearGradient3707-319-631-407-1-4-477-8-16">
1258+ <stop
1259+ offset="0"
1260+ style="stop-color:#365a7c;stop-opacity:1"
1261+ id="stop3782-1-2" />
1262+ <stop
1263+ offset="1"
1264+ style="stop-color:#5ea1ca;stop-opacity:1;"
1265+ id="stop3784-0-1" />
1266+ </linearGradient>
1267+ <linearGradient
1268+ id="linearGradient3707-319-631-407-1-9-274-0-5">
1269+ <stop
1270+ offset="0"
1271+ style="stop-color:#365a7c;stop-opacity:1"
1272+ id="stop3776-3-3" />
1273+ <stop
1274+ offset="1"
1275+ style="stop-color:#5ea1ca;stop-opacity:1;"
1276+ id="stop3778-5-2" />
1277+ </linearGradient>
1278+ <linearGradient
1279+ y2="5.2502403"
1280+ x2="19.874987"
1281+ y1="44.520065"
1282+ x1="19.874987"
1283+ gradientTransform="translate(53.137042,6)"
1284+ gradientUnits="userSpaceOnUse"
1285+ id="linearGradient4079-1"
1286+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-5"
1287+ inkscape:collect="always" />
1288+ </defs>
1289+ <sodipodi:namedview
1290+ id="base"
1291+ pagecolor="#ffffff"
1292+ bordercolor="#666666"
1293+ borderopacity="1.0"
1294+ inkscape:pageopacity="0.0"
1295+ inkscape:pageshadow="2"
1296+ inkscape:zoom="8.1464594"
1297+ inkscape:cx="37.646832"
1298+ inkscape:cy="14.179783"
1299+ inkscape:current-layer="layer1"
1300+ showgrid="true"
1301+ inkscape:grid-bbox="true"
1302+ inkscape:document-units="px"
1303+ inkscape:window-width="1280"
1304+ inkscape:window-height="755"
1305+ inkscape:window-x="0"
1306+ inkscape:window-y="24"
1307+ inkscape:window-maximized="1" />
1308+ <metadata
1309+ id="metadata3663">
1310+ <rdf:RDF>
1311+ <cc:Work
1312+ rdf:about="">
1313+ <dc:format>image/svg+xml</dc:format>
1314+ <dc:type
1315+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1316+ <dc:title></dc:title>
1317+ </cc:Work>
1318+ </rdf:RDF>
1319+ </metadata>
1320+ <g
1321+ id="layer1"
1322+ inkscape:label="Layer 1"
1323+ inkscape:groupmode="layer">
1324+ <g
1325+ style="opacity:0.4"
1326+ id="g3712"
1327+ transform="matrix(1.1578952,0,0,0.57142859,-3.789484,19.142856)">
1328+ <rect
1329+ style="fill:url(#radialGradient3013);fill-opacity:1;stroke:none"
1330+ id="rect2801"
1331+ y="40"
1332+ x="38"
1333+ height="7"
1334+ width="5" />
1335+ <rect
1336+ style="fill:url(#radialGradient3015);fill-opacity:1;stroke:none"
1337+ id="rect3696"
1338+ transform="scale(-1,-1)"
1339+ y="-47"
1340+ x="-10"
1341+ height="7"
1342+ width="5" />
1343+ <rect
1344+ style="fill:url(#linearGradient3656);fill-opacity:1;stroke:none"
1345+ id="rect3700"
1346+ y="40"
1347+ x="10"
1348+ height="7.0000005"
1349+ width="28" />
1350+ </g>
1351+ <rect
1352+ style="color:#000000;fill:url(#radialGradient2874);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2876);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
1353+ id="rect5505-21"
1354+ y="5.5"
1355+ x="4.5"
1356+ ry="2"
1357+ rx="2"
1358+ height="39"
1359+ width="39" />
1360+ <rect
1361+ style="opacity:0.5;fill:none;stroke:url(#linearGradient2959);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
1362+ id="rect6741"
1363+ y="6.5"
1364+ x="5.5"
1365+ ry="1"
1366+ rx="1"
1367+ height="37"
1368+ width="37" />
1369+ <rect
1370+ style="opacity:0.05000000000000000;color:#000000;fill:url(#linearGradient3370-4);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
1371+ id="rect3038-4-1-1"
1372+ width="24"
1373+ height="24"
1374+ x="6"
1375+ y="7"
1376+ ry="1.4105556"
1377+ rx="1.4105556" />
1378+ <path
1379+ inkscape:connector-curvature="0"
1380+ style="opacity:0.2;fill:url(#linearGradient3568);fill-opacity:1;fill-rule:evenodd;stroke:none"
1381+ id="path3333"
1382+ d="M 6.2169167,6 C 5.5377266,6 5,6.9124652 5,7.8 L 5.0126445,30 C 6.1058123,29.975834 42.170261,21.153092 43,20.728709 L 43,7.8 C 43,7.1215957 42.468817,6 41.88071,6 L 6.2169214,6 z"
1383+ sodipodi:nodetypes="ccccccc" />
1384+ <rect
1385+ style="opacity:0.10000000000000001;color:#000000;fill:url(#linearGradient3372-9);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
1386+ id="rect3038-4-1"
1387+ width="22"
1388+ height="22"
1389+ x="7"
1390+ y="8"
1391+ ry="1.2930093"
1392+ rx="1.2930093" />
1393+ <rect
1394+ style="color:#000000;fill:url(#linearGradient3374-6);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.25000000000000000"
1395+ id="rect3038-4"
1396+ width="20"
1397+ height="20"
1398+ x="8"
1399+ y="9"
1400+ ry="1.175463"
1401+ rx="1.175463" />
1402+ <rect
1403+ style="color:#000000;fill:#f7f7f7;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.98542738;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"
1404+ id="rect3038"
1405+ width="17.014572"
1406+ height="17.014572"
1407+ x="9.4927139"
1408+ y="10.492714"
1409+ ry="1"
1410+ rx="1" />
1411+ <rect
1412+ style="opacity:0.05;color:#000000;fill:url(#linearGradient4079-1);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
1413+ id="rect3038-4-1-1-9"
1414+ width="24"
1415+ height="24"
1416+ x="12"
1417+ y="13"
1418+ ry="1.4105556"
1419+ rx="1.4105556" />
1420+ <rect
1421+ style="opacity:0.1;color:#000000;fill:url(#linearGradient3372-9-99);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
1422+ id="rect3038-4-1-76"
1423+ width="22"
1424+ height="22"
1425+ x="13"
1426+ y="14"
1427+ ry="1.2930093"
1428+ rx="1.2930093" />
1429+ <rect
1430+ style="opacity:0.25;color:#000000;fill:url(#linearGradient3374-6-5);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
1431+ id="rect3038-4-8"
1432+ width="20"
1433+ height="20"
1434+ x="14"
1435+ y="15"
1436+ ry="1.175463"
1437+ rx="1.175463" />
1438+ <rect
1439+ style="color:#000000;fill:#f7f7f7;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.98542738;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"
1440+ id="rect3038-2"
1441+ width="17.014572"
1442+ height="17.014572"
1443+ x="15.492714"
1444+ y="16.492714"
1445+ ry="1"
1446+ rx="1" />
1447+ <g
1448+ id="g4120">
1449+ <rect
1450+ rx="1.4105556"
1451+ ry="1.4105556"
1452+ y="19"
1453+ x="18"
1454+ height="24"
1455+ width="24"
1456+ id="rect3038-4-1-1-6"
1457+ style="opacity:0.05;color:#000000;fill:url(#linearGradient4079);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
1458+ <rect
1459+ rx="1.2930093"
1460+ ry="1.2930093"
1461+ y="20"
1462+ x="19"
1463+ height="22"
1464+ width="22"
1465+ id="rect3038-4-1-7"
1466+ style="opacity:0.1;color:#000000;fill:url(#linearGradient3372-9-9);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
1467+ <rect
1468+ rx="1.175463"
1469+ ry="1.175463"
1470+ y="21"
1471+ x="20"
1472+ height="20"
1473+ width="20"
1474+ id="rect3038-4-2"
1475+ style="opacity:0.25;color:#000000;fill:url(#linearGradient3374-6-0);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
1476+ <rect
1477+ rx="1"
1478+ ry="1"
1479+ y="22.492714"
1480+ x="21.492714"
1481+ height="17.014572"
1482+ width="17.014572"
1483+ id="rect3038-7"
1484+ style="color:#000000;fill:#f7f7f7;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.98542738;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" />
1485+ </g>
1486+ </g>
1487+</svg>
1488
1489=== added file 'StandardPlugins/Desktop/Resources/icons/window-tile.svg'
1490--- StandardPlugins/Desktop/Resources/icons/window-tile.svg 1970-01-01 00:00:00 +0000
1491+++ StandardPlugins/Desktop/Resources/icons/window-tile.svg 2010-12-29 12:19:13 +0000
1492@@ -0,0 +1,629 @@
1493+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1494+<!-- Created with Inkscape (http://www.inkscape.org/) -->
1495+
1496+<svg
1497+ xmlns:dc="http://purl.org/dc/elements/1.1/"
1498+ xmlns:cc="http://creativecommons.org/ns#"
1499+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
1500+ xmlns:svg="http://www.w3.org/2000/svg"
1501+ xmlns="http://www.w3.org/2000/svg"
1502+ xmlns:xlink="http://www.w3.org/1999/xlink"
1503+ version="1.1"
1504+ width="48"
1505+ height="48"
1506+ id="svg3658">
1507+ <defs
1508+ id="defs3660">
1509+ <linearGradient
1510+ x1="16.626165"
1511+ y1="15.298182"
1512+ x2="20.054544"
1513+ y2="24.627615"
1514+ id="linearGradient3568"
1515+ xlink:href="#linearGradient8265-821-176-38-919-66-249-7-7"
1516+ gradientUnits="userSpaceOnUse"
1517+ gradientTransform="matrix(0.82498024,0,0,1.3012336,4.1618797,-1.4329212)" />
1518+ <linearGradient
1519+ id="linearGradient8265-821-176-38-919-66-249-7-7">
1520+ <stop
1521+ id="stop2687-1-9"
1522+ style="stop-color:#ffffff;stop-opacity:1"
1523+ offset="0" />
1524+ <stop
1525+ id="stop2689-5-4"
1526+ style="stop-color:#ffffff;stop-opacity:0"
1527+ offset="1" />
1528+ </linearGradient>
1529+ <linearGradient
1530+ x1="23.99999"
1531+ y1="4.999989"
1532+ x2="23.99999"
1533+ y2="43"
1534+ id="linearGradient2959"
1535+ xlink:href="#linearGradient3924"
1536+ gradientUnits="userSpaceOnUse"
1537+ gradientTransform="translate(3.7e-6,1.00001)" />
1538+ <linearGradient
1539+ id="linearGradient3924">
1540+ <stop
1541+ id="stop3926"
1542+ style="stop-color:#ffffff;stop-opacity:1"
1543+ offset="0" />
1544+ <stop
1545+ id="stop3928"
1546+ style="stop-color:#ffffff;stop-opacity:0.23529412"
1547+ offset="0.06316455" />
1548+ <stop
1549+ id="stop3930"
1550+ style="stop-color:#ffffff;stop-opacity:0.15686275"
1551+ offset="0.95056331" />
1552+ <stop
1553+ id="stop3932"
1554+ style="stop-color:#ffffff;stop-opacity:0.39215687"
1555+ offset="1" />
1556+ </linearGradient>
1557+ <radialGradient
1558+ cx="7.4956832"
1559+ cy="8.4497671"
1560+ r="19.99999"
1561+ fx="7.4956832"
1562+ fy="8.4497671"
1563+ id="radialGradient2874"
1564+ xlink:href="#linearGradient2867-449-88-871-390-598-476-591-434-148-57-177"
1565+ gradientUnits="userSpaceOnUse"
1566+ gradientTransform="matrix(1.9428467e-8,2.33699,-2.4722567,-4.3056275e-8,44.890104,-11.434799)" />
1567+ <linearGradient
1568+ id="linearGradient2867-449-88-871-390-598-476-591-434-148-57-177">
1569+ <stop
1570+ id="stop3750"
1571+ style="stop-color:#90dbec;stop-opacity:1"
1572+ offset="0" />
1573+ <stop
1574+ id="stop3752"
1575+ style="stop-color:#55c1ec;stop-opacity:1"
1576+ offset="0.26238" />
1577+ <stop
1578+ id="stop3754"
1579+ style="stop-color:#3689e6;stop-opacity:1"
1580+ offset="0.704952" />
1581+ <stop
1582+ id="stop3756"
1583+ style="stop-color:#2b63a0;stop-opacity:1"
1584+ offset="1" />
1585+ </linearGradient>
1586+ <linearGradient
1587+ x1="24"
1588+ y1="44"
1589+ x2="24"
1590+ y2="3.8990016"
1591+ id="linearGradient2876"
1592+ xlink:href="#linearGradient3707-319-631-407-324"
1593+ gradientUnits="userSpaceOnUse"
1594+ gradientTransform="translate(1.2e-6,1)" />
1595+ <linearGradient
1596+ id="linearGradient3707-319-631-407-324">
1597+ <stop
1598+ id="stop3760"
1599+ style="stop-color:#185f9a;stop-opacity:1"
1600+ offset="0" />
1601+ <stop
1602+ id="stop3762"
1603+ style="stop-color:#599ec9;stop-opacity:1"
1604+ offset="1" />
1605+ </linearGradient>
1606+ <radialGradient
1607+ cx="4.9929786"
1608+ cy="43.5"
1609+ r="2.5"
1610+ fx="4.9929786"
1611+ fy="43.5"
1612+ id="radialGradient3013"
1613+ xlink:href="#linearGradient3688-166-749"
1614+ gradientUnits="userSpaceOnUse"
1615+ gradientTransform="matrix(2.003784,0,0,1.4,27.98813,-17.4)" />
1616+ <linearGradient
1617+ id="linearGradient3688-166-749">
1618+ <stop
1619+ id="stop2883"
1620+ style="stop-color:#181818;stop-opacity:1"
1621+ offset="0" />
1622+ <stop
1623+ id="stop2885"
1624+ style="stop-color:#181818;stop-opacity:0"
1625+ offset="1" />
1626+ </linearGradient>
1627+ <radialGradient
1628+ cx="4.9929786"
1629+ cy="43.5"
1630+ r="2.5"
1631+ fx="4.9929786"
1632+ fy="43.5"
1633+ id="radialGradient3015"
1634+ xlink:href="#linearGradient3688-464-309"
1635+ gradientUnits="userSpaceOnUse"
1636+ gradientTransform="matrix(2.003784,0,0,1.4,-20.01187,-104.4)" />
1637+ <linearGradient
1638+ id="linearGradient3688-464-309">
1639+ <stop
1640+ id="stop2889"
1641+ style="stop-color:#181818;stop-opacity:1"
1642+ offset="0" />
1643+ <stop
1644+ id="stop2891"
1645+ style="stop-color:#181818;stop-opacity:0"
1646+ offset="1" />
1647+ </linearGradient>
1648+ <linearGradient
1649+ id="linearGradient3702-501-757">
1650+ <stop
1651+ id="stop2895"
1652+ style="stop-color:#181818;stop-opacity:0"
1653+ offset="0" />
1654+ <stop
1655+ id="stop2897"
1656+ style="stop-color:#181818;stop-opacity:1"
1657+ offset="0.5" />
1658+ <stop
1659+ id="stop2899"
1660+ style="stop-color:#181818;stop-opacity:0"
1661+ offset="1" />
1662+ </linearGradient>
1663+ <linearGradient
1664+ x1="25.058096"
1665+ y1="47.027729"
1666+ x2="25.058096"
1667+ y2="39.999443"
1668+ id="linearGradient3656"
1669+ xlink:href="#linearGradient3702-501-757"
1670+ gradientUnits="userSpaceOnUse" />
1671+ <linearGradient
1672+ x1="19.874987"
1673+ y1="44.520065"
1674+ x2="19.874987"
1675+ y2="5.2502403"
1676+ id="linearGradient3374-6"
1677+ xlink:href="#linearGradient3707-319-631-407-1-846-5"
1678+ gradientUnits="userSpaceOnUse"
1679+ gradientTransform="matrix(0.75,0,0,0.75,-10.647219,2.25)" />
1680+ <linearGradient
1681+ id="linearGradient3707-319-631-407-1-846-5">
1682+ <stop
1683+ id="stop3788-4"
1684+ style="stop-color:#365a7c;stop-opacity:1"
1685+ offset="0" />
1686+ <stop
1687+ id="stop3790-2"
1688+ style="stop-color:#5ea1ca;stop-opacity:1"
1689+ offset="1" />
1690+ </linearGradient>
1691+ <linearGradient
1692+ x1="19.874987"
1693+ y1="44.520065"
1694+ x2="19.874987"
1695+ y2="5.2502403"
1696+ id="linearGradient3372-9"
1697+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8"
1698+ gradientUnits="userSpaceOnUse"
1699+ gradientTransform="matrix(0.77272727,0,0,0.77272727,-9.985013,1.8181818)" />
1700+ <linearGradient
1701+ id="linearGradient3707-319-631-407-1-4-477-8">
1702+ <stop
1703+ id="stop3782-1"
1704+ style="stop-color:#365a7c;stop-opacity:1"
1705+ offset="0" />
1706+ <stop
1707+ id="stop3784-0"
1708+ style="stop-color:#5ea1ca;stop-opacity:1"
1709+ offset="1" />
1710+ </linearGradient>
1711+ <linearGradient
1712+ x1="19.874987"
1713+ y1="44.520065"
1714+ x2="19.874987"
1715+ y2="5.2502403"
1716+ id="linearGradient3370-4"
1717+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0"
1718+ gradientUnits="userSpaceOnUse"
1719+ gradientTransform="matrix(0.79166667,0,0,0.79166667,-9.433175,1.4583333)" />
1720+ <linearGradient
1721+ id="linearGradient3707-319-631-407-1-9-274-0">
1722+ <stop
1723+ id="stop3776-3"
1724+ style="stop-color:#365a7c;stop-opacity:1"
1725+ offset="0" />
1726+ <stop
1727+ id="stop3778-5"
1728+ style="stop-color:#5ea1ca;stop-opacity:1"
1729+ offset="1" />
1730+ </linearGradient>
1731+ <linearGradient
1732+ id="linearGradient3707-319-631-407-1-846-5-4">
1733+ <stop
1734+ id="stop3788-4-12"
1735+ style="stop-color:#365a7c;stop-opacity:1"
1736+ offset="0" />
1737+ <stop
1738+ id="stop3790-2-8"
1739+ style="stop-color:#5ea1ca;stop-opacity:1"
1740+ offset="1" />
1741+ </linearGradient>
1742+ <linearGradient
1743+ id="linearGradient3707-319-631-407-1-4-477-8-9">
1744+ <stop
1745+ id="stop3782-1-28"
1746+ style="stop-color:#365a7c;stop-opacity:1"
1747+ offset="0" />
1748+ <stop
1749+ id="stop3784-0-8"
1750+ style="stop-color:#5ea1ca;stop-opacity:1"
1751+ offset="1" />
1752+ </linearGradient>
1753+ <linearGradient
1754+ id="linearGradient3707-319-631-407-1-9-274-0-6">
1755+ <stop
1756+ id="stop3776-3-8"
1757+ style="stop-color:#365a7c;stop-opacity:1"
1758+ offset="0" />
1759+ <stop
1760+ id="stop3778-5-3"
1761+ style="stop-color:#5ea1ca;stop-opacity:1"
1762+ offset="1" />
1763+ </linearGradient>
1764+ <linearGradient
1765+ x1="19.874987"
1766+ y1="44.520065"
1767+ x2="19.874987"
1768+ y2="5.2502403"
1769+ id="linearGradient3534"
1770+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6"
1771+ gradientUnits="userSpaceOnUse"
1772+ gradientTransform="matrix(0.79166667,0,0,0.79166667,38.566825,19.458333)" />
1773+ <linearGradient
1774+ x1="19.874987"
1775+ y1="44.520065"
1776+ x2="19.874987"
1777+ y2="5.2502403"
1778+ id="linearGradient3536"
1779+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-9"
1780+ gradientUnits="userSpaceOnUse"
1781+ gradientTransform="matrix(0.77272727,0,0,0.77272727,38.014987,19.818182)" />
1782+ <linearGradient
1783+ x1="19.874987"
1784+ y1="44.520065"
1785+ x2="19.874987"
1786+ y2="5.2502403"
1787+ id="linearGradient3538"
1788+ xlink:href="#linearGradient3707-319-631-407-1-846-5-4"
1789+ gradientUnits="userSpaceOnUse"
1790+ gradientTransform="matrix(0.75,0,0,0.75,37.352781,20.25)" />
1791+ <linearGradient
1792+ id="linearGradient3707-319-631-407-1-9-274-0-6-9">
1793+ <stop
1794+ id="stop3776-3-8-3"
1795+ style="stop-color:#365a7c;stop-opacity:1"
1796+ offset="0" />
1797+ <stop
1798+ id="stop3778-5-3-9"
1799+ style="stop-color:#5ea1ca;stop-opacity:1"
1800+ offset="1" />
1801+ </linearGradient>
1802+ <linearGradient
1803+ id="linearGradient3707-319-631-407-1-4-477-8-9-8">
1804+ <stop
1805+ id="stop3782-1-28-3"
1806+ style="stop-color:#365a7c;stop-opacity:1"
1807+ offset="0" />
1808+ <stop
1809+ id="stop3784-0-8-0"
1810+ style="stop-color:#5ea1ca;stop-opacity:1"
1811+ offset="1" />
1812+ </linearGradient>
1813+ <linearGradient
1814+ id="linearGradient3707-319-631-407-1-846-5-4-7">
1815+ <stop
1816+ id="stop3788-4-12-8"
1817+ style="stop-color:#365a7c;stop-opacity:1"
1818+ offset="0" />
1819+ <stop
1820+ id="stop3790-2-8-9"
1821+ style="stop-color:#5ea1ca;stop-opacity:1"
1822+ offset="1" />
1823+ </linearGradient>
1824+ <linearGradient
1825+ x1="19.874987"
1826+ y1="44.520065"
1827+ x2="19.874987"
1828+ y2="5.2502403"
1829+ id="linearGradient3738"
1830+ xlink:href="#linearGradient3707-319-631-407-1-846-5-4-7"
1831+ gradientUnits="userSpaceOnUse"
1832+ gradientTransform="matrix(0.75,0,0,1.6,6.352781,-5.4)" />
1833+ <linearGradient
1834+ x1="19.874987"
1835+ y1="44.520065"
1836+ x2="19.874987"
1837+ y2="5.2502403"
1838+ id="linearGradient3741"
1839+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-9-8"
1840+ gradientUnits="userSpaceOnUse"
1841+ gradientTransform="matrix(0.77272727,0,0,1.5454545,7.014987,-4.363636)" />
1842+ <linearGradient
1843+ x1="19.874987"
1844+ y1="44.520065"
1845+ x2="19.874987"
1846+ y2="5.2502403"
1847+ id="linearGradient3744"
1848+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9"
1849+ gradientUnits="userSpaceOnUse"
1850+ gradientTransform="matrix(0.79166667,0,0,1.5,7.566825,-3.5000006)" />
1851+ <linearGradient
1852+ x1="19.874987"
1853+ y1="44.520065"
1854+ x2="19.874987"
1855+ y2="5.2502403"
1856+ id="linearGradient3086"
1857+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0"
1858+ gradientUnits="userSpaceOnUse"
1859+ gradientTransform="matrix(0.79166667,0,0,0.79166667,-9.433175,1.4583333)" />
1860+ <linearGradient
1861+ x1="19.874987"
1862+ y1="44.520065"
1863+ x2="19.874987"
1864+ y2="5.2502403"
1865+ id="linearGradient3088"
1866+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8"
1867+ gradientUnits="userSpaceOnUse"
1868+ gradientTransform="matrix(0.77272727,0,0,0.77272727,-9.985013,1.8181818)" />
1869+ <linearGradient
1870+ x1="19.874987"
1871+ y1="44.520065"
1872+ x2="19.874987"
1873+ y2="5.2502403"
1874+ id="linearGradient3090"
1875+ xlink:href="#linearGradient3707-319-631-407-1-846-5"
1876+ gradientUnits="userSpaceOnUse"
1877+ gradientTransform="matrix(0.75,0,0,0.75,-10.647219,2.25)" />
1878+ <linearGradient
1879+ x1="19.874987"
1880+ y1="44.520065"
1881+ x2="19.874987"
1882+ y2="5.2502403"
1883+ id="linearGradient3092"
1884+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6"
1885+ gradientUnits="userSpaceOnUse"
1886+ gradientTransform="matrix(0.79166667,0,0,0.79166667,38.566825,19.458333)" />
1887+ <linearGradient
1888+ x1="19.874987"
1889+ y1="44.520065"
1890+ x2="19.874987"
1891+ y2="5.2502403"
1892+ id="linearGradient3094"
1893+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-9"
1894+ gradientUnits="userSpaceOnUse"
1895+ gradientTransform="matrix(0.77272727,0,0,0.77272727,38.014987,19.818182)" />
1896+ <linearGradient
1897+ x1="19.874987"
1898+ y1="44.520065"
1899+ x2="19.874987"
1900+ y2="5.2502403"
1901+ id="linearGradient3096"
1902+ xlink:href="#linearGradient3707-319-631-407-1-846-5-4"
1903+ gradientUnits="userSpaceOnUse"
1904+ gradientTransform="matrix(0.75,0,0,0.75,37.352781,20.25)" />
1905+ <linearGradient
1906+ x1="19.874987"
1907+ y1="44.520065"
1908+ x2="19.874987"
1909+ y2="5.2502403"
1910+ id="linearGradient3098"
1911+ xlink:href="#linearGradient3707-319-631-407-1-9-274-0-6-9"
1912+ gradientUnits="userSpaceOnUse"
1913+ gradientTransform="matrix(0.79166667,0,0,1.5,7.566825,-3.5000006)" />
1914+ <linearGradient
1915+ x1="19.874987"
1916+ y1="44.520065"
1917+ x2="19.874987"
1918+ y2="5.2502403"
1919+ id="linearGradient3100"
1920+ xlink:href="#linearGradient3707-319-631-407-1-4-477-8-9-8"
1921+ gradientUnits="userSpaceOnUse"
1922+ gradientTransform="matrix(0.77272727,0,0,1.5454545,7.014987,-4.363636)" />
1923+ <linearGradient
1924+ x1="19.874987"
1925+ y1="44.520065"
1926+ x2="19.874987"
1927+ y2="5.2502403"
1928+ id="linearGradient3102"
1929+ xlink:href="#linearGradient3707-319-631-407-1-846-5-4-7"
1930+ gradientUnits="userSpaceOnUse"
1931+ gradientTransform="matrix(0.75,0,0,1.6,6.352781,-5.4)" />
1932+ </defs>
1933+ <metadata
1934+ id="metadata3663">
1935+ <rdf:RDF>
1936+ <cc:Work
1937+ rdf:about="">
1938+ <dc:format>image/svg+xml</dc:format>
1939+ <dc:type
1940+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1941+ <dc:title></dc:title>
1942+ </cc:Work>
1943+ </rdf:RDF>
1944+ </metadata>
1945+ <g
1946+ id="layer1">
1947+ <g
1948+ transform="matrix(1.1578952,0,0,0.57142859,-3.789484,19.142856)"
1949+ id="g3712"
1950+ style="opacity:0.4">
1951+ <rect
1952+ width="5"
1953+ height="7"
1954+ x="38"
1955+ y="40"
1956+ id="rect2801"
1957+ style="fill:url(#radialGradient3013);fill-opacity:1;stroke:none" />
1958+ <rect
1959+ width="5"
1960+ height="7"
1961+ x="-10"
1962+ y="-47"
1963+ transform="scale(-1,-1)"
1964+ id="rect3696"
1965+ style="fill:url(#radialGradient3015);fill-opacity:1;stroke:none" />
1966+ <rect
1967+ width="28"
1968+ height="7.0000005"
1969+ x="10"
1970+ y="40"
1971+ id="rect3700"
1972+ style="fill:url(#linearGradient3656);fill-opacity:1;stroke:none" />
1973+ </g>
1974+ <rect
1975+ width="39"
1976+ height="39"
1977+ rx="2"
1978+ ry="2"
1979+ x="4.5"
1980+ y="5.5"
1981+ id="rect5505-21"
1982+ style="color:#000000;fill:url(#radialGradient2874);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2876);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
1983+ <rect
1984+ width="37"
1985+ height="37"
1986+ rx="1"
1987+ ry="1"
1988+ x="5.5"
1989+ y="6.5"
1990+ id="rect6741"
1991+ style="opacity:0.5;fill:none;stroke:url(#linearGradient2959);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
1992+ <path
1993+ d="M 6.2169167,6 C 5.5377266,6 5,6.9124652 5,7.8 L 5.0126445,30 C 6.1058123,29.975834 42.170261,21.153092 43,20.728709 L 43,7.8 C 43,7.1215957 42.468817,6 41.88071,6 L 6.2169214,6 z"
1994+ id="path3333"
1995+ style="opacity:0.2;fill:url(#linearGradient3568);fill-opacity:1;fill-rule:evenodd;stroke:none" />
1996+ <g
1997+ transform="matrix(0,-1,1,0,-1,49)"
1998+ id="g3071">
1999+ <rect
2000+ width="19"
2001+ height="19"
2002+ rx="1.4105556"
2003+ ry="1.4105556"
2004+ x="-42"
2005+ y="7"
2006+ transform="scale(-1,1)"
2007+ id="rect3038-4-1-1"
2008+ style="opacity:0.05;color:#000000;fill:url(#linearGradient3086);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
2009+ <rect
2010+ width="17"
2011+ height="17"
2012+ rx="1.2930093"
2013+ ry="1.2930093"
2014+ x="-41"
2015+ y="8"
2016+ transform="scale(-1,1)"
2017+ id="rect3038-4-1"
2018+ style="opacity:0.1;color:#000000;fill:url(#linearGradient3088);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
2019+ <rect
2020+ width="15"
2021+ height="15"
2022+ rx="1.175463"
2023+ ry="1.175463"
2024+ x="-40"
2025+ y="9"
2026+ transform="scale(-1,1)"
2027+ id="rect3038-4"
2028+ style="opacity:0.25;color:#000000;fill:url(#linearGradient3090);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
2029+ <rect
2030+ width="12.014572"
2031+ height="12.014572"
2032+ rx="1"
2033+ ry="1"
2034+ x="-38.507286"
2035+ y="10.492714"
2036+ transform="scale(-1,1)"
2037+ id="rect3038"
2038+ style="color:#000000;fill:#f7f7f7;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.98542732;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" />
2039+ <g
2040+ transform="matrix(-1,0,0,1,48,-1)"
2041+ id="g3528">
2042+ <rect
2043+ width="19"
2044+ height="19"
2045+ rx="1.4105556"
2046+ ry="1.4105556"
2047+ x="6"
2048+ y="25"
2049+ id="rect3038-4-1-1-8"
2050+ style="opacity:0.05;color:#000000;fill:url(#linearGradient3092);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
2051+ <rect
2052+ width="17"
2053+ height="17"
2054+ rx="1.2930093"
2055+ ry="1.2930093"
2056+ x="7"
2057+ y="26"
2058+ id="rect3038-4-1-3"
2059+ style="opacity:0.1;color:#000000;fill:url(#linearGradient3094);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
2060+ <rect
2061+ width="15"
2062+ height="15"
2063+ rx="1.175463"
2064+ ry="1.175463"
2065+ x="8"
2066+ y="27"
2067+ id="rect3038-4-3"
2068+ style="opacity:0.25;color:#000000;fill:url(#linearGradient3096);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
2069+ <rect
2070+ width="12.014572"
2071+ height="12.014572"
2072+ rx="1"
2073+ ry="1"
2074+ x="9.4927139"
2075+ y="28.492714"
2076+ id="rect3038-3"
2077+ style="color:#000000;fill:#f7f7f7;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.98542732;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" />
2078+ </g>
2079+ <rect
2080+ width="19"
2081+ height="36"
2082+ rx="1.4105556"
2083+ ry="1.4105556"
2084+ x="-25"
2085+ y="7"
2086+ transform="scale(-1,1)"
2087+ id="rect3038-4-1-1-8-5"
2088+ style="opacity:0.05;color:#000000;fill:url(#linearGradient3098);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
2089+ <rect
2090+ width="17"
2091+ height="34"
2092+ rx="1.2930093"
2093+ ry="1.2930093"
2094+ x="-24"
2095+ y="8"
2096+ transform="scale(-1,1)"
2097+ id="rect3038-4-1-3-4"
2098+ style="opacity:0.1;color:#000000;fill:url(#linearGradient3100);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
2099+ <rect
2100+ width="15"
2101+ height="32"
2102+ rx="1.175463"
2103+ ry="1.175463"
2104+ x="-23"
2105+ y="9"
2106+ transform="scale(-1,1)"
2107+ id="rect3038-4-3-9"
2108+ style="opacity:0.25;color:#000000;fill:url(#linearGradient3102);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
2109+ <rect
2110+ width="12.014572"
2111+ height="29.014572"
2112+ rx="1"
2113+ ry="1"
2114+ x="-21.507286"
2115+ y="10.492713"
2116+ transform="scale(-1,1)"
2117+ id="rect3038-3-2"
2118+ style="color:#000000;fill:#f7f7f7;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.98542732;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" />
2119+ </g>
2120+ </g>
2121+</svg>
2122
2123=== added file 'StandardPlugins/Desktop/src/CascadeDesktopItem.cs'
2124--- StandardPlugins/Desktop/src/CascadeDesktopItem.cs 1970-01-01 00:00:00 +0000
2125+++ StandardPlugins/Desktop/src/CascadeDesktopItem.cs 2010-12-29 12:19:13 +0000
2126@@ -0,0 +1,51 @@
2127+//
2128+// Copyright (C) 2010 Robert Dyer
2129+//
2130+// This program is free software: you can redistribute it and/or modify
2131+// it under the terms of the GNU General Public License as published by
2132+// the Free Software Foundation, either version 3 of the License, or
2133+// (at your option) any later version.
2134+//
2135+// This program is distributed in the hope that it will be useful,
2136+// but WITHOUT ANY WARRANTY; without even the implied warranty of
2137+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2138+// GNU General Public License for more details.
2139+//
2140+// You should have received a copy of the GNU General Public License
2141+// along with this program. If not, see <http://www.gnu.org/licenses/>.
2142+//
2143+
2144+using System;
2145+using System.Collections.Generic;
2146+using System.Linq;
2147+
2148+using Mono.Unix;
2149+
2150+using Docky.Items;
2151+using WindowManager.Wink;
2152+
2153+namespace Desktop
2154+{
2155+ public class CascadeDesktopItem : IconDockItem
2156+ {
2157+ public override string UniqueID ()
2158+ {
2159+ return "CascadeDesktop";
2160+ }
2161+
2162+ public CascadeDesktopItem ()
2163+ {
2164+ HoverText = Catalog.GetString ("Cascade Desktop");
2165+ Icon = "window-cascade.svg@" + GetType ().Assembly.FullName;
2166+ }
2167+
2168+ protected override ClickAnimation OnClicked (uint button, Gdk.ModifierType mod, double xPercent, double yPercent)
2169+ {
2170+ if (button == 1) {
2171+ ScreenUtils.ActiveViewport.Cascade ();
2172+ return ClickAnimation.Bounce;
2173+ }
2174+ return ClickAnimation.None;
2175+ }
2176+ }
2177+}
2178
2179=== added file 'StandardPlugins/Desktop/src/DesktopActionsProvider.cs'
2180--- StandardPlugins/Desktop/src/DesktopActionsProvider.cs 1970-01-01 00:00:00 +0000
2181+++ StandardPlugins/Desktop/src/DesktopActionsProvider.cs 2010-12-29 12:19:13 +0000
2182@@ -0,0 +1,62 @@
2183+//
2184+// Copyright (C) 2010 Robert Dyer
2185+//
2186+// This program is free software: you can redistribute it and/or modify
2187+// it under the terms of the GNU General Public License as published by
2188+// the Free Software Foundation, either version 3 of the License, or
2189+// (at your option) any later version.
2190+//
2191+// This program is distributed in the hope that it will be useful,
2192+// but WITHOUT ANY WARRANTY; without even the implied warranty of
2193+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2194+// GNU General Public License for more details.
2195+//
2196+// You should have received a copy of the GNU General Public License
2197+// along with this program. If not, see <http://www.gnu.org/licenses/>.
2198+//
2199+
2200+using System;
2201+using System.Collections.Generic;
2202+
2203+using Mono.Unix;
2204+
2205+using Docky.Items;
2206+using Docky.Menus;
2207+
2208+using WindowManager.Wink;
2209+
2210+namespace Desktop
2211+{
2212+ public class DesktopActionsProvider : AbstractDockItemProvider
2213+ {
2214+ #region IDockItemProvider implementation
2215+
2216+ public override string Name {
2217+ get {
2218+ return "DesktopActions";
2219+ }
2220+ }
2221+
2222+ #endregion
2223+
2224+ public DesktopActionsProvider ()
2225+ {
2226+ ScreenUtils.Initialize ();
2227+
2228+ List<AbstractDockItem> items = new List<AbstractDockItem> ();
2229+ items.Add (new ShowDesktopItem ());
2230+ items.Add (new TileDesktopItem ());
2231+ items.Add (new CascadeDesktopItem ());
2232+ Items = items;
2233+ }
2234+
2235+ public override MenuList GetMenuItems (AbstractDockItem item)
2236+ {
2237+ MenuList list = base.GetMenuItems (item);
2238+
2239+ list[MenuListContainer.Footer].Add (new MenuItem (Catalog.GetString ("_Undo"), "edit-undo", (o, a) => ScreenUtils.ActiveViewport.RestoreLayout (), !ScreenUtils.ActiveViewport.CanRestoreLayout ()));
2240+
2241+ return list;
2242+ }
2243+ }
2244+}
2245
2246=== modified file 'StandardPlugins/Desktop/src/DesktopDockItem.cs'
2247--- StandardPlugins/Desktop/src/DesktopDockItem.cs 2010-03-22 07:37:58 +0000
2248+++ StandardPlugins/Desktop/src/DesktopDockItem.cs 2010-12-29 12:19:13 +0000
2249@@ -1,5 +1,5 @@
2250 //
2251-// Copyright (C) 2010 Rico Tzschichholz
2252+// Copyright (C) 2010 Rico Tzschichholz, Robert Dyer
2253 //
2254 // This program is free software: you can redistribute it and/or modify
2255 // it under the terms of the GNU General Public License as published by
2256@@ -16,79 +16,24 @@
2257 //
2258
2259 using System;
2260-using System.Collections.Generic;
2261-using System.Collections.ObjectModel;
2262-using System.Linq;
2263-using System.Text;
2264-
2265-using Mono.Unix;
2266-
2267-using Cairo;
2268-using GLib;
2269-using Gdk;
2270-using Wnck;
2271
2272 using Docky.Items;
2273-using Docky.Menus;
2274-using Docky.Services;
2275
2276 namespace Desktop
2277 {
2278- public class DesktopDockItem : IconDockItem
2279+ public class DesktopDockItem : ProxyDockItem
2280 {
2281+ #region AbstractDockItem implementation
2282
2283- public DesktopDockItem ()
2284- {
2285- HoverText = Catalog.GetString ("Show Desktop");
2286- Icon = "desktop";
2287- }
2288-
2289 public override string UniqueID ()
2290 {
2291 return "Desktop";
2292 }
2293
2294- protected override bool OnCanAcceptDrop (IEnumerable<string> uris)
2295- {
2296- return false;
2297- }
2298-
2299- protected override bool OnCanAcceptDrop (AbstractDockItem item)
2300- {
2301- return false;
2302- }
2303-
2304- protected override bool OnAcceptDrop (AbstractDockItem item)
2305- {
2306- return false;
2307- }
2308-
2309- protected override bool OnAcceptDrop (IEnumerable<string> uris)
2310- {
2311- return false;
2312- }
2313-
2314- protected override ClickAnimation OnClicked (uint button, Gdk.ModifierType mod, double xPercent, double yPercent)
2315- {
2316- if (button == 1) {
2317- ToggleShowDesktop ();
2318- return ClickAnimation.Bounce;
2319- }
2320- return ClickAnimation.None;
2321- }
2322-
2323- void ToggleShowDesktop ()
2324- {
2325- Wnck.Screen.Default.ToggleShowingDesktop (!Wnck.Screen.Default.ShowingDesktop);
2326- }
2327-
2328- #region IDisposable implementation
2329- public override void Dispose ()
2330- {
2331- base.Dispose ();
2332- }
2333-
2334 #endregion
2335
2336+ public DesktopDockItem () : base (new DesktopActionsProvider ())
2337+ {
2338+ }
2339 }
2340 }
2341
2342=== modified file 'StandardPlugins/Desktop/src/DesktopItemProvider.cs'
2343--- StandardPlugins/Desktop/src/DesktopItemProvider.cs 2010-06-17 06:43:24 +0000
2344+++ StandardPlugins/Desktop/src/DesktopItemProvider.cs 2010-12-29 12:19:13 +0000
2345@@ -1,5 +1,5 @@
2346 //
2347-// Copyright (C) 2010 Rico Tzschichholz
2348+// Copyright (C) 2010 Rico Tzschichholz, Robert Dyer
2349 //
2350 // This program is free software: you can redistribute it and/or modify
2351 // it under the terms of the GNU General Public License as published by
2352@@ -24,8 +24,6 @@
2353 {
2354 public class DesktopItemProvider : AbstractDockItemProvider
2355 {
2356- List<AbstractDockItem> items;
2357-
2358 #region IDockItemProvider implementation
2359
2360 public override string Name {
2361@@ -36,14 +34,9 @@
2362
2363 #endregion
2364
2365- DesktopDockItem desktop;
2366-
2367 public DesktopItemProvider ()
2368 {
2369- desktop = new DesktopDockItem ();
2370- items = new List<AbstractDockItem> ();
2371- items.Add (desktop);
2372- Items = items;
2373+ Items = (new DesktopDockItem ()).AsSingle<AbstractDockItem> ();
2374 }
2375 }
2376 }
2377
2378=== added file 'StandardPlugins/Desktop/src/ShowDesktopItem.cs'
2379--- StandardPlugins/Desktop/src/ShowDesktopItem.cs 1970-01-01 00:00:00 +0000
2380+++ StandardPlugins/Desktop/src/ShowDesktopItem.cs 2010-12-29 12:19:13 +0000
2381@@ -0,0 +1,50 @@
2382+//
2383+// Copyright (C) 2010 Rico Tzschichholz, Robert Dyer
2384+//
2385+// This program is free software: you can redistribute it and/or modify
2386+// it under the terms of the GNU General Public License as published by
2387+// the Free Software Foundation, either version 3 of the License, or
2388+// (at your option) any later version.
2389+//
2390+// This program is distributed in the hope that it will be useful,
2391+// but WITHOUT ANY WARRANTY; without even the implied warranty of
2392+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2393+// GNU General Public License for more details.
2394+//
2395+// You should have received a copy of the GNU General Public License
2396+// along with this program. If not, see <http://www.gnu.org/licenses/>.
2397+//
2398+
2399+using System;
2400+
2401+using Mono.Unix;
2402+using Wnck;
2403+
2404+using Docky.Items;
2405+using WindowManager.Wink;
2406+
2407+namespace Desktop
2408+{
2409+ public class ShowDesktopItem : IconDockItem
2410+ {
2411+ public override string UniqueID ()
2412+ {
2413+ return "ShowDesktop";
2414+ }
2415+
2416+ public ShowDesktopItem ()
2417+ {
2418+ HoverText = Catalog.GetString ("Show Desktop");
2419+ Icon = "show-desktop.svg@" + GetType ().Assembly.FullName;
2420+ }
2421+
2422+ protected override ClickAnimation OnClicked (uint button, Gdk.ModifierType mod, double xPercent, double yPercent)
2423+ {
2424+ if (button == 1) {
2425+ ScreenUtils.ActiveViewport.ShowDesktop ();
2426+ return ClickAnimation.Bounce;
2427+ }
2428+ return ClickAnimation.None;
2429+ }
2430+ }
2431+}
2432
2433=== added file 'StandardPlugins/Desktop/src/TileDesktopItem.cs'
2434--- StandardPlugins/Desktop/src/TileDesktopItem.cs 1970-01-01 00:00:00 +0000
2435+++ StandardPlugins/Desktop/src/TileDesktopItem.cs 2010-12-29 12:19:13 +0000
2436@@ -0,0 +1,51 @@
2437+//
2438+// Copyright (C) 2010 Robert Dyer
2439+//
2440+// This program is free software: you can redistribute it and/or modify
2441+// it under the terms of the GNU General Public License as published by
2442+// the Free Software Foundation, either version 3 of the License, or
2443+// (at your option) any later version.
2444+//
2445+// This program is distributed in the hope that it will be useful,
2446+// but WITHOUT ANY WARRANTY; without even the implied warranty of
2447+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2448+// GNU General Public License for more details.
2449+//
2450+// You should have received a copy of the GNU General Public License
2451+// along with this program. If not, see <http://www.gnu.org/licenses/>.
2452+//
2453+
2454+using System;
2455+using System.Collections.Generic;
2456+using System.Linq;
2457+
2458+using Mono.Unix;
2459+
2460+using Docky.Items;
2461+using WindowManager.Wink;
2462+
2463+namespace Desktop
2464+{
2465+ public class TileDesktopItem : IconDockItem
2466+ {
2467+ public override string UniqueID ()
2468+ {
2469+ return "TileDesktop";
2470+ }
2471+
2472+ public TileDesktopItem ()
2473+ {
2474+ HoverText = Catalog.GetString ("Tile Desktop");
2475+ Icon = "window-tile.svg@" + GetType ().Assembly.FullName;
2476+ }
2477+
2478+ protected override ClickAnimation OnClicked (uint button, Gdk.ModifierType mod, double xPercent, double yPercent)
2479+ {
2480+ if (button == 1) {
2481+ ScreenUtils.ActiveViewport.Tile ();
2482+ return ClickAnimation.Bounce;
2483+ }
2484+ return ClickAnimation.None;
2485+ }
2486+ }
2487+}
2488
2489=== added directory 'StandardPlugins/Desktop/src/Wink'
2490=== added file 'StandardPlugins/Desktop/src/Wink/ScreenUtils.cs'
2491--- StandardPlugins/Desktop/src/Wink/ScreenUtils.cs 1970-01-01 00:00:00 +0000
2492+++ StandardPlugins/Desktop/src/Wink/ScreenUtils.cs 2010-12-29 12:19:13 +0000
2493@@ -0,0 +1,162 @@
2494+//
2495+// Copyright (C) 2009 GNOME Do
2496+//
2497+// This program is free software: you can redistribute it and/or modify
2498+// it under the terms of the GNU General Public License as published by
2499+// the Free Software Foundation, either version 3 of the License, or
2500+// (at your option) any later version.
2501+//
2502+// This program is distributed in the hope that it will be useful,
2503+// but WITHOUT ANY WARRANTY; without even the implied warranty of
2504+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2505+// GNU General Public License for more details.
2506+//
2507+// You should have received a copy of the GNU General Public License
2508+// along with this program. If not, see <http://www.gnu.org/licenses/>.
2509+//
2510+
2511+using System;
2512+using System.Collections.Generic;
2513+using System.Linq;
2514+
2515+using Wnck;
2516+
2517+namespace WindowManager.Wink
2518+{
2519+ public static class ScreenUtils
2520+ {
2521+ static Dictionary<Workspace, Viewport [,]> layouts;
2522+
2523+ static List<Window> window_list;
2524+ static bool window_list_update_needed;
2525+
2526+ public static Viewport ActiveViewport {
2527+ get {
2528+ if (Viewports.Any (vp => vp.IsActive))
2529+ return Viewports.First (vp => vp.IsActive);
2530+ return null;
2531+ }
2532+ }
2533+
2534+ public static IEnumerable<Viewport> Viewports {
2535+ get {
2536+ foreach (Viewport [,] layout in layouts.Values)
2537+ foreach (Viewport viewport in layout)
2538+ yield return viewport;
2539+ }
2540+ }
2541+
2542+ public static void Initialize ()
2543+ {
2544+ Wnck.Screen.Default.ViewportsChanged += HandleViewportsChanged;
2545+ Wnck.Screen.Default.WorkspaceCreated += HandleWorkspaceCreated;
2546+ Wnck.Screen.Default.WorkspaceDestroyed += HandleWorkspaceDestroyed;
2547+
2548+ UpdateViewports ();
2549+
2550+ Wnck.Screen.Default.WindowClosed += delegate {
2551+ window_list_update_needed = true;
2552+ };
2553+
2554+ Wnck.Screen.Default.WindowOpened += delegate {
2555+ window_list_update_needed = true;
2556+ };
2557+
2558+ Wnck.Screen.Default.ApplicationOpened += delegate {
2559+ window_list_update_needed = true;
2560+ };
2561+
2562+ Wnck.Screen.Default.ApplicationClosed += delegate {
2563+ window_list_update_needed = true;
2564+ };
2565+ }
2566+
2567+ static void HandleWorkspaceDestroyed(object o, WorkspaceDestroyedArgs args)
2568+ {
2569+ UpdateViewports ();
2570+ }
2571+
2572+ static void HandleWorkspaceCreated(object o, WorkspaceCreatedArgs args)
2573+ {
2574+ UpdateViewports ();
2575+ }
2576+
2577+ static void HandleViewportsChanged(object sender, EventArgs e)
2578+ {
2579+ UpdateViewports ();
2580+ }
2581+
2582+ public static bool DesktopShown (Screen screen)
2583+ {
2584+ return screen.ShowingDesktop;
2585+ }
2586+
2587+ public static void ShowDesktop (Screen screen)
2588+ {
2589+ if (!screen.ShowingDesktop)
2590+ screen.ToggleShowingDesktop (true);
2591+ }
2592+
2593+ public static void UnshowDesktop (Screen screen)
2594+ {
2595+ if (screen.ShowingDesktop)
2596+ screen.ToggleShowingDesktop (false);
2597+ }
2598+
2599+ public static Viewport [,] ViewportLayout ()
2600+ {
2601+ return ViewportLayout (Wnck.Screen.Default.ActiveWorkspace);
2602+ }
2603+
2604+ public static Viewport [,] ViewportLayout (Workspace workspace)
2605+ {
2606+ if (!layouts.ContainsKey (workspace))
2607+ return new Viewport [0,0];
2608+
2609+ return layouts [workspace];
2610+ }
2611+
2612+ static void UpdateViewports ()
2613+ {
2614+ layouts = new Dictionary<Workspace, Viewport [,]> ();
2615+
2616+ int currentViewport = 1;
2617+ foreach (Wnck.Workspace workspace in Wnck.Screen.Default.Workspaces)
2618+ if (workspace.IsVirtual) {
2619+ int viewportWidth = workspace.Screen.Width;
2620+ int viewportHeight = workspace.Screen.Height;
2621+
2622+ int rows = workspace.Height / viewportHeight;
2623+ int columns = workspace.Width / viewportWidth;
2624+
2625+ layouts [workspace] = new Viewport [rows, columns];
2626+
2627+ for (int i = 0; i < rows; i++)
2628+ for (int j = 0; j < columns; j++) {
2629+ Gdk.Rectangle area = new Gdk.Rectangle (j * viewportWidth, i * viewportHeight,
2630+ viewportWidth, viewportHeight);
2631+ layouts [workspace] [i, j] = new Viewport (area, workspace);
2632+ currentViewport++;
2633+ }
2634+ } else {
2635+ layouts [workspace] = new Viewport [1,1];
2636+ Viewport viewport = new Viewport (new Gdk.Rectangle (0, 0, workspace.Width, workspace.Height),
2637+ workspace);
2638+ layouts [workspace] [0,0] = viewport;
2639+ currentViewport++;
2640+ }
2641+ }
2642+
2643+ public static List<Window> GetWindows ()
2644+ {
2645+ if (window_list == null || window_list_update_needed) {
2646+ window_list_update_needed = false;
2647+ window_list = new List<Window> (Wnck.Screen.Default.WindowsStacked);
2648+
2649+ ActiveViewport.CleanRestoreStates ();
2650+ }
2651+
2652+ return window_list;
2653+ }
2654+ }
2655+}
2656
2657=== added file 'StandardPlugins/Desktop/src/Wink/Viewport.cs'
2658--- StandardPlugins/Desktop/src/Wink/Viewport.cs 1970-01-01 00:00:00 +0000
2659+++ StandardPlugins/Desktop/src/Wink/Viewport.cs 2010-12-29 12:19:13 +0000
2660@@ -0,0 +1,292 @@
2661+//
2662+// Copyright (C) 2009 GNOME Do
2663+//
2664+// This program is free software: you can redistribute it and/or modify
2665+// it under the terms of the GNU General Public License as published by
2666+// the Free Software Foundation, either version 3 of the License, or
2667+// (at your option) any later version.
2668+//
2669+// This program is distributed in the hope that it will be useful,
2670+// but WITHOUT ANY WARRANTY; without even the implied warranty of
2671+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2672+// GNU General Public License for more details.
2673+//
2674+// You should have received a copy of the GNU General Public License
2675+// along with this program. If not, see <http://www.gnu.org/licenses/>.
2676+//
2677+
2678+using System;
2679+using System.Collections.Generic;
2680+using System.Runtime.InteropServices;
2681+using System.Linq;
2682+
2683+using Gdk;
2684+using Wnck;
2685+
2686+using Docky.Services;
2687+using Docky.Services.Xlib;
2688+using Docky.Services.Windows;
2689+
2690+namespace WindowManager.Wink
2691+{
2692+ public class Viewport
2693+ {
2694+ static Stack<Dictionary<Wnck.Window, WindowState>> window_states = new Stack<Dictionary<Wnck.Window, WindowState>> ();
2695+
2696+ private struct WindowState
2697+ {
2698+ public Gdk.Rectangle Area;
2699+ public Wnck.WindowState State;
2700+
2701+ public WindowState (Gdk.Rectangle area, Wnck.WindowState state)
2702+ {
2703+ Area = area;
2704+ State = state;
2705+ }
2706+
2707+ public static bool operator ==(WindowState a, WindowState b)
2708+ {
2709+ return a.Area.Equals (b.Area) && (a.State == b.State);
2710+ }
2711+
2712+ public static bool operator !=(WindowState a, WindowState b)
2713+ {
2714+ return !a.Area.Equals (b.Area) || !(a.State == b.State);
2715+ }
2716+
2717+ public override bool Equals (object obj)
2718+ {
2719+ WindowState ws = (WindowState) obj;
2720+ return Area.Equals (ws.Area) && (State == ws.State);
2721+ }
2722+
2723+ public override int GetHashCode ()
2724+ {
2725+ return (int) (((long) Area.GetHashCode () + State.GetHashCode ()) % int.MaxValue);
2726+ }
2727+
2728+ public override string ToString ()
2729+ {
2730+ return string.Format ("{0} ({1})", Area, State);
2731+ }
2732+ }
2733+
2734+ Workspace parent;
2735+ Rectangle area;
2736+
2737+ public bool IsActive {
2738+ get {
2739+ if (!parent.IsVirtual)
2740+ return Wnck.Screen.Default.ActiveWorkspace == parent;
2741+ return Wnck.Screen.Default.ActiveWorkspace.ViewportX == area.X && Wnck.Screen.Default.ActiveWorkspace.ViewportY == area.Y;
2742+ }
2743+ }
2744+
2745+ WindowMoveResizeMask MoveResizeMask {
2746+ get {
2747+ return WindowMoveResizeMask.X | WindowMoveResizeMask.Y |
2748+ WindowMoveResizeMask.Height | WindowMoveResizeMask.Width;
2749+ }
2750+ }
2751+
2752+ internal Viewport(Rectangle area, Workspace parent)
2753+ {
2754+ this.area = area;
2755+ this.parent = parent;
2756+ }
2757+
2758+ IEnumerable<Wnck.Window> RawWindows ()
2759+ {
2760+ foreach (Wnck.Window window in ScreenUtils.GetWindows ())
2761+ if (WindowCenterInViewport (window) || window.IsSticky)
2762+ yield return window;
2763+ }
2764+
2765+ IEnumerable<Wnck.Window> Windows ()
2766+ {
2767+ return RawWindows ().Where (w => !w.IsSkipTasklist && w.WindowType != Wnck.WindowType.Dock);
2768+ }
2769+
2770+ bool WindowCenterInViewport (Wnck.Window window)
2771+ {
2772+ if (!window.IsOnWorkspace (parent))
2773+ return false;
2774+
2775+ Rectangle geo = window.EasyGeometry ();
2776+ geo.X += parent.ViewportX;
2777+ geo.Y += parent.ViewportY;
2778+
2779+ return area.Contains (new Point (geo.X + geo.Width / 2, geo.Y + geo.Height / 2));
2780+ }
2781+
2782+ public void ShowDesktop ()
2783+ {
2784+ ShowDesktop (true);
2785+ }
2786+
2787+ void ShowDesktop (bool storeState)
2788+ {
2789+ if (storeState)
2790+ window_states.Push (new Dictionary<Wnck.Window, WindowState> ());
2791+
2792+ if (!ScreenUtils.DesktopShown (parent.Screen))
2793+ ScreenUtils.ShowDesktop (parent.Screen);
2794+ else
2795+ ScreenUtils.UnshowDesktop (parent.Screen);
2796+ }
2797+
2798+ public void Cascade ()
2799+ {
2800+ IEnumerable<Wnck.Window> windows = Windows ().Where (w => !w.IsMinimized);
2801+ if (windows.Count () <= 1) return;
2802+
2803+ Dictionary<Wnck.Window, WindowState> state = new Dictionary<Wnck.Window, WindowState> ();
2804+ window_states.Push (state);
2805+
2806+ Gdk.Rectangle screenGeo = GetScreenGeoMinusStruts ();
2807+
2808+ int titleBarSize = windows.First ().FrameExtents () [(int) Position.Top];
2809+ int windowHeight = screenGeo.Height - ((windows.Count () - 1) * titleBarSize);
2810+ int windowWidth = screenGeo.Width - ((windows.Count () - 1) * titleBarSize);
2811+
2812+ int count = 0;
2813+ foreach (Wnck.Window window in windows) {
2814+ int x = screenGeo.X + titleBarSize * count - parent.ViewportX;
2815+ int y = screenGeo.Y + titleBarSize * count - parent.ViewportY;
2816+
2817+ Gdk.Rectangle windowArea = new Gdk.Rectangle (x, y, windowWidth, windowHeight);;
2818+
2819+ SetTemporaryWindowGeometry (window, windowArea, state);
2820+ count++;
2821+ }
2822+ }
2823+
2824+ public void Tile ()
2825+ {
2826+ IEnumerable<Wnck.Window> windows = Windows ().Where (w => !w.IsMinimized);
2827+ if (windows.Count () <= 1) return;
2828+
2829+ Dictionary<Wnck.Window, WindowState> state = new Dictionary<Wnck.Window, WindowState> ();
2830+ window_states.Push (state);
2831+
2832+ Gdk.Rectangle screenGeo = GetScreenGeoMinusStruts ();
2833+
2834+ // We are going to tile to a square, so what we want is to find
2835+ // the smallest perfect square all our windows will fit into
2836+ int width = (int) Math.Ceiling (Math.Sqrt (windows.Count ()));
2837+
2838+ // Our height is at least one (e.g. a 2x1)
2839+ int height = 1;
2840+ while (width * height < windows.Count ())
2841+ height++;
2842+
2843+ int windowWidth = screenGeo.Width / width;
2844+ int windowHeight = screenGeo.Height / height;
2845+
2846+ int row = 0, column = 0;
2847+
2848+ foreach (Wnck.Window window in windows) {
2849+ int x = screenGeo.X + (column * windowWidth) - parent.ViewportX;
2850+ int y = screenGeo.Y + (row * windowHeight) - parent.ViewportY;
2851+
2852+ Gdk.Rectangle windowArea = new Gdk.Rectangle (x, y, windowWidth, windowHeight);;
2853+
2854+ if (window == windows.Last ())
2855+ windowArea.Width *= width - column;
2856+
2857+ SetTemporaryWindowGeometry (window, windowArea, state);
2858+
2859+ column++;
2860+ if (column == width) {
2861+ column = 0;
2862+ row++;
2863+ }
2864+ }
2865+ }
2866+
2867+ public bool CanRestoreLayout ()
2868+ {
2869+ return window_states.Count () > 0;
2870+ }
2871+
2872+ public void RestoreLayout ()
2873+ {
2874+ if (!CanRestoreLayout ())
2875+ return;
2876+
2877+ Dictionary<Wnck.Window, WindowState> state = window_states.Pop ();
2878+
2879+ if (state.Count () == 0)
2880+ ShowDesktop (false);
2881+ else
2882+ foreach (Wnck.Window window in Windows ())
2883+ RestoreTemporaryWindowGeometry (window, state);
2884+ }
2885+
2886+ public void CleanRestoreStates ()
2887+ {
2888+ IEnumerable<Wnck.Window> windows = Windows ();
2889+ List<Dictionary<Wnck.Window, WindowState>> expireStates = new List<Dictionary<Wnck.Window, WindowState>> ();
2890+
2891+ foreach (Dictionary<Wnck.Window, WindowState> dict in window_states) {
2892+ if (dict.Count () == 0)
2893+ continue;
2894+
2895+ IEnumerable<Wnck.Window> keys = dict.Keys;
2896+ foreach (Wnck.Window w in keys.Except (windows))
2897+ dict.Remove (w);
2898+
2899+ if (dict.Count () == 0)
2900+ expireStates.Add (dict);
2901+ }
2902+
2903+ IEnumerable<Dictionary<Wnck.Window, WindowState>> newStack = window_states.Except (expireStates).Take (10);
2904+ window_states = new Stack<Dictionary<Wnck.Window, WindowState>> (newStack);
2905+ }
2906+
2907+ Gdk.Rectangle GetScreenGeoMinusStruts ()
2908+ {
2909+ IEnumerable<int []> struts = RawWindows ()
2910+ .Where (w => w.WindowType == Wnck.WindowType.Dock)
2911+ .Select (w => w.GetCardinalProperty (X11Atoms.Instance._NET_WM_STRUT_PARTIAL));
2912+
2913+ int [] offsets = new int [4];
2914+ for (int i = 0; i < 4; i++)
2915+ offsets [i] = struts.Max (a => a[i]);
2916+
2917+ Gdk.Rectangle screenGeo = area;
2918+ screenGeo.Width -= offsets [(int) Position.Left] + offsets [(int) Position.Right];
2919+ screenGeo.Height -= offsets [(int) Position.Top] + offsets [(int) Position.Bottom];
2920+ screenGeo.X += offsets [(int) Position.Left];
2921+ screenGeo.Y += offsets [(int) Position.Top];
2922+
2923+ return screenGeo;
2924+ }
2925+
2926+ void SetTemporaryWindowGeometry (Wnck.Window window, Gdk.Rectangle area, Dictionary<Wnck.Window, WindowState> state)
2927+ {
2928+ Gdk.Rectangle oldGeo = window.EasyGeometry ();
2929+
2930+ oldGeo.X += parent.ViewportX;
2931+ oldGeo.Y += parent.ViewportY;
2932+
2933+ state [window] = new WindowState (oldGeo, window.State);
2934+
2935+ if (window.IsMaximized)
2936+ window.Unmaximize ();
2937+
2938+ window.SetWorkaroundGeometry (WindowGravity.Current, MoveResizeMask, area.X, area.Y, area.Width, area.Height);
2939+ }
2940+
2941+ void RestoreTemporaryWindowGeometry (Wnck.Window window, Dictionary<Wnck.Window, WindowState> state)
2942+ {
2943+ if (!state.ContainsKey (window))
2944+ return;
2945+
2946+ WindowState currentState = state [window];
2947+ window.SetWorkaroundGeometry (WindowGravity.Current, MoveResizeMask,
2948+ currentState.Area.X - parent.ViewportX, currentState.Area.Y - parent.ViewportY,
2949+ currentState.Area.Width, currentState.Area.Height);
2950+ }
2951+ }
2952+}
2953
2954=== modified file 'po/POTFILES.in'
2955--- po/POTFILES.in 2010-12-28 15:13:35 +0000
2956+++ po/POTFILES.in 2010-12-29 12:19:13 +0000
2957@@ -21,7 +21,10 @@
2958 StandardPlugins/Clippy/src/ClippyItem.cs
2959 StandardPlugins/Clock/src/ClockDockItem.cs
2960 StandardPlugins/Clock/src/ClockThemeSelector.cs
2961-StandardPlugins/Desktop/src/DesktopDockItem.cs
2962+StandardPlugins/Desktop/src/DesktopActionsProvider.cs
2963+StandardPlugins/Desktop/src/ShowDesktopItem.cs
2964+StandardPlugins/Desktop/src/TileDesktopItem.cs
2965+StandardPlugins/Desktop/src/CascadeDesktopItem.cs
2966 StandardPlugins/GMail/gtk-gui/GMail.GMailLabelConfig.cs
2967 StandardPlugins/GMail/src/GMailAtom.cs
2968 StandardPlugins/GMail/src/GMailConfigDialog.cs
2969
2970=== modified file 'po/docky.pot'
2971--- po/docky.pot 2010-12-28 15:13:35 +0000
2972+++ po/docky.pot 2010-12-29 12:19:13 +0000
2973@@ -8,7 +8,7 @@
2974 msgstr ""
2975 "Project-Id-Version: PACKAGE VERSION\n"
2976 "Report-Msgid-Bugs-To: \n"
2977-"POT-Creation-Date: 2010-12-28 09:12-0600\n"
2978+"POT-Creation-Date: 2010-12-29 02:49-0600\n"
2979 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
2980 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
2981 "Language-Team: LANGUAGE <LL@li.org>\n"
2982@@ -467,10 +467,22 @@
2983 msgid "Theme"
2984 msgstr ""
2985
2986-#: ../StandardPlugins/Desktop/src/DesktopDockItem.cs:42
2987+#: ../StandardPlugins/Desktop/src/DesktopActionsProvider.cs:57
2988+msgid "_Undo"
2989+msgstr ""
2990+
2991+#: ../StandardPlugins/Desktop/src/ShowDesktopItem.cs:37
2992 msgid "Show Desktop"
2993 msgstr ""
2994
2995+#: ../StandardPlugins/Desktop/src/TileDesktopItem.cs:38
2996+msgid "Tile Desktop"
2997+msgstr ""
2998+
2999+#: ../StandardPlugins/Desktop/src/CascadeDesktopItem.cs:38
3000+msgid "Cascade Desktop"
3001+msgstr ""
3002+
3003 #: ../StandardPlugins/GMail/gtk-gui/GMail.GMailLabelConfig.cs:74
3004 msgid "_Add Label"
3005 msgstr ""

Subscribers

People subscribed via source and target branches

to status/vote changes: