Compare commits

..

1 Commits

Author SHA1 Message Date
Jakub Steiner
6393e90a5a theme: sync OSD colors with gtk 2019-04-16 16:47:59 +02:00
28 changed files with 1401 additions and 942 deletions

View File

@@ -17,8 +17,6 @@ variables:
check_commit_log: check_commit_log:
image: registry.gitlab.gnome.org/gnome/mutter/master:v1 image: registry.gitlab.gnome.org/gnome/mutter/master:v1
stage: review stage: review
variables:
GIT_DEPTH: "100"
script: script:
- ./.gitlab-ci/check-commit-log.sh - ./.gitlab-ci/check-commit-log.sh
only: only:

View File

@@ -17,19 +17,15 @@ if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
merge_request_branch=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME merge_request_branch=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
echo Looking for $merge_request_branch on remote ... echo Looking for $merge_request_branch on remote ...
if git fetch -q $merge_request_remote $merge_request_branch 2>/dev/null; then if git fetch $merge_request_remote $merge_request_branch >/dev/null 2>&1; then
mutter_target=FETCH_HEAD mutter_target=FETCH_HEAD
else
mutter_target=origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
echo Using $mutter_target instead
fi fi
fi fi
if [ -z "$mutter_target" ]; then if [ -z "$mutter_target" ]; then
mutter_target=$(git branch -r -l origin/$shell_branch) mutter_target=$(git branch -r -l $shell_branch)
mutter_target=${mutter_target:-$(git branch -r -l ${shell_branch#remotes/})}
mutter_target=${mutter_target:-origin/master} mutter_target=${mutter_target:-origin/master}
echo Using $mutter_target instead echo Using $mutter_target instead
fi fi
git checkout -q $mutter_target git checkout $mutter_target

50
NEWS
View File

@@ -1,53 +1,3 @@
3.32.2
======
* Fix tablet button mapping overlay [Carlos; #1220]
* Fix ellipsization in dialog subtitles/bodies [Marco; !531]
* Don't crash for world clock locations with no timezone<Paste> [Florian; #1062]
* Handle network interface name changes [Fabrice; !534]
* Don't leak old on-screen keyboard layout groups [Carlos; mutter#556]
* Avoid unnecessary style changes when computing :first/:last-child
[Florian; !529]
* Misc. bug fixes [Simon, Carlos, Florian; #822, !551, !509,
!511, #1054, !506, #1065]
Contributors:
Fabrice Bellet, Carlos Garnacho, Simon McVittie, Florian Müllner,
Marco Trevisan (Treviño)
Translators:
Dingzhong Chen [zh_CN], Tim Sabsch [de]
3.32.1
======
* Fix avatar scaling on login screen [Florian; #1024]
* Fix distortion of desktop zoom [Florian; #646]
* Fix mouse cursor visibility when using desktop zoom [Florian, Marco; #1020]
* Fix screen dimming after wake-up on lock screen [Xiaoguang; #900]
* Fix Alt+Esc switcher [Florian; #1064]
* Respect struts for popover placement [Andrea; #1102]
* Fix app icons updates after theme changes [Florian; #1117]
* Fix desktop zoom after resolution changes [Marco; #1120]
* Implement stick-to-finger workspace switch overview gestures [Florian; #516]
* Make World Clocks offsets relative to local time [Florian; #1157]
* Fix top app icon disappearing from dash [Florian; #1053]
* Update switch style to match new Adwaita [Jakub; !496]
* Ensure CSS units are pixel-aligned when scaling is used [Carlos; #91]
* Misc. bug fixes and cleanups [Florian, Jakub, Robert, Alex, Carlos, Phil,
Marco, Benjamin, AsciiWolf, Ray, verdre; !444, #1016, #1018, !449, #1036,
!455, #1094, !440, #1023, #624, #1017, !476, !473, !480, #1130, !485, !481,
!490, !489, #1151, !435, #1160, !482, #1150, #1166, !384]
Contributors:
AsciiWolf, Andrea Azzarone, Benjamin Berg, Carlos Garnacho, Victor Ibragimov,
Robert Mader, Alex Monday, Florian Müllner, Jakub Steiner, Ray Strode,
Marco Trevisan (Treviño), verdre, Xiaoguang Wang, Phil Wyett
Translators:
Victor Ibragimov [tg, af, et, ja], Bruce Cowan [en_GB], Piotr Drąg [tg],
Charles Monzat [fr], Khaled Hosny [ar], Goran Vidović [hr],
Cheng-Chia Tseng [zh_TW], Carmen Bianca BAKKER [eo], Daniel Mustieles [es],
Dušan Kazik [sk]
3.32.0 3.32.0
====== ======
* Fix sizing issues in on-screen-keyboard emoji panel [Carlos; !439] * Fix sizing issues in on-screen-keyboard emoji panel [Carlos; !439]

View File

@@ -21,8 +21,10 @@
<file>noise-texture.png</file> <file>noise-texture.png</file>
<file>pad-osd.css</file> <file>pad-osd.css</file>
<file>process-working.svg</file> <file>process-working.svg</file>
<file>toggle-off-us.svg</file>
<file>toggle-off-intl.svg</file> <file>toggle-off-intl.svg</file>
<file>toggle-off-hc.svg</file> <file>toggle-off-hc.svg</file>
<file>toggle-on-us.svg</file>
<file>toggle-on-intl.svg</file> <file>toggle-on-intl.svg</file>
<file>toggle-on-hc.svg</file> <file>toggle-on-hc.svg</file>
</gresource> </gresource>

View File

@@ -21,7 +21,7 @@ $success_color: if($variant == 'light', #33d17a, darken(#33d17a, 10%));
$destructive_color: if($variant == 'light', #e01b24, darken(#e01b24, 10%)); $destructive_color: if($variant == 'light', #e01b24, darken(#e01b24, 10%));
$osd_fg_color: #eeeeec; $osd_fg_color: #eeeeec;
$osd_bg_color: #2e3436; $osd_bg_color: transparentize(darken(desaturate(#3d3846, 100%), 15%),0.3);
$osd_borders_color: transparentize(black, 0.3); $osd_borders_color: transparentize(black, 0.3);
$osd_outer_borders_color: transparentize(white, 0.9); $osd_outer_borders_color: transparentize(white, 0.9);

View File

@@ -29,7 +29,7 @@ $panel-corner-radius: 6px;
/* GLOBALS */ /* GLOBALS */
$font-size: 11; $font-size: 11;
$font-family: Cantarell, Sans-Serif; $font-family: Cantarell, Sans-Serif;
$_bubble_bg_color: opacify($osd_bg_color,0.25); $_bubble_bg_color: $osd_bg_color;
$_bubble_fg_color: $osd_fg_color; $_bubble_fg_color: $osd_fg_color;
$_bubble_borders_color: transparentize($osd_fg_color,0.8); $_bubble_borders_color: transparentize($osd_fg_color,0.8);
@@ -157,13 +157,18 @@ StScrollBar {
/* Switches */ /* Switches */
.toggle-switch { .toggle-switch {
width: 46px; width: 65px;
height: 22px; height: 22px;
background-size: contain; background-size: contain;
background-image: url("resource:///org/gnome/shell/theme/toggle-off-intl.svg");
&:checked { background-image: url("resource:///org/gnome/shell/theme/toggle-on-intl.svg"); }
} }
@each $v in us, intl {
.toggle-switch-#{$v} {
background-image: url("resource:///org/gnome/shell/theme/toggle-off-#{$v}.svg");
&:checked { background-image: url("resource:///org/gnome/shell/theme/toggle-on-#{$v}.svg"); }
}
}
/* links */ /* links */
.shell-link { .shell-link {
color: $link_color; color: $link_color;
@@ -179,7 +184,7 @@ StScrollBar {
.modal-dialog { .modal-dialog {
border-radius: 9px; border-radius: 9px;
color: $osd_fg_color; color: $osd_fg_color;
background-color: transparentize(darken($osd_bg_color,10%),0.05); background-color: $osd_bg_color;
border: 1px solid $_bubble_borders_color; border: 1px solid $_bubble_borders_color;
.modal-dialog-content-box { .modal-dialog-content-box {
padding: 24px; padding: 24px;

View File

@@ -111,7 +111,7 @@
} }
} }
@mixin button($t, $c:$osd_bg_color, $tc:$fg_color, $edge: $borders_edge) { @mixin button($t, $c:opacify(lighten($osd_bg_color, 5%),1.0), $tc:$fg_color, $edge: $borders_edge) {
// //
// Button drawing function // Button drawing function
// //
@@ -136,8 +136,7 @@
// //
// normal button // normal button
// //
$_bg: if($c!=$osd_bg_color, transparentize($c, 0.5), $_bg: $c;
$osd_bg_color);
color: $osd_fg_color; color: $osd_fg_color;
background-color: $_bg; background-color: $_bg;
@@ -150,8 +149,7 @@
// //
// focused button // focused button
// //
$_bg: if($c!=$osd_bg_color, transparentize($c, 0.3), $_bg: lighten($c,3%);
lighten($osd_bg_color,3%));
color: $osd_fg_color; color: $osd_fg_color;
text-shadow: 0 1px black; text-shadow: 0 1px black;
@@ -163,8 +161,7 @@
// //
// active osd button // active osd button
// //
$_bg: if($c!=$osd_bg_color, transparentize($c, 0.3), $_bg: lighten($c,3%);
lighten($osd_bg_color,3%));
color: white; color: white;
border-color: $osd_borders_color; border-color: $osd_borders_color;

View File

@@ -10,62 +10,124 @@
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="46" width="65"
height="22" height="22"
viewBox="0 0 46 22" id="svg2857"
version="1.1" version="1.1"
id="svg2751" inkscape:version="0.48.5 r10040"
inkscape:version="0.92.4 5da689c313, 2019-01-14" sodipodi:docname="toggle-off-us.svg">
sodipodi:docname="toggle-off-intl.svg">
<defs <defs
id="defs2745"> id="defs2859">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective2865" />
<inkscape:perspective
id="perspective2843"
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 <linearGradient
inkscape:collect="always" inkscape:collect="always"
id="linearGradient3329"> xlink:href="#linearGradient76469-7-7-4"
id="linearGradient38024"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0215462,0,0,1.0322581,717.22867,428.68472)"
x1="6"
y1="102.95528"
x2="6"
y2="84.505203" />
<linearGradient
inkscape:collect="always"
id="linearGradient76469-7-7-4">
<stop <stop
style="stop-color:#39393a;stop-opacity:1;" style="stop-color:#2e3232;stop-opacity:1"
offset="0" offset="0"
id="stop3325" /> id="stop76471-7-1-5" />
<stop <stop
style="stop-color:#302f30;stop-opacity:1" style="stop-color:#3e4545;stop-opacity:1"
offset="1" offset="1"
id="stop3327" /> id="stop76473-9-0-0" />
</linearGradient>
<inkscape:path-effect
effect="spiro"
id="path-effect77541-4"
is_visible="true" />
<inkscape:path-effect
effect="spiro"
id="path-effect77541-4-0"
is_visible="true" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient37802-8"
id="linearGradient12311-3-1-0-5-4"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.5918367,0,0,0.85714285,-256.56122,59.071426)"
x1="610.13782"
y1="501.43866"
x2="610.13782"
y2="492.52756" />
<linearGradient
id="linearGradient37802-8"
inkscape:collect="always">
<stop
id="stop37804-1"
offset="0"
style="stop-color:#2c2c2c;stop-opacity:1" />
<stop
id="stop37806-8"
offset="1"
style="stop-color:#16191a;stop-opacity:1" />
</linearGradient> </linearGradient>
<linearGradient <linearGradient
inkscape:collect="always" y2="492.52756"
xlink:href="#linearGradient3329" x2="610.13782"
id="linearGradient3331" y1="501.43866"
x1="53" x1="610.13782"
y1="294.42917" gradientTransform="matrix(1.5918367,0,0,0.85714285,-900.56122,-423.92857)"
x2="53"
y2="309.80417"
gradientUnits="userSpaceOnUse" gradientUnits="userSpaceOnUse"
gradientTransform="translate(-42.760724)" /> id="linearGradient13602"
xlink:href="#linearGradient37802-8"
inkscape:collect="always" />
</defs> </defs>
<sodipodi:namedview <sodipodi:namedview
id="base" id="base"
pagecolor="#535353" pagecolor="#000000"
bordercolor="#666666" bordercolor="#666666"
borderopacity="1.0" borderopacity="1.0"
inkscape:pageopacity="1" inkscape:pageopacity="1"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:zoom="1" inkscape:zoom="1"
inkscape:cx="-19.436775" inkscape:cx="-5.0602834"
inkscape:cy="-13.499723" inkscape:cy="16.473273"
inkscape:document-units="px" inkscape:document-units="px"
inkscape:current-layer="layer1" inkscape:current-layer="g37994"
showgrid="false" showgrid="false"
units="px" inkscape:window-width="2560"
inkscape:pagecheckerboard="true" inkscape:window-height="1375"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
borderlayer="true" borderlayer="true"
inkscape:showpageshadow="false" inkscape:showpageshadow="false"
inkscape:snap-nodes="false"
inkscape:snap-bbox="true"
showborder="false"> showborder="false">
<inkscape:grid <inkscape:grid
type="xygrid" type="xygrid"
id="grid3298" /> id="grid12954"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview> </sodipodi:namedview>
<metadata <metadata
id="metadata2748"> id="metadata2862">
<rdf:RDF> <rdf:RDF>
<cc:Work <cc:Work
rdf:about=""> rdf:about="">
@@ -80,24 +142,68 @@
inkscape:label="Layer 1" inkscape:label="Layer 1"
inkscape:groupmode="layer" inkscape:groupmode="layer"
id="layer1" id="layer1"
transform="translate(0,-291.17916)"> transform="translate(-444.64286,-781.36218)">
<rect <g
style="opacity:1;vector-effect:none;fill:#323233;fill-opacity:1;stroke:#272728;stroke-width:1.08532763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal" transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)"
id="rect3296" id="g37994">
width="44.446434" <g
height="20.910645" id="g37996"
x="0.625" transform="translate(-115,1277)">
y="291.71494" <rect
rx="10.455324" style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.19591837"
ry="10.073335" /> id="rect13475"
<rect width="98"
ry="10.455322" height="25"
rx="10.455322" x="644.5"
y="291.71494" y="484.61118"
x="0.5428465" rx="4.7429576"
height="20.910645" ry="3.8424656" />
width="21.142862" <rect
id="rect3300" ry="3.8424656"
style="opacity:1;vector-effect:none;fill:url(#linearGradient3331);fill-opacity:1;stroke:#151515;stroke-width:1.08532763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal" /> rx="4.7429576"
y="483.5"
x="644.5"
height="25"
width="98"
id="rect38000"
style="color:#000000;fill:url(#linearGradient12311-3-1-0-5-4);fill-opacity:1;fill-rule:nonzero;stroke:#16191a;stroke-width:1.37920942;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" />
</g>
<g
transform="translate(-49.946213,-1.890275)"
id="g38002">
<g
transform="translate(-115,1247)"
style="display:inline"
id="g38004">
<rect
ry="3.7972314"
rx="4.6871223"
y="515.5"
x="694.53046"
height="25"
width="45.969578"
id="rect38006"
style="color:#000000;fill:url(#linearGradient38024);fill-opacity:1;fill-rule:nonzero;stroke:#1f2020;stroke-width:1.37920964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
sodipodi:nodetypes="cc"
style="opacity:0.1;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 699.09675,516.7365 36.86904,0"
id="path38016"
inkscape:path-effect="#path-effect77541-4"
inkscape:original-d="m 699.09675,516.7365 36.86904,0"
inkscape:connector-curvature="0" />
</g>
</g>
<path
sodipodi:type="arc"
style="color:#000000;fill:none;stroke:#ffffff;stroke-width:2.15627193;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
id="path13479"
sodipodi:cx="16.4375"
sodipodi:cy="10.8125"
sodipodi:rx="4.3125"
sodipodi:ry="4.3125"
d="m 20.75,10.8125 a 4.3125,4.3125 0 1 1 -8.625,0 4.3125,4.3125 0 1 1 8.625,0 z"
transform="matrix(1.4212691,0,0,1.1514287,577.38488,1761.1138)" />
</g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@@ -0,0 +1,255 @@
<?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="65"
height="22"
id="svg2857"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="toggle-on-intl.svg">
<defs
id="defs2859">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective2865" />
<inkscape:perspective
id="perspective2843"
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="#linearGradient76469-7-7-4"
id="linearGradient38024"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0215462,0,0,1.0322581,717.22867,428.68472)"
x1="6"
y1="102.95528"
x2="6"
y2="84.505203" />
<linearGradient
inkscape:collect="always"
id="linearGradient76469-7-7-4">
<stop
style="stop-color:#2e3232;stop-opacity:1"
offset="0"
id="stop76471-7-1-5" />
<stop
style="stop-color:#3e4545;stop-opacity:1"
offset="1"
id="stop76473-9-0-0" />
</linearGradient>
<inkscape:path-effect
effect="spiro"
id="path-effect77541-4"
is_visible="true" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient37802"
id="linearGradient12311-3-1-0-5"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.5918367,0,0,0.85714285,-256.56122,59.071426)"
x1="610.13782"
y1="501.43866"
x2="610.13782"
y2="492.52756" />
<linearGradient
id="linearGradient37802"
inkscape:collect="always">
<stop
id="stop37804"
offset="0"
style="stop-color:#2c2c2c;stop-opacity:1" />
<stop
id="stop37806"
offset="1"
style="stop-color:#16191a;stop-opacity:1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient76469-7-7-4-3"
id="linearGradient77680"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,1.0322581,717.71949,428.68472)"
x1="6"
y1="102.95528"
x2="6"
y2="84.505203" />
<linearGradient
inkscape:collect="always"
id="linearGradient76469-7-7-4-3">
<stop
style="stop-color:#2e3232;stop-opacity:1"
offset="0"
id="stop76471-7-1-5-7" />
<stop
style="stop-color:#3e4545;stop-opacity:1"
offset="1"
id="stop76473-9-0-0-9" />
</linearGradient>
<inkscape:path-effect
effect="spiro"
id="path-effect77541-4-0"
is_visible="true" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient37802-8"
id="linearGradient12311-3-1-0-5-4"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.5918367,0,0,0.85714285,-256.56122,59.071426)"
x1="610.13782"
y1="501.43866"
x2="610.13782"
y2="492.52756" />
<linearGradient
id="linearGradient37802-8"
inkscape:collect="always">
<stop
id="stop37804-1"
offset="0"
style="stop-color:#2c2c2c;stop-opacity:1" />
<stop
id="stop37806-8"
offset="1"
style="stop-color:#16191a;stop-opacity:1" />
</linearGradient>
<linearGradient
y2="492.52756"
x2="610.13782"
y1="501.43866"
x1="610.13782"
gradientTransform="matrix(1.5918367,0,0,0.85714285,-900.56122,-423.92857)"
gradientUnits="userSpaceOnUse"
id="linearGradient13602"
xlink:href="#linearGradient37802-8"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="16.760995"
inkscape:cy="21.955673"
inkscape:document-units="px"
inkscape:current-layer="g37994"
showgrid="false"
inkscape:window-width="2560"
inkscape:window-height="1375"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
borderlayer="true"
inkscape:showpageshadow="false"
inkscape:snap-nodes="false"
inkscape:snap-bbox="true"
showborder="false">
<inkscape:grid
type="xygrid"
id="grid12954"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata2862">
<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></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-444.64286,-781.36218)">
<g
transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)"
id="g37994">
<g
id="g37996"
transform="translate(-115,1277)">
<rect
style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.19591837"
id="rect13475"
width="98"
height="25"
x="644.5"
y="484.61118"
rx="4.7429576"
ry="3.8424656" />
<rect
ry="3.8424656"
rx="4.7429576"
y="483.5"
x="644.5"
height="25"
width="98"
id="rect38000"
style="color:#000000;fill:url(#linearGradient12311-3-1-0-5-4);fill-opacity:1;fill-rule:nonzero;stroke:#16191a;stroke-width:1.37920942;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" />
</g>
<g
transform="translate(-49.946213,-1.890275)"
id="g38002">
<g
transform="translate(-115,1247)"
style="display:inline"
id="g38004">
<rect
ry="3.7972314"
rx="4.6871223"
y="515.5"
x="694.53046"
height="25"
width="45.969578"
id="rect38006"
style="color:#000000;fill:url(#linearGradient38024);fill-opacity:1;fill-rule:nonzero;stroke:#1f2020;stroke-width:1.37920964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
sodipodi:nodetypes="cc"
style="opacity:0.1;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 699.09675,516.7365 36.86904,0"
id="path38016"
inkscape:path-effect="#path-effect77541-4"
inkscape:original-d="m 699.09675,516.7365 36.86904,0"
inkscape:connector-curvature="0" />
</g>
</g>
<text
xml:space="preserve"
style="font-size:13.79166794px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
x="520.29974"
y="1997.0011"
id="text75614"
sodipodi:linespacing="125%"
transform="scale(1.1236771,0.88993537)"><tspan
sodipodi:role="line"
id="tspan75616"
x="520.29974"
y="1997.0011">OFF</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@@ -10,69 +10,117 @@
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="46" width="65"
height="22" height="22"
viewBox="0 0 46 22" id="svg2857"
version="1.1" version="1.1"
id="svg2751" inkscape:version="0.91 r13725"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
sodipodi:docname="toggle-on-intl.svg"> sodipodi:docname="toggle-on-intl.svg">
<defs <defs
id="defs2745"> id="defs2859">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective2865" />
<inkscape:perspective
id="perspective2843"
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 <linearGradient
inkscape:collect="always" inkscape:collect="always"
id="linearGradient3329"> xlink:href="#linearGradient77461"
id="linearGradient77551"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.3066667,0,0,1,-841.64667,-483)"
x1="1164.7644"
y1="962.93695"
x2="1164.7644"
y2="970.51404" />
<linearGradient
id="linearGradient77461"
inkscape:collect="always">
<stop <stop
style="stop-color:#39393a;stop-opacity:1;" id="stop77463"
offset="0" offset="0"
id="stop3325" /> style="stop-color:#182f4c;stop-opacity:1" />
<stop <stop
style="stop-color:#302f30;stop-opacity:1" id="stop77465"
offset="1" offset="1"
id="stop3327" /> style="stop-color:#205b9a;stop-opacity:1" />
</linearGradient> </linearGradient>
<linearGradient <linearGradient
inkscape:collect="always" inkscape:collect="always"
xlink:href="#linearGradient3329" xlink:href="#linearGradient76469-7-7-4"
id="linearGradient3331" id="linearGradient38024"
x1="53"
y1="294.42917"
x2="53"
y2="309.80417"
gradientUnits="userSpaceOnUse" gradientUnits="userSpaceOnUse"
gradientTransform="translate(-19)" /> gradientTransform="matrix(1.0215462,0,0,1.0322581,717.22867,428.68472)"
x1="6"
y1="102.95528"
x2="6"
y2="84.505203" />
<linearGradient
inkscape:collect="always"
id="linearGradient76469-7-7-4">
<stop
style="stop-color:#2e3232;stop-opacity:1"
offset="0"
id="stop76471-7-1-5" />
<stop
style="stop-color:#3e4545;stop-opacity:1"
offset="1"
id="stop76473-9-0-0" />
</linearGradient>
<inkscape:path-effect
effect="spiro"
id="path-effect77541-4"
is_visible="true" />
</defs> </defs>
<sodipodi:namedview <sodipodi:namedview
id="base" id="base"
pagecolor="#535353" pagecolor="#000000"
bordercolor="#666666" bordercolor="#666666"
borderopacity="1.0" borderopacity="1.0"
inkscape:pageopacity="1" inkscape:pageopacity="1"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:zoom="1" inkscape:zoom="1"
inkscape:cx="13.588971" inkscape:cx="37.410841"
inkscape:cy="14.124546" inkscape:cy="16.009314"
inkscape:document-units="px" inkscape:document-units="px"
inkscape:current-layer="layer1" inkscape:current-layer="g37994"
showgrid="false" showgrid="false"
units="px" inkscape:window-width="2560"
inkscape:pagecheckerboard="true" inkscape:window-height="1376"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
borderlayer="true" borderlayer="true"
inkscape:showpageshadow="false" inkscape:showpageshadow="false"
inkscape:snap-nodes="false"
inkscape:snap-bbox="true"
showborder="false"> showborder="false">
<inkscape:grid <inkscape:grid
type="xygrid" type="xygrid"
id="grid3298" /> id="grid12954"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview> </sodipodi:namedview>
<metadata <metadata
id="metadata2748"> id="metadata2862">
<rdf:RDF> <rdf:RDF>
<cc:Work <cc:Work
rdf:about=""> rdf:about="">
<dc:format>image/svg+xml</dc:format> <dc:format>image/svg+xml</dc:format>
<dc:type <dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title> <dc:title />
</cc:Work> </cc:Work>
</rdf:RDF> </rdf:RDF>
</metadata> </metadata>
@@ -80,24 +128,65 @@
inkscape:label="Layer 1" inkscape:label="Layer 1"
inkscape:groupmode="layer" inkscape:groupmode="layer"
id="layer1" id="layer1"
transform="translate(0,-291.17916)"> transform="translate(-444.64286,-781.36218)">
<rect <g
style="opacity:1;vector-effect:none;fill:#15539e;fill-opacity:1;stroke:#030e1b;stroke-width:1.08532763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal" transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)"
id="rect3296" id="g37994">
width="44.446434" <g
height="20.910645" id="g37996"
x="0.625" transform="translate(-115,1277)">
y="291.71494" <rect
rx="10.455324" style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.19591837"
ry="10.073335" /> id="rect13475"
<rect width="98"
ry="10.455322" height="25"
rx="10.455322" x="644.5"
y="291.71494" y="484.61118"
x="24.30357" rx="4.7429576"
height="20.910645" ry="3.8424656" />
width="21.142862" <rect
id="rect3300" ry="3.8424656"
style="opacity:1;vector-effect:none;fill:url(#linearGradient3331);fill-opacity:1;stroke:#030e1b;stroke-width:1.08532763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal" /> rx="4.7429576"
y="483.5"
x="644.5"
height="25"
width="98"
id="rect38000"
style="color:#000000;fill:url(#linearGradient77551);fill-opacity:1;fill-rule:nonzero;stroke:#182f4c;stroke-width:1.37920964;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
</g>
<g
transform="translate(2.0625,-2)"
id="g38002">
<g
transform="translate(-115,1247)"
style="display:inline"
id="g38004">
<rect
ry="3.7972314"
rx="4.6871223"
y="515.5"
x="694.53046"
height="25"
width="45.969578"
id="rect38006"
style="color:#000000;fill:url(#linearGradient38024);fill-opacity:1;fill-rule:nonzero;stroke:#1f2020;stroke-width:1.37920964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
sodipodi:nodetypes="cc"
style="opacity:0.1;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 699.09675,516.7365 36.86904,0"
id="path38016"
inkscape:path-effect="#path-effect77541-4"
inkscape:original-d="m 699.09675,516.7365 36.86904,0"
inkscape:connector-curvature="0" />
</g>
</g>
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
id="rect13678"
width="3.0646207"
height="12.414008"
x="554.77728"
y="1767.3566" />
</g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

207
data/theme/toggle-on-us.svg Normal file
View File

@@ -0,0 +1,207 @@
<?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="65"
height="22"
id="svg2857"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="toggle-on-us.svg">
<defs
id="defs2859">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective2865" />
<inkscape:perspective
id="perspective2843"
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="#linearGradient76469-7-7-4"
id="linearGradient38024"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0215462,0,0,1.0322581,717.22867,428.68472)"
x1="6"
y1="102.95528"
x2="6"
y2="84.505203" />
<linearGradient
inkscape:collect="always"
id="linearGradient76469-7-7-4">
<stop
style="stop-color:#2e3232;stop-opacity:1"
offset="0"
id="stop76471-7-1-5" />
<stop
style="stop-color:#3e4545;stop-opacity:1"
offset="1"
id="stop76473-9-0-0" />
</linearGradient>
<inkscape:path-effect
effect="spiro"
id="path-effect77541-4"
is_visible="true" />
<linearGradient
id="linearGradient77461-1"
inkscape:collect="always">
<stop
id="stop77463-1"
offset="0"
style="stop-color:#182f4c;stop-opacity:1" />
<stop
id="stop77465-4"
offset="1"
style="stop-color:#205b9a;stop-opacity:1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient77461-1"
id="linearGradient77551-6-5"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8527367,0,0,0.80554422,-969.41608,-778.00299)"
x1="1164.7644"
y1="962.93695"
x2="1164.7644"
y2="970.51404" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient77461-1"
id="linearGradient11198"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.3066667,0,0,1,-1066.3709,794.25325)"
x1="1322.5831"
y1="-312.51855"
x2="1322.5831"
y2="-306.53461" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="-26.798898"
inkscape:cy="5.3753009"
inkscape:document-units="px"
inkscape:current-layer="g37994"
showgrid="false"
inkscape:window-width="2560"
inkscape:window-height="1376"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
borderlayer="true"
inkscape:showpageshadow="false"
inkscape:snap-nodes="false"
inkscape:snap-bbox="true"
showborder="false">
<inkscape:grid
type="xygrid"
id="grid12954"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata2862">
<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
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-444.64286,-781.36218)">
<g
transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)"
id="g37994">
<g
id="g37996"
transform="translate(-115,1277)">
<rect
style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.19591837"
id="rect13475"
width="98"
height="25"
x="644.5"
y="484.61118"
rx="4.7429576"
ry="3.8424656" />
<rect
ry="3.8424656"
rx="4.7429576"
y="483.5"
x="644.5"
height="25"
width="98"
id="rect38000"
style="color:#000000;fill:url(#linearGradient11198);fill-opacity:1;fill-rule:nonzero;stroke:#182f4c;stroke-width:1.37920964;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;clip-rule:nonzero;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
</g>
<g
transform="translate(2.0625,-2)"
id="g38002">
<g
transform="translate(-115,1247)"
style="display:inline"
id="g38004">
<rect
ry="3.7972314"
rx="4.6871223"
y="515.5"
x="694.53046"
height="25"
width="45.969578"
id="rect38006"
style="color:#000000;fill:url(#linearGradient38024);fill-opacity:1;fill-rule:nonzero;stroke:#1f2020;stroke-width:1.37920964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
sodipodi:nodetypes="cc"
style="opacity:0.1;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 699.09675,516.7365 36.86904,0"
id="path38016"
inkscape:path-effect="#path-effect77541-4"
inkscape:original-d="m 699.09675,516.7365 36.86904,0"
inkscape:connector-curvature="0" />
</g>
</g>
<text
transform="scale(1.1000946,0.90901274)"
sodipodi:linespacing="125%"
id="text38018"
y="1955.5205"
x="495.94223"
style="font-size:13.29953671px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
xml:space="preserve"><tspan
y="1955.5205"
x="495.94223"
id="tspan38020"
sodipodi:role="line">ON</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@@ -121,8 +121,7 @@ var BarLevel = class {
cr.lineTo(x, (height - barLevelHeight) / 2); cr.lineTo(x, (height - barLevelHeight) / 2);
cr.lineTo(x, (height + barLevelHeight) / 2); cr.lineTo(x, (height + barLevelHeight) / 2);
cr.lineTo(barLevelBorderRadius + barLevelBorderWidth, (height + barLevelHeight) / 2); cr.lineTo(barLevelBorderRadius + barLevelBorderWidth, (height + barLevelHeight) / 2);
if (this._value > 0) Clutter.cairo_set_source_color(cr, barLevelActiveColor);
Clutter.cairo_set_source_color(cr, barLevelActiveColor);
cr.fillPreserve(); cr.fillPreserve();
Clutter.cairo_set_source_color(cr, barLevelActiveBorderColor); Clutter.cairo_set_source_color(cr, barLevelActiveBorderColor);
cr.setLineWidth(barLevelBorderWidth); cr.setLineWidth(barLevelBorderWidth);
@@ -144,19 +143,17 @@ var BarLevel = class {
} }
/* end progress bar arc */ /* end progress bar arc */
if (this._value > 0) { if (this._value <= this._overdriveStart)
if (this._value <= this._overdriveStart) Clutter.cairo_set_source_color(cr, barLevelActiveColor);
Clutter.cairo_set_source_color(cr, barLevelActiveColor); else
else Clutter.cairo_set_source_color(cr, barLevelOverdriveColor);
Clutter.cairo_set_source_color(cr, barLevelOverdriveColor); cr.arc(endX, height / 2, barLevelBorderRadius, TAU * 3 / 4, TAU * 1 / 4);
cr.arc(endX, height / 2, barLevelBorderRadius, TAU * 3 / 4, TAU * 1 / 4); cr.lineTo(Math.floor(endX), (height + barLevelHeight) / 2);
cr.lineTo(Math.floor(endX), (height + barLevelHeight) / 2); cr.lineTo(Math.floor(endX), (height - barLevelHeight) / 2);
cr.lineTo(Math.floor(endX), (height - barLevelHeight) / 2); cr.lineTo(endX, (height - barLevelHeight) / 2);
cr.lineTo(endX, (height - barLevelHeight) / 2); cr.fillPreserve();
cr.fillPreserve(); cr.setLineWidth(barLevelBorderWidth);
cr.setLineWidth(barLevelBorderWidth); cr.stroke();
cr.stroke();
}
/* draw overdrive separator */ /* draw overdrive separator */
if (overdriveActive) { if (overdriveActive) {

View File

@@ -118,7 +118,7 @@ var WorldClocksSection = class WorldClocksSection {
if (!clocks[i].location) if (!clocks[i].location)
continue; continue;
let l = world.deserialize(clocks[i].location); let l = world.deserialize(clocks[i].location);
if (l && l.get_timezone() != null) if (l)
this._locations.push({ location: l }); this._locations.push({ location: l });
} }

View File

@@ -175,7 +175,7 @@ var MessageDialogContent = GObject.registerClass({
this[`_${prop}`].add_style_class_name(`message-dialog-${prop}`); this[`_${prop}`].add_style_class_name(`message-dialog-${prop}`);
}); });
let textProps = { ellipsize: Pango.EllipsizeMode.NONE, let textProps = { ellipsize_mode: Pango.EllipsizeMode.NONE,
line_wrap: true }; line_wrap: true };
Object.assign(this._subtitle.clutter_text, textProps); Object.assign(this._subtitle.clutter_text, textProps);
Object.assign(this._body.clutter_text, textProps); Object.assign(this._body.clutter_text, textProps);

View File

@@ -1470,12 +1470,7 @@ var Keyboard = class Keyboard {
} }
_onKeyboardGroupsChanged(keyboard) { _onKeyboardGroupsChanged(keyboard) {
let nonGroupActors = [this._emojiSelection.actor, this._keypad.actor]; this._groups = [];
this._aspectContainer.get_children().filter(c => !nonGroupActors.includes(c)).forEach(c => {
c.destroy();
});
this._groups = {};
this._onGroupChanged(); this._onGroupChanged();
} }

View File

@@ -369,15 +369,17 @@ class DashSpacer extends St.Widget {
} }
vfunc_get_preferred_width(forHeight) { vfunc_get_preferred_width(forHeight) {
if (this._bindConstraint) let box = this.get_allocation_box();
return this._bindConstraint.source.get_preferred_width(forHeight); let minWidth = super.vfunc_get_preferred_width(forHeight)[0];
return super.vfunc_get_preferred_width(forHeight); let natWidth = box.x2 - box.x1;
return [minWidth, natWidth];
} }
vfunc_get_preferred_height(forWidth) { vfunc_get_preferred_height(forWidth) {
if (this._bindConstraint) let box = this.get_allocation_box();
return this._bindConstraint.source.get_preferred_height(forWidth); let minHeight = super.vfunc_get_preferred_height(forWidth)[0];
return super.vfunc_get_preferred_height(forWidth); let natHeight = box.y2 - box.y1;
return [minHeight, natHeight];
} }
}); });

View File

@@ -374,12 +374,12 @@ var PadDiagram = GObject.registerClass({
svgData += this._cssString(); svgData += this._cssString();
svgData += this._wrappingSvgFooter(); svgData += this._wrappingSvgFooter();
let istream = new Gio.MemoryInputStream(); let handle = new Rsvg.Handle();
istream.add_bytes(new GLib.Bytes(svgData)); handle.set_base_uri(GLib.path_get_dirname(this._imagePath));
handle.write(svgData);
handle.close();
return Rsvg.Handle.new_from_stream_sync(istream, return handle;
Gio.File.new_for_path(this._imagePath),
0, null);
} }
_updateDiagramScale() { _updateDiagramScale() {

View File

@@ -882,7 +882,7 @@ class Panel extends St.Widget {
} }
vfunc_allocate(box, flags) { vfunc_allocate(box, flags) {
this.set_allocation(box, flags); super.vfunc_allocate(box, flags);
let allocWidth = box.x2 - box.x1; let allocWidth = box.x2 - box.x1;
let allocHeight = box.y2 - box.y1; let allocHeight = box.y2 - box.y1;

View File

@@ -277,6 +277,12 @@ var Switch = class {
this.actor = new St.Bin({ style_class: 'toggle-switch', this.actor = new St.Bin({ style_class: 'toggle-switch',
accessible_role: Atk.Role.CHECK_BOX, accessible_role: Atk.Role.CHECK_BOX,
can_focus: true }); can_focus: true });
// Translators: this MUST be either "toggle-switch-us"
// (for toggle switches containing the English words
// "ON" and "OFF") or "toggle-switch-intl" (for toggle
// switches containing "◯" and "|"). Other values will
// simply result in invisible toggle switches.
this.actor.add_style_class_name(_("toggle-switch-us"));
this.setToggleState(state); this.setToggleState(state);
} }

View File

@@ -1730,24 +1730,14 @@ var NMApplet = class extends PanelMenu.SystemIndicator {
this._addDeviceWrapper(wrapper); this._addDeviceWrapper(wrapper);
this._nmDevices.push(device); this._nmDevices.push(device);
this._deviceChanged(device, skipSyncDeviceNames); if (!skipSyncDeviceNames)
this._syncDeviceNames();
device.connect('notify::interface', () => { if (wrapper instanceof NMConnectionSection) {
this._deviceChanged(device, false); this._connections.forEach(connection => {
}); wrapper.checkConnection(connection);
} });
} }
_deviceChanged(device, skipSyncDeviceNames) {
let wrapper = device._delegate;
if (!skipSyncDeviceNames)
this._syncDeviceNames();
if (wrapper instanceof NMConnectionSection) {
this._connections.forEach(connection => {
wrapper.checkConnection(connection);
});
} }
} }

View File

@@ -1488,13 +1488,8 @@ var WindowManager = class {
if (this._clearAnimationInfo(actor)) if (this._clearAnimationInfo(actor))
this._shellwm.completed_size_change(actor); this._shellwm.completed_size_change(actor);
let destroyId = actor.connect('destroy', () => {
this._clearAnimationInfo(actor);
});
actor.__animationInfo = { clone: actorClone, actor.__animationInfo = { clone: actorClone,
oldRect: oldFrameRect, oldRect: oldFrameRect };
destroyId: destroyId };
} }
_sizeChangedWindow(shellwm, actor) { _sizeChangedWindow(shellwm, actor) {
@@ -1555,7 +1550,6 @@ var WindowManager = class {
_clearAnimationInfo(actor) { _clearAnimationInfo(actor) {
if (actor.__animationInfo) { if (actor.__animationInfo) {
actor.__animationInfo.clone.destroy(); actor.__animationInfo.clone.destroy();
actor.disconnect(actor.__animationInfo.destroyId);
delete actor.__animationInfo; delete actor.__animationInfo;
return true; return true;
} }

View File

@@ -479,12 +479,12 @@ var WorkspacesDisplay = class {
this.actor.connect('notify::mapped', () => { this.actor.connect('notify::mapped', () => {
switchGesture.enabled = this.actor.mapped; switchGesture.enabled = this.actor.mapped;
}); });
switchGesture.enabled = this.actor.mapped;
this._primaryIndex = Main.layoutManager.primaryIndex; this._primaryIndex = Main.layoutManager.primaryIndex;
this._workspacesViews = []; this._workspacesViews = [];
this._primaryScrollAdjustment = null; this._primaryScrollAdjustment = null;
switchGesture.enabled = this.actor.mapped;
this._settings = new Gio.Settings({ schema_id: MUTTER_SCHEMA }); this._settings = new Gio.Settings({ schema_id: MUTTER_SCHEMA });
this._settings.connect('changed::workspaces-only-on-primary', this._settings.connect('changed::workspaces-only-on-primary',

View File

@@ -1,5 +1,5 @@
project('gnome-shell', 'c', project('gnome-shell', 'c',
version: '3.32.2', version: '3.32.0',
meson_version: '>= 0.47.0', meson_version: '>= 0.47.0',
license: 'GPLv2+' license: 'GPLv2+'
) )

128
po/de.po
View File

@@ -16,14 +16,14 @@
# Benjamin Steinwender <b@stbe.at>, 2013-2014. # Benjamin Steinwender <b@stbe.at>, 2013-2014.
# Bernd Homuth <dev@hmt.im>, 2014-2015, 2016, 2019. # Bernd Homuth <dev@hmt.im>, 2014-2015, 2016, 2019.
# Franco Della-Monica <franco.della.monica@gmail.com>, 2016. # Franco Della-Monica <franco.della.monica@gmail.com>, 2016.
# Tim Sabsch <tim@sabsch.com>, 2018-2019. # Tim Sabsch <tim@sabsch.com>, 2018.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
"POT-Creation-Date: 2019-05-08 10:16+0000\n" "POT-Creation-Date: 2019-03-02 19:56+0000\n"
"PO-Revision-Date: 2019-05-12 12:36+0200\n" "PO-Revision-Date: 2019-03-02 21:13+0100\n"
"Last-Translator: Tim Sabsch <tim@sabsch.com>\n" "Last-Translator: Tim Sabsch <tim@sabsch.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n" "Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: de\n" "Language: de\n"
@@ -390,6 +390,11 @@ msgstr ""
msgid "Network Login" msgid "Network Login"
msgstr "Netzwerkanmeldung" msgstr "Netzwerkanmeldung"
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: data/org.gnome.Shell.PortalHelper.desktop.in.in:9
msgid "network-workgroup"
msgstr "network-workgroup"
#: js/extensionPrefs/main.js:116 #: js/extensionPrefs/main.js:116
msgid "Somethings gone wrong" msgid "Somethings gone wrong"
msgstr "Etwas ist schiefgelaufen" msgstr "Etwas ist schiefgelaufen"
@@ -537,7 +542,7 @@ msgstr "abmelden;verlassen"
#: js/misc/systemActions.js:109 #: js/misc/systemActions.js:109
msgctxt "search-result" msgctxt "search-result"
msgid "Suspend" msgid "Suspend"
msgstr "Bereitschaft" msgstr "In Bereitschaft versetzen"
#. Translators: A list of keywords that match the suspend action, separated by semicolons #. Translators: A list of keywords that match the suspend action, separated by semicolons
#: js/misc/systemActions.js:112 #: js/misc/systemActions.js:112
@@ -757,12 +762,12 @@ msgstr "Zu Favoriten hinzufügen"
msgid "Show Details" msgid "Show Details"
msgstr "Details anzeigen" msgstr "Details anzeigen"
#: js/ui/appFavorites.js:149 #: js/ui/appFavorites.js:141
#, javascript-format #, javascript-format
msgid "%s has been added to your favorites." msgid "%s has been added to your favorites."
msgstr "%s wurde zu Ihren Favoriten hinzugefügt" msgstr "%s wurde zu Ihren Favoriten hinzugefügt"
#: js/ui/appFavorites.js:183 #: js/ui/appFavorites.js:175
#, javascript-format #, javascript-format
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s wurde aus Ihren Favoriten entfernt" msgstr "%s wurde aus Ihren Favoriten entfernt"
@@ -1048,7 +1053,7 @@ msgstr "Passwort der mobilen Breitbandverbindung"
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "Es wird ein Passwort benötigt, um sich mit »%s« zu verbinden." msgstr "Es wird ein Passwort benötigt, um sich mit »%s« zu verbinden."
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1664 #: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1665
msgid "Network Manager" msgid "Network Manager"
msgstr "Netzwerk-Verwaltung" msgstr "Netzwerk-Verwaltung"
@@ -1120,23 +1125,23 @@ msgstr "Weltuhren hinzufügen …"
msgid "World Clocks" msgid "World Clocks"
msgstr "Weltuhren" msgstr "Weltuhren"
#: js/ui/dateMenu.js:228 #: js/ui/dateMenu.js:222
msgid "Weather" msgid "Weather"
msgstr "Wetter" msgstr "Wetter"
#: js/ui/dateMenu.js:311 #: js/ui/dateMenu.js:305
msgid "Select a location…" msgid "Select a location…"
msgstr "Ort auswählen …" msgstr "Ort auswählen …"
#: js/ui/dateMenu.js:319 #: js/ui/dateMenu.js:313
msgid "Loading…" msgid "Loading…"
msgstr "Wird geladen …" msgstr "Wird geladen …"
#: js/ui/dateMenu.js:329 #: js/ui/dateMenu.js:323
msgid "Go online for weather information" msgid "Go online for weather information"
msgstr "Gehen Sie Online, um Wetterinformationen beziehen zu können" msgstr "Gehen Sie Online, um Wetterinformationen beziehen zu können"
#: js/ui/dateMenu.js:331 #: js/ui/dateMenu.js:325
msgid "Weather information is currently unavailable" msgid "Weather information is currently unavailable"
msgstr "Wetterinformationen sind momentan nicht verfügbar" msgstr "Wetterinformationen sind momentan nicht verfügbar"
@@ -1299,26 +1304,26 @@ msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "»%s« von extensions.gnome.org herunterladen und installieren?" msgstr "»%s« von extensions.gnome.org herunterladen und installieren?"
#. Translators: %s is an application name like "Settings" #. Translators: %s is an application name like "Settings"
#: js/ui/inhibitShortcutsDialog.js:78 #: js/ui/inhibitShortcutsDialog.js:50
#, javascript-format #, javascript-format
msgid "%s wants to inhibit shortcuts" msgid "%s wants to inhibit shortcuts"
msgstr "%s möchte Tastenkombinationen sperren" msgstr "%s möchte Tastenkombinationen sperren"
#: js/ui/inhibitShortcutsDialog.js:79 #: js/ui/inhibitShortcutsDialog.js:51
msgid "Application wants to inhibit shortcuts" msgid "Application wants to inhibit shortcuts"
msgstr "Die Anwendung möchte Tastenkombinationen sperren" msgstr "Die Anwendung möchte Tastenkombinationen sperren"
#. Translators: %s is a keyboard shortcut like "Super+x" #. Translators: %s is a keyboard shortcut like "Super+x"
#: js/ui/inhibitShortcutsDialog.js:88 #: js/ui/inhibitShortcutsDialog.js:60
#, javascript-format #, javascript-format
msgid "You can restore shortcuts by pressing %s." msgid "You can restore shortcuts by pressing %s."
msgstr "Sie können Tastenkombinationen durch Drücken von %s wiederherstellen." msgstr "Sie können Tastenkombinationen durch Drücken von %s wiederherstellen."
#: js/ui/inhibitShortcutsDialog.js:93 #: js/ui/inhibitShortcutsDialog.js:65
msgid "Deny" msgid "Deny"
msgstr "Ablehnen" msgstr "Ablehnen"
#: js/ui/inhibitShortcutsDialog.js:100 #: js/ui/inhibitShortcutsDialog.js:71
msgid "Allow" msgid "Allow"
msgstr "Zulassen" msgstr "Zulassen"
@@ -1371,13 +1376,13 @@ msgid "Leave On"
msgstr "Eingeschaltet lassen" msgstr "Eingeschaltet lassen"
#: js/ui/kbdA11yDialog.js:57 js/ui/status/bluetooth.js:133 #: js/ui/kbdA11yDialog.js:57 js/ui/status/bluetooth.js:133
#: js/ui/status/network.js:1263 #: js/ui/status/network.js:1264
msgid "Turn On" msgid "Turn On"
msgstr "Einschalten" msgstr "Einschalten"
#: js/ui/kbdA11yDialog.js:65 js/ui/status/bluetooth.js:133 #: js/ui/kbdA11yDialog.js:65 js/ui/status/bluetooth.js:133
#: js/ui/status/network.js:128 js/ui/status/network.js:310 #: js/ui/status/network.js:128 js/ui/status/network.js:310
#: js/ui/status/network.js:1263 js/ui/status/network.js:1375 #: js/ui/status/network.js:1264 js/ui/status/network.js:1376
#: js/ui/status/nightLight.js:39 js/ui/status/rfkill.js:79 #: js/ui/status/nightLight.js:39 js/ui/status/rfkill.js:79
#: js/ui/status/rfkill.js:106 #: js/ui/status/rfkill.js:106
msgid "Turn Off" msgid "Turn Off"
@@ -1387,7 +1392,7 @@ msgstr "Ausschalten"
msgid "Leave Off" msgid "Leave Off"
msgstr "Ausgeschaltet lassen" msgstr "Ausgeschaltet lassen"
#: js/ui/keyboard.js:200 #: js/ui/keyboard.js:203
msgid "Region & Language Settings" msgid "Region & Language Settings"
msgstr "Regions- und Spracheinstellungen" msgstr "Regions- und Spracheinstellungen"
@@ -1439,7 +1444,7 @@ msgstr "Quelle zeigen"
msgid "Web Page" msgid "Web Page"
msgstr "Webseite" msgstr "Webseite"
#: js/ui/messageTray.js:1480 #: js/ui/messageTray.js:1474
msgid "System Information" msgid "System Information"
msgstr "Systeminformationen" msgstr "Systeminformationen"
@@ -1523,11 +1528,11 @@ msgstr "Beenden"
#. Translators: If there is no suitable word for "Activities" #. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". #. in your language, you can use the word for "Overview".
#: js/ui/panel.js:470 #: js/ui/panel.js:471
msgid "Activities" msgid "Activities"
msgstr "Aktivitäten" msgstr "Aktivitäten"
#: js/ui/panel.js:745 #: js/ui/panel.js:746
msgctxt "System menu in the top bar" msgctxt "System menu in the top bar"
msgid "System" msgid "System"
msgstr "System" msgstr "System"
@@ -1536,6 +1541,15 @@ msgstr "System"
msgid "Top Bar" msgid "Top Bar"
msgstr "Oberes Panel" msgstr "Oberes Panel"
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: js/ui/popupMenu.js:285
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: js/ui/runDialog.js:64 #: js/ui/runDialog.js:64
msgid "Enter a Command" msgid "Enter a Command"
msgstr "Bitte geben Sie einen Befehl ein" msgstr "Bitte geben Sie einen Befehl ein"
@@ -1575,7 +1589,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d neue Benachrichtigung" msgstr[0] "%d neue Benachrichtigung"
msgstr[1] "%d neue Benachrichtigungen" msgstr[1] "%d neue Benachrichtigungen"
#: js/ui/screenShield.js:449 js/ui/status/system.js:271 #: js/ui/screenShield.js:449 js/ui/status/system.js:270
msgid "Lock" msgid "Lock"
msgstr "Sperren" msgstr "Sperren"
@@ -1590,11 +1604,11 @@ msgstr "GNOME muss den Bildschirm sperren"
#. #.
#. XXX: another option is to kick the user into the gdm login #. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs #. screen, where we're not affected by grabs
#: js/ui/screenShield.js:826 js/ui/screenShield.js:1299 #: js/ui/screenShield.js:834 js/ui/screenShield.js:1307
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Sperrung fehlgeschlagen" msgstr "Sperrung fehlgeschlagen"
#: js/ui/screenShield.js:827 js/ui/screenShield.js:1300 #: js/ui/screenShield.js:835 js/ui/screenShield.js:1308
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Sperrung wurde von einer Anwendung blockiert" msgstr "Sperrung wurde von einer Anwendung blockiert"
@@ -1758,7 +1772,7 @@ msgid "<unknown>"
msgstr "<Unbekannt>" msgstr "<Unbekannt>"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:416 js/ui/status/network.js:1292 #: js/ui/status/network.js:416 js/ui/status/network.js:1293
#, javascript-format #, javascript-format
msgid "%s Off" msgid "%s Off"
msgstr "%s ausgeschaltet" msgstr "%s ausgeschaltet"
@@ -1784,7 +1798,7 @@ msgid "%s Disconnecting"
msgstr "%s wird getrennt" msgstr "%s wird getrennt"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:434 js/ui/status/network.js:1284 #: js/ui/status/network.js:434 js/ui/status/network.js:1285
#, javascript-format #, javascript-format
msgid "%s Connecting" msgid "%s Connecting"
msgstr "%s wird verbunden" msgstr "%s wird verbunden"
@@ -1824,7 +1838,7 @@ msgid "Mobile Broadband Settings"
msgstr "Einstellungen der mobilen Breitbandverbindung" msgstr "Einstellungen der mobilen Breitbandverbindung"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:553 js/ui/status/network.js:1289 #: js/ui/status/network.js:553 js/ui/status/network.js:1290
#, javascript-format #, javascript-format
msgid "%s Hardware Disabled" msgid "%s Hardware Disabled"
msgstr "%s-Hardware ausgeschaltet" msgstr "%s-Hardware ausgeschaltet"
@@ -1896,72 +1910,72 @@ msgid "Wi-Fi Settings"
msgstr "Drahtlosnetzwerk-Einstellungen" msgstr "Drahtlosnetzwerk-Einstellungen"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:1280 #: js/ui/status/network.js:1281
#, javascript-format #, javascript-format
msgid "%s Hotspot Active" msgid "%s Hotspot Active"
msgstr "Hotspot %s eingeschaltet" msgstr "Hotspot %s eingeschaltet"
#. Translators: %s is a network identifier #. Translators: %s is a network identifier
#: js/ui/status/network.js:1295 #: js/ui/status/network.js:1296
#, javascript-format #, javascript-format
msgid "%s Not Connected" msgid "%s Not Connected"
msgstr "%s nicht verbunden" msgstr "%s nicht verbunden"
#: js/ui/status/network.js:1392 #: js/ui/status/network.js:1393
msgid "connecting…" msgid "connecting…"
msgstr "Verbindungsaufbau …" msgstr "Verbindungsaufbau …"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1395 #: js/ui/status/network.js:1396
msgid "authentication required" msgid "authentication required"
msgstr "Anmeldung erforderlich" msgstr "Anmeldung erforderlich"
#: js/ui/status/network.js:1397 #: js/ui/status/network.js:1398
msgid "connection failed" msgid "connection failed"
msgstr "Verbindung gescheitert" msgstr "Verbindung gescheitert"
#: js/ui/status/network.js:1447 #: js/ui/status/network.js:1448
msgid "VPN Settings" msgid "VPN Settings"
msgstr "VPN-Einstellungen" msgstr "VPN-Einstellungen"
#: js/ui/status/network.js:1464 #: js/ui/status/network.js:1465
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: js/ui/status/network.js:1474 #: js/ui/status/network.js:1475
msgid "VPN Off" msgid "VPN Off"
msgstr "VPN ausgeschaltet" msgstr "VPN ausgeschaltet"
#: js/ui/status/network.js:1535 js/ui/status/rfkill.js:82 #: js/ui/status/network.js:1536 js/ui/status/rfkill.js:82
msgid "Network Settings" msgid "Network Settings"
msgstr "Netzwerkeinstellungen" msgstr "Netzwerkeinstellungen"
#: js/ui/status/network.js:1564 #: js/ui/status/network.js:1565
#, javascript-format #, javascript-format
msgid "%s Wired Connection" msgid "%s Wired Connection"
msgid_plural "%s Wired Connections" msgid_plural "%s Wired Connections"
msgstr[0] "%s Kabelverbindung" msgstr[0] "%s Kabelverbindung"
msgstr[1] "%s Kabelverbindungen" msgstr[1] "%s Kabelverbindungen"
#: js/ui/status/network.js:1568 #: js/ui/status/network.js:1569
#, javascript-format #, javascript-format
msgid "%s Wi-Fi Connection" msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections" msgid_plural "%s Wi-Fi Connections"
msgstr[0] "%s Funknetzwerkverbindung" msgstr[0] "%s Funknetzwerkverbindung"
msgstr[1] "%s Funknetzwerkverbindungen" msgstr[1] "%s Funknetzwerkverbindungen"
#: js/ui/status/network.js:1572 #: js/ui/status/network.js:1573
#, javascript-format #, javascript-format
msgid "%s Modem Connection" msgid "%s Modem Connection"
msgid_plural "%s Modem Connections" msgid_plural "%s Modem Connections"
msgstr[0] "%s Modem-Verbindung" msgstr[0] "%s Modem-Verbindung"
msgstr[1] "%s Modem-Verbindungen" msgstr[1] "%s Modem-Verbindungen"
#: js/ui/status/network.js:1705 #: js/ui/status/network.js:1702
msgid "Connection failed" msgid "Connection failed"
msgstr "Verbindung gescheitert" msgstr "Verbindung gescheitert"
#: js/ui/status/network.js:1706 #: js/ui/status/network.js:1703
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Aktivierung der Netzwerkverbindung ist gescheitert" msgstr "Aktivierung der Netzwerkverbindung ist gescheitert"
@@ -2043,15 +2057,15 @@ msgstr "Abmelden"
msgid "Account Settings" msgid "Account Settings"
msgstr "Kontoeinstellungen" msgstr "Kontoeinstellungen"
#: js/ui/status/system.js:256 #: js/ui/status/system.js:255
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Hoch-/Querformats-Fixierung" msgstr "Hoch-/Querformats-Fixierung"
#: js/ui/status/system.js:282 #: js/ui/status/system.js:281
msgid "Suspend" msgid "Suspend"
msgstr "Bereitschaft" msgstr "In Bereitschaft versetzen"
#: js/ui/status/system.js:292 #: js/ui/status/system.js:291
msgid "Power Off" msgid "Power Off"
msgstr "Ausschalten" msgstr "Ausschalten"
@@ -2169,7 +2183,7 @@ msgstr[1] ""
#. Translators: This represents the size of a window. The first number is #. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. #. * the width of the window and the second is the height.
#: js/ui/windowManager.js:677 #: js/ui/windowManager.js:662
#, javascript-format #, javascript-format
msgid "%d × %d" msgid "%d × %d"
msgstr "%d × %d" msgstr "%d × %d"
@@ -2242,6 +2256,11 @@ msgstr "Auf den Bildschirm nach rechts verschieben"
msgid "Evolution Calendar" msgid "Evolution Calendar"
msgstr "Evolution-Kalender" msgstr "Evolution-Kalender"
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: src/calendar-server/evolution-calendar.desktop.in:6
msgid "evolution"
msgstr "evolution"
#: src/main.c:408 #: src/main.c:408
msgid "Print version" msgid "Print version"
msgstr "Version ausgeben" msgstr "Version ausgeben"
@@ -2260,12 +2279,12 @@ msgstr ""
msgid "List possible modes" msgid "List possible modes"
msgstr "Die möglichen Modi auflisten" msgstr "Die möglichen Modi auflisten"
#: src/shell-app.c:264 #: src/shell-app.c:260
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "Unbekannt" msgstr "Unbekannt"
#: src/shell-app.c:515 #: src/shell-app.c:511
#, c-format #, c-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "»%s« konnte nicht gestartet werden" msgstr "»%s« konnte nicht gestartet werden"
@@ -2304,15 +2323,6 @@ msgstr[1] "%u Eingänge"
msgid "System Sounds" msgid "System Sounds"
msgstr "Systemklänge" msgstr "Systemklänge"
#~ msgid "network-workgroup"
#~ msgstr "network-workgroup"
#~ msgid "toggle-switch-us"
#~ msgstr "toggle-switch-intl"
#~ msgid "evolution"
#~ msgstr "evolution"
#~ msgid "There was an error loading the preferences dialog for %s:" #~ msgid "There was an error loading the preferences dialog for %s:"
#~ msgstr "" #~ msgstr ""
#~ "Beim Laden des Einstellungsdialogs für %s ist ein Fehler aufgetreten:" #~ "Beim Laden des Einstellungsdialogs für %s ist ein Fehler aufgetreten:"

File diff suppressed because it is too large Load Diff

View File

@@ -1069,9 +1069,9 @@ _shell_app_add_window (ShellApp *app,
app->running_state->window_sort_stale = TRUE; app->running_state->window_sort_stale = TRUE;
app->running_state->windows = g_slist_prepend (app->running_state->windows, g_object_ref (window)); app->running_state->windows = g_slist_prepend (app->running_state->windows, g_object_ref (window));
g_signal_connect_object (window, "unmanaged", G_CALLBACK(shell_app_on_unmanaged), app, 0); g_signal_connect (window, "unmanaged", G_CALLBACK(shell_app_on_unmanaged), app);
g_signal_connect_object (window, "notify::user-time", G_CALLBACK(shell_app_on_user_time_changed), app, 0); g_signal_connect (window, "notify::user-time", G_CALLBACK(shell_app_on_user_time_changed), app);
g_signal_connect_object (window, "notify::skip-taskbar", G_CALLBACK(shell_app_on_skip_taskbar_changed), app, 0); g_signal_connect (window, "notify::skip-taskbar", G_CALLBACK(shell_app_on_skip_taskbar_changed), app);
shell_app_update_app_actions (app, window); shell_app_update_app_actions (app, window);
shell_app_ensure_busy_watch (app); shell_app_ensure_busy_watch (app);

View File

@@ -1136,14 +1136,10 @@ get_length_from_term_int (StThemeNode *node,
{ {
double value; double value;
GetFromTermResult result; GetFromTermResult result;
int scale_factor;
result = get_length_from_term (node, term, use_parent_font, &value); result = get_length_from_term (node, term, use_parent_font, &value);
if (result == VALUE_FOUND) if (result == VALUE_FOUND)
{ *length = (int) (0.5 + value);
g_object_get (node->context, "scale-factor", &scale_factor, NULL);
*length = (int) ((value / scale_factor) + 0.5) * scale_factor;
}
return result; return result;
} }

View File

@@ -65,8 +65,6 @@ struct _StWidgetPrivate
StThemeNodeTransition *transition_animation; StThemeNodeTransition *transition_animation;
guint is_style_dirty : 1; guint is_style_dirty : 1;
guint first_child_dirty : 1;
guint last_child_dirty : 1;
guint draw_bg_color : 1; guint draw_bg_color : 1;
guint draw_border_internal : 1; guint draw_border_internal : 1;
guint track_hover : 1; guint track_hover : 1;
@@ -74,7 +72,6 @@ struct _StWidgetPrivate
guint can_focus : 1; guint can_focus : 1;
gulong texture_file_changed_id; gulong texture_file_changed_id;
guint update_child_styles_id;
AtkObject *accessible; AtkObject *accessible;
AtkRole accessible_role; AtkRole accessible_role;
@@ -326,8 +323,6 @@ st_widget_dispose (GObject *gobject)
g_clear_object (&priv->last_visible_child); g_clear_object (&priv->last_visible_child);
G_OBJECT_CLASS (st_widget_parent_class)->dispose (gobject); G_OBJECT_CLASS (st_widget_parent_class)->dispose (gobject);
g_clear_handle_id (&priv->update_child_styles_id, g_source_remove);
} }
static void static void
@@ -1613,85 +1608,47 @@ find_nearest_visible_forward (ClutterActor *actor)
return next; return next;
} }
static gboolean
st_widget_update_child_styles (StWidget *widget)
{
StWidgetPrivate *priv = st_widget_get_instance_private (widget);
if (priv->first_child_dirty)
{
ClutterActor *first_child;
priv->first_child_dirty = FALSE;
first_child = clutter_actor_get_first_child (CLUTTER_ACTOR (widget));
st_widget_set_first_visible_child (widget,
find_nearest_visible_forward (first_child));
}
if (priv->last_child_dirty)
{
ClutterActor *last_child;
priv->last_child_dirty = FALSE;
last_child = clutter_actor_get_last_child (CLUTTER_ACTOR (widget));
st_widget_set_last_visible_child (widget,
find_nearest_visible_backwards (last_child));
}
priv->update_child_styles_id = 0;
return G_SOURCE_REMOVE;
}
static void
st_widget_queue_child_styles_update (StWidget *widget)
{
StWidgetPrivate *priv = st_widget_get_instance_private (widget);
if (priv->update_child_styles_id != 0)
return;
priv->update_child_styles_id = g_idle_add ((GSourceFunc) st_widget_update_child_styles, widget);
}
static void static void
st_widget_visible_notify (StWidget *widget, st_widget_visible_notify (StWidget *widget,
GParamSpec *pspec, GParamSpec *pspec,
gpointer data) gpointer data)
{ {
StWidgetPrivate *parent_priv;
ClutterActor *actor = CLUTTER_ACTOR (widget); ClutterActor *actor = CLUTTER_ACTOR (widget);
ClutterActor *parent = clutter_actor_get_parent (actor); ClutterActor *parent = clutter_actor_get_parent (actor);
if (parent == NULL || !ST_IS_WIDGET (parent)) if (parent == NULL || !ST_IS_WIDGET (parent))
return; return;
parent_priv = st_widget_get_instance_private (ST_WIDGET (parent));
if (clutter_actor_is_visible (actor)) if (clutter_actor_is_visible (actor))
{ {
ClutterActor *before, *after; ClutterActor *before, *after;
before = clutter_actor_get_previous_sibling (actor); before = clutter_actor_get_previous_sibling (actor);
if (find_nearest_visible_backwards (before) == NULL) if (find_nearest_visible_backwards (before) == NULL)
parent_priv->first_child_dirty = TRUE; st_widget_set_first_visible_child (ST_WIDGET (parent), actor);
after = clutter_actor_get_next_sibling (actor); after = clutter_actor_get_next_sibling (actor);
if (find_nearest_visible_forward (after) == NULL) if (find_nearest_visible_forward (after) == NULL)
parent_priv->last_child_dirty = TRUE; st_widget_set_last_visible_child (ST_WIDGET (parent), actor);
} }
else else
{ {
if (st_widget_has_style_pseudo_class (widget, "first-child")) if (st_widget_has_style_pseudo_class (widget, "first-child"))
parent_priv->first_child_dirty = TRUE; {
ClutterActor *new_first;
new_first = find_nearest_visible_forward (CLUTTER_ACTOR (widget));
st_widget_set_first_visible_child (ST_WIDGET (parent), new_first);
}
if (st_widget_has_style_pseudo_class (widget, "last-child")) if (st_widget_has_style_pseudo_class (widget, "last-child"))
parent_priv->last_child_dirty = TRUE; {
} ClutterActor *new_last;
if (parent_priv->first_child_dirty || parent_priv->last_child_dirty) new_last = find_nearest_visible_backwards (CLUTTER_ACTOR (widget));
st_widget_queue_child_styles_update (ST_WIDGET (parent)); st_widget_set_last_visible_child (ST_WIDGET (parent), new_last);
}
}
} }
static void static void
@@ -1699,10 +1656,10 @@ st_widget_first_child_notify (StWidget *widget,
GParamSpec *pspec, GParamSpec *pspec,
gpointer data) gpointer data)
{ {
StWidgetPrivate *priv = st_widget_get_instance_private (widget); ClutterActor *first_child;
priv->first_child_dirty = TRUE; first_child = clutter_actor_get_first_child (CLUTTER_ACTOR (widget));
st_widget_queue_child_styles_update (widget); st_widget_set_first_visible_child (widget, find_nearest_visible_forward (first_child));
} }
static void static void
@@ -1710,10 +1667,10 @@ st_widget_last_child_notify (StWidget *widget,
GParamSpec *pspec, GParamSpec *pspec,
gpointer data) gpointer data)
{ {
StWidgetPrivate *priv = st_widget_get_instance_private (widget); ClutterActor *last_child;
priv->last_child_dirty = TRUE; last_child = clutter_actor_get_last_child (CLUTTER_ACTOR (widget));
st_widget_queue_child_styles_update (widget); st_widget_set_last_visible_child (widget, find_nearest_visible_backwards (last_child));
} }
static void static void