[gnome-shell] workspace-switcher: Switch to vertical orientation
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] workspace-switcher: Switch to vertical orientation
- Date: Wed, 9 Feb 2011 19:03:50 +0000 (UTC)
commit ef8c9e0abbee3373d8f47c4318e3dbd16433a4a8
Author: Florian Müllner <fmuellner gnome org>
Date: Wed Feb 9 16:00:29 2011 +0100
workspace-switcher: Switch to vertical orientation
With workspaces now being stacked vertically, the horizontal
indicators in the workspace switcher are rather odd. There are
some designs for an improved workspace switch animation, but
it may take a while to implement them, so for now just change
the orientation of the existing switcher.
https://bugzilla.gnome.org/show_bug.cgi?id=641931
data/Makefile.am | 4 +-
data/theme/gnome-shell.css | 8 +-
...ch-arrow-right.svg => ws-switch-arrow-down.svg} | 63 +++-
data/theme/ws-switch-arrow-left.svg | 96 -----
data/theme/ws-switch-arrow-up.svg | 447 ++++++++++++++++++++
js/ui/windowManager.js | 8 +-
js/ui/workspaceSwitcherPopup.js | 76 ++--
7 files changed, 548 insertions(+), 154 deletions(-)
---
diff --git a/data/Makefile.am b/data/Makefile.am
index 4235d50..b5d0dc6 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -52,8 +52,8 @@ dist_theme_DATA = \
theme/toggle-off-intl.svg \
theme/toggle-on-us.svg \
theme/toggle-on-intl.svg \
- theme/ws-switch-arrow-left.svg \
- theme/ws-switch-arrow-right.svg
+ theme/ws-switch-arrow-up.svg \
+ theme/ws-switch-arrow-down.svg
gsettings_SCHEMAS = \
org.gnome.accessibility.magnifier.gschema.xml \
diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css
index df481d8..6ed2804 100644
--- a/data/theme/gnome-shell.css
+++ b/data/theme/gnome-shell.css
@@ -1105,19 +1105,19 @@ StTooltip StLabel {
spacing: 8px;
}
-.ws-switcher-active-left {
+.ws-switcher-active-up {
height: 100px;
border: 0px;
background: rgba(255,255,255,0.5);
- background-image: url("ws-switch-arrow-left.svg");
+ background-image: url("ws-switch-arrow-up.svg");
border-radius: 8px;
}
-.ws-switcher-active-right {
+.ws-switcher-active-down {
height: 100px;
border: 0px;
background: rgba(255,255,255,0.5);
- background-image: url("ws-switch-arrow-right.svg");
+ background-image: url("ws-switch-arrow-down.svg");
border-radius: 8px;
}
diff --git a/data/theme/ws-switch-arrow-right.svg b/data/theme/ws-switch-arrow-down.svg
similarity index 86%
rename from data/theme/ws-switch-arrow-right.svg
rename to data/theme/ws-switch-arrow-down.svg
index 03d7f83..e8d13eb 100644
--- a/data/theme/ws-switch-arrow-right.svg
+++ b/data/theme/ws-switch-arrow-down.svg
@@ -2,13 +2,51 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="96"
height="96"
- id="svg25070">
+ id="svg25070"
+ inkscape:version="0.48.0 r9654"
+ sodipodi:docname="ws-switch-arrow-down.svg">
+ <metadata
+ id="metadata3353">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="718"
+ inkscape:window-height="480"
+ id="namedview3351"
+ showgrid="false"
+ inkscape:zoom="2.6979167"
+ inkscape:cx="48"
+ inkscape:cy="48"
+ inkscape:window-x="0"
+ inkscape:window-y="26"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg25070" />
<defs
id="defs25072">
<linearGradient
@@ -288,7 +326,7 @@
</filter>
</defs>
<g
- transform="translate(0,48)"
+ transform="matrix(0,1,-1,0,48.0003,4.1307112e-7)"
id="layer1">
<g
transform="matrix(-2,0,0,2,-97.2497,-374.967)"
@@ -297,35 +335,42 @@
<path
d="m -72.5,173.5 -14,14 14,14"
id="path3165-7-3"
- style="color:#000000;fill:none;stroke:#000000;stroke-width:7;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:7;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
</g>
<path
d="m -36.5,186.40625 a 2.09375,2.09375 0 1 1 -4.1875,0 2.09375,2.09375 0 1 1 4.1875,0 z"
transform="matrix(-3.34328,0,0,3.34328,-89.2797,-623.176)"
id="path4050-2-7-9-4"
- style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52343899;marker:none;visibility:visible;display:inline;overflow:visible" />
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52343899;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
<path
d="m -36.5,186.40625 a 2.09375,2.09375 0 1 1 -4.1875,0 2.09375,2.09375 0 1 1 4.1875,0 z"
transform="matrix(-3.34328,0,0,3.34328,-111.2797,-623.176)"
id="path4050-2-7-9-4-8"
- style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52343899;marker:none;visibility:visible;display:inline;overflow:visible" />
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52343899;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
<path
d="m -36.5,186.40625 a 2.09375,2.09375 0 1 1 -4.1875,0 2.09375,2.09375 0 1 1 4.1875,0 z"
transform="matrix(-2.86565,0,0,2.86565,-70.8457,-534.143)"
id="path4050-2-7-9-4-0"
- style="color:#000000;fill:none;stroke:#000000;stroke-width:0.69792098;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:0.69792098;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
<path
d="m -36.5,186.40625 a 2.09375,2.09375 0 1 1 -4.1875,0 2.09375,2.09375 0 1 1 4.1875,0 z"
transform="matrix(-2.86565,0,0,2.86565,-92.8457,-534.143)"
id="path4050-2-7-9-4-0-9"
- style="color:#000000;fill:none;stroke:#000000;stroke-width:0.69792098;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:0.69792098;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
<path
d="m 47.87528,-34.0295 c 1.53896,0.0448 3.0511,0.70928 4.125,1.8125 l 32.25,32.25 -32.25,32.25 c -2.2253,2.2253 -6.2747,2.2253 -8.5,0 -2.2253,-2.22528 -2.2253,-6.2747 0,-8.5 l 23.75,-23.75 -23.75,-23.75 c -1.73168,-1.6731 -2.295,-4.44228 -1.3546,-6.65894 0.94042,-2.21668 3.32312,-3.73604 5.7296,-3.65356 z"
id="path3165-7-3-1"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0pt;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;text-anchor:start;opacity:0.35;color:#000000;fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans" />
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0pt;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;text-anchor:start;opacity:0.35;color:#000000;fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
+ inkscape:connector-curvature="0" />
<path
d="m 41.8316,28.09418 c -0.014,-1.58898 0.54158,-3.18406 1.66868,-4.31118 l 23.75,-23.75 m -25.1046,-30.40894 c 0.94042,-2.21668 3.32312,-3.73604 5.7296,-3.65356 1.53896,0.0448 3.0511,0.70928 4.125,1.8125 l 32.25,32.25"
id="path3165-7-3-1-9"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0pt;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;text-anchor:start;color:#000000;fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans" />
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0pt;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;text-anchor:start;color:#000000;fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
+ inkscape:connector-curvature="0" />
</g>
</svg>
diff --git a/data/theme/ws-switch-arrow-up.svg b/data/theme/ws-switch-arrow-up.svg
new file mode 100644
index 0000000..16240e8
--- /dev/null
+++ b/data/theme/ws-switch-arrow-up.svg
@@ -0,0 +1,447 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="96"
+ height="96"
+ id="svg25070"
+ version="1.1"
+ inkscape:version="0.48.0 r9654"
+ sodipodi:docname="ws-switch-arrow-up.svg">
+ <defs
+ id="defs25072">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective25078" />
+ <inkscape:perspective
+ id="perspective24985"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4034-0-4"
+ id="linearGradient24957"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(6)"
+ x1="-86.552246"
+ y1="185.439"
+ x2="-83.37072"
+ y2="197.31261" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4034-0-4">
+ <stop
+ style="stop-color: rgb(238, 238, 236); stop-opacity: 1;"
+ offset="0"
+ id="stop4036-5-7" />
+ <stop
+ style="stop-color: rgb(186, 189, 182); stop-opacity: 1;"
+ offset="1"
+ id="stop4038-9-6" />
+ </linearGradient>
+ <filter
+ id="filter24765"
+ inkscape:label="Invert"
+ x="0"
+ y="0"
+ width="1"
+ height="1"
+ inkscape:menu="Color"
+ inkscape:menu-tooltip="Invert colors"
+ color-interpolation-filters="sRGB">
+ <feColorMatrix
+ id="feColorMatrix24767"
+ type="saturate"
+ values="1"
+ result="fbSourceGraphic" />
+ <feColorMatrix
+ id="feColorMatrix24769"
+ in="fbSourceGraphic"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" />
+ </filter>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4632-1-3-9-3-2"
+ id="linearGradient24955"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-5)"
+ x1="-74.520325"
+ y1="169.06032"
+ x2="-74.520325"
+ y2="205.94189" />
+ <linearGradient
+ id="linearGradient4632-1-3-9-3-2">
+ <stop
+ style="stop-color: rgb(238, 238, 236); stop-opacity: 1;"
+ offset="0"
+ id="stop4634-1-8-3-9-0" />
+ <stop
+ id="stop4636-1-9-9-8-8"
+ offset="0.0274937"
+ style="stop-color: rgb(255, 255, 255); stop-opacity: 1;" />
+ <stop
+ id="stop4638-8-3-9-6-6"
+ offset="0.274937"
+ style="stop-color: rgb(242, 242, 242); stop-opacity: 1;" />
+ <stop
+ id="stop4640-8-5-7-8-9"
+ offset="0.38707438"
+ style="stop-color: rgb(238, 238, 236); stop-opacity: 1;" />
+ <stop
+ id="stop4642-5-41-9-6-9"
+ offset="0.66528589"
+ style="stop-color: rgb(217, 218, 216); stop-opacity: 1;" />
+ <stop
+ id="stop4644-5-2-7-9-2"
+ offset="0.76745707"
+ style="stop-color: rgb(223, 224, 221); stop-opacity: 1;" />
+ <stop
+ style="stop-color: rgb(240, 240, 240); stop-opacity: 1;"
+ offset="1"
+ id="stop4646-3-2-3-7-3" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4869-4-1"
+ id="radialGradient24959"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0075, 0, 0, 1.0075, -5.4544, -1.25141)"
+ cx="-33.412369"
+ cy="185.74171"
+ fx="-33.412369"
+ fy="185.74171"
+ r="2.3554697" />
+ <linearGradient
+ id="linearGradient4869-4-1">
+ <stop
+ style="stop-color: rgb(255, 255, 255); stop-opacity: 1;"
+ offset="0"
+ id="stop4871-6-2" />
+ <stop
+ id="stop4879-7-4"
+ offset="0.31807542"
+ style="stop-color: rgb(238, 238, 236); stop-opacity: 1;" />
+ <stop
+ id="stop4877-6-1"
+ offset="0.74691135"
+ style="stop-color: rgb(200, 201, 198); stop-opacity: 1;" />
+ <stop
+ style="stop-color: rgb(211, 215, 207); stop-opacity: 1;"
+ offset="1"
+ id="stop4873-1-0" />
+ </linearGradient>
+ <filter
+ id="filter25011"
+ inkscape:label="Invert"
+ x="0"
+ y="0"
+ width="1"
+ height="1"
+ inkscape:menu="Color"
+ inkscape:menu-tooltip="Invert colors"
+ color-interpolation-filters="sRGB">
+ <feColorMatrix
+ id="feColorMatrix25013"
+ type="saturate"
+ values="1"
+ result="fbSourceGraphic" />
+ <feColorMatrix
+ id="feColorMatrix25015"
+ in="fbSourceGraphic"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" />
+ </filter>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4869-4-0"
+ id="radialGradient24961"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0075, 0, 0, 1.0075, -5.4544, -1.25141)"
+ cx="-33.412369"
+ cy="185.74171"
+ fx="-33.412369"
+ fy="185.74171"
+ r="2.3554697" />
+ <linearGradient
+ id="linearGradient4869-4-0">
+ <stop
+ style="stop-color: rgb(255, 255, 255); stop-opacity: 1;"
+ offset="0"
+ id="stop4871-6-8" />
+ <stop
+ id="stop4879-7-5"
+ offset="0.31807542"
+ style="stop-color: rgb(238, 238, 236); stop-opacity: 1;" />
+ <stop
+ id="stop4877-6-5"
+ offset="0.74691135"
+ style="stop-color: rgb(200, 201, 198); stop-opacity: 1;" />
+ <stop
+ style="stop-color: rgb(211, 215, 207); stop-opacity: 1;"
+ offset="1"
+ id="stop4873-1-4" />
+ </linearGradient>
+ <filter
+ id="filter25023"
+ inkscape:label="Invert"
+ x="0"
+ y="0"
+ width="1"
+ height="1"
+ inkscape:menu="Color"
+ inkscape:menu-tooltip="Invert colors"
+ color-interpolation-filters="sRGB">
+ <feColorMatrix
+ id="feColorMatrix25025"
+ type="saturate"
+ values="1"
+ result="fbSourceGraphic" />
+ <feColorMatrix
+ id="feColorMatrix25027"
+ in="fbSourceGraphic"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" />
+ </filter>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4941"
+ id="linearGradient24963"
+ gradientUnits="userSpaceOnUse"
+ x1="-39.858727"
+ y1="184.61784"
+ x2="-38.244785"
+ y2="188.84898" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4941">
+ <stop
+ style="stop-color: rgb(255, 255, 255); stop-opacity: 1;"
+ offset="0"
+ id="stop4943" />
+ <stop
+ style="stop-color: rgb(255, 255, 255); stop-opacity: 0;"
+ offset="1"
+ id="stop4945" />
+ </linearGradient>
+ <filter
+ id="filter25033"
+ inkscape:label="Invert"
+ x="0"
+ y="0"
+ width="1"
+ height="1"
+ inkscape:menu="Color"
+ inkscape:menu-tooltip="Invert colors"
+ color-interpolation-filters="sRGB">
+ <feColorMatrix
+ id="feColorMatrix25035"
+ type="saturate"
+ values="1"
+ result="fbSourceGraphic" />
+ <feColorMatrix
+ id="feColorMatrix25037"
+ in="fbSourceGraphic"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" />
+ </filter>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4941-7"
+ id="linearGradient24965"
+ gradientUnits="userSpaceOnUse"
+ x1="-39.858727"
+ y1="184.61784"
+ x2="-38.244785"
+ y2="188.84898" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4941-7">
+ <stop
+ style="stop-color: rgb(255, 255, 255); stop-opacity: 1;"
+ offset="0"
+ id="stop4943-2" />
+ <stop
+ style="stop-color: rgb(255, 255, 255); stop-opacity: 0;"
+ offset="1"
+ id="stop4945-5" />
+ </linearGradient>
+ <filter
+ id="filter25043"
+ inkscape:label="Invert"
+ x="0"
+ y="0"
+ width="1"
+ height="1"
+ inkscape:menu="Color"
+ inkscape:menu-tooltip="Invert colors"
+ color-interpolation-filters="sRGB">
+ <feColorMatrix
+ id="feColorMatrix25045"
+ type="saturate"
+ values="1"
+ result="fbSourceGraphic" />
+ <feColorMatrix
+ id="feColorMatrix25047"
+ in="fbSourceGraphic"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" />
+ </filter>
+ <filter
+ id="filter25049"
+ inkscape:label="Invert"
+ x="0"
+ y="0"
+ width="1"
+ height="1"
+ inkscape:menu="Color"
+ inkscape:menu-tooltip="Invert colors"
+ color-interpolation-filters="sRGB">
+ <feColorMatrix
+ id="feColorMatrix25051"
+ type="saturate"
+ values="1"
+ result="fbSourceGraphic" />
+ <feColorMatrix
+ id="feColorMatrix25053"
+ in="fbSourceGraphic"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" />
+ </filter>
+ <filter
+ id="filter25055"
+ inkscape:label="Invert"
+ x="0"
+ y="0"
+ width="1"
+ height="1"
+ inkscape:menu="Color"
+ inkscape:menu-tooltip="Invert colors"
+ color-interpolation-filters="sRGB">
+ <feColorMatrix
+ id="feColorMatrix25057"
+ type="saturate"
+ values="1"
+ result="fbSourceGraphic" />
+ <feColorMatrix
+ id="feColorMatrix25059"
+ in="fbSourceGraphic"
+ values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" />
+ </filter>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8284271"
+ inkscape:cx="-12.356322"
+ inkscape:cy="57.536221"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1200"
+ inkscape:window-height="840"
+ inkscape:window-x="0"
+ inkscape:window-y="26"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata25075">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ transform="translate(0, 48)">
+ <g
+ id="g3181"
+ transform="matrix(0,1,-1,0,48.0003,-48)">
+ <g
+ style="stroke:#000000;stroke-opacity:1;display:inline"
+ transform="matrix(2,0,0,2,193.25,-374.967)"
+ id="g4030-1-8">
+ <path
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:7;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m -72.5,173.5 -14,14 14,14"
+ id="path3165-7-3"
+ sodipodi:nodetypes="ccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ transform="matrix(3.34328,0,0,3.34328,185.28,-623.176)"
+ d="m -36.5,186.40625 c 0,1.15635 -0.937404,2.09375 -2.09375,2.09375 -1.156346,0 -2.09375,-0.9374 -2.09375,-2.09375 0,-1.15635 0.937404,-2.09375 2.09375,-2.09375 1.156346,0 2.09375,0.9374 2.09375,2.09375 z"
+ sodipodi:ry="2.09375"
+ sodipodi:rx="2.09375"
+ sodipodi:cy="186.40625"
+ sodipodi:cx="-38.59375"
+ id="path4050-2-7-9-4"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52343899;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(3.34328,0,0,3.34328,207.28,-623.176)"
+ d="m -36.5,186.40625 c 0,1.15635 -0.937404,2.09375 -2.09375,2.09375 -1.156346,0 -2.09375,-0.9374 -2.09375,-2.09375 0,-1.15635 0.937404,-2.09375 2.09375,-2.09375 1.156346,0 2.09375,0.9374 2.09375,2.09375 z"
+ sodipodi:ry="2.09375"
+ sodipodi:rx="2.09375"
+ sodipodi:cy="186.40625"
+ sodipodi:cx="-38.59375"
+ id="path4050-2-7-9-4-8"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52343899;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(2.86565,0,0,2.86565,166.846,-534.143)"
+ d="m -36.5,186.40625 c 0,1.15635 -0.937404,2.09375 -2.09375,2.09375 -1.156346,0 -2.09375,-0.9374 -2.09375,-2.09375 0,-1.15635 0.937404,-2.09375 2.09375,-2.09375 1.156346,0 2.09375,0.9374 2.09375,2.09375 z"
+ sodipodi:ry="2.09375"
+ sodipodi:rx="2.09375"
+ sodipodi:cy="186.40625"
+ sodipodi:cx="-38.59375"
+ id="path4050-2-7-9-4-0"
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:0.69792098;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(2.86565,0,0,2.86565,188.846,-534.143)"
+ d="m -36.5,186.40625 c 0,1.15635 -0.937404,2.09375 -2.09375,2.09375 -1.156346,0 -2.09375,-0.9374 -2.09375,-2.09375 0,-1.15635 0.937404,-2.09375 2.09375,-2.09375 1.156346,0 2.09375,0.9374 2.09375,2.09375 z"
+ sodipodi:ry="2.09375"
+ sodipodi:rx="2.09375"
+ sodipodi:cy="186.40625"
+ sodipodi:cx="-38.59375"
+ id="path4050-2-7-9-4-0-9"
+ style="color:#000000;fill:none;stroke:#000000;stroke-width:0.69792098;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(2,0,0,2,-586,-765.967)"
+ sodipodi:nodetypes="ccccscccsc"
+ id="path3165-7-3-1"
+ d="m 317.06251,365.96875 c -0.76948,0.0224 -1.52555,0.35464 -2.0625,0.90625 l -16.125,16.125 16.125,16.125 c 1.11265,1.11265 3.13735,1.11265 4.25,0 1.11265,-1.11264 1.11265,-3.13735 0,-4.25 l -11.875,-11.875 11.875,-11.875 c 0.86584,-0.83655 1.1475,-2.22114 0.6773,-3.32947 -0.47021,-1.10834 -1.66156,-1.86802 -2.8648,-1.82678 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0pt;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;text-anchor:start;opacity:0.35;color:#000000;fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
+ inkscape:connector-curvature="0" />
+ <path
+ transform="matrix(2,0,0,2,-586,-765.967)"
+ sodipodi:nodetypes="ccccccc"
+ id="path3165-7-3-1-9"
+ d="m 320.08435,397.03059 c 0.007,-0.79449 -0.27079,-1.59203 -0.83434,-2.15559 L 307.37501,383 m 12.5523,-15.20447 c -0.47021,-1.10834 -1.66156,-1.86802 -2.8648,-1.82678 -0.76948,0.0224 -1.52555,0.35464 -2.0625,0.90625 L 298.87501,383"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0pt;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;text-anchor:start;color:#000000;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
index 51fd17d..328ccb6 100644
--- a/js/ui/windowManager.js
+++ b/js/ui/windowManager.js
@@ -556,7 +556,7 @@ WindowManager.prototype = {
global.screen.get_workspace_by_index(indexToActivate).activate(global.get_current_time());
if (!Main.overview.visible)
- this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.LEFT, indexToActivate);
+ this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.UP, indexToActivate);
},
actionMoveWorkspaceRight: function() {
@@ -572,7 +572,7 @@ WindowManager.prototype = {
global.screen.get_workspace_by_index(indexToActivate).activate(global.get_current_time());
if (!Main.overview.visible)
- this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.RIGHT, indexToActivate);
+ this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.DOWN, indexToActivate);
},
actionMoveWorkspaceUp: function() {
@@ -585,7 +585,7 @@ WindowManager.prototype = {
global.screen.get_workspace_by_index(indexToActivate).activate(global.get_current_time());
if (!Main.overview.visible)
- this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.LEFT, indexToActivate);
+ this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.UP, indexToActivate);
},
actionMoveWorkspaceDown: function() {
@@ -598,6 +598,6 @@ WindowManager.prototype = {
global.screen.get_workspace_by_index(indexToActivate).activate(global.get_current_time());
if (!Main.overview.visible)
- this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.RIGHT, indexToActivate);
+ this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.DOWN, indexToActivate);
}
};
diff --git a/js/ui/workspaceSwitcherPopup.js b/js/ui/workspaceSwitcherPopup.js
index afa9477..ab18933 100644
--- a/js/ui/workspaceSwitcherPopup.js
+++ b/js/ui/workspaceSwitcherPopup.js
@@ -12,8 +12,8 @@ const Tweener = imports.ui.tweener;
const ANIMATION_TIME = 0.1;
const DISPLAY_TIMEOUT = 600;
-const LEFT = -1;
-const RIGHT = 1;
+const UP = -1;
+const DOWN = 1;
function WorkspaceSwitcherPopup() {
this._init();
@@ -32,6 +32,8 @@ WorkspaceSwitcherPopup.prototype = {
this._container = new St.BoxLayout({ style_class: 'workspace-switcher-container' });
this._list = new Shell.GenericContainer({ style_class: 'workspace-switcher' });
this._itemSpacing = 0;
+ this._childHeight = 0;
+ this._childWidth = 0;
this._list.connect('style-changed', Lang.bind(this, function() {
this._itemSpacing = this._list.get_theme_node().get_length('spacing');
}));
@@ -51,59 +53,54 @@ WorkspaceSwitcherPopup.prototype = {
this._timeoutId = Mainloop.timeout_add(DISPLAY_TIMEOUT, Lang.bind(this, this._onTimeout));
},
- _getPreferredWidth : function (actor, forHeight, alloc) {
+ _getPreferredHeight : function (actor, forWidth, alloc) {
let children = this._list.get_children();
let primary = global.get_primary_monitor();
- let availwidth = primary.width;
- availwidth -= this.actor.get_theme_node().get_horizontal_padding();
- availwidth -= this._container.get_theme_node().get_horizontal_padding();
- availwidth -= this._list.get_theme_node().get_horizontal_padding();
+ let availHeight = primary.height;
+ availHeight -= Main.panel.actor.height;
+ availHeight -= this.actor.get_theme_node().get_vertical_padding();
+ availHeight -= this._container.get_theme_node().get_vertical_padding();
+ availHeight -= this._list.get_theme_node().get_vertical_padding();
- let width = 0;
+ let height = 0;
for (let i = 0; i < children.length; i++) {
- let [childMinWidth, childNaturalWidth] = children[i].get_preferred_width(-1);
- let [childMinHeight, childNaturalHeight] = children[i].get_preferred_height(childNaturalWidth);
- width += childNaturalHeight * primary.width / primary.height;
+ let [childMinHeight, childNaturalHeight] = children[i].get_preferred_height(-1);
+ let [childMinWidth, childNaturalWidth] = children[i].get_preferred_width(childNaturalHeight);
+ height += childNaturalHeight * primary.width / primary.height;
}
let spacing = this._itemSpacing * (global.screen.n_workspaces - 1);
- width += spacing;
- width = Math.min(width, availwidth);
+ height += spacing;
+ height = Math.min(height, availHeight);
- this._childWidth = (width - spacing) / global.screen.n_workspaces;
+ this._childHeight = (height - spacing) / global.screen.n_workspaces;
- alloc.min_size = width;
- alloc.natural_size = width;
+ alloc.min_size = height;
+ alloc.natural_size = height;
},
- _getPreferredHeight : function (actor, forWidth, alloc) {
+ _getPreferredWidth : function (actor, forHeight, alloc) {
let primary = global.get_primary_monitor();
- this._childHeight = Math.round(this._childWidth * primary.height / primary.width);
+ this._childWidth = Math.round(this._childHeight * primary.width / primary.height);
- alloc.min_size = this._childHeight;
- alloc.natural_size = this._childHeight;
+ alloc.min_size = this._childWidth;
+ alloc.natural_size = this._childWidth;
},
_allocate : function (actor, box, flags) {
let children = this._list.get_children();
let childBox = new Clutter.ActorBox();
- let rtl = (St.Widget.get_default_direction() == St.TextDirection.RTL);
- let x = box.x1;
- let prevChildBoxX2 = box.x1 - this._itemSpacing;
+ let y = box.y1;
+ let prevChildBoxY2 = box.y1 - this._itemSpacing;
for (let i = 0; i < children.length; i++) {
- childBox.x1 = prevChildBoxX2 + this._itemSpacing;
- childBox.x2 = Math.round(x + this._childWidth);
- childBox.y1 = box.y1;
- childBox.y2 = box.y1 + this._childHeight;
- x += this._childWidth + this._itemSpacing;
- prevChildBoxX2 = childBox.x2;
- if (rtl) {
- let ltrChildBoxX1 = childBox.x1;
- childBox.x1 = box.x2 - (childBox.x2 - box.x1);
- childBox.x2 = box.x2 - (ltrChildBoxX1 - box.x1);
- }
+ childBox.x1 = box.x1;
+ childBox.x2 = box.x1 + this._childWidth;
+ childBox.y1 = prevChildBoxY2 + this._itemSpacing;
+ childBox.y2 = Math.round(y + this._childHeight);
+ y += this._childHeight + this._itemSpacing;
+ prevChildBoxY2 = childBox.y2;
children[i].allocate(childBox, flags);
}
},
@@ -114,10 +111,10 @@ WorkspaceSwitcherPopup.prototype = {
for (let i = 0; i < global.screen.n_workspaces; i++) {
let indicator = null;
- if (i == activeWorkspaceIndex && direction == LEFT)
- indicator = new St.Bin({ style_class: 'ws-switcher-active-left' });
- else if(i == activeWorkspaceIndex && direction == RIGHT)
- indicator = new St.Bin({ style_class: 'ws-switcher-active-right' });
+ if (i == activeWorkspaceIndex && direction == UP)
+ indicator = new St.Bin({ style_class: 'ws-switcher-active-up' });
+ else if(i == activeWorkspaceIndex && direction == DOWN)
+ indicator = new St.Bin({ style_class: 'ws-switcher-active-down' });
else
indicator = new St.Bin({ style_class: 'ws-switcher-box' });
@@ -129,7 +126,8 @@ WorkspaceSwitcherPopup.prototype = {
_position: function() {
let primary = global.get_primary_monitor();
this._container.x = primary.x + Math.floor((primary.width - this._container.width) / 2);
- this._container.y = primary.y + Math.floor((primary.height - this._container.height) / 2);
+ this._container.y = primary.y + Main.panel.actor.height +
+ Math.floor(((primary.height - Main.panel.actor.height) - this._container.height) / 2);
},
_show : function() {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]