moved to personal fennel config for awesome and added qutebrowser
56
awes2/widget/battery/icons/battery-100.svg
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_battery_full_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67v30.67c0 1.47 1.19 2.67 2.67 2.67h14.67c1.47 0 2.67-1.19 2.67-2.67V10.67C34 9.19 32.81 8 31.33 8z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
61
awes2/widget/battery/icons/battery-20.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_battery_20_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="M14 34v7.33C14 42.8 15.19 44 16.67 44h14.67c1.47 0 2.67-1.19 2.67-2.67V34H14z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M34 10.67C34 9.19 32.81 8 31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67V34h20V10.67z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
71
awes2/widget/battery/icons/battery-30.svg
Normal file
|
@ -0,0 +1,71 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
|
||||
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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_battery_30_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10">
|
||||
<linearGradient
|
||||
id="linearGradient824"
|
||||
osb:paint="solid">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop822" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M34 10.67C34 9.19 32.81 8 31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67V30h20V10.67z"
|
||||
id="path2"
|
||||
style="fill-opacity:0.40000001;fill:#ffffff" />
|
||||
<path
|
||||
d="M14 30v11.33C14 42.8 15.19 44 16.67 44h14.67c1.47 0 2.67-1.19 2.67-2.67V30H14z"
|
||||
id="path4"
|
||||
style="fill-opacity:1;fill:#ffffff" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
61
awes2/widget/battery/icons/battery-50.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_battery_50_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M34 10.67C34 9.19 32.81 8 31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67V26h20V10.67z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
<path
|
||||
d="M14 26v15.33C14 42.8 15.19 44 16.67 44h14.67c1.47 0 2.67-1.19 2.67-2.67V26H14z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
61
awes2/widget/battery/icons/battery-60.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_battery_60_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M34 10.67C34 9.19 32.81 8 31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67V22h20V10.67z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
<path
|
||||
d="M14 22v19.33C14 42.8 15.19 44 16.67 44h14.67c1.47 0 2.67-1.19 2.67-2.67V22H14z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
61
awes2/widget/battery/icons/battery-80.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_battery_80_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M34 10.67C34 9.19 32.81 8 31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67V18h20v-7.33z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
<path
|
||||
d="M14 18v23.33C14 42.8 15.19 44 16.67 44h14.67c1.47 0 2.67-1.19 2.67-2.67V18H14z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
61
awes2/widget/battery/icons/battery-90.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_battery_90_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M34 10.67C34 9.19 32.81 8 31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67V16h20v-5.33z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
<path
|
||||
d="M14 16v25.33C14 42.8 15.19 44 16.67 44h14.67c1.47 0 2.67-1.19 2.67-2.67V16H14z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
56
awes2/widget/battery/icons/battery-alert-red.svg
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="battery-alert.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67v30.67c0 1.47 1.19 2.67 2.67 2.67h14.67c1.47 0 2.67-1.19 2.67-2.67V10.67C34 9.19 32.81 8 31.33 8zM26 36h-4v-4h4v4zm0-8h-4V18h4v10z"
|
||||
id="path2"
|
||||
style="fill:#ff0000;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
56
awes2/widget/battery/icons/battery-alert.svg
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_battery_alert_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67v30.67c0 1.47 1.19 2.67 2.67 2.67h14.67c1.47 0 2.67-1.19 2.67-2.67V10.67C34 9.19 32.81 8 31.33 8zM26 36h-4v-4h4v4zm0-8h-4V18h4v10z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
75
awes2/widget/battery/icons/battery-charging-10.svg
Normal file
|
@ -0,0 +1,75 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="battery-charging-10.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="1.2291667"
|
||||
inkscape:cx="104.49589"
|
||||
inkscape:cy="142.20093"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<g
|
||||
id="g827"
|
||||
transform="matrix(5,0,0,5,-0.025,-960)">
|
||||
<g
|
||||
transform="translate(0,192)"
|
||||
id="g833">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 22,40 v -6 h -8 v 7.33 C 14,42.8 15.19,44 16.67,44 h 14.67 c 1.47,0 2.67,-1.19 2.67,-2.67 V 34 h -8.8 z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.4" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
d="M 31.33,8 H 28 V 4 H 20 V 8 H 16.67 C 15.19,8 14,9.19 14,10.67 V 34 h 8 v -5 h -4 l 8,-15 v 11 h 4 l -4.8,9 H 34 V 10.67 C 34,9.19 32.81,8 31.33,8 Z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:0.4" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1"
|
||||
id="path2-3"
|
||||
d="m 22,232 v -6 h -8 v 7.33 c 0,1.47 1.19,2.67 2.67,2.67 h 14.67 c 1.47,0 2.67,-1.19 2.67,-2.67 V 226 h -8.8 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
61
awes2/widget/battery/icons/battery-charging-20.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_battery_charging_20_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="M22 40v-6h-8v7.33C14 42.8 15.19 44 16.67 44h14.67c1.47 0 2.67-1.19 2.67-2.67V34h-8.8L22 40z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67V34h8v-5h-4l8-15v11h4l-4.8 9H34V10.67C34 9.19 32.81 8 31.33 8z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
61
awes2/widget/battery/icons/battery-charging-30.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_battery_charging_30_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67V29h4l8-15v11h4l-2.13 4H34V10.67C34 9.19 32.81 8 31.33 8z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
<path
|
||||
d="M22 40V29h-8v12.33C14 42.8 15.19 44 16.67 44h14.67c1.47 0 2.67-1.19 2.67-2.67V29h-6.13L22 40z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
61
awes2/widget/battery/icons/battery-charging-50.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_battery_charging_50_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="M28.93 27L22 40V29h-4l1.07-2H14v14.33C14 42.8 15.19 44 16.67 44h14.67c1.47 0 2.67-1.19 2.67-2.67V27h-5.08z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67V27h5.07L26 14v11h4l-1.07 2H34V10.67C34 9.19 32.81 8 31.33 8z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
61
awes2/widget/battery/icons/battery-charging-60.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_battery_charging_60_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67V22h7.73L26 14v8h8V10.67C34 9.19 32.81 8 31.33 8z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
<path
|
||||
d="M26 25h4l-8 15V29h-4l3.73-7H14v19.33C14 42.8 15.19 44 16.67 44h14.67c1.47 0 2.67-1.19 2.67-2.67V22h-8v3z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
61
awes2/widget/battery/icons/battery-charging-80.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_battery_charging_80_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67V18h9.87L26 14v4h8v-7.33C34 9.19 32.81 8 31.33 8z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
<path
|
||||
d="M26 25h4l-8 15V29h-4l5.87-11H14v23.33C14 42.8 15.19 44 16.67 44h14.67c1.47 0 2.67-1.19 2.67-2.67V18h-8v7z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
61
awes2/widget/battery/icons/battery-charging-90.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_battery_charging_90_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="M31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67V16h10.93L26 14v2h8v-5.33C34 9.19 32.81 8 31.33 8z"
|
||||
id="path2"
|
||||
fill-opacity=".3"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
<path
|
||||
d="M26 25h4l-8 15V29h-4l6.93-13H14v25.33C14 42.8 15.19 44 16.67 44h14.67c1.47 0 2.67-1.19 2.67-2.67V16h-8v9z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
56
awes2/widget/battery/icons/battery-fully-charged.svg
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_battery_charging_full_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67v30.67c0 1.47 1.19 2.67 2.67 2.67h14.67c1.47 0 2.67-1.19 2.67-2.67V10.67C34 9.19 32.81 8 31.33 8zM22 40V29h-4l8-15v11h4l-8 15z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
56
awes2/widget/battery/icons/battery-standard.svg
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_battery_std_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67v30.67c0 1.47 1.19 2.67 2.67 2.67h14.67c1.47 0 2.67-1.19 2.67-2.67V10.67C34 9.19 32.81 8 31.33 8z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
56
awes2/widget/battery/icons/battery-unknown.svg
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_battery_unknown_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M31.33 8H28V4h-8v4h-3.33C15.19 8 14 9.19 14 10.67v30.67c0 1.47 1.19 2.67 2.67 2.67h14.67c1.47 0 2.67-1.19 2.67-2.67V10.67C34 9.19 32.81 8 31.33 8zM25.9 35.9h-3.8v-3.8h3.8v3.8zm2.7-10.52s-.76.84-1.34 1.42c-.97.97-1.66 2.29-1.66 3.2h-3.2c0-1.66.92-3.05 1.86-3.99l1.86-1.89c.54-.54.88-1.29.88-2.12 0-1.66-1.34-3-3-3s-3 1.34-3 3h-3c0-3.31 2.69-6 6-6s6 2.69 6 6c0 1.32-.53 2.52-1.4 3.38z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
265
awes2/widget/battery/init.lua
Normal file
|
@ -0,0 +1,265 @@
|
|||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
local awful = require('awful')
|
||||
local gears = require('gears')
|
||||
local naughty = require('naughty')
|
||||
|
||||
local watch = awful.widget.watch
|
||||
|
||||
local apps = require('configuration.apps')
|
||||
|
||||
local clickable_container = require('widget.clickable-container')
|
||||
local dpi = require('beautiful').xresources.apply_dpi
|
||||
|
||||
local config_dir = gears.filesystem.get_configuration_dir()
|
||||
local widget_icon_dir = config_dir .. 'widget/battery/icons/'
|
||||
|
||||
|
||||
local return_button = function()
|
||||
|
||||
local battery_imagebox = wibox.widget {
|
||||
nil,
|
||||
{
|
||||
id = 'icon',
|
||||
image = widget_icon_dir .. 'battery-standard' .. '.svg',
|
||||
widget = wibox.widget.imagebox,
|
||||
resize = true
|
||||
},
|
||||
nil,
|
||||
expand = 'none',
|
||||
layout = wibox.layout.align.vertical
|
||||
}
|
||||
|
||||
local battery_percentage_text = wibox.widget {
|
||||
id = 'percent_text',
|
||||
text = '100%',
|
||||
font = 'VictorMono Nerd Font 10',
|
||||
align = 'center',
|
||||
valign = 'center',
|
||||
visible = true,
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
|
||||
local battery_widget = wibox.widget {
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
spacing = dpi(0),
|
||||
battery_imagebox,
|
||||
battery_percentage_text
|
||||
}
|
||||
|
||||
|
||||
local battery_button = wibox.widget {
|
||||
{
|
||||
battery_widget,
|
||||
margins = dpi(7),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
battery_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
awful.spawn(apps.default.power_manager , false)
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
local battery_tooltip = awful.tooltip
|
||||
{
|
||||
objects = {battery_button},
|
||||
text = 'None',
|
||||
mode = 'outside',
|
||||
align = 'right',
|
||||
margin_leftright = dpi(8),
|
||||
margin_topbottom = dpi(8),
|
||||
preferred_positions = {'right', 'left', 'top', 'bottom'}
|
||||
}
|
||||
|
||||
-- Get battery info script
|
||||
local get_battery_info = function()
|
||||
awful.spawn.easy_async_with_shell('upower -i (upower -e | rg BAT)', function(stdout)
|
||||
|
||||
if (stdout == nil or stdout == '') then
|
||||
battery_tooltip:set_text('No battery detected!')
|
||||
battery_widget:set_visible(true)
|
||||
return
|
||||
end
|
||||
|
||||
-- Remove new line from the last line
|
||||
battery_tooltip:set_text(stdout:sub(1, -2))
|
||||
end)
|
||||
end
|
||||
|
||||
-- Update tooltip on startup
|
||||
get_battery_info()
|
||||
|
||||
-- Update tooltip on hover
|
||||
battery_widget:connect_signal('mouse::enter', function()
|
||||
get_battery_info()
|
||||
end)
|
||||
|
||||
|
||||
local check_percentage_cmd = [[
|
||||
upower -i (upower -e | rg BAT | rg 1) | rg percentage | awk '{print $2}' | tr -d '\n%'
|
||||
]]
|
||||
|
||||
local check_status_cmd = [[bash -c "
|
||||
upower -i (upower -e | rg BAT | rg 1) | rg state | awk '{print $2}' | tr -d '\n'
|
||||
"]]
|
||||
|
||||
local last_battery_check = os.time()
|
||||
local notify_critcal_battery = true
|
||||
|
||||
local function show_battery_warning()
|
||||
naughty.notification ({
|
||||
icon = widget_icon_dir .. 'battery-alert.svg',
|
||||
app_name = 'System notification',
|
||||
title = 'Battery is dying!',
|
||||
message = 'Hey, I think we have a problem here. Save your work before reaching the oblivion.',
|
||||
urgency = 'critical'
|
||||
})
|
||||
end
|
||||
|
||||
local update_battery = function(status)
|
||||
|
||||
local status = status:gsub('%\n', '')
|
||||
|
||||
awful.spawn.easy_async_with_shell(check_percentage_cmd, function(stdout)
|
||||
|
||||
local battery_percentage = tonumber(stdout)
|
||||
|
||||
battery_widget.spacing = dpi(5)
|
||||
battery_percentage_text.visible = true
|
||||
battery_percentage_text:set_text(battery_percentage .. "%")
|
||||
|
||||
local icon_name = 'battery'
|
||||
|
||||
|
||||
if status:match('discharging') then
|
||||
|
||||
if battery_percentage >= 0 and battery_percentage < 10 then
|
||||
|
||||
icon_name = icon_name .. '-' .. 'alert-red'
|
||||
|
||||
if os.difftime(os.time(), last_battery_check) > 300 or notify_critcal_battery then
|
||||
last_battery_check = os.time()
|
||||
notify_critcal_battery = false
|
||||
show_battery_warning()
|
||||
end
|
||||
|
||||
elseif battery_percentage > 10 and battery_percentage < 20 then
|
||||
|
||||
icon_name = icon_name .. '-' .. '10'
|
||||
|
||||
elseif battery_percentage >= 20 and battery_percentage < 30 then
|
||||
|
||||
icon_name = icon_name .. '-' .. '20'
|
||||
|
||||
elseif battery_percentage >= 30 and battery_percentage < 50 then
|
||||
|
||||
icon_name = icon_name .. '-' .. '30'
|
||||
|
||||
elseif battery_percentage >= 50 and battery_percentage < 60 then
|
||||
|
||||
icon_name = icon_name .. '-' .. '50'
|
||||
|
||||
elseif battery_percentage >= 60 and battery_percentage < 80 then
|
||||
|
||||
icon_name = icon_name .. '-' .. '60'
|
||||
|
||||
elseif battery_percentage >= 80 and battery_percentage < 90 then
|
||||
|
||||
icon_name = icon_name .. '-' .. '80'
|
||||
|
||||
elseif battery_percentage >= 90 and battery_percentage < 100 then
|
||||
|
||||
icon_name = icon_name .. '-' .. '90'
|
||||
|
||||
elseif battery_percentage == 100 then
|
||||
|
||||
icon_name = icon_name .. '-' .. battery_percentage
|
||||
end
|
||||
|
||||
elseif status:match('charging') then
|
||||
|
||||
if battery_percentage > 0 and battery_percentage < 20 then
|
||||
|
||||
icon_name = icon_name .. '-' .. status .. '-' .. '10'
|
||||
|
||||
elseif battery_percentage >= 20 and battery_percentage < 30 then
|
||||
|
||||
icon_name = icon_name .. '-' .. status .. '-' .. '20'
|
||||
|
||||
elseif battery_percentage >= 30 and battery_percentage < 50 then
|
||||
|
||||
icon_name = icon_name .. '-' .. status .. '-' .. '30'
|
||||
|
||||
elseif battery_percentage >= 50 and battery_percentage < 60 then
|
||||
|
||||
icon_name = icon_name .. '-' .. status .. '-' .. '50'
|
||||
|
||||
elseif battery_percentage >= 60 and battery_percentage < 80 then
|
||||
|
||||
icon_name = icon_name .. '-' .. status .. '-' .. '60'
|
||||
|
||||
elseif battery_percentage >= 80 and battery_percentage < 90 then
|
||||
|
||||
icon_name = icon_name .. '-' .. status .. '-' .. '80'
|
||||
|
||||
elseif battery_percentage >= 90 and battery_percentage < 100 then
|
||||
|
||||
icon_name = icon_name .. '-' .. status .. '-' .. '90'
|
||||
|
||||
else
|
||||
icon_name = icon_name .. '-' .. 'fully-charged'
|
||||
end
|
||||
|
||||
elseif status:match('fully') then
|
||||
|
||||
icon_name = icon_name .. '-' .. '100'
|
||||
|
||||
end
|
||||
|
||||
-- Debugger ;)
|
||||
-- naughty.notification({message=widget_icon_dir .. icon_name .. '.svg'})
|
||||
|
||||
battery_imagebox.icon:set_image(gears.surface.load_uncached(widget_icon_dir .. icon_name .. '.svg'))
|
||||
|
||||
collectgarbage('collect')
|
||||
end)
|
||||
end
|
||||
|
||||
-- Watch status if charging, discharging, fully-charged
|
||||
watch(check_status_cmd, 5, function(widget, stdout)
|
||||
|
||||
-- If no output or battery detected
|
||||
if (stdout == nil or stdout == '') then
|
||||
|
||||
battery_widget.spacing = dpi(0)
|
||||
battery_percentage_text.visible = true
|
||||
|
||||
battery_tooltip:set_text('No battery detected!')
|
||||
battery_imagebox.icon:set_image(gears.surface.load_uncached(widget_icon_dir .. 'battery-unknown' .. '.svg'))
|
||||
|
||||
return
|
||||
|
||||
end
|
||||
|
||||
update_battery(stdout)
|
||||
|
||||
end)
|
||||
|
||||
return battery_button
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
return return_button
|
127
awes2/widget/blue-light/init.lua
Normal file
|
@ -0,0 +1,127 @@
|
|||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
local gears = require('gears')
|
||||
|
||||
local dpi = require('beautiful').xresources.apply_dpi
|
||||
local clickable_container = require('widget.window-effects.clickable-container')
|
||||
|
||||
local icons = require('theme.icons')
|
||||
|
||||
local blue_light_state = nil
|
||||
|
||||
local action_name = wibox.widget {
|
||||
text = 'Blue Light Filter',
|
||||
font = 'SF Pro Text Regular 11',
|
||||
align = 'left',
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
local button_widget = wibox.widget {
|
||||
{
|
||||
id = 'icon',
|
||||
image = icons.toggled_off,
|
||||
widget = wibox.widget.imagebox,
|
||||
resize = true
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
|
||||
local widget_button = wibox.widget {
|
||||
{
|
||||
button_widget,
|
||||
top = dpi(7),
|
||||
bottom = dpi(7),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
|
||||
local update_imagebox = function()
|
||||
local button_icon = button_widget.icon
|
||||
if blue_light_state then
|
||||
button_icon:set_image(icons.toggled_on)
|
||||
else
|
||||
button_icon:set_image(icons.toggled_off)
|
||||
end
|
||||
end
|
||||
|
||||
local kill_state = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
redshift -x
|
||||
kill -9 $(pgrep redshift)
|
||||
]],
|
||||
function(stdout)
|
||||
stdout = tonumber(stdout)
|
||||
if stdout then
|
||||
blue_light_state = false
|
||||
update_imagebox()
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
kill_state()
|
||||
|
||||
local toggle_action = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
if [ ! -z $(pgrep redshift) ];
|
||||
then
|
||||
redshift -x && pkill redshift && killall redshift
|
||||
echo 'OFF'
|
||||
else
|
||||
redshift -l 0:0 -t 4500:4500 -r &>/dev/null &
|
||||
echo 'ON'
|
||||
fi
|
||||
]],
|
||||
function(stdout)
|
||||
if stdout:match('ON') then
|
||||
blue_light_state = true
|
||||
else
|
||||
blue_light_state = false
|
||||
end
|
||||
update_imagebox()
|
||||
end
|
||||
)
|
||||
|
||||
end
|
||||
|
||||
widget_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
toggle_action()
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
local action_widget = wibox.widget {
|
||||
{
|
||||
action_name,
|
||||
nil,
|
||||
{
|
||||
widget_button,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
},
|
||||
layout = wibox.layout.align.horizontal,
|
||||
},
|
||||
left = dpi(24),
|
||||
right = dpi(24),
|
||||
forced_height = dpi(48),
|
||||
widget = wibox.container.margin
|
||||
}
|
||||
|
||||
awesome.connect_signal(
|
||||
'widget::blue_light:toggle',
|
||||
function()
|
||||
toggle_action()
|
||||
end
|
||||
)
|
||||
|
||||
return action_widget
|
174
awes2/widget/bluetooth/bluetooth-toggle.lua
Normal file
|
@ -0,0 +1,174 @@
|
|||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
local gears = require('gears')
|
||||
local naughty = require('naughty')
|
||||
|
||||
local watch = awful.widget.watch
|
||||
local dpi = require('beautiful').xresources.apply_dpi
|
||||
|
||||
local clickable_container = require('widget.bluetooth.clickable-container')
|
||||
|
||||
local config_dir = gears.filesystem.get_configuration_dir()
|
||||
local widget_icon_dir = config_dir .. 'widget/bluetooth/icons/'
|
||||
|
||||
local icons = require('theme.icons')
|
||||
|
||||
local device_state = false
|
||||
|
||||
|
||||
|
||||
|
||||
local action_name = wibox.widget {
|
||||
text = 'Bluetooth Connection',
|
||||
font = 'SF Pro Text Regular 11',
|
||||
align = 'left',
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
local button_widget = wibox.widget {
|
||||
{
|
||||
id = 'icon',
|
||||
image = icons.toggled_off,
|
||||
widget = wibox.widget.imagebox,
|
||||
resize = true
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
|
||||
local widget_button = wibox.widget {
|
||||
{
|
||||
button_widget,
|
||||
top = dpi(7),
|
||||
bottom = dpi(7),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
local action_widget = wibox.widget {
|
||||
{
|
||||
action_name,
|
||||
nil,
|
||||
{
|
||||
widget_button,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
},
|
||||
layout = wibox.layout.align.horizontal,
|
||||
},
|
||||
left = dpi(24),
|
||||
right = dpi(24),
|
||||
forced_height = dpi(48),
|
||||
widget = wibox.container.margin
|
||||
}
|
||||
|
||||
|
||||
local update_imagebox = function()
|
||||
if device_state then
|
||||
|
||||
button_widget.icon:set_image(icons.toggled_on)
|
||||
else
|
||||
button_widget.icon:set_image(icons.toggled_off)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local check_device_state = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
'rfkill list bluetooth',
|
||||
function(stdout)
|
||||
|
||||
if stdout:match('Soft blocked: yes') then
|
||||
device_state = false
|
||||
else
|
||||
device_state = true
|
||||
end
|
||||
|
||||
update_imagebox()
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
check_device_state()
|
||||
|
||||
|
||||
local power_on_cmd = [[
|
||||
rfkill unblock bluetooth
|
||||
|
||||
# Create an AwesomeWM Notification
|
||||
awesome-client "
|
||||
naughty = require('naughty')
|
||||
naughty.notification({
|
||||
app_name = 'Bluetooth Manager',
|
||||
title = 'System Notification',
|
||||
message = 'Initializing bluetooth device...',
|
||||
icon = ']] .. widget_icon_dir .. 'loading' .. '.svg' .. [['
|
||||
})
|
||||
"
|
||||
|
||||
# Add a delay here so we can enable the bluetooth
|
||||
sleep 1
|
||||
|
||||
bluetoothctl power on
|
||||
]]
|
||||
|
||||
local power_off_cmd = [[
|
||||
bluetoothctl power off
|
||||
rfkill block bluetooth
|
||||
|
||||
# Create an AwesomeWM Notification
|
||||
awesome-client "
|
||||
naughty = require('naughty')
|
||||
naughty.notification({
|
||||
app_name = 'Bluetooth Manager',
|
||||
title = 'System Notification',
|
||||
message = 'The bluetooth device has been disabled.',
|
||||
icon = ']] .. widget_icon_dir .. 'bluetooth-off' .. '.svg' .. [['
|
||||
})
|
||||
"
|
||||
]]
|
||||
|
||||
|
||||
local toggle_action = function()
|
||||
|
||||
if device_state then
|
||||
device_state = false
|
||||
awful.spawn.easy_async_with_shell(
|
||||
power_off_cmd,
|
||||
function(stdout) end
|
||||
)
|
||||
else
|
||||
device_state = true
|
||||
awful.spawn.easy_async_with_shell(
|
||||
power_on_cmd,
|
||||
function(stdout) end
|
||||
)
|
||||
end
|
||||
|
||||
update_imagebox()
|
||||
end
|
||||
|
||||
|
||||
widget_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
toggle_action()
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
watch(
|
||||
'rfkill list bluetooth',
|
||||
5,
|
||||
function(_, stdout)
|
||||
check_device_state()
|
||||
collectgarbage('collect')
|
||||
end
|
||||
)
|
||||
|
||||
|
||||
return action_widget
|
35
awes2/widget/bluetooth/clickable-container.lua
Normal file
|
@ -0,0 +1,35 @@
|
|||
local wibox = require('wibox')
|
||||
|
||||
function build(widget)
|
||||
local container =
|
||||
wibox.widget {
|
||||
widget,
|
||||
widget = wibox.container.background,
|
||||
}
|
||||
local old_cursor, old_wibox
|
||||
container:connect_signal(
|
||||
'mouse::enter',
|
||||
function()
|
||||
-- Hm, no idea how to get the wibox from this signal's arguments...
|
||||
local w = mouse.current_wibox
|
||||
if w then
|
||||
old_cursor, old_wibox = w.cursor, w
|
||||
w.cursor = 'hand1'
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
container:connect_signal(
|
||||
'mouse::leave',
|
||||
function()
|
||||
if old_wibox then
|
||||
old_wibox.cursor = old_cursor
|
||||
old_wibox = nil
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
return container
|
||||
end
|
||||
|
||||
return build
|
57
awes2/widget/bluetooth/icons/bluetooth-connected.svg
Normal file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="bluetooth-connected.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="0.86915209"
|
||||
inkscape:cx="-203.9165"
|
||||
inkscape:cy="77.465699"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 70,120 50,100 30,120 50,140 Z M 177.05,77.05 120,20 H 110 V 95.85 L 64.15,50 50,64.15 105.85,120 50,175.85 64.15,190 110,144.15 V 220 h 10 L 177.05,162.95 134.15,120 Z M 130,58.3 148.8,77.1 130,95.85 Z M 148.8,162.95 130,181.7 V 144.1 Z M 190,100 l -20,20 20,20 20,-20 z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:5"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
5
awes2/widget/bluetooth/icons/bluetooth-off.svg
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full" width="240" height="240" viewBox="0 0 24.00 24.00" enable-background="new 0 0 24.00 24.00" xml:space="preserve">
|
||||
<path fill="#ffffff" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 12.9975,5.83L 14.8775,7.71L 13.2813,9.31125L 14.6925,10.7175L 17.71,7.7L 12.0025,2.0025L 11.0013,2.0025L 11.0013,7.03125L 12.9975,9.02875M 5.41,3.99875L 3.99875,5.41L 10.5912,12.0025L 5,17.5875L 6.41125,18.9988L 11.0013,14.4088L 11.0013,22.0025L 12.0025,22.0025L 16.2887,17.71L 18.5888,20L 20,18.5887M 12.9975,18.1687L 12.9975,14.4088L 14.8775,16.2888"/>
|
||||
</svg>
|
57
awes2/widget/bluetooth/icons/bluetooth-scanning.svg
Normal file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="bluetooth-scanning.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="0.43457604"
|
||||
inkscape:cx="-749.4527"
|
||||
inkscape:cy="-132.18179"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="m 142.4,120.1 23.2,23.2 c 2.8,-7.25 4.4,-15.1 4.4,-23.3 0,-8.15 -1.55,-15.95 -4.3,-23.15 z M 195.3,67.15 182.65,79.8 c 6.25,12.05 9.85,25.7 9.85,40.25 0,14.55 -3.6,28.15 -9.85,40.25 l 12,12 C 204.3,156.8 210,138.65 210,119.15 c 0,-19.1 -5.45,-36.85 -14.7,-52 z M 157.05,77.05 100,20 H 90 V 95.85 L 44.15,50 30,64.15 85.85,120 30,175.85 44.15,190 90,144.15 V 220 h 10 L 157.05,162.95 114.15,120 Z M 110,58.3 128.8,77.1 110,95.85 Z M 128.8,162.95 110,181.7 v -37.6 z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
5
awes2/widget/bluetooth/icons/bluetooth.svg
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full" width="240" height="240" viewBox="0 0 24.00 24.00" enable-background="new 0 0 24.00 24.00" xml:space="preserve">
|
||||
<path fill="#ffffff" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 14.8783,16.2911L 12.9993,18.1701L 12.9993,14.4121M 12.9993,5.82607L 14.8783,7.70507L 12.9993,9.58407M 17.7063,7.70507L 11.9993,1.99807L 10.9993,1.99807L 10.9993,9.58407L 6.41331,4.99807L 4.99931,6.41207L 10.5853,11.9981L 4.99931,17.5841L 6.41331,18.9981L 10.9993,14.4121L 10.9993,21.9981L 11.9993,21.9981L 17.7063,16.2911L 13.4133,11.9981L 17.7063,7.70507 Z "/>
|
||||
</svg>
|
57
awes2/widget/bluetooth/icons/loading.svg
Normal file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_sync_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="0.61458333"
|
||||
inkscape:cx="-276.66458"
|
||||
inkscape:cy="-76.310045"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 120,47.272727 V 20 L 83.636361,56.363636 120,92.72727 V 65.454545 c 30.13636,0 54.54545,24.409095 54.54545,54.545455 0,9.22727 -2.31818,17.86364 -6.31818,25.5 l 13.27272,13.27273 C 188.54545,147.5 192.72727,134.27273 192.72727,120 192.72727,79.818182 160.18181,47.272727 120,47.272727 Z m 0,127.272723 c -30.136366,0 -54.545457,-24.40909 -54.545457,-54.54545 0,-9.22727 2.318182,-17.86364 6.318182,-25.5 L 58.499998,81.227273 C 51.454543,92.5 47.272725,105.72727 47.272725,120 c 0,40.18182 32.545455,72.72727 72.727275,72.72727 V 220 L 156.36363,183.63636 120,147.27273 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:4.5454545" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
90
awes2/widget/bluetooth/init.lua
Normal file
|
@ -0,0 +1,90 @@
|
|||
-------------------------------------------------
|
||||
-- Bluetooth Widget for Awesome Window Manager
|
||||
-- Shows the bluetooth status using the bluetoothctl command
|
||||
-- Better with Blueman Manager
|
||||
-------------------------------------------------
|
||||
|
||||
local awful = require('awful')
|
||||
local gears = require('gears')
|
||||
local naughty = require('naughty')
|
||||
local wibox = require('wibox')
|
||||
|
||||
local watch = awful.widget.watch
|
||||
local dpi = require('beautiful').xresources.apply_dpi
|
||||
|
||||
local apps = require('configuration.apps')
|
||||
|
||||
local clickable_container = require('widget.clickable-container')
|
||||
|
||||
local config_dir = gears.filesystem.get_configuration_dir()
|
||||
|
||||
local widget_icon_dir = config_dir .. 'widget/bluetooth/icons/'
|
||||
|
||||
local return_button = function()
|
||||
|
||||
local widget =
|
||||
wibox.widget {
|
||||
{
|
||||
id = 'icon',
|
||||
image = widget_icon_dir .. 'bluetooth-off' .. '.svg',
|
||||
widget = wibox.widget.imagebox,
|
||||
resize = true
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
|
||||
local widget_button = wibox.widget {
|
||||
{
|
||||
widget,
|
||||
margins = dpi(7),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
widget_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
awful.spawn(apps.default.bluetooth_manager, false)
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
local bluetooth_tooltip = awful.tooltip
|
||||
{
|
||||
objects = {widget_button},
|
||||
mode = 'outside',
|
||||
align = 'right',
|
||||
margin_leftright = dpi(8),
|
||||
margin_topbottom = dpi(8),
|
||||
preferred_positions = {'right', 'left', 'top', 'bottom'}
|
||||
}
|
||||
|
||||
watch(
|
||||
'rfkill list bluetooth',
|
||||
5,
|
||||
function(_, stdout)
|
||||
local widget_icon_name = nil
|
||||
if stdout:match('Soft blocked: yes') then
|
||||
widget_icon_name = 'bluetooth-off'
|
||||
bluetooth_tooltip.markup = 'Bluetooth is off'
|
||||
else
|
||||
widget_icon_name = 'bluetooth'
|
||||
bluetooth_tooltip.markup = 'Bluetooth is on'
|
||||
end
|
||||
widget.icon:set_image(widget_icon_dir .. widget_icon_name .. '.svg')
|
||||
collectgarbage('collect')
|
||||
end,
|
||||
widget
|
||||
)
|
||||
|
||||
return widget_button
|
||||
|
||||
end
|
||||
|
||||
return return_button
|
140
awes2/widget/brightness/brightness-slider.lua
Normal file
|
@ -0,0 +1,140 @@
|
|||
local wibox = require('wibox')
|
||||
local gears = require('gears')
|
||||
local awful = require('awful')
|
||||
local beautiful = require('beautiful')
|
||||
|
||||
local spawn = awful.spawn
|
||||
|
||||
local dpi = beautiful.xresources.apply_dpi
|
||||
|
||||
local icons = require('theme.icons')
|
||||
|
||||
local slider = wibox.widget {
|
||||
nil,
|
||||
{
|
||||
id = 'brightness_slider',
|
||||
bar_shape = gears.shape.rounded_rect,
|
||||
bar_height = dpi(2),
|
||||
bar_color = '#ffffff20',
|
||||
bar_active_color = '#f2f2f2EE',
|
||||
handle_color = '#ffffff',
|
||||
handle_shape = gears.shape.circle,
|
||||
handle_width = dpi(15),
|
||||
handle_border_color = '#00000012',
|
||||
handle_border_width = dpi(1),
|
||||
maximum = 100,
|
||||
widget = wibox.widget.slider,
|
||||
},
|
||||
nil,
|
||||
expand = 'none',
|
||||
layout = wibox.layout.align.vertical
|
||||
}
|
||||
|
||||
|
||||
local brightness_slider = slider.brightness_slider
|
||||
|
||||
brightness_slider:connect_signal(
|
||||
'property::value',
|
||||
function()
|
||||
|
||||
local brightness_level = brightness_slider:get_value()
|
||||
|
||||
spawn('brightnessctl s ' ..
|
||||
math.max(brightness_level, 5),
|
||||
false
|
||||
)
|
||||
|
||||
-- Update brightness osd
|
||||
awesome.emit_signal(
|
||||
'module::brightness_osd',
|
||||
brightness_level
|
||||
)
|
||||
end
|
||||
)
|
||||
|
||||
brightness_slider:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
4,
|
||||
nil,
|
||||
function()
|
||||
if brightness_slider:get_value() > 100 then
|
||||
brightness_slider:set_value(100)
|
||||
return
|
||||
end
|
||||
brightness_slider:set_value(brightness_slider:get_value() + 5)
|
||||
end
|
||||
),
|
||||
awful.button(
|
||||
{},
|
||||
5,
|
||||
nil,
|
||||
function()
|
||||
if brightness_slider:get_value() < 0 then
|
||||
brightness_slider:set_value(0)
|
||||
return
|
||||
end
|
||||
brightness_slider:set_value(brightness_slider:get_value() - 5)
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
local update_slider = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
"brightnessctl g",
|
||||
function(stdout)
|
||||
|
||||
local brightness = string.match(stdout, '(%d+)')
|
||||
|
||||
brightness_slider:set_value(tonumber(stdout) / 75)
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
-- Update on startup
|
||||
update_slider()
|
||||
|
||||
-- The emit will come from the global keybind
|
||||
awesome.connect_signal(
|
||||
'widget::brightness',
|
||||
function()
|
||||
update_slider()
|
||||
end
|
||||
)
|
||||
|
||||
-- The emit will come from the OSD
|
||||
awesome.connect_signal(
|
||||
'widget::brightness:update',
|
||||
function(value)
|
||||
brightness_slider:set_value(tonumber(value))
|
||||
end
|
||||
)
|
||||
|
||||
|
||||
local brightness_setting = wibox.widget {
|
||||
{
|
||||
{
|
||||
{
|
||||
image = icons.brightness,
|
||||
resize = true,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
top = dpi(12),
|
||||
bottom = dpi(12),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
slider,
|
||||
spacing = dpi(24),
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
|
||||
},
|
||||
left = dpi(24),
|
||||
right = dpi(24),
|
||||
forced_height = dpi(48),
|
||||
widget = wibox.container.margin
|
||||
}
|
||||
|
||||
return brightness_setting
|
59
awes2/widget/calculator/icons/kb-off.svg
Normal file
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="kb-off.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="742"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="-6.9661017"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.33333334" />
|
||||
<path
|
||||
d="M0 0h24v24H0zm0 0h24v24H0z"
|
||||
fill="none"
|
||||
id="path4" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
59
awes2/widget/calculator/icons/kb.svg
Normal file
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="kb.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="742"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="-6.9661017"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
<path
|
||||
d="M0 0h24v24H0zm0 0h24v24H0z"
|
||||
fill="none"
|
||||
id="path4" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
476
awes2/widget/calculator/init.lua
Normal file
|
@ -0,0 +1,476 @@
|
|||
----------------------------------------------------------------------------
|
||||
--- Basic Calculator Widget
|
||||
--
|
||||
--
|
||||
-- For more details check my repos README.md
|
||||
--
|
||||
--
|
||||
-- @author manilarome <gerome.matilla07@gmail.com>
|
||||
-- @copyright 2019 manilarome
|
||||
-- @widget calculator
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
-- A basic calculator widget
|
||||
-- Supports keyboard input!
|
||||
-- Just hover your cursor above the calculator widget and start typing
|
||||
-- Stop keygrabbing by leaving the calculator
|
||||
|
||||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
local gears = require('gears')
|
||||
local beautiful = require('beautiful')
|
||||
|
||||
local dpi = beautiful.xresources.apply_dpi
|
||||
local clickable_container = require('widget.clickable-container')
|
||||
|
||||
local config_dir = gears.filesystem.get_configuration_dir()
|
||||
local widget_icon_dir = config_dir .. 'widget/calculator/icons/'
|
||||
|
||||
local calculator_screen = wibox.widget {
|
||||
{
|
||||
id = 'calcu_screen',
|
||||
text = '0',
|
||||
font = 'SF Pro Text Regular 20',
|
||||
align = 'right',
|
||||
valign = 'center',
|
||||
widget = wibox.widget.textbox,
|
||||
},
|
||||
margins = dpi(5),
|
||||
widget = wibox.container.margin
|
||||
}
|
||||
|
||||
-- Evaluate
|
||||
local calculate = function ()
|
||||
|
||||
local calcu_screen = calculator_screen.calcu_screen
|
||||
|
||||
local string_expression = calcu_screen:get_text()
|
||||
|
||||
if string_expression:sub(-1):match("[%+%-%/%*%^%.]") then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
local func = assert(load("return " .. string_expression))
|
||||
local ans = tostring(func())
|
||||
|
||||
-- Convert -nan to undefined
|
||||
if ans == '-nan' then
|
||||
calcu_screen:set_text('undefined')
|
||||
return
|
||||
end
|
||||
|
||||
-- Set the answer in textbox
|
||||
calcu_screen:set_text(ans)
|
||||
|
||||
end
|
||||
|
||||
local txt_on_screen = function()
|
||||
|
||||
screen_text = calculator_screen.calcu_screen:get_text()
|
||||
|
||||
return screen_text == 'inf' or screen_text == 'undefined' or screen_text == 'SYNTAX ERROR' or #screen_text == 1
|
||||
end
|
||||
|
||||
-- Delete the last digit in screen
|
||||
|
||||
local delete_value = function()
|
||||
|
||||
calcu_screen = calculator_screen.calcu_screen
|
||||
|
||||
-- Set the screen text to 0 if conditions met
|
||||
if txt_on_screen() then
|
||||
calcu_screen:set_text('0')
|
||||
else
|
||||
-- Delete the last digit
|
||||
calcu_screen:set_text(calcu_screen:get_text():sub(1, -2))
|
||||
end
|
||||
end
|
||||
|
||||
-- Clear screen
|
||||
local clear_screen = function()
|
||||
|
||||
calculator_screen.calcu_screen:set_text('0')
|
||||
end
|
||||
|
||||
-- The one that filters and checks the user input to avoid errors and bugs
|
||||
local format_screen = function(value)
|
||||
|
||||
local calcu_screen = calculator_screen.calcu_screen
|
||||
|
||||
-- If the screen has only 0
|
||||
if calcu_screen:get_text() == '0' then
|
||||
|
||||
-- Check if the button pressed sends a value of either +, -, /, *, ^, .
|
||||
|
||||
if value:sub(-1):match("[%+%/%*%^%.]") then
|
||||
|
||||
calcu_screen:set_text(calcu_screen:get_text() .. tostring(value))
|
||||
|
||||
else
|
||||
|
||||
calcu_screen:set_text(value)
|
||||
|
||||
end
|
||||
|
||||
elseif calcu_screen:get_text() == 'inf' or
|
||||
calcu_screen:get_text() == 'undefined' or
|
||||
calcu_screen:get_text() == 'SYNTAX ERROR' then
|
||||
|
||||
-- Clear screen if an operator is selected
|
||||
if value:sub(-1):match("[%+%/%*%^%.]") then
|
||||
clear_screen()
|
||||
|
||||
else
|
||||
-- Replace screen txt with the number value pressed
|
||||
clear_screen()
|
||||
calcu_screen:set_text(tostring(value))
|
||||
end
|
||||
|
||||
else
|
||||
|
||||
-- Don't let the user to input two or more consecutive arithmetic operators and decimals
|
||||
if calcu_screen:get_text():sub(-1):match("[%+%-%/%*%^%.]") and value:sub(-1):match("[%+%-%/%*%^%.%%]") then
|
||||
|
||||
-- Get the operator from button pressed
|
||||
local string_eval = calcu_screen:get_text():sub(-1):gsub("[%+%-%/%*%^%.]", value)
|
||||
|
||||
-- This will prevent the user to input consecutive operators and decimals
|
||||
-- It will replace the previous operator with the value of input
|
||||
calcu_screen:set_text(calcu_screen:get_text():sub(1, -2))
|
||||
|
||||
-- Concatenate the value operator to the screen string to replace the deleted operator
|
||||
calcu_screen:set_text(calcu_screen:get_text() .. tostring(string_eval))
|
||||
|
||||
else
|
||||
-- Concatenate the value to screen string
|
||||
calcu_screen:set_text(calcu_screen:get_text() .. tostring(value))
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
-- Shape generator
|
||||
local build_shape = function (position, radius)
|
||||
|
||||
-- Position represents the position of rounded corners
|
||||
if position == 'top' then
|
||||
return function(cr, width, height)
|
||||
gears.shape.partially_rounded_rect(cr, width, height, true, true, false, false, radius)
|
||||
end
|
||||
|
||||
elseif position == 'top_left' then
|
||||
return function(cr, width, height)
|
||||
gears.shape.partially_rounded_rect(cr, width, height, true, false, false, false, radius)
|
||||
end
|
||||
|
||||
elseif position == 'top_right' then
|
||||
return function(cr, width, height)
|
||||
gears.shape.partially_rounded_rect(cr, width, height, false, true, false, false, radius)
|
||||
end
|
||||
|
||||
elseif position == 'bottom_right' then
|
||||
return function(cr, width, height)
|
||||
gears.shape.partially_rounded_rect(cr, width, height, false, false, true, false, radius)
|
||||
end
|
||||
|
||||
elseif position == 'bottom_left' then
|
||||
return function(cr, width, height)
|
||||
gears.shape.partially_rounded_rect(cr, width, height, false, false, false, true, radius)
|
||||
end
|
||||
|
||||
else
|
||||
return function(cr, width, height)
|
||||
gears.shape.rounded_rect(cr, width, height, radius)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
-- Themes widgets
|
||||
local decorate_widget = function(widget_arg, pos, rad)
|
||||
return wibox.widget {
|
||||
widget_arg,
|
||||
bg = beautiful.groups_bg,
|
||||
shape = build_shape(pos, rad),
|
||||
widget = wibox.container.background
|
||||
}
|
||||
end
|
||||
|
||||
-- Build a button
|
||||
local build_button_widget = function(text, rcp, rad)
|
||||
|
||||
local value = text
|
||||
|
||||
local build_textbox = wibox.widget {
|
||||
{
|
||||
id = 'btn_name',
|
||||
text = value,
|
||||
font = 'SF Pro Text 12',
|
||||
align = 'center',
|
||||
valign = 'center',
|
||||
widget = wibox.widget.textbox,
|
||||
},
|
||||
margins = dpi(5),
|
||||
widget = wibox.container.margin
|
||||
}
|
||||
|
||||
local build_button = wibox.widget {
|
||||
{
|
||||
build_textbox,
|
||||
margins = dpi(7),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
build_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function ()
|
||||
|
||||
if value == 'C' then
|
||||
clear_screen()
|
||||
|
||||
elseif value == '=' then
|
||||
-- Calculate and error handling
|
||||
if not pcall(calculate) then
|
||||
calculator_screen.calcu_screen:set_text('SYNTAX ERROR')
|
||||
end
|
||||
|
||||
elseif value == 'DEL' then
|
||||
delete_value()
|
||||
|
||||
else
|
||||
format_screen(value)
|
||||
|
||||
end
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
return decorate_widget(build_button, rcp, rad)
|
||||
|
||||
end
|
||||
|
||||
local keygrab_running = false
|
||||
|
||||
local kb_imagebox = wibox.widget {
|
||||
|
||||
id = 'kb_icon',
|
||||
image = widget_icon_dir .. 'kb-off' .. '.svg',
|
||||
resize = true,
|
||||
forced_height = dpi(15),
|
||||
widget = wibox.widget.imagebox
|
||||
}
|
||||
|
||||
local kb_button_widget = wibox.widget {
|
||||
{
|
||||
{
|
||||
{
|
||||
layout = wibox.layout.align.horizontal,
|
||||
expand = 'none',
|
||||
nil,
|
||||
kb_imagebox,
|
||||
nil
|
||||
},
|
||||
margins = dpi(10),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
},
|
||||
bg = beautiful.groups_bg,
|
||||
shape = build_shape('bottom_left', beautiful.groups_radius),
|
||||
widget = wibox.container.background
|
||||
}
|
||||
|
||||
local toggle_btn_keygrab = function()
|
||||
|
||||
if keygrab_running then
|
||||
kb_imagebox:set_image(widget_icon_dir .. 'kb-off' .. '.svg')
|
||||
awesome.emit_signal("widget::calc_stop_keygrab")
|
||||
keygrab_running = false
|
||||
else
|
||||
kb_imagebox:set_image(widget_icon_dir .. 'kb' .. '.svg')
|
||||
awesome.emit_signal("widget::calc_start_keygrab")
|
||||
keygrab_running = true
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
local kb_button = kb_button_widget
|
||||
|
||||
kb_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
toggle_btn_keygrab()
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
local calcu_keygrabber = awful.keygrabber {
|
||||
|
||||
auto_start = true,
|
||||
stop_event = 'release',
|
||||
start_callback = function()
|
||||
|
||||
keygrab_running = true
|
||||
kb_imagebox:set_image(widget_icon_dir .. 'kb' .. '.svg')
|
||||
|
||||
end,
|
||||
stop_callback = function()
|
||||
|
||||
keygrab_running = false
|
||||
kb_imagebox:set_image(widget_icon_dir .. 'kb-off' .. '.svg')
|
||||
|
||||
end,
|
||||
keypressed_callback = function(self, mod, key, command)
|
||||
|
||||
if #key == 1 and (key:match('%d+') or key:match('[%+%-%/%*%^%.]')) then
|
||||
format_screen(key)
|
||||
|
||||
elseif key == 'BackSpace' then
|
||||
delete_value()
|
||||
|
||||
elseif key == 'Escape' then
|
||||
clear_screen()
|
||||
|
||||
elseif key == 'x' then
|
||||
awesome.emit_signal("widget::calc_stop_keygrab")
|
||||
|
||||
elseif key == '=' or key == 'Return' then
|
||||
-- Calculate
|
||||
if not pcall(calculate) then
|
||||
calculator_screen.calcu_screen:set_text('SYNTAX ERROR')
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end,
|
||||
}
|
||||
|
||||
local calculator_body = wibox.widget {
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
spacing = dpi(1),
|
||||
{
|
||||
spacing = dpi(1),
|
||||
layout = wibox.layout.flex.horizontal,
|
||||
decorate_widget(calculator_screen, 'top', beautiful.groups_radius),
|
||||
},
|
||||
{
|
||||
spacing = dpi(1),
|
||||
layout = wibox.layout.flex.horizontal,
|
||||
build_button_widget('C', 'flat' , 0),
|
||||
build_button_widget('^', 'flat', 0),
|
||||
build_button_widget('/', 'flat', 0),
|
||||
build_button_widget('DEL', 'flat', 0),
|
||||
},
|
||||
{
|
||||
spacing = dpi(1),
|
||||
layout = wibox.layout.flex.horizontal,
|
||||
build_button_widget('7', 'flat', 0),
|
||||
build_button_widget('8', 'flat', 0),
|
||||
build_button_widget('9', 'flat', 0),
|
||||
build_button_widget('*', 'flat', 0),
|
||||
},
|
||||
{
|
||||
spacing = dpi(1),
|
||||
layout = wibox.layout.flex.horizontal,
|
||||
build_button_widget('4', 'flat', 0),
|
||||
build_button_widget('5', 'flat', 0),
|
||||
build_button_widget('6', 'flat', 0),
|
||||
build_button_widget('-', 'flat', 0),
|
||||
},
|
||||
{
|
||||
spacing = dpi(1),
|
||||
layout = wibox.layout.flex.horizontal,
|
||||
build_button_widget('1', 'flat', 0),
|
||||
build_button_widget('2', 'flat', 0),
|
||||
build_button_widget('3', 'flat', 0),
|
||||
build_button_widget('+', 'flat', 0),
|
||||
},
|
||||
{
|
||||
spacing = dpi(1),
|
||||
layout = wibox.layout.flex.horizontal,
|
||||
kb_button,
|
||||
build_button_widget('0', 'flat', 0),
|
||||
build_button_widget('.', 'flat', 0),
|
||||
build_button_widget('=', 'bottom_right', beautiful.groups_radius)
|
||||
},
|
||||
}
|
||||
|
||||
calculator_body:connect_signal(
|
||||
"mouse::enter",
|
||||
function()
|
||||
-- Start keygrabbing
|
||||
calcu_keygrabber:start()
|
||||
end
|
||||
)
|
||||
|
||||
calculator_body:connect_signal(
|
||||
"mouse::leave",
|
||||
function()
|
||||
-- Stop keygrabbing
|
||||
calcu_keygrabber:stop()
|
||||
end
|
||||
)
|
||||
|
||||
awesome.connect_signal(
|
||||
"widget::calc_start_keygrab",
|
||||
function()
|
||||
-- Stop keygrabbing
|
||||
calcu_keygrabber:start()
|
||||
end
|
||||
)
|
||||
|
||||
awesome.connect_signal(
|
||||
"widget::calc_stop_keygrab",
|
||||
function()
|
||||
-- Stop keygrabbing
|
||||
calcu_keygrabber:stop()
|
||||
end
|
||||
)
|
||||
|
||||
local calcu_tooltip = awful.tooltip {
|
||||
|
||||
objects = {kb_button},
|
||||
mode = 'outside',
|
||||
align = 'right',
|
||||
delay_show = 1,
|
||||
preferred_positions = {'right', 'left', 'top', 'bottom'},
|
||||
margin_leftright = dpi(8),
|
||||
margin_topbottom = dpi(8),
|
||||
markup = [[
|
||||
<b>Tips:</b>
|
||||
Enable keyboard support by hovering your mouse above the calculator.
|
||||
Or toggle it on/off by pressing the keyboard button.
|
||||
Only numbers, arithmetic operators, and decimal point is accepted.
|
||||
|
||||
<b>Keyboard bindings:</b>
|
||||
<b>=</b> and <b>Return</b> to get the answer.
|
||||
<b>BackSpace</b> to delete the last digit.
|
||||
<b>Escape</b> clears the screen.
|
||||
<b>x</b> stops keygrabbing.
|
||||
|
||||
<b>Note:</b>
|
||||
While in keygrabbing mode, your keyboard's focus will be on the calculator.
|
||||
So you're AwesomeWM keybinding will stop working.
|
||||
|
||||
<b>Stopping the keygrabbing mode:</b>
|
||||
* Move away your cursor from the calculator.
|
||||
* Toggle it off using the keyboard button.
|
||||
* Press <b>x</b>.
|
||||
]]
|
||||
}
|
||||
|
||||
return calculator_body
|
54
awes2/widget/clickable-container/init.lua
Normal file
|
@ -0,0 +1,54 @@
|
|||
local wibox = require('wibox')
|
||||
local beautiful = require('beautiful')
|
||||
|
||||
function build(widget)
|
||||
local container =
|
||||
wibox.widget {
|
||||
widget,
|
||||
-- bg = beautiful.theme_bg,
|
||||
widget = wibox.container.background
|
||||
}
|
||||
local old_cursor, old_wibox
|
||||
|
||||
container:connect_signal(
|
||||
'mouse::enter',
|
||||
function()
|
||||
container.bg = beautiful.groups_bg
|
||||
-- Hm, no idea how to get the wibox from this signal's arguments...
|
||||
local w = mouse.current_wibox
|
||||
if w then
|
||||
old_cursor, old_wibox = w.cursor, w
|
||||
w.cursor = 'hand1'
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
container:connect_signal(
|
||||
'mouse::leave',
|
||||
function()
|
||||
container.bg = beautiful.transparent
|
||||
if old_wibox then
|
||||
old_wibox.cursor = old_cursor
|
||||
old_wibox = nil
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
container:connect_signal(
|
||||
'button::press',
|
||||
function()
|
||||
container.bg = beautiful.groups_title_bg
|
||||
end
|
||||
)
|
||||
|
||||
container:connect_signal(
|
||||
'button::release',
|
||||
function()
|
||||
container.bg = beautiful.groups_bg
|
||||
end
|
||||
)
|
||||
|
||||
return container
|
||||
end
|
||||
|
||||
return build
|
74
awes2/widget/cpu/cpu-meter.lua
Normal file
|
@ -0,0 +1,74 @@
|
|||
local wibox = require('wibox')
|
||||
local gears = require('gears')
|
||||
local beautiful = require('beautiful')
|
||||
|
||||
local watch = require('awful.widget.watch')
|
||||
|
||||
local icons = require('theme.icons')
|
||||
local dpi = beautiful.xresources.apply_dpi
|
||||
|
||||
local total_prev = 0
|
||||
local idle_prev = 0
|
||||
|
||||
local slider = wibox.widget {
|
||||
nil,
|
||||
{
|
||||
id = 'cpu_usage',
|
||||
max_value = 100,
|
||||
value = 29,
|
||||
forced_height = dpi(2),
|
||||
color = beautiful.fg_normal,
|
||||
background_color = beautiful.groups_bg,
|
||||
shape = gears.shape.rounded_rect,
|
||||
widget = wibox.widget.progressbar
|
||||
},
|
||||
nil,
|
||||
expand = 'none',
|
||||
layout = wibox.layout.align.vertical
|
||||
}
|
||||
|
||||
watch(
|
||||
[[bash -c "cat /proc/stat | grep '^cpu '"]],
|
||||
5,
|
||||
function(_, stdout)
|
||||
local user, nice, system, idle, iowait, irq, softirq, steal, guest, guest_nice =
|
||||
stdout:match('(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s')
|
||||
|
||||
local total = user + nice + system + idle + iowait + irq + softirq + steal
|
||||
|
||||
local diff_idle = idle - idle_prev
|
||||
local diff_total = total - total_prev
|
||||
local diff_usage = (1000 * (diff_total - diff_idle) / diff_total + 5) / 10
|
||||
|
||||
slider.cpu_usage:set_value(diff_usage)
|
||||
|
||||
total_prev = total
|
||||
idle_prev = idle
|
||||
collectgarbage('collect')
|
||||
end
|
||||
)
|
||||
|
||||
local cpu_meter = wibox.widget {
|
||||
{
|
||||
{
|
||||
{
|
||||
image = icons.chart,
|
||||
resize = true,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
top = dpi(12),
|
||||
bottom = dpi(12),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
slider,
|
||||
spacing = dpi(24),
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
|
||||
},
|
||||
left = dpi(24),
|
||||
right = dpi(24),
|
||||
forced_height = dpi(48),
|
||||
widget = wibox.container.margin
|
||||
}
|
||||
|
||||
return cpu_meter
|
109
awes2/widget/email/icons/email-1.svg
Normal file
|
@ -0,0 +1,109 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="email.svg"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8">
|
||||
<rect
|
||||
id="rect887"
|
||||
height="76.821962"
|
||||
width="72.691548"
|
||||
y="140.43247"
|
||||
x="160.68127" />
|
||||
<rect
|
||||
id="rect881"
|
||||
height="42.253372"
|
||||
width="57.559134"
|
||||
y="165.94589"
|
||||
x="180.14568" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-rotation="0"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0.65098039"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="2.3188977"
|
||||
inkscape:cx="102.48514"
|
||||
inkscape:cy="104.63006"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g847" />
|
||||
<g
|
||||
id="g877">
|
||||
<text
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect881);fill:#000000;fill-opacity:1;stroke:none;"
|
||||
id="text879"
|
||||
xml:space="preserve" />
|
||||
<g
|
||||
id="g856">
|
||||
<g
|
||||
id="g847">
|
||||
<g
|
||||
id="g853">
|
||||
<g
|
||||
id="g841">
|
||||
<path
|
||||
d="M 200,40 H 40 C 28.95,40 20.1,48.95 20.1,60 L 20,180 c 0,11.05 8.95,20 20,20 h 160 c 11.05,0 20,-8.95 20,-20 V 60 c 0,-11.05 -8.95,-20 -20,-20 z m 0,40 -80,50 L 40,80 V 60 l 80,50 80,-50 z"
|
||||
id="path2"
|
||||
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
</g>
|
||||
<g
|
||||
id="g843">
|
||||
<ellipse
|
||||
id="ellipse16"
|
||||
ry="40.319271"
|
||||
rx="40.343189"
|
||||
cy="176.31927"
|
||||
cx="196.3432"
|
||||
style="fill:#e04f5f;stroke-width:0.427111" />
|
||||
<g
|
||||
aria-label="1"
|
||||
transform="translate(1.3783569,-0.62932051)"
|
||||
id="text885"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:64px;line-height:1.25;font-family:'sf pro d';-inkscape-font-specification:'sf pro d';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect887);fill:#000000;fill-opacity:1;stroke:none">
|
||||
<path
|
||||
d="m 196.13672,199.49547 h 9.34375 v -45.09375 h -9.375 l -11.65625,8.09375 v 8.375 l 11.5,-7.8125 h 0.1875 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:64px;font-family:'SF Pro Display';-inkscape-font-specification:'SF Pro Display Bold';text-align:center;text-anchor:middle;fill:#ffffff"
|
||||
id="path933" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.7 KiB |
100
awes2/widget/email/icons/email-2.svg
Normal file
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="email-2.svg"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8">
|
||||
<rect
|
||||
id="rect887"
|
||||
height="76.821962"
|
||||
width="72.691548"
|
||||
y="140.43247"
|
||||
x="160.68127" />
|
||||
<rect
|
||||
id="rect881"
|
||||
height="42.253372"
|
||||
width="57.559134"
|
||||
y="165.94589"
|
||||
x="180.14568" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-rotation="0"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0.65098039"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="2.2645626"
|
||||
inkscape:cx="118.93231"
|
||||
inkscape:cy="121.34259"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g877" />
|
||||
<g
|
||||
id="g877">
|
||||
<g
|
||||
id="g854">
|
||||
<path
|
||||
d="M 200,40 H 40 C 28.95,40 20.1,48.95 20.1,60 L 20,180 c 0,11.05 8.95,20 20,20 h 160 c 11.05,0 20,-8.95 20,-20 V 60 c 0,-11.05 -8.95,-20 -20,-20 z m 0,40 -80,50 L 40,80 V 60 l 80,50 80,-50 z"
|
||||
id="path2"
|
||||
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text879"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect881);fill:#000000;fill-opacity:1;stroke:none;" />
|
||||
<g
|
||||
id="g846">
|
||||
<ellipse
|
||||
id="ellipse16"
|
||||
ry="40.319271"
|
||||
rx="40.343189"
|
||||
cy="176.31927"
|
||||
cx="196.3432"
|
||||
style="fill:#e04f5f;stroke-width:0.427111" />
|
||||
<g
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:64px;line-height:1.25;font-family:'sf pro d';-inkscape-font-specification:'sf pro d';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect887);fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="text885"
|
||||
transform="translate(0,-0.98869551)"
|
||||
aria-label="2">
|
||||
<path
|
||||
id="path840"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'SF Pro Display';-inkscape-font-specification:'SF Pro Display Bold';text-align:center;text-anchor:middle;fill:#ffffff"
|
||||
d="m 180.38672,168.12047 h 8.75 c 0,-4.34375 3.40625,-7.375 7.90625,-7.375 4.0625,0 6.84375,2.75 6.84375,6.375 0,3.125 -1.28125,5.28125 -7,10.78125 l -15.96875,15.125 v 6.46875 h 32.78125 v -7.5 h -20.4375 v -0.1875 l 9.46875,-9.0625 c 7.625,-7.28125 10.34375,-10.6875 10.34375,-16.21875 0,-7.5 -6.375,-13.125 -16.03125,-13.125 -9.78125,0 -16.65625,6.03125 -16.65625,14.71875 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.7 KiB |
100
awes2/widget/email/icons/email-3.svg
Normal file
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="email-3.svg"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8">
|
||||
<rect
|
||||
id="rect887"
|
||||
height="76.821962"
|
||||
width="72.691548"
|
||||
y="140.43247"
|
||||
x="160.68127" />
|
||||
<rect
|
||||
id="rect881"
|
||||
height="42.253372"
|
||||
width="57.559134"
|
||||
y="165.94589"
|
||||
x="180.14568" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-rotation="0"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0.65098039"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="2.2645626"
|
||||
inkscape:cx="118.93231"
|
||||
inkscape:cy="121.34259"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g877" />
|
||||
<g
|
||||
id="g877">
|
||||
<text
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect881);fill:#000000;fill-opacity:1;stroke:none;"
|
||||
id="text879"
|
||||
xml:space="preserve" />
|
||||
<g
|
||||
id="g853">
|
||||
<path
|
||||
d="M 200,40 H 40 C 28.95,40 20.1,48.95 20.1,60 L 20,180 c 0,11.05 8.95,20 20,20 h 160 c 11.05,0 20,-8.95 20,-20 V 60 c 0,-11.05 -8.95,-20 -20,-20 z m 0,40 -80,50 L 40,80 V 60 l 80,50 80,-50 z"
|
||||
id="path2"
|
||||
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
<g
|
||||
id="g846">
|
||||
<ellipse
|
||||
id="ellipse16"
|
||||
ry="40.319271"
|
||||
rx="40.343189"
|
||||
cy="176.31927"
|
||||
cx="196.3432"
|
||||
style="fill:#e04f5f;stroke-width:0.427111" />
|
||||
<g
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:64px;line-height:1.25;font-family:'sf pro d';-inkscape-font-specification:'sf pro d';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect887);fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="text885"
|
||||
transform="translate(0,-0.98869551)"
|
||||
aria-label="3">
|
||||
<path
|
||||
id="path840"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'SF Pro Display';-inkscape-font-specification:'SF Pro Display Bold';text-align:center;text-anchor:middle;fill:#ffffff"
|
||||
d="m 190.96484,179.65172 h 5.15625 c 5.46875,0 8.6875,2.4375 8.65625,6.8125 0,3.8125 -3.25,6.4375 -7.96875,6.4375 -4.96875,0 -8.21875,-2.5 -8.53125,-6.1875 h -9 c 0.40625,8.28125 7.34375,13.78125 17.53125,13.78125 10.46875,0 17.5625,-5.4375 17.5625,-13.625 0,-6.1875 -4.375,-10.15625 -11.0625,-10.78125 v -0.1875 c 5.3125,-1.09375 9.40625,-4.8125 9.40625,-10.5625 0,-7.21875 -6.4375,-11.9375 -15.96875,-11.9375 -9.4375,0 -16,5.28125 -16.46875,13.53125 h 8.65625 c 0.28125,-3.90625 3.375,-6.28125 7.8125,-6.28125 4.5,0 7.03125,2.34375 7.03125,6.03125 0,3.6875 -3.0625,6.25 -7.78125,6.25 h -5.03125 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.9 KiB |
100
awes2/widget/email/icons/email-4.svg
Normal file
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="email-4.svg"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8">
|
||||
<rect
|
||||
id="rect887"
|
||||
height="76.821962"
|
||||
width="72.691548"
|
||||
y="140.43247"
|
||||
x="160.68127" />
|
||||
<rect
|
||||
id="rect881"
|
||||
height="42.253372"
|
||||
width="57.559134"
|
||||
y="165.94589"
|
||||
x="180.14568" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-rotation="0"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0.65098039"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="2.2645626"
|
||||
inkscape:cx="118.93231"
|
||||
inkscape:cy="121.34259"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g877" />
|
||||
<g
|
||||
id="g877">
|
||||
<text
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect881);fill:#000000;fill-opacity:1;stroke:none;"
|
||||
id="text879"
|
||||
xml:space="preserve" />
|
||||
<g
|
||||
id="g853">
|
||||
<path
|
||||
d="M 200,40 H 40 C 28.95,40 20.1,48.95 20.1,60 L 20,180 c 0,11.05 8.95,20 20,20 h 160 c 11.05,0 20,-8.95 20,-20 V 60 c 0,-11.05 -8.95,-20 -20,-20 z m 0,40 -80,50 L 40,80 V 60 l 80,50 80,-50 z"
|
||||
id="path2"
|
||||
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
<g
|
||||
id="g846">
|
||||
<ellipse
|
||||
id="ellipse16"
|
||||
ry="40.319271"
|
||||
rx="40.343189"
|
||||
cy="176.31927"
|
||||
cx="196.3432"
|
||||
style="fill:#e04f5f;stroke-width:0.427111" />
|
||||
<g
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:64px;line-height:1.25;font-family:'sf pro d';-inkscape-font-specification:'sf pro d';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect887);fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="text885"
|
||||
transform="translate(0,-0.98869551)"
|
||||
aria-label="4">
|
||||
<path
|
||||
id="path840"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'SF Pro Display';-inkscape-font-specification:'SF Pro Display Bold';text-align:center;text-anchor:middle;fill:#ffffff"
|
||||
d="m 200.99609,199.49547 h 8.96875 v -8.28125 h 5.9375 v -7.53125 h -5.9375 v -29.28125 h -13.3125 c -9.25,13.59375 -14.15625,21.46875 -18.09375,28.9375 v 7.875 h 22.4375 z m -14.21875,-15.8125 c 3.59375,-6.71875 7.6875,-13.125 14.21875,-22.53125 h 0.1875 v 22.78125 h -14.40625 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.6 KiB |
100
awes2/widget/email/icons/email-5.svg
Normal file
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
|
||||
sodipodi:docname="email-5.svg"
|
||||
id="svg4"
|
||||
version="1.1"
|
||||
viewBox="0 0 240 240"
|
||||
height="240"
|
||||
width="240">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8">
|
||||
<rect
|
||||
x="160.68127"
|
||||
y="140.43247"
|
||||
width="72.691548"
|
||||
height="76.821962"
|
||||
id="rect887" />
|
||||
<rect
|
||||
x="180.14568"
|
||||
y="165.94589"
|
||||
width="57.559134"
|
||||
height="42.253372"
|
||||
id="rect881" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:current-layer="g844"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-x="45"
|
||||
inkscape:cy="121.34259"
|
||||
inkscape:cx="118.93231"
|
||||
inkscape:zoom="2.2645626"
|
||||
inkscape:pagecheckerboard="false"
|
||||
showgrid="false"
|
||||
id="namedview6"
|
||||
inkscape:window-height="740"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.65098039"
|
||||
guidetolerance="10"
|
||||
gridtolerance="10"
|
||||
objecttolerance="10"
|
||||
borderopacity="1"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#000000"
|
||||
inkscape:document-rotation="0" />
|
||||
<g
|
||||
id="g877">
|
||||
<g
|
||||
id="g853">
|
||||
<path
|
||||
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:5"
|
||||
id="path2"
|
||||
d="M 200,40 H 40 C 28.95,40 20.1,48.95 20.1,60 L 20,180 c 0,11.05 8.95,20 20,20 h 160 c 11.05,0 20,-8.95 20,-20 V 60 c 0,-11.05 -8.95,-20 -20,-20 z m 0,40 -80,50 L 40,80 V 60 l 80,50 80,-50 z" />
|
||||
<text
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect881);fill:#000000;fill-opacity:1;stroke:none;"
|
||||
id="text879"
|
||||
xml:space="preserve" />
|
||||
<g
|
||||
id="g844">
|
||||
<ellipse
|
||||
style="fill:#e04f5f;stroke-width:0.427111"
|
||||
cx="196.3432"
|
||||
cy="176.31927"
|
||||
rx="40.343189"
|
||||
ry="40.319271"
|
||||
id="ellipse16" />
|
||||
<g
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:64px;line-height:1.25;font-family:'sf pro d';-inkscape-font-specification:'sf pro d';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect887);fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="text885"
|
||||
transform="translate(0,-0.98869551)"
|
||||
aria-label="5">
|
||||
<path
|
||||
id="path842"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'SF Pro Display';-inkscape-font-specification:'SF Pro Display Bold';text-align:center;text-anchor:middle;fill:#ffffff"
|
||||
d="m 197.52734,200.49547 c 10.34375,0 17.4375,-6.46875 17.4375,-16 0,-8.59375 -6.15625,-14.78125 -14.75,-14.78125 -4.5625,0 -8.28125,1.84375 -10.15625,4.875 h -0.1875 l 1.09375,-12.6875 h 21.28125 v -7.5 h -28.78125 l -2.0625,26.46875 h 8.21875 c 1.53125,-2.71875 4.34375,-4.40625 7.96875,-4.40625 4.9375,0 8.375,3.40625 8.375,8.25 0,4.90625 -3.4375,8.3125 -8.40625,8.3125 -4.34375,0 -7.6875,-2.5625 -8.21875,-6.46875 h -8.71875 c 0.25,8.1875 7.25,13.9375 16.90625,13.9375 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
100
awes2/widget/email/icons/email-6.svg
Normal file
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="email-6.svg"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8">
|
||||
<rect
|
||||
id="rect887"
|
||||
height="76.821962"
|
||||
width="72.691548"
|
||||
y="140.43247"
|
||||
x="160.68127" />
|
||||
<rect
|
||||
id="rect881"
|
||||
height="42.253372"
|
||||
width="57.559134"
|
||||
y="165.94589"
|
||||
x="180.14568" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-rotation="0"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0.65098039"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="2.2645626"
|
||||
inkscape:cx="118.93231"
|
||||
inkscape:cy="121.34259"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g877" />
|
||||
<g
|
||||
id="g877">
|
||||
<text
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect881);fill:#000000;fill-opacity:1;stroke:none;"
|
||||
id="text879"
|
||||
xml:space="preserve" />
|
||||
<g
|
||||
id="g853">
|
||||
<path
|
||||
d="M 200,40 H 40 C 28.95,40 20.1,48.95 20.1,60 L 20,180 c 0,11.05 8.95,20 20,20 h 160 c 11.05,0 20,-8.95 20,-20 V 60 c 0,-11.05 -8.95,-20 -20,-20 z m 0,40 -80,50 L 40,80 V 60 l 80,50 80,-50 z"
|
||||
id="path2"
|
||||
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
<g
|
||||
id="g846">
|
||||
<ellipse
|
||||
id="ellipse16"
|
||||
ry="40.319271"
|
||||
rx="40.343189"
|
||||
cy="176.31927"
|
||||
cx="196.3432"
|
||||
style="fill:#e04f5f;stroke-width:0.427111" />
|
||||
<g
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:64px;line-height:1.25;font-family:'sf pro d';-inkscape-font-specification:'sf pro d';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect887);fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="text885"
|
||||
transform="translate(0,-0.98869551)"
|
||||
aria-label="6">
|
||||
<path
|
||||
id="path840"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'SF Pro Display';-inkscape-font-specification:'SF Pro Display Bold';text-align:center;text-anchor:middle;fill:#ffffff"
|
||||
d="m 197.82422,200.49547 c 10.0625,0 17.375,-6.65625 17.375,-16 0,-8.46875 -5.96875,-14.6875 -14.6875,-14.6875 -6.09375,0 -10.53125,3.0625 -12.28125,7.25 h -0.1875 c -0.0312,-9.875 3.21875,-16.21875 9.78125,-16.21875 3.71875,0 6.40625,1.875 7.46875,5.09375 h 9.3125 c -1.25,-7.4375 -8,-12.5625 -16.75,-12.5625 -11.71875,0 -18.84375,9 -18.84375,23.9375 0,15.5625 8.03125,23.1875 18.8125,23.1875 z m -0.125,-7.5 c -4.625,0 -8.25,-3.625 -8.25,-8.28125 0,-4.59375 3.5625,-7.9375 8.34375,-7.9375 4.71875,0 8.21875,3.375 8.21875,8.125 -0.0312,4.53125 -3.6875,8.09375 -8.3125,8.09375 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.9 KiB |
100
awes2/widget/email/icons/email-7.svg
Normal file
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="email-7.svg"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8">
|
||||
<rect
|
||||
id="rect887"
|
||||
height="76.821962"
|
||||
width="72.691548"
|
||||
y="140.43247"
|
||||
x="160.68127" />
|
||||
<rect
|
||||
id="rect881"
|
||||
height="42.253372"
|
||||
width="57.559134"
|
||||
y="165.94589"
|
||||
x="180.14568" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-rotation="0"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0.65098039"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="2.2645626"
|
||||
inkscape:cx="118.93231"
|
||||
inkscape:cy="121.34259"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g877" />
|
||||
<g
|
||||
id="g877">
|
||||
<g
|
||||
id="g854">
|
||||
<path
|
||||
d="M 200,40 H 40 C 28.95,40 20.1,48.95 20.1,60 L 20,180 c 0,11.05 8.95,20 20,20 h 160 c 11.05,0 20,-8.95 20,-20 V 60 c 0,-11.05 -8.95,-20 -20,-20 z m 0,40 -80,50 L 40,80 V 60 l 80,50 80,-50 z"
|
||||
id="path2"
|
||||
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text879"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect881);fill:#000000;fill-opacity:1;stroke:none;" />
|
||||
<g
|
||||
id="g846">
|
||||
<ellipse
|
||||
id="ellipse16"
|
||||
ry="40.319271"
|
||||
rx="40.343189"
|
||||
cy="176.31927"
|
||||
cx="196.3432"
|
||||
style="fill:#e04f5f;stroke-width:0.427111" />
|
||||
<g
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:64px;line-height:1.25;font-family:'sf pro d';-inkscape-font-specification:'sf pro d';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect887);fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="text885"
|
||||
transform="translate(0,-0.98869551)"
|
||||
aria-label="7">
|
||||
<path
|
||||
id="path840"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'SF Pro Display';-inkscape-font-specification:'SF Pro Display Bold';text-align:center;text-anchor:middle;fill:#ffffff"
|
||||
d="m 184.24609,199.49547 h 9.90625 l 18.8125,-37.5 v -7.59375 h -32.25 v 7.5 h 22.9375 v 0.1875 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.5 KiB |
100
awes2/widget/email/icons/email-8.svg
Normal file
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="email-8.svg"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8">
|
||||
<rect
|
||||
id="rect887"
|
||||
height="76.821962"
|
||||
width="72.691548"
|
||||
y="140.43247"
|
||||
x="160.68127" />
|
||||
<rect
|
||||
id="rect881"
|
||||
height="42.253372"
|
||||
width="57.559134"
|
||||
y="165.94589"
|
||||
x="180.14568" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-rotation="0"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0.65098039"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="2.2645626"
|
||||
inkscape:cx="118.93231"
|
||||
inkscape:cy="121.34259"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g877" />
|
||||
<g
|
||||
id="g877">
|
||||
<g
|
||||
id="g854">
|
||||
<path
|
||||
d="M 200,40 H 40 C 28.95,40 20.1,48.95 20.1,60 L 20,180 c 0,11.05 8.95,20 20,20 h 160 c 11.05,0 20,-8.95 20,-20 V 60 c 0,-11.05 -8.95,-20 -20,-20 z m 0,40 -80,50 L 40,80 V 60 l 80,50 80,-50 z"
|
||||
id="path2"
|
||||
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text879"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect881);fill:#000000;fill-opacity:1;stroke:none;" />
|
||||
<g
|
||||
id="g846">
|
||||
<ellipse
|
||||
id="ellipse16"
|
||||
ry="40.319271"
|
||||
rx="40.343189"
|
||||
cy="176.31927"
|
||||
cx="196.3432"
|
||||
style="fill:#e04f5f;stroke-width:0.427111" />
|
||||
<g
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:64px;line-height:1.25;font-family:'sf pro d';-inkscape-font-specification:'sf pro d';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect887);fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="text885"
|
||||
transform="translate(0,-0.98869551)"
|
||||
aria-label="8">
|
||||
<path
|
||||
id="path840"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'SF Pro Display';-inkscape-font-specification:'SF Pro Display Bold';text-align:center;text-anchor:middle;fill:#ffffff"
|
||||
d="m 197.02734,200.49547 c 10.75,0 18.28125,-5.375 18.28125,-13.1875 0,-5.9375 -4.34375,-10.3125 -10.5,-11.53125 v -0.1875 c 5.28125,-1.3125 8.84375,-5.1875 8.84375,-10.03125 0,-7.0625 -6.84375,-12.15625 -16.625,-12.15625 -9.78125,0 -16.65625,5.125 -16.65625,12.125 0,4.90625 3.59375,8.78125 8.90625,10.0625 v 0.1875 c -6.15625,1.1875 -10.53125,5.5625 -10.53125,11.5 0,7.8125 7.5,13.21875 18.28125,13.21875 z m 0,-27.75 c -4.28125,0 -7.3125,-2.5625 -7.3125,-6.25 0,-3.71875 3.03125,-6.28125 7.3125,-6.28125 4.25,0 7.3125,2.5625 7.3125,6.28125 0,3.6875 -3.0625,6.25 -7.3125,6.25 z m 0,20.875 c -4.96875,0 -8.4375,-2.9375 -8.4375,-7.03125 0,-4.03125 3.46875,-6.96875 8.4375,-6.96875 4.96875,0 8.40625,2.90625 8.40625,6.96875 0,4.09375 -3.4375,7.03125 -8.40625,7.03125 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.1 KiB |
104
awes2/widget/email/icons/email-9+.svg
Normal file
|
@ -0,0 +1,104 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="email-9.svg"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8">
|
||||
<rect
|
||||
id="rect887"
|
||||
height="76.821962"
|
||||
width="72.691548"
|
||||
y="140.43247"
|
||||
x="160.68127" />
|
||||
<rect
|
||||
id="rect881"
|
||||
height="42.253372"
|
||||
width="57.559134"
|
||||
y="165.94589"
|
||||
x="180.14568" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-rotation="0"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0.65098039"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="2.2645626"
|
||||
inkscape:cx="118.93231"
|
||||
inkscape:cy="121.34259"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g877" />
|
||||
<g
|
||||
id="g877">
|
||||
<g
|
||||
id="g858">
|
||||
<path
|
||||
d="M 200,40 H 40 C 28.95,40 20.1,48.95 20.1,60 L 20,180 c 0,11.05 8.95,20 20,20 h 160 c 11.05,0 20,-8.95 20,-20 V 60 c 0,-11.05 -8.95,-20 -20,-20 z m 0,40 -80,50 L 40,80 V 60 l 80,50 80,-50 z"
|
||||
id="path2"
|
||||
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text879"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect881);fill:#000000;fill-opacity:1;stroke:none;" />
|
||||
<g
|
||||
id="g849">
|
||||
<ellipse
|
||||
id="ellipse16"
|
||||
ry="40.319271"
|
||||
rx="40.343189"
|
||||
cy="176.31927"
|
||||
cx="196.3432"
|
||||
style="fill:#e04f5f;stroke-width:0.427111" />
|
||||
<g
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:61.3333px;line-height:1.25;font-family:'sf pro d';-inkscape-font-specification:'sf pro d';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect887);fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="text885"
|
||||
transform="translate(0,-0.98869551)"
|
||||
aria-label="9+">
|
||||
<path
|
||||
id="path840"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:56px;font-family:'SF Pro Display';-inkscape-font-specification:'SF Pro Display Bold';text-align:center;text-anchor:middle;fill:#ffffff"
|
||||
d="m 178.21484,197.90945 c 10.25391,0 16.46094,-7.875 16.46094,-20.94531 0,-14.41016 -7.76562,-20.28907 -16.46094,-20.28907 -8.80468,0 -15.20312,5.82422 -15.20312,14 0,7.6836 5.76953,12.87891 13.09765,12.87891 5.16797,0 9.07813,-2.57031 10.5,-6.39844 h 0.16407 c 0.0547,8.47656 -2.59766,14.21875 -8.53125,14.21875 -3.3086,0 -5.74219,-1.5039 -6.61719,-4.32031 h -8.14844 c 1.03906,6.39844 7,10.85547 14.73828,10.85547 z m 0.0273,-20.48047 c -4.12891,0 -7.19141,-2.95313 -7.19141,-7.08203 0,-3.99219 3.19922,-7.08203 7.27344,-7.08203 4.04687,0 7.24609,3.14453 7.24609,7.21875 0,4.04687 -3.17187,6.94531 -7.32812,6.94531 z" />
|
||||
<path
|
||||
id="path842"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:56px;font-family:'SF Pro Display';-inkscape-font-specification:'SF Pro Display Bold';text-align:center;text-anchor:middle;fill:#ffffff"
|
||||
d="m 218.65625,184.70242 h 10.63672 v -6.97266 h -10.63672 v -11.18359 h -7.13672 v 11.18359 h -10.60937 v 6.97266 h 10.60937 v 11.15625 h 7.13672 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.4 KiB |
100
awes2/widget/email/icons/email-9.svg
Normal file
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="email-99.svg"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8">
|
||||
<rect
|
||||
id="rect887"
|
||||
height="76.821962"
|
||||
width="72.691548"
|
||||
y="140.43247"
|
||||
x="160.68127" />
|
||||
<rect
|
||||
id="rect881"
|
||||
height="42.253372"
|
||||
width="57.559134"
|
||||
y="165.94589"
|
||||
x="180.14568" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-rotation="0"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0.65098039"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="2.2645626"
|
||||
inkscape:cx="118.93231"
|
||||
inkscape:cy="121.34259"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g877" />
|
||||
<g
|
||||
id="g877">
|
||||
<text
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect881);fill:#000000;fill-opacity:1;stroke:none;"
|
||||
id="text879"
|
||||
xml:space="preserve" />
|
||||
<g
|
||||
id="g891">
|
||||
<path
|
||||
d="M 200,40 H 40 C 28.95,40 20.1,48.95 20.1,60 L 20,180 c 0,11.05 8.95,20 20,20 h 160 c 11.05,0 20,-8.95 20,-20 V 60 c 0,-11.05 -8.95,-20 -20,-20 z m 0,40 -80,50 L 40,80 V 60 l 80,50 80,-50 z"
|
||||
id="path2"
|
||||
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
<g
|
||||
id="g884">
|
||||
<ellipse
|
||||
id="ellipse16"
|
||||
ry="40.319271"
|
||||
rx="40.343189"
|
||||
cy="176.31927"
|
||||
cx="196.3432"
|
||||
style="fill:#e04f5f;stroke-width:0.427111" />
|
||||
<g
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:61.3333px;line-height:1.25;font-family:'sf pro d';-inkscape-font-specification:'sf pro d';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect887);fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="text885"
|
||||
transform="translate(0,-0.98869551)"
|
||||
aria-label="9">
|
||||
<path
|
||||
id="path878"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'SF Pro Display';-inkscape-font-specification:'SF Pro Display Bold';text-align:center;text-anchor:middle;fill:#ffffff"
|
||||
d="m 196.26367,197.99278 c 11.23047,0 18.02864,-8.62499 18.02864,-22.94009 0,-15.78255 -8.50521,-22.22134 -18.02864,-22.22134 -9.64322,0 -16.65103,6.3789 -16.65103,15.33332 0,8.41536 6.31901,14.10546 14.34504,14.10546 5.66016,0 9.94271,-2.8151 11.5,-7.00781 h 0.17969 c 0.0599,9.28385 -2.84506,15.57291 -9.34375,15.57291 -3.6237,0 -6.28906,-1.64713 -7.24739,-4.73177 h -8.92448 c 1.13802,7.00781 7.66667,11.88932 16.14192,11.88932 z m 0.03,-22.43098 c -4.52213,0 -7.8763,-3.23437 -7.8763,-7.7565 0,-4.3724 3.50391,-7.75651 7.96614,-7.75651 4.43229,0 7.9362,3.44401 7.9362,7.90625 0,4.43229 -3.47396,7.60676 -8.02604,7.60676 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4 KiB |
117
awes2/widget/email/icons/email-unread.svg
Normal file
|
@ -0,0 +1,117 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
|
||||
height="240"
|
||||
width="240"
|
||||
sodipodi:docname="technology.svg"
|
||||
xml:space="preserve"
|
||||
viewBox="0 0 239.99999 239.99999"
|
||||
y="0px"
|
||||
x="0px"
|
||||
id="Layer_1"
|
||||
version="1.1"><metadata
|
||||
id="metadata90"><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><defs
|
||||
id="defs88" /><sodipodi:namedview
|
||||
inkscape:current-layer="Layer_1"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-x="45"
|
||||
inkscape:cy="249.34781"
|
||||
inkscape:cx="44.809353"
|
||||
inkscape:zoom="0.61363547"
|
||||
inkscape:pagecheckerboard="true"
|
||||
showgrid="false"
|
||||
id="namedview86"
|
||||
inkscape:window-height="740"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0"
|
||||
guidetolerance="10"
|
||||
gridtolerance="10"
|
||||
objecttolerance="10"
|
||||
borderopacity="1"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff" />
|
||||
<g
|
||||
style="fill:#fffffa;fill-opacity:1;opacity:0.8"
|
||||
transform="matrix(0.42613576,0,0,0.42613576,20,19.999787)"
|
||||
id="g53">
|
||||
<g
|
||||
style="fill:#fffffa;fill-opacity:1"
|
||||
id="g51">
|
||||
<path
|
||||
style="fill:#fffffa;fill-opacity:1"
|
||||
id="path49"
|
||||
d="m 465.069,173.152 0.244,-0.305 C 448.222,159.243 427.088,142.408 405,124.8 V 85.334 C 405,61.77 385.897,42.667 362.333,42.667 H 302.188 C 280.769,25.495 265.709,13.345 263.343,11.248 254.869,3.753 244.768,0.004 234.671,0 224.565,-0.004 214.463,3.746 206,11.248 203.634,13.346 188.574,25.495 167.155,42.667 H 106.667 C 83.103,42.667 64,61.77 64,85.334 v 40.003 c -21.846,17.415 -43.059,34.044 -59.979,47.51 l 0.243,0.305 C 1.777,175.152 0,177.923 0,181.195 v 245.452 c 0,23.576 19.112,42.688 42.688,42.688 h 383.979 c 23.564,0 42.667,-19.102 42.667,-42.667 V 181.195 c 0,-3.272 -1.778,-6.043 -4.265,-8.043 z M 220.146,27.225 c 5.667,-5.003 18.75,-9.12 29.052,0.01 1.65,1.46 8.645,7.148 18.924,15.432 h -66.908 c 10.285,-8.287 17.282,-13.98 18.932,-15.442 z m -81.479,79.442 h 191.667 c 5.896,0 10.667,4.771 10.667,10.667 0,5.896 -4.771,10.667 -10.667,10.667 H 138.667 c -5.896,0 -10.667,-4.771 -10.667,-10.667 0,-5.896 4.771,-10.667 10.667,-10.667 z m 0,64 h 191.667 c 5.896,0 10.667,4.771 10.667,10.667 0,5.896 -4.771,10.667 -10.667,10.667 H 138.667 c -5.896,0 -10.667,-4.771 -10.667,-10.667 0,-5.896 4.771,-10.667 10.667,-10.667 z M 288,245.334 c 0,5.896 -4.771,10.667 -10.667,10.667 h -86 c -5.896,0 -10.667,-4.771 -10.667,-10.667 0,-5.896 4.771,-10.667 10.667,-10.667 h 86 c 5.896,0 10.667,4.771 10.667,10.667 z m -38.802,89.82 c -2.573,2.283 -7.938,6.117 -14.865,6.117 -5.063,0 -9.948,-2.052 -14.531,-6.117 C 178.438,298.507 63.305,208.606 27.927,181.092 c 8.322,-6.626 20.974,-16.703 35.74,-28.471 v 24.214 c 0,3.281 1.51,6.385 4.094,8.406 43.469,33.979 122.021,95.844 159.771,128.417 2,1.729 4.49,2.594 6.969,2.594 2.479,0 4.958,-0.865 6.958,-2.583 C 279.021,281.294 357.48,219.617 400.896,185.721 403.49,183.7 405,180.596 405,177.315 V 152.09 c 15.044,11.99 27.953,22.272 36.397,28.996 -35.476,27.544 -151.083,117.663 -192.199,154.068 z" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g55">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g57">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g59">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g61">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g63">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g65">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g67">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g69">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g71">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g73">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g75">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g77">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g79">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g81">
|
||||
</g>
|
||||
<g
|
||||
style="opacity:0.8"
|
||||
id="g83">
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.2 KiB |
56
awes2/widget/email/icons/email.svg
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
|
||||
sodipodi:docname="ic_email_48px.svg"
|
||||
id="svg4"
|
||||
version="1.1"
|
||||
viewBox="0 0 240 240"
|
||||
height="240"
|
||||
width="240">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
inkscape:current-layer="svg4"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-x="45"
|
||||
inkscape:cy="85.87193"
|
||||
inkscape:cx="-95.622868"
|
||||
inkscape:zoom="0.75889096"
|
||||
inkscape:pagecheckerboard="true"
|
||||
showgrid="false"
|
||||
id="namedview6"
|
||||
inkscape:window-height="740"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0"
|
||||
guidetolerance="10"
|
||||
gridtolerance="10"
|
||||
objecttolerance="10"
|
||||
borderopacity="1"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff" />
|
||||
<path
|
||||
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:5"
|
||||
id="path2"
|
||||
d="M 200,40 H 40 C 28.95,40 20.1,48.95 20.1,60 L 20,180 c 0,11.05 8.95,20 20,20 h 160 c 11.05,0 20,-8.95 20,-20 V 60 c 0,-11.05 -8.95,-20 -20,-20 z m 0,40 -80,50 L 40,80 V 60 l 80,50 80,-50 z" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
412
awes2/widget/email/init.lua
Normal file
|
@ -0,0 +1,412 @@
|
|||
local awful = require('awful')
|
||||
local gears = require('gears')
|
||||
local wibox = require('wibox')
|
||||
local naughty = require('naughty')
|
||||
local beautiful = require('beautiful')
|
||||
|
||||
local dpi = beautiful.xresources.apply_dpi
|
||||
|
||||
local config_dir = gears.filesystem.get_configuration_dir()
|
||||
local widget_icon_dir = config_dir .. 'widget/email/icons/'
|
||||
|
||||
local secrets = require('configuration.secrets')
|
||||
|
||||
local email_account = secrets.email.address
|
||||
local app_password = secrets.email.app_password
|
||||
local imap_server = secrets.email.imap_server
|
||||
local port = secrets.email.port
|
||||
|
||||
local unread_email_count = 0
|
||||
local startup_show = true
|
||||
|
||||
local scroll_container = function(widget)
|
||||
return wibox.widget {
|
||||
widget,
|
||||
id = 'scroll_container',
|
||||
max_size = 345,
|
||||
speed = 75,
|
||||
expand = true,
|
||||
direction = 'h',
|
||||
step_function = wibox.container.scroll
|
||||
.step_functions.waiting_nonlinear_back_and_forth,
|
||||
fps = 30,
|
||||
layout = wibox.container.scroll.horizontal,
|
||||
}
|
||||
end
|
||||
|
||||
local email_icon_widget = wibox.widget {
|
||||
{
|
||||
id = 'icon',
|
||||
image = widget_icon_dir .. 'email.svg',
|
||||
resize = true,
|
||||
forced_height = dpi(45),
|
||||
forced_width = dpi(45),
|
||||
widget = wibox.widget.imagebox,
|
||||
},
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
}
|
||||
|
||||
local email_from_text = wibox.widget {
|
||||
font = 'SF Pro Text Bold 10',
|
||||
markup = 'From:',
|
||||
align = 'left',
|
||||
valign = 'center',
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
|
||||
local email_recent_from = wibox.widget {
|
||||
font = 'SF Pro Text Regular 10',
|
||||
markup = 'loading@stdout.sh',
|
||||
align = 'left',
|
||||
valign = 'center',
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
local email_subject_text = wibox.widget {
|
||||
font = 'SF Pro Text Regular 10',
|
||||
markup = 'Subject:',
|
||||
align = 'left',
|
||||
valign = 'center',
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
local email_recent_subject = wibox.widget {
|
||||
font = 'SF Pro Text Regular 10',
|
||||
markup = 'Loading data',
|
||||
align = 'left',
|
||||
valign = 'center',
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
local email_date_text = wibox.widget {
|
||||
font = 'SF Pro Text Regular 10',
|
||||
markup = 'Local Date:',
|
||||
align = 'left',
|
||||
valign = 'center',
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
local email_recent_date = wibox.widget {
|
||||
font = 'SF Pro Text Regular 10',
|
||||
markup = 'Loading date...',
|
||||
align = 'left',
|
||||
valign = 'center',
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
local email_report = wibox.widget{
|
||||
{
|
||||
{
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
spacing = dpi(10),
|
||||
{
|
||||
layout = wibox.layout.align.vertical,
|
||||
expand = 'none',
|
||||
nil,
|
||||
email_icon_widget,
|
||||
nil
|
||||
},
|
||||
{
|
||||
layout = wibox.layout.align.vertical,
|
||||
expand = 'none',
|
||||
nil,
|
||||
{
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
{
|
||||
email_from_text,
|
||||
scroll_container(email_recent_from),
|
||||
spacing = dpi(5),
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{
|
||||
email_subject_text,
|
||||
scroll_container(email_recent_subject),
|
||||
spacing = dpi(5),
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{
|
||||
email_date_text,
|
||||
scroll_container(email_recent_date),
|
||||
spacing = dpi(5),
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
}
|
||||
},
|
||||
nil
|
||||
}
|
||||
},
|
||||
margins = dpi(10),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
forced_height = dpi(92),
|
||||
bg = beautiful.groups_bg,
|
||||
shape = function(cr, width, height)
|
||||
gears.shape.partially_rounded_rect(cr, width, height, true, true, true, true, beautiful.groups_radius)
|
||||
end,
|
||||
widget = wibox.container.background
|
||||
}
|
||||
|
||||
local email_details_tooltip = awful.tooltip
|
||||
{
|
||||
text = 'Loading...',
|
||||
objects = {email_icon_widget},
|
||||
mode = 'outside',
|
||||
align = 'right',
|
||||
preferred_positions = {'left', 'right', 'top', 'bottom'},
|
||||
margin_leftright = dpi(8),
|
||||
margin_topbottom = dpi(8)
|
||||
}
|
||||
|
||||
local fetch_email_command = [[
|
||||
python3 - <<END
|
||||
import imaplib
|
||||
import email
|
||||
import datetime
|
||||
import re
|
||||
import sys
|
||||
|
||||
def process_mailbox(M):
|
||||
rv, data = M.search(None, "(UNSEEN)")
|
||||
if rv != 'OK':
|
||||
print ("No messages found!")
|
||||
return
|
||||
|
||||
for num in reversed(data[0].split()):
|
||||
rv, data = M.fetch(num, '(BODY.PEEK[])')
|
||||
if rv != 'OK':
|
||||
print ("ERROR getting message", num)
|
||||
return
|
||||
|
||||
msg = email.message_from_bytes(data[0][1])
|
||||
print ('From:', msg['From'])
|
||||
print ('Subject: %s' % (msg['Subject']))
|
||||
date_tuple = email.utils.parsedate_tz(msg['Date'])
|
||||
if date_tuple:
|
||||
local_date = datetime.datetime.fromtimestamp(email.utils.mktime_tz(date_tuple))
|
||||
print ("Local Date:", local_date.strftime("%a, %H:%M:%S %b %d, %Y") + "\n")
|
||||
# with code below you can process text of email
|
||||
# if msg.is_multipart():
|
||||
# for payload in msg.get_payload():
|
||||
# if payload.get_content_maintype() == 'text':
|
||||
# print payload.get_payload()
|
||||
# else:
|
||||
# print msg.get_payload()
|
||||
|
||||
|
||||
try:
|
||||
M=imaplib.IMAP4_SSL("]] .. imap_server .. [[", ]] .. port .. [[)
|
||||
M.login("]] .. email_account .. [[","]] .. app_password .. [[")
|
||||
|
||||
status, counts = M.status("INBOX","(MESSAGES UNSEEN)")
|
||||
|
||||
rv, data = M.select("INBOX")
|
||||
if rv == 'OK':
|
||||
unread = re.search(r'UNSEEN\s(\d+)', counts[0].decode('utf-8')).group(1)
|
||||
print ("Unread Count: " + unread)
|
||||
process_mailbox(M)
|
||||
|
||||
M.close()
|
||||
M.logout()
|
||||
|
||||
except Exception as e:
|
||||
if e:
|
||||
print (e)
|
||||
|
||||
END
|
||||
]]
|
||||
|
||||
local notify_all_unread_email = function(email_data)
|
||||
|
||||
local unread_counter = email_data:match('Unread Count: (.-)From:'):sub(1, -2)
|
||||
|
||||
local email_data = email_data:match('(From:.*)'):sub(1, -2)
|
||||
|
||||
local title = nil
|
||||
|
||||
if tonumber(unread_email_count) > 1 then
|
||||
title = 'You have ' .. unread_counter .. ' unread emails!'
|
||||
else
|
||||
title = 'You have ' .. unread_counter .. ' unread email!'
|
||||
end
|
||||
|
||||
naughty.notification ({
|
||||
app_name = 'Email',
|
||||
title = title,
|
||||
message = email_data,
|
||||
timeout = 30,
|
||||
icon = widget_icon_dir .. 'email-unread.svg'
|
||||
})
|
||||
end
|
||||
|
||||
local notify_new_email = function(count, from, subject)
|
||||
if not startup_show and (tonumber(count) > tonumber(unread_email_count)) then
|
||||
unread_email_count = tonumber(count)
|
||||
|
||||
local message = "From: " .. from ..
|
||||
"\nSubject: " .. subject
|
||||
|
||||
naughty.notification ({
|
||||
app_name = 'Email',
|
||||
title = 'You have a new unread email!',
|
||||
message = message,
|
||||
timeout = 10,
|
||||
icon = widget_icon_dir .. 'email-unread.svg'
|
||||
})
|
||||
else
|
||||
unread_email_count = tonumber(count)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
local set_email_data_tooltip = function(email_data)
|
||||
local email_data = email_data:match('(From:.*)')
|
||||
local counter = "<span font='SF Pro Text Bold 10'>Unread Count: </span>" .. unread_email_count
|
||||
email_details_tooltip:set_markup(counter .. '\n\n' .. email_data)
|
||||
end
|
||||
|
||||
local set_widget_markup = function(from, subject, date, tooltip)
|
||||
|
||||
email_recent_from:set_markup(from:gsub('%\n', ''))
|
||||
email_recent_subject:set_markup(subject:gsub('%\n', ''))
|
||||
email_recent_date:set_markup(date:gsub('%\n', ''))
|
||||
|
||||
if tooltip then
|
||||
email_details_tooltip:set_markup(tooltip)
|
||||
end
|
||||
end
|
||||
|
||||
local set_no_connection_msg = function()
|
||||
set_widget_markup(
|
||||
'message@stderr.sh',
|
||||
'Check network connection!',
|
||||
os.date("%d-%m-%Y %H:%M:%S"),
|
||||
'No internet connection!'
|
||||
)
|
||||
end
|
||||
|
||||
local set_invalid_credentials_msg = function()
|
||||
set_widget_markup(
|
||||
'message@stderr.sh',
|
||||
'Invalid Credentials!',
|
||||
os.date("%d-%m-%Y %H:%M:%S"),
|
||||
'You have an invalid credentials!'
|
||||
)
|
||||
end
|
||||
|
||||
local set_latest_email_data = function(email_data)
|
||||
|
||||
local unread_count = email_data:match('Unread Count: (.-)From:'):sub(1, -2)
|
||||
local recent_from = email_data:match('From: (.-)Subject:'):sub(1, -2)
|
||||
local recent_subject = email_data:match('Subject: (.-)Local Date:'):sub(1, -2)
|
||||
local recent_date = email_data:match('Local Date: (.-)\n')
|
||||
|
||||
recent_from = recent_from:match('<(.*)>') or recent_from:match('<(.*)>') or recent_from
|
||||
|
||||
local count = tonumber(unread_count)
|
||||
if count > 0 and count <= 9 then
|
||||
email_icon_widget.icon:set_image(widget_icon_dir .. 'email-'.. tostring(count) .. '.svg')
|
||||
elseif count > 9 then
|
||||
email_icon_widget.icon:set_image(widget_icon_dir .. 'email-9+.svg')
|
||||
end
|
||||
|
||||
set_widget_markup(
|
||||
recent_from,
|
||||
recent_subject,
|
||||
recent_date
|
||||
)
|
||||
|
||||
notify_new_email(unread_count, recent_from, recent_subject)
|
||||
end
|
||||
|
||||
local set_empty_inbox_msg = function()
|
||||
set_widget_markup(
|
||||
'empty@stdout.sh',
|
||||
'Empty inbox',
|
||||
os.date("%d-%m-%Y %H:%M:%S"),
|
||||
'Empty inbox.'
|
||||
)
|
||||
end
|
||||
|
||||
local fetch_email_data = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
fetch_email_command,
|
||||
function(stdout)
|
||||
stdout = gears.string.xml_escape(stdout:sub(1, -2))
|
||||
|
||||
if stdout:match("Temporary failure in name resolution") then
|
||||
set_no_connection_msg()
|
||||
return
|
||||
elseif stdout:match("Invalid credentials") then
|
||||
set_invalid_credentials_msg()
|
||||
return
|
||||
elseif stdout:match("Unread Count: 0") then
|
||||
email_icon_widget.icon:set_image(widget_icon_dir .. 'email.svg')
|
||||
set_empty_inbox_msg()
|
||||
return
|
||||
elseif not stdout:match('Unread Count: (.-)From:') then
|
||||
return
|
||||
elseif not stdout or stdout == '' then
|
||||
return
|
||||
end
|
||||
|
||||
set_latest_email_data(stdout)
|
||||
set_email_data_tooltip(stdout)
|
||||
|
||||
if startup_show then
|
||||
notify_all_unread_email(stdout)
|
||||
startup_show = false
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
local set_missing_secrets_msg = function()
|
||||
set_widget_markup(
|
||||
'message@stderr.sh',
|
||||
'Credentials are missing!',
|
||||
os.date("%d-%m-%Y %H:%M:%S"),
|
||||
'Missing credentials!'
|
||||
)
|
||||
end
|
||||
|
||||
local check_secrets = function()
|
||||
if email_account == '' or app_password == '' or imap_server == '' or port == '' then
|
||||
set_missing_secrets_msg()
|
||||
return
|
||||
else
|
||||
fetch_email_data()
|
||||
end
|
||||
end
|
||||
|
||||
check_secrets()
|
||||
|
||||
local update_widget_timer = gears.timer {
|
||||
timeout = 30,
|
||||
autostart = true,
|
||||
call_now = true,
|
||||
callback = function()
|
||||
check_secrets()
|
||||
end
|
||||
}
|
||||
|
||||
|
||||
email_report:connect_signal(
|
||||
"mouse::enter",
|
||||
function()
|
||||
check_secrets()
|
||||
end
|
||||
)
|
||||
|
||||
awesome.connect_signal(
|
||||
'system::wifi_connected',
|
||||
function()
|
||||
gears.timer.start_new(
|
||||
5,
|
||||
function()
|
||||
check_secrets()
|
||||
end
|
||||
)
|
||||
end
|
||||
)
|
||||
|
||||
return email_report
|
61
awes2/widget/harddrive/harddrive-meter.lua
Normal file
|
@ -0,0 +1,61 @@
|
|||
local wibox = require('wibox')
|
||||
local gears = require('gears')
|
||||
local beautiful = require('beautiful')
|
||||
|
||||
local watch = require('awful.widget.watch')
|
||||
local icons = require('theme.icons')
|
||||
|
||||
local dpi = beautiful.xresources.apply_dpi
|
||||
|
||||
local slider = wibox.widget {
|
||||
nil,
|
||||
{
|
||||
id = 'hdd_usage',
|
||||
max_value = 100,
|
||||
value = 29,
|
||||
forced_height = dpi(2),
|
||||
color = beautiful.fg_normal,
|
||||
background_color = beautiful.groups_bg,
|
||||
shape = gears.shape.rounded_rect,
|
||||
widget = wibox.widget.progressbar
|
||||
},
|
||||
nil,
|
||||
expand = 'none',
|
||||
layout = wibox.layout.align.vertical
|
||||
}
|
||||
|
||||
watch(
|
||||
[[bash -c "df -h /home|grep '^/' | awk '{print $5}'"]],
|
||||
10,
|
||||
function(_, stdout)
|
||||
local space_consumed = stdout:match('(%d+)')
|
||||
slider.hdd_usage:set_value(tonumber(space_consumed))
|
||||
collectgarbage('collect')
|
||||
end
|
||||
)
|
||||
|
||||
|
||||
local harddrive_meter = wibox.widget {
|
||||
{
|
||||
{
|
||||
{
|
||||
image = icons.harddisk,
|
||||
resize = true,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
top = dpi(12),
|
||||
bottom = dpi(12),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
slider,
|
||||
spacing = dpi(24),
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
|
||||
},
|
||||
left = dpi(24),
|
||||
right = dpi(24),
|
||||
forced_height = dpi(48),
|
||||
widget = wibox.container.margin
|
||||
}
|
||||
|
||||
return harddrive_meter
|
22
awes2/widget/music/content/album-cover.lua
Executable file
|
@ -0,0 +1,22 @@
|
|||
local gears = require('gears')
|
||||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
|
||||
local dpi = require('beautiful').xresources.apply_dpi
|
||||
|
||||
local config_dir = gears.filesystem.get_configuration_dir()
|
||||
local widget_icon_dir = config_dir .. 'widget/music/icons/'
|
||||
|
||||
local album_cover_img = wibox.widget {
|
||||
{
|
||||
id = 'cover',
|
||||
image = widget_icon_dir .. 'vinyl' .. '.svg',
|
||||
resize = true,
|
||||
clip_shape = gears.shape.rounded_rect,
|
||||
widget = wibox.widget.imagebox,
|
||||
},
|
||||
layout = wibox.layout.fixed.vertical
|
||||
}
|
||||
|
||||
|
||||
return album_cover_img
|
9
awes2/widget/music/content/init.lua
Normal file
|
@ -0,0 +1,9 @@
|
|||
-- Return UI Table
|
||||
return {
|
||||
album_cover = require('widget.music.content.album-cover'),
|
||||
progress_bar = require('widget.music.content.progress-bar'),
|
||||
track_time = require('widget.music.content.track-time'),
|
||||
song_info = require('widget.music.content.song-info'),
|
||||
media_buttons = require('widget.music.content.media-buttons'),
|
||||
volume_slider = require('widget.music.content.volume-slider'),
|
||||
}
|
124
awes2/widget/music/content/media-buttons.lua
Executable file
|
@ -0,0 +1,124 @@
|
|||
local beautiful = require('beautiful')
|
||||
local gears = require('gears')
|
||||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
local dpi = beautiful.xresources.apply_dpi
|
||||
|
||||
local clickable_container = require('widget.clickable-container')
|
||||
|
||||
local config_dir = gears.filesystem.get_configuration_dir()
|
||||
local widget_icon_dir = config_dir .. 'widget/music/icons/'
|
||||
|
||||
local media_buttons = {}
|
||||
|
||||
media_buttons.play_button_image = wibox.widget {
|
||||
{
|
||||
id = 'play',
|
||||
image = widget_icon_dir .. 'play' .. '.svg',
|
||||
resize = true,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
|
||||
media_buttons.next_button_image = wibox.widget {
|
||||
{
|
||||
id = 'next',
|
||||
image = widget_icon_dir .. 'next' .. '.svg',
|
||||
resize = true,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
|
||||
media_buttons.prev_button_image = wibox.widget {
|
||||
{
|
||||
id = 'prev',
|
||||
image = widget_icon_dir .. 'prev' .. '.svg',
|
||||
resize = true,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
|
||||
media_buttons.repeat_button_image = wibox.widget {
|
||||
{
|
||||
id = 'rep',
|
||||
image = widget_icon_dir .. 'repeat-on' .. '.svg',
|
||||
resize = true,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
|
||||
media_buttons.random_button_image = wibox.widget {
|
||||
{
|
||||
id = 'rand',
|
||||
image = widget_icon_dir .. 'random-on' .. '.svg',
|
||||
resize = true,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
|
||||
media_buttons.play_button = wibox.widget {
|
||||
{
|
||||
media_buttons.play_button_image,
|
||||
margins = dpi(7),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
media_buttons.next_button = wibox.widget {
|
||||
{
|
||||
media_buttons.next_button_image,
|
||||
margins = dpi(10),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
media_buttons.prev_button = wibox.widget {
|
||||
{
|
||||
media_buttons.prev_button_image,
|
||||
margins = dpi(10),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
media_buttons.repeat_button = wibox.widget {
|
||||
{
|
||||
media_buttons.repeat_button_image,
|
||||
margins = dpi(10),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
media_buttons.random_button = wibox.widget {
|
||||
{
|
||||
media_buttons.random_button_image,
|
||||
margins = dpi(10),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
media_buttons.navigate_buttons = wibox.widget {
|
||||
expand = 'none',
|
||||
layout = wibox.layout.align.horizontal,
|
||||
media_buttons.repeat_button,
|
||||
{
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
media_buttons.prev_button,
|
||||
media_buttons.play_button,
|
||||
media_buttons.next_button,
|
||||
forced_height = dpi(35),
|
||||
},
|
||||
media_buttons.random_button,
|
||||
forced_height = dpi(35),
|
||||
}
|
||||
|
||||
return media_buttons
|
22
awes2/widget/music/content/progress-bar.lua
Executable file
|
@ -0,0 +1,22 @@
|
|||
local beautiful = require('beautiful')
|
||||
local gears = require('gears')
|
||||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
local dpi = beautiful.xresources.apply_dpi
|
||||
|
||||
local progressbar = wibox.widget {
|
||||
{
|
||||
id = 'music_bar',
|
||||
max_value = 100,
|
||||
forced_height = dpi(3),
|
||||
forced_width = dpi(100),
|
||||
color = '#ffffff',
|
||||
background_color = '#ffffff20',
|
||||
shape = gears.shape.rounded_bar,
|
||||
widget = wibox.widget.progressbar
|
||||
},
|
||||
layout = wibox.layout.stack
|
||||
}
|
||||
|
||||
|
||||
return progressbar
|
63
awes2/widget/music/content/song-info.lua
Executable file
|
@ -0,0 +1,63 @@
|
|||
local wibox = require('wibox')
|
||||
local dpi = require('beautiful').xresources.apply_dpi
|
||||
|
||||
local song_info = {}
|
||||
|
||||
song_info.music_title = wibox.widget {
|
||||
layout = wibox.layout.align.horizontal,
|
||||
expand = 'none',
|
||||
nil,
|
||||
{
|
||||
{
|
||||
id = 'title',
|
||||
text = 'The song title is here',
|
||||
font = 'SF Pro Text Bold 12',
|
||||
align = 'center',
|
||||
valign = 'center',
|
||||
ellipsize = 'end',
|
||||
widget = wibox.widget.textbox
|
||||
},
|
||||
id = 'scroll_container',
|
||||
max_size = 345,
|
||||
speed = 75,
|
||||
expand = true,
|
||||
direction = 'h',
|
||||
step_function = wibox.container.scroll.step_functions.waiting_nonlinear_back_and_forth,
|
||||
-- fps = 60,
|
||||
layout = wibox.container.scroll.horizontal,
|
||||
},
|
||||
nil
|
||||
}
|
||||
|
||||
song_info.music_artist = wibox.widget {
|
||||
layout = wibox.layout.align.horizontal,
|
||||
expand = 'none',
|
||||
nil,
|
||||
{
|
||||
{
|
||||
id = 'artist',
|
||||
text = 'The artist name is here',
|
||||
font = 'SF Pro Text 10',
|
||||
align = 'center',
|
||||
valign = 'center',
|
||||
widget = wibox.widget.textbox
|
||||
},
|
||||
id = 'scroll_container',
|
||||
max_size = 345,
|
||||
speed = 75,
|
||||
expand = true,
|
||||
direction = 'h',
|
||||
step_function = wibox.container.scroll.step_functions.waiting_nonlinear_back_and_forth,
|
||||
layout = wibox.container.scroll.horizontal,
|
||||
fps = 60
|
||||
},
|
||||
nil,
|
||||
}
|
||||
|
||||
song_info.music_info = wibox.widget {
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
song_info.music_title,
|
||||
song_info.music_artist
|
||||
}
|
||||
|
||||
return song_info
|
37
awes2/widget/music/content/track-time.lua
Executable file
|
@ -0,0 +1,37 @@
|
|||
local beautiful = require('beautiful')
|
||||
local gears = require('gears')
|
||||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
local dpi = beautiful.xresources.apply_dpi
|
||||
|
||||
local time_info = {}
|
||||
|
||||
time_info.time_status = wibox.widget {
|
||||
id = 'statustime',
|
||||
text = '00:00',
|
||||
font = 'SF Pro Text 8',
|
||||
align = 'center',
|
||||
valign = 'center',
|
||||
forced_height = dpi(10),
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
time_info.time_duration = wibox.widget {
|
||||
id = 'durationtime',
|
||||
text = '00:00',
|
||||
font = 'SF Pro Text 8',
|
||||
align = 'center',
|
||||
valign = 'center',
|
||||
forced_height = dpi(10),
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
time_info.time_track = wibox.widget {
|
||||
expand = 'none',
|
||||
layout = wibox.layout.align.horizontal,
|
||||
time_info.time_status,
|
||||
nil,
|
||||
time_info.time_duration
|
||||
}
|
||||
|
||||
return time_info
|
24
awes2/widget/music/content/volume-slider.lua
Executable file
|
@ -0,0 +1,24 @@
|
|||
local beautiful = require('beautiful')
|
||||
local gears = require('gears')
|
||||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
local dpi = beautiful.xresources.apply_dpi
|
||||
|
||||
local slider = {}
|
||||
|
||||
slider.vol_slider = wibox.widget {
|
||||
bar_shape = gears.shape.rounded_rect,
|
||||
bar_height = dpi(5),
|
||||
bar_color = '#ffffff20',
|
||||
bar_active_color = '#f2f2f2EE',
|
||||
handle_color = '#ffffff',
|
||||
handle_shape = gears.shape.circle,
|
||||
handle_width = dpi(15),
|
||||
handle_border_color = '#00000012',
|
||||
handle_border_width = dpi(1),
|
||||
maximum = 100,
|
||||
widget = wibox.widget.slider,
|
||||
}
|
||||
|
||||
return slider
|
||||
|
62
awes2/widget/music/icons/music.svg
Executable file
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
width="240"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="music.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#252525"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.61458333"
|
||||
inkscape:cx="-149.03738"
|
||||
inkscape:cy="-9.7452794"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6"
|
||||
inkscape:pagecheckerboard="true" />
|
||||
<path
|
||||
d="m 0,216 h 24 v 24 H 0 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="m 120,20 v 117.22222 c -6.55555,-3.77778 -14.11111,-6.11111 -22.222221,-6.11111 -24.555555,0 -44.444444,19.88889 -44.444444,44.44445 0,24.55555 19.888889,44.44444 44.444444,44.44444 24.555561,0 44.444441,-19.88889 44.444441,-44.44444 V 64.444444 h 44.44444 V 20 Z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:0.93333333;stroke-width:11.11111069"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
57
awes2/widget/music/icons/next.svg
Normal file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_skip_next_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 20,220 161.66667,120 20,20 Z M 186.66667,20 V 220 H 220 V 20 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="stroke-width:8.33333302;fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
59
awes2/widget/music/icons/pause.svg
Normal file
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240.00001 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_pause_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
units="px"
|
||||
width="240mm"
|
||||
inkscape:zoom="0.30729167"
|
||||
inkscape:cx="-372.98936"
|
||||
inkscape:cy="-268.78861"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="m 34.285715,220 h 57.14286 V 20 H 34.285715 Z M 148.57142,20 v 200 h 57.14287 V 20 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:7.1428566" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
57
awes2/widget/music/icons/play.svg
Executable file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_play_arrow_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 41.42857,20 V 220 L 198.57143,120 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="stroke-width:7.14285707;fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
57
awes2/widget/music/icons/prev.svg
Normal file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_skip_previous_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="0.43457604"
|
||||
inkscape:cx="-405.81548"
|
||||
inkscape:cy="18.788525"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 20,20 H 53.333333 V 220 H 20 Z M 78.333333,120 220,220 V 20 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:8.33333302" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
64
awes2/widget/music/icons/random-off.svg
Executable file
After Width: | Height: | Size: 11 KiB |
64
awes2/widget/music/icons/random-on.svg
Executable file
After Width: | Height: | Size: 13 KiB |
57
awes2/widget/music/icons/repeat-off.svg
Normal file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_repeat_48px-off.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="1.2291667"
|
||||
inkscape:cx="-133.946"
|
||||
inkscape:cy="65.022819"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="m 70,70 h 100 v 30 L 210,60 170,20 V 50 H 50 v 60 H 70 Z M 170,170 H 70 v -30 l -40,40 40,40 v -30 h 120 v -60 h -20 z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="stroke-width:5;fill:#ffffff;fill-opacity:0.40000001" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
57
awes2/widget/music/icons/repeat-on.svg
Normal file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_repeat_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="1.2291667"
|
||||
inkscape:cx="-133.946"
|
||||
inkscape:cy="65.022819"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="m 70,70 h 100 v 30 L 210,60 170,20 V 50 H 50 v 60 H 70 Z M 170,170 H 70 v -30 l -40,40 40,40 v -30 h 120 v -60 h -20 z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="stroke-width:5;fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
5698
awes2/widget/music/icons/vinyl.svg
Executable file
After Width: | Height: | Size: 421 KiB |
92
awes2/widget/music/init.lua
Executable file
|
@ -0,0 +1,92 @@
|
|||
-- # #
|
||||
-- ## ## # # #### # ####
|
||||
-- # # # # # # # # # #
|
||||
-- # # # # # #### # #
|
||||
-- # # # # # # #
|
||||
-- # # # # # # # # #
|
||||
-- # # #### #### # ####
|
||||
|
||||
local gears = require('gears')
|
||||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
|
||||
local dpi = require('beautiful').xresources.apply_dpi
|
||||
|
||||
local config_dir = gears.filesystem.get_configuration_dir()
|
||||
local widget_icon_dir = config_dir .. 'widget/music/icons/'
|
||||
|
||||
local clickable_container = require('widget.clickable-container')
|
||||
|
||||
local music_box = require('widget.music.music-box')
|
||||
local toggle_music_box = music_box.toggle_music_box
|
||||
|
||||
|
||||
local return_button = function()
|
||||
|
||||
|
||||
local widget = wibox.widget {
|
||||
{
|
||||
id = 'icon',
|
||||
image = widget_icon_dir .. 'music' .. '.svg',
|
||||
widget = wibox.widget.imagebox,
|
||||
resize = true
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
|
||||
local widget_button = wibox.widget {
|
||||
{
|
||||
widget,
|
||||
margins = dpi(7),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
|
||||
local music_tooltip = awful.tooltip
|
||||
{
|
||||
objects = {widget_button},
|
||||
text = 'None',
|
||||
mode = 'outside',
|
||||
margin_leftright = dpi(8),
|
||||
margin_topbottom = dpi(8),
|
||||
align = 'right',
|
||||
preferred_positions = {'right', 'left', 'top', 'bottom'}
|
||||
}
|
||||
|
||||
|
||||
widget_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
music_tooltip.visible = false
|
||||
awesome.emit_signal('widget::music', 'mouse')
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
widget_button:connect_signal(
|
||||
"mouse::enter",
|
||||
function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
'mpc status',
|
||||
function(stdout)
|
||||
music_tooltip.text = string.gsub(stdout, '\n$', '')
|
||||
end
|
||||
)
|
||||
end
|
||||
)
|
||||
|
||||
|
||||
return widget_button
|
||||
|
||||
end
|
||||
|
||||
|
||||
return return_button
|
506
awes2/widget/music/mpd-music-updater.lua
Executable file
|
@ -0,0 +1,506 @@
|
|||
-- Update Music info using mpd/mpc
|
||||
-- Depends mpd, mpc
|
||||
|
||||
local gears = require('gears')
|
||||
local awful = require('awful')
|
||||
|
||||
local config_dir = gears.filesystem.get_configuration_dir()
|
||||
local widget_icon_dir = config_dir .. 'widget/music/icons/'
|
||||
|
||||
local ui_content = require('widget.music.content')
|
||||
|
||||
local album_cover = ui_content.album_cover
|
||||
local prog_bar = ui_content.progress_bar
|
||||
local track_time = ui_content.track_time
|
||||
local song_info = ui_content.song_info
|
||||
local vol_slider = ui_content.volume_slider
|
||||
local media_buttons = ui_content.media_buttons
|
||||
|
||||
local apps = require('configuration.apps')
|
||||
|
||||
local update_cover = function()
|
||||
|
||||
local extract_script = [[
|
||||
MUSIC_DIR="$(xdg-user-dir MUSIC)"
|
||||
TMP_DIR="/tmp/awesomewm/${USER}/"
|
||||
TMP_COVER_PATH=${TMP_DIR}"cover.jpg"
|
||||
TMP_SONG="${TMP_DIR}current-song"
|
||||
|
||||
CHECK_EXIFTOOL=$(command -v exiftool)
|
||||
|
||||
if [ ! -d "${TMP_DIR}" ]; then
|
||||
mkdir -p "${TMP_DIR}";
|
||||
fi
|
||||
|
||||
if [ ! -z "$CHECK_EXIFTOOL" ]; then
|
||||
|
||||
# Extract album cover using perl-image-exiftool
|
||||
exiftool -b -Picture \
|
||||
"$MUSIC_DIR/$(mpc -p 6600 --format "%file%" current)" > "$TMP_COVER_PATH"
|
||||
|
||||
else
|
||||
|
||||
#Extract image using ffmpeg
|
||||
cp "$MUSIC_DIR/$(mpc --format %file% current)" "$TMP_SONG"
|
||||
|
||||
ffmpeg \
|
||||
-hide_banner \
|
||||
-loglevel 0 \
|
||||
-y \
|
||||
-i "$TMP_SONG" \
|
||||
-vf scale=300:-1 \
|
||||
"$TMP_COVER_PATH" > /dev/null 2>&1
|
||||
|
||||
rm "$TMP_SONG"
|
||||
fi
|
||||
|
||||
img_data=$(identify $TMP_COVER_PATH 2>&1)
|
||||
|
||||
# Delete the cover.jpg if it's not a valid image
|
||||
if [[ $img_data == *"insufficient"* ]] .. ']]' .. [[; then
|
||||
rm $TMP_COVER_PATH
|
||||
fi
|
||||
|
||||
if [ -f $TMP_COVER_PATH ]; then
|
||||
echo $TMP_COVER_PATH;
|
||||
fi
|
||||
]]
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
extract_script,
|
||||
function(stdout)
|
||||
local album_icon = widget_icon_dir .. 'vinyl' .. '.svg'
|
||||
|
||||
if not (stdout == nil or stdout == '') then
|
||||
album_icon = stdout:gsub('%\n', '')
|
||||
end
|
||||
|
||||
album_cover.cover:set_image(gears.surface.load_uncached(album_icon))
|
||||
|
||||
album_cover:emit_signal("widget::redraw_needed")
|
||||
album_cover:emit_signal("widget::layout_changed")
|
||||
|
||||
collectgarbage('collect')
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
local update_progress_bar = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
mpc status | awk 'NR==2 { split($4, a); print a[1]}' | tr -d '[\%\(\)]'
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
local progress_bar = prog_bar.music_bar
|
||||
|
||||
if stdout ~= nil then
|
||||
progress_bar:set_value(tonumber(stdout))
|
||||
else
|
||||
progress_bar:set_value(0)
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
local update_time_progress = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
mpc status | awk 'NR==2 { split($3, a, "/"); print a[1]}' | tr -d '[\%\(\)]'
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
local time_status = track_time.time_status
|
||||
|
||||
if stdout ~= nil then
|
||||
time_status:set_text(tostring(stdout))
|
||||
else
|
||||
time_status:set_text(tostring("00:00"))
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
end
|
||||
|
||||
|
||||
local update_time_duration = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
mpc --format %time% current
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
local time_duration = track_time.time_duration
|
||||
|
||||
if stdout ~= nil then
|
||||
time_duration:set_text(tostring(stdout))
|
||||
else
|
||||
time_duration:set_text(tostring("99:59"))
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
local update_file = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
mpc -f %file% current
|
||||
]],
|
||||
function(stdout)
|
||||
file_name = stdout:gsub('%\n','')
|
||||
end
|
||||
)
|
||||
return file_name
|
||||
end
|
||||
|
||||
|
||||
local update_title = function()
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
mpc -f %title% current
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
-- Remove new lines
|
||||
local title = stdout:gsub('%\n', '')
|
||||
|
||||
local title_widget = song_info.music_title
|
||||
local title_text = song_info.music_title:get_children_by_id('title')[1]
|
||||
|
||||
-- Make sure it's not null
|
||||
if not (title == nil or title == '') then
|
||||
|
||||
title_text:set_text(title)
|
||||
|
||||
else
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
mpc -f %file% current
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
if not (stdout == nil or stdout == '') then
|
||||
|
||||
file_name = stdout:gsub('%\n','')
|
||||
|
||||
file_name = file_name:sub(1, title:len() - 5) .. ''
|
||||
|
||||
title_text:set_text(file_name)
|
||||
|
||||
else
|
||||
-- Set title
|
||||
title_text:set_text("Play some music!")
|
||||
|
||||
end
|
||||
title_widget:emit_signal("widget::redraw_needed")
|
||||
title_widget:emit_signal("widget::layout_changed")
|
||||
end
|
||||
)
|
||||
|
||||
end
|
||||
|
||||
title_widget:emit_signal("widget::redraw_needed")
|
||||
title_widget:emit_signal("widget::layout_changed")
|
||||
|
||||
collectgarbage('collect')
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
local update_artist = function()
|
||||
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
mpc -f %artist% current
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
-- Remove new lines
|
||||
local artist = stdout:gsub('%\n', '')
|
||||
|
||||
local artist_widget = song_info.music_artist
|
||||
|
||||
local artist_text = artist_widget:get_children_by_id('artist')[1]
|
||||
|
||||
if not (artist == nil or artist == '') then
|
||||
|
||||
artist_text:set_text(artist)
|
||||
|
||||
else
|
||||
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
mpc -f %file% current
|
||||
]],
|
||||
function(stdout)
|
||||
if not (stdout == nil or stdout == '') then
|
||||
|
||||
artist_text:set_text('unknown artist')
|
||||
|
||||
else
|
||||
artist_text:set_text("or play some porn?")
|
||||
|
||||
end
|
||||
artist_widget:emit_signal("widget::redraw_needed")
|
||||
artist_widget:emit_signal("widget::layout_changed")
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
artist_widget:emit_signal("widget::redraw_needed")
|
||||
artist_widget:emit_signal("widget::layout_changed")
|
||||
|
||||
collectgarbage('collect')
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
local update_volume_slider = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
mpc volume
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
local volume_slider = vol_slider.vol_slider
|
||||
|
||||
if stdout:match('n/a') then
|
||||
return
|
||||
end
|
||||
volume_slider:set_value(tonumber(stdout:match('%d+')))
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
local check_if_playing = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
mpc status | awk 'NR==2' | grep -o playing
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
local play_button_img = media_buttons.play_button_image.play
|
||||
|
||||
if not (stdout == nil or stdout == '') then
|
||||
play_button_img:set_image(widget_icon_dir .. 'pause.svg')
|
||||
update_volume_slider()
|
||||
else
|
||||
play_button_img:set_image(widget_icon_dir .. 'play.svg')
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
local check_repeat_status = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
mpc status | sed -n '/random/p' | cut -c23-24 | sed 's/^[ \t]*//'
|
||||
]],
|
||||
function(stdout)
|
||||
local repeat_button_img = media_buttons.repeat_button_image.rep
|
||||
|
||||
if stdout:match("on") then
|
||||
repeat_button_img:set_image(widget_icon_dir .. 'repeat-on.svg')
|
||||
else
|
||||
repeat_button_img:set_image(widget_icon_dir .. 'repeat-off.svg')
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
local check_random_status = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
mpc status | sed -n '/random/p' | cut -c37-38 | sed 's/^[ \t]*//'
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
local random_button_image = media_buttons.random_button_image.rand
|
||||
|
||||
if stdout:match("on") then
|
||||
random_button_image:set_image(widget_icon_dir .. 'random-on.svg')
|
||||
else
|
||||
random_button_image:set_image(widget_icon_dir .. 'random-off.svg')
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
vol_slider.vol_slider:connect_signal(
|
||||
'property::value',
|
||||
function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
'mpc volume ' .. vol_slider.vol_slider:get_value(),
|
||||
function() end
|
||||
)
|
||||
end
|
||||
)
|
||||
|
||||
|
||||
local update_all_content = function()
|
||||
update_progress_bar()
|
||||
update_time_progress()
|
||||
update_time_duration()
|
||||
update_title()
|
||||
update_artist()
|
||||
update_cover()
|
||||
check_if_playing()
|
||||
check_repeat_status()
|
||||
check_random_status()
|
||||
update_volume_slider()
|
||||
end
|
||||
|
||||
|
||||
local startup_update_quota = 0
|
||||
|
||||
gears.timer.start_new(3, function()
|
||||
|
||||
update_all_content()
|
||||
|
||||
startup_update_quota = startup_update_quota + 1
|
||||
|
||||
if startup_update_quota <= 5 then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
gears.timer.start_new(
|
||||
5,
|
||||
function()
|
||||
update_progress_bar()
|
||||
update_time_progress()
|
||||
return true
|
||||
end
|
||||
)
|
||||
|
||||
|
||||
local mpd_startup = [[
|
||||
# Let's make sure that MPD is running.
|
||||
if [ -z $(pgrep mpd) ]; then mpd; fi
|
||||
]]
|
||||
|
||||
local mpd_change_event_listener = [[
|
||||
sh -c '
|
||||
mpc idleloop player
|
||||
'
|
||||
]]
|
||||
|
||||
local kill_mpd_change_event_listener = [[
|
||||
ps x |
|
||||
grep "mpc idleloop player" |
|
||||
grep -v grep |
|
||||
awk '{print $1}' |
|
||||
xargs kill
|
||||
]]
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
mpd_startup,
|
||||
function ()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
kill_mpd_change_event_listener,
|
||||
function ()
|
||||
awful.spawn.with_line_callback(
|
||||
mpd_change_event_listener, {
|
||||
stdout = function(line)
|
||||
update_all_content()
|
||||
end
|
||||
}
|
||||
)
|
||||
end
|
||||
)
|
||||
end
|
||||
)
|
||||
|
||||
|
||||
media_buttons.play_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
awful.spawn.with_shell('mpc toggle')
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
media_buttons.next_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
awful.spawn.with_shell('mpc next')
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
media_buttons.prev_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
awful.spawn.with_shell('mpc prev')
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
media_buttons.repeat_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
'mpc repeat',
|
||||
function ()
|
||||
check_repeat_status()
|
||||
end
|
||||
)
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
media_buttons.random_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
'mpc random',
|
||||
function ()
|
||||
check_random_status()
|
||||
end
|
||||
)
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
171
awes2/widget/music/music-box.lua
Executable file
|
@ -0,0 +1,171 @@
|
|||
-- # # ######
|
||||
-- ## ## # # #### # #### # # #### # #
|
||||
-- # # # # # # # # # # # # # # # #
|
||||
-- # # # # # #### # # ###### # # ##
|
||||
-- # # # # # # # # # # # ##
|
||||
-- # # # # # # # # # # # # # # #
|
||||
-- # # #### #### # #### ###### #### # #
|
||||
|
||||
-- Creates the music box widget here
|
||||
|
||||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
local gears = require('gears')
|
||||
local beautiful = require('beautiful')
|
||||
|
||||
local dpi = beautiful.xresources.apply_dpi
|
||||
|
||||
local music_func = {}
|
||||
|
||||
screen.connect_signal("request::desktop_decoration", function(s)
|
||||
|
||||
-- Set music box geometry
|
||||
local music_box_margin = dpi(5)
|
||||
local music_box_height = dpi(375)
|
||||
local music_box_width = dpi(260)
|
||||
local music_box_x = nil
|
||||
|
||||
|
||||
s.musicpop = awful.popup {
|
||||
widget = {
|
||||
-- Removing this block will cause an error...
|
||||
},
|
||||
ontop = true,
|
||||
visible = false,
|
||||
type = 'dock',
|
||||
screen = s,
|
||||
width = music_box_width,
|
||||
height = music_box_height,
|
||||
maximum_width = music_box_width,
|
||||
maximum_height = music_box_height,
|
||||
offset = dpi(5),
|
||||
shape = gears.shape.rectangle,
|
||||
bg = beautiful.transparent,
|
||||
preferred_anchors = {'middle', 'back', 'front'},
|
||||
preferred_positions = {'left', 'right', 'top', 'bottom'},
|
||||
|
||||
}
|
||||
|
||||
local ui_content = require('widget.music.content')
|
||||
|
||||
s.album = ui_content.album_cover
|
||||
s.progress_bar = ui_content.progress_bar
|
||||
s.time_track = ui_content.track_time.time_track
|
||||
s.song_info = ui_content.song_info.music_info
|
||||
s.media_buttons = ui_content.media_buttons.navigate_buttons
|
||||
s.volume_slider = ui_content.volume_slider.vol_slider
|
||||
|
||||
s.musicpop : setup {
|
||||
{
|
||||
{
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
expand = 'none',
|
||||
spacing = dpi(8),
|
||||
{
|
||||
s.album,
|
||||
bottom = dpi(5),
|
||||
widget = wibox.container.margin,
|
||||
},
|
||||
{
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
{
|
||||
spacing = dpi(4),
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
s.progress_bar,
|
||||
s.time_track,
|
||||
},
|
||||
s.song_info,
|
||||
s.media_buttons,
|
||||
s.volume_slider,
|
||||
},
|
||||
},
|
||||
top = dpi(15),
|
||||
left = dpi(15),
|
||||
right = dpi(15),
|
||||
widget = wibox.container.margin
|
||||
|
||||
},
|
||||
bg = beautiful.background,
|
||||
shape = function(cr, width, height)
|
||||
gears.shape.partially_rounded_rect(
|
||||
cr, width, height, true, true, true, true, beautiful.groups_radius
|
||||
)
|
||||
end,
|
||||
widget = wibox.container.background()
|
||||
}
|
||||
|
||||
s.backdrop_music = wibox {
|
||||
ontop = true,
|
||||
visible = false,
|
||||
screen = s,
|
||||
type = 'utility',
|
||||
input_passthrough = false,
|
||||
bg = beautiful.transparent,
|
||||
x = s.geometry.x,
|
||||
y = s.geometry.y,
|
||||
width = s.geometry.width,
|
||||
height = s.geometry.height
|
||||
}
|
||||
|
||||
local toggle_music_box = function(type)
|
||||
|
||||
local focused = awful.screen.focused()
|
||||
local music_box = focused.musicpop
|
||||
local music_backdrop = focused.backdrop_music
|
||||
|
||||
if music_box.visible then
|
||||
music_backdrop.visible = not music_backdrop.visible
|
||||
music_box.visible = not music_box.visible
|
||||
|
||||
else
|
||||
|
||||
if type == 'keyboard' then
|
||||
music_backdrop.visible = true
|
||||
music_box.visible = true
|
||||
|
||||
awful.placement.top_right(music_box, { margins = {
|
||||
top = dpi(5),
|
||||
right = dpi(music_box_x or 5)
|
||||
},
|
||||
honor_workarea = true
|
||||
})
|
||||
else
|
||||
local widget_button = mouse.current_widget_geometry
|
||||
|
||||
music_backdrop.visible = true
|
||||
music_box:move_next_to(widget_button)
|
||||
music_box_x = (focused.geometry.width - music_box.x) - music_box_width
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
awesome.connect_signal(
|
||||
'widget::music',
|
||||
function(type)
|
||||
toggle_music_box(type)
|
||||
end
|
||||
)
|
||||
|
||||
|
||||
s.backdrop_music:buttons(
|
||||
awful.util.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
toggle_music_box()
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
end)
|
||||
|
||||
|
||||
music_func.toggle_music_box = toggle_music_box
|
||||
|
||||
local mpd_updater = require('widget.music.mpd-music-updater')
|
||||
|
||||
return music_func
|
324
awes2/widget/music/spotify-music-updater.lua
Normal file
|
@ -0,0 +1,324 @@
|
|||
local gears = require('gears')
|
||||
local awful = require('awful')
|
||||
local naughty = require('naughty')
|
||||
|
||||
local config_dir = gears.filesystem.get_configuration_dir()
|
||||
local widget_icon_dir = config_dir .. 'widget/music/icons/'
|
||||
|
||||
local ui_content = require('widget.music.content')
|
||||
|
||||
local album_cover = ui_content.album_cover
|
||||
local prog_bar = ui_content.progress_bar
|
||||
local track_time = ui_content.track_time
|
||||
local song_info = ui_content.song_info
|
||||
local vol_slider = ui_content.volume_slider
|
||||
local media_buttons = ui_content.media_buttons
|
||||
|
||||
-- We can't set/get the data for these
|
||||
-- So let's hide them
|
||||
|
||||
prog_bar.visible = false
|
||||
track_time.time_status.visible = false
|
||||
track_time.time_duration.visible = false
|
||||
media_buttons.repeat_button.visible = false
|
||||
media_buttons.random_button.visible = false
|
||||
|
||||
|
||||
local update_cover = function()
|
||||
local get_art_url = [[
|
||||
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get \
|
||||
string:'org.mpris.MediaPlayer2.Player' string:'Metadata' |
|
||||
egrep -A 1 "artUrl"| egrep -v "artUrl" | awk -F '"' '{print $2}' |
|
||||
sed -e 's/open.spotify.com/i.scdn.co/g'
|
||||
]]
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
get_art_url,
|
||||
function(link)
|
||||
|
||||
local download_art = [[
|
||||
tmp_dir="/tmp/awesomewm/${USER}/"
|
||||
tmp_cover_path=${tmp_dir}"cover.jpg"
|
||||
|
||||
if [ ! -d $tmp_dir ]; then
|
||||
mkdir -p $tmp_dir;
|
||||
fi
|
||||
|
||||
if [ -f $tmp_cover_path]; then
|
||||
rm $tmp_cover_path
|
||||
fi
|
||||
|
||||
wget -O $tmp_cover_path ]] ..link .. [[
|
||||
|
||||
echo $tmp_cover_path
|
||||
]]
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
download_art,
|
||||
function(stdout)
|
||||
|
||||
local album_icon = stdout:gsub('%\n', '')
|
||||
|
||||
album_cover.cover:set_image(gears.surface.load_uncached(album_icon))
|
||||
|
||||
album_cover:emit_signal("widget::redraw_needed")
|
||||
album_cover:emit_signal("widget::layout_changed")
|
||||
|
||||
collectgarbage('collect')
|
||||
end
|
||||
)
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
local update_title = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata' |
|
||||
egrep -A 1 "title" | egrep -v "title" | awk -F '"' '{print $2}'
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
local title = stdout:gsub('%\n', '')
|
||||
|
||||
local title_widget = song_info.music_title
|
||||
|
||||
local title_text = song_info.music_title:get_children_by_id('title')[1]
|
||||
|
||||
title_text:set_text(title)
|
||||
|
||||
title_widget:emit_signal("widget::redraw_needed")
|
||||
title_widget:emit_signal("widget::layout_changed")
|
||||
|
||||
collectgarbage('collect')
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
local update_artist = function()
|
||||
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'|
|
||||
egrep -A 2 "artist" | egrep -v "artist" | egrep -v "array" | awk -F '"' '{print $2}'
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
-- Remove new lines
|
||||
local artist = stdout:gsub('%\n', '')
|
||||
|
||||
if (stdout == nil or stdout == '') then
|
||||
artist = 'Advertisement'
|
||||
end
|
||||
|
||||
local artist_widget = song_info.music_artist
|
||||
|
||||
local artist_text = artist_widget:get_children_by_id('artist')[1]
|
||||
|
||||
artist_text:set_text(artist)
|
||||
|
||||
artist_widget:emit_signal("widget::redraw_needed")
|
||||
artist_widget:emit_signal("widget::layout_changed")
|
||||
|
||||
collectgarbage('collect')
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
local update_volume_slider = function()
|
||||
|
||||
-- Stop. Don't indent.
|
||||
-- It's python. Nuff said
|
||||
local get_volume = [[
|
||||
python - <<END
|
||||
import subprocess
|
||||
import os
|
||||
x=0
|
||||
y=0
|
||||
env = os.environ
|
||||
env['LANG'] = 'en_US'
|
||||
app = '"Spotify"'
|
||||
pactl = subprocess.check_output(['pactl', 'list', 'sink-inputs'], env=env).decode().strip().split()
|
||||
if app in pactl:
|
||||
for e in pactl:
|
||||
x += 1
|
||||
if e == app:
|
||||
break
|
||||
for i in pactl[0 : x -1 ]:
|
||||
y += 1
|
||||
if i == 'Sink' and pactl[y] == 'Input' and '#' in pactl[y + 1]:
|
||||
sink_id = pactl[y+1]
|
||||
if i == 'Volume:' and '%' in pactl[y + 3]:
|
||||
volume = pactl[y + 3]
|
||||
sink_id = sink_id[1: ]
|
||||
volume = volume[ : -1 ]
|
||||
print(volume)
|
||||
END
|
||||
]]
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
get_volume,
|
||||
function(stdout)
|
||||
-- naughty.notification({message=stdout})
|
||||
|
||||
local volume_slider = vol_slider.vol_slider
|
||||
|
||||
volume_slider:set_value(tonumber(stdout:match('%d+')))
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
local check_if_playing = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'PlaybackStatus' |
|
||||
grep -A 1 "string" | awk -F '"' '{print $2}'
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
local play_button_img = media_buttons.play_button_image.play
|
||||
|
||||
if stdout:match("Playing") then
|
||||
play_button_img:set_image(widget_icon_dir .. 'pause.svg')
|
||||
update_volume_slider()
|
||||
else
|
||||
play_button_img:set_image(widget_icon_dir .. 'play.svg')
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
local set_spotify_volume = function(value)
|
||||
|
||||
local set_volume = [[
|
||||
python - <<END
|
||||
import subprocess
|
||||
import os
|
||||
import sys
|
||||
|
||||
x=0
|
||||
y=0
|
||||
env = os.environ
|
||||
env['LANG'] = 'en_US'
|
||||
app = '"Spotify"'
|
||||
pactl = subprocess.check_output(['pactl', 'list', 'sink-inputs'], env=env).decode().strip().split()
|
||||
if app in pactl:
|
||||
for e in pactl:
|
||||
x += 1
|
||||
if e == app:
|
||||
break
|
||||
for i in pactl[0 : x -1 ]:
|
||||
y += 1
|
||||
if i == 'Sink' and pactl[y] == 'Input' and '#' in pactl[y + 1]:
|
||||
sink_id = pactl[y+1]
|
||||
sink_id = sink_id[1: ]
|
||||
|
||||
arg = int(]] .. value .. [[)
|
||||
if arg < 0:
|
||||
arg = 0
|
||||
if arg > 100:
|
||||
arg = 100
|
||||
subprocess.run(['pactl', 'set-sink-input-volume', sink_id, str(arg) + '%'])
|
||||
|
||||
END
|
||||
]]
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
set_volume,
|
||||
function(stdout) end
|
||||
)
|
||||
|
||||
end
|
||||
|
||||
|
||||
vol_slider.vol_slider:connect_signal(
|
||||
'property::value',
|
||||
function()
|
||||
local volume_slider = vol_slider.vol_slider
|
||||
set_spotify_volume(tostring(volume_slider:get_value()))
|
||||
end
|
||||
)
|
||||
|
||||
|
||||
local update_all_content = function()
|
||||
-- Add a delay
|
||||
gears.timer.start_new(2, function()
|
||||
update_title()
|
||||
update_artist()
|
||||
update_cover()
|
||||
check_if_playing()
|
||||
update_volume_slider()
|
||||
end)
|
||||
end
|
||||
|
||||
|
||||
update_all_content()
|
||||
|
||||
|
||||
media_buttons.play_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
|
||||
]],
|
||||
function()
|
||||
check_if_playing()
|
||||
end
|
||||
)
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
media_buttons.next_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next
|
||||
]],
|
||||
function()
|
||||
update_all_content()
|
||||
end
|
||||
)
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
media_buttons.prev_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous
|
||||
]],
|
||||
function()
|
||||
update_all_content()
|
||||
end
|
||||
)
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
1
awes2/widget/network/airplane_mode
Normal file
|
@ -0,0 +1 @@
|
|||
false
|
35
awes2/widget/network/clickable-container.lua
Executable file
|
@ -0,0 +1,35 @@
|
|||
local wibox = require('wibox')
|
||||
|
||||
function build(widget)
|
||||
local container =
|
||||
wibox.widget {
|
||||
widget,
|
||||
widget = wibox.container.background,
|
||||
}
|
||||
local old_cursor, old_wibox
|
||||
container:connect_signal(
|
||||
'mouse::enter',
|
||||
function()
|
||||
-- Hm, no idea how to get the wibox from this signal's arguments...
|
||||
local w = mouse.current_wibox
|
||||
if w then
|
||||
old_cursor, old_wibox = w.cursor, w
|
||||
w.cursor = 'hand1'
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
container:connect_signal(
|
||||
'mouse::leave',
|
||||
function()
|
||||
if old_wibox then
|
||||
old_wibox.cursor = old_cursor
|
||||
old_wibox = nil
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
return container
|
||||
end
|
||||
|
||||
return build
|
57
awes2/widget/network/icons/airplane-mode-off.svg
Normal file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_airplanemode_inactive_48px.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="0.43457604"
|
||||
inkscape:cx="-392.6819"
|
||||
inkscape:cy="-33.781494"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 135,90 V 35 c 0,-8.3 -6.7,-15 -15,-15 -8.3,0 -15,6.7 -15,15 V 71.8 L 183.25,150.05 215,160 V 140 Z M 35,52.75 84.85,102.6 25,140 v 20 l 80,-25 v 55 l -20,15 v 15 l 35,-10 35,10 V 205 L 135,190 V 152.75 L 192.25,210 205,197.25 47.75,40 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
62
awes2/widget/network/icons/airplane-mode.svg
Normal file
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_airplanemode_active_48px.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="0.43457604"
|
||||
inkscape:cx="-51.304834"
|
||||
inkscape:cy="18.788525"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="M 120,120"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
<path
|
||||
d="M 215,160 V 140 L 135,90 V 35 c 0,-8.3 -6.7,-15 -15,-15 -8.3,0 -15,6.7 -15,15 v 55 l -80,50 v 20 l 80,-25 v 55 l -20,15 v 15 l 35,-10 35,10 v -15 l -20,-15 v -55 z"
|
||||
id="path4"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:5" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
57
awes2/widget/network/icons/loading.svg
Executable file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_sync_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="0.61458333"
|
||||
inkscape:cx="-276.66458"
|
||||
inkscape:cy="-76.310045"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 120,47.272727 V 20 L 83.636361,56.363636 120,92.72727 V 65.454545 c 30.13636,0 54.54545,24.409095 54.54545,54.545455 0,9.22727 -2.31818,17.86364 -6.31818,25.5 l 13.27272,13.27273 C 188.54545,147.5 192.72727,134.27273 192.72727,120 192.72727,79.818182 160.18181,47.272727 120,47.272727 Z m 0,127.272723 c -30.136366,0 -54.545457,-24.40909 -54.545457,-54.54545 0,-9.22727 2.318182,-17.86364 6.318182,-25.5 L 58.499998,81.227273 C 51.454543,92.5 47.272725,105.72727 47.272725,120 c 0,40.18182 32.545455,72.72727 72.727275,72.72727 V 220 L 156.36363,183.63636 120,147.27273 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:4.5454545" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
5
awes2/widget/network/icons/wifi-off.svg
Executable file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full" width="240" height="240" viewBox="0 0 24.00 24.00" enable-background="new 0 0 24.00 24.00" xml:space="preserve">
|
||||
<path fill="#ffffff" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 2.275,2.9978L 1.00125,4.2675L 2.47125,5.7425C 2.03625,6.01125 1.60625,6.29375 1.20125,6.60125L 2.9975,8.99875C 3.525,8.60375 4.0775,8.2475 4.65875,7.925L 6.885,10.1563C 6.1475,10.4975 5.44375,10.9125 4.8,11.3963L 6.60125,13.7987C 7.3775,13.2175 8.25625,12.7737 9.19875,12.4663L 11.7525,15.02C 10.4975,15.0738 9.34125,15.4937 8.39875,16.2013L 12.0025,21.0012L 14.4575,17.725L 17.735,21.0012L 18.9988,19.7213M 12.0025,2.9978C 9.85375,2.9978 7.8025,3.38354 5.89875,4.0725L 8.29125,6.465C 9.4775,6.1625 10.7175,6.00125 12.0025,6.00125C 15.3763,6.00125 18.4912,7.11375 21.0013,8.99875L 22.8025,6.60125C 19.79,4.34125 16.055,2.9978 12.0025,2.9978 Z M 12.0025,8.99875C 11.6212,8.99875 11.25,9.01875 10.8788,9.0525L 14.0675,12.2463C 15.2925,12.5337 16.4262,13.0662 17.4025,13.7987L 19.1988,11.3963C 17.1975,9.8925 14.7025,8.99875 12.0025,8.99875 Z "/>
|
||||
</svg>
|
71
awes2/widget/network/icons/wifi-strength-1-alert.svg
Executable file
|
@ -0,0 +1,71 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="wifi-strength-1-alert.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||
<metadata
|
||||
id="metadata14">
|
||||
<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>
|
||||
<defs
|
||||
id="defs12" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview10"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="2.4583334"
|
||||
inkscape:cx="72.138642"
|
||||
inkscape:cy="106.67249"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg8" />
|
||||
<g
|
||||
id="g832"
|
||||
transform="matrix(0.23231214,0,0,0.23231214,-3.8774568,-3.8774563)">
|
||||
<path
|
||||
style="fill:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path2"
|
||||
d="m 19.79,176.45967 h 26 v 24 h -26 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:0.4;stroke-width:7.9459672"
|
||||
id="path4"
|
||||
d="M 209.48294,87.216134 220.21,73.866904 c -3.89352,-2.86055 -42.35201,-34.326578 -100.03973,-34.326578 -57.687723,0 -96.146206,31.466028 -99.96027,34.326578 l 99.88081,124.433846 0.0795,0.15892 0.0795,-0.0795 55.54231,-69.20938 V 87.216094 Z" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:7.9459672"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6"
|
||||
d="m 75.196095,142.4406 44.974175,55.93961 v 0.0795 -0.0795 l 44.97418,-56.01907 c -1.74812,-1.27135 -18.99087,-15.41518 -44.97418,-15.41518 -25.983313,0 -43.226063,14.14383 -44.974175,15.49464 z m 116.487885,56.01907 h 15.89193 v -15.89193 h -15.89193 z m 0,-95.35161 v 63.56774 h 15.89193 v -63.56774 z" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.6 KiB |
61
awes2/widget/network/icons/wifi-strength-1-lock.svg
Executable file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_signal_wifi_1_bar_lock_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="M41 19c.7 0 1.4.1 2.1.2l4.2-5.2c-.9-.7-9.8-8-23.3-8S1.6 13.3.7 14L24 43l7-8.7V29c0-5.5 4.5-10 10-10z"
|
||||
id="path2"
|
||||
opacity=".3"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001;opacity:1" />
|
||||
<path
|
||||
d="M46 32v-3c0-2.8-2.2-5-5-5s-5 2.2-5 5v3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm-2 0h-6v-3c0-1.7 1.3-3 3-3s3 1.3 3 3v3zm-30.7-2.3l9 11.2L24 43l7-8.8V29c0-.5 0-1 .1-1.4-1.8-.8-4.2-1.6-7.1-1.6-6.1 0-10.1 3.3-10.7 3.7z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
61
awes2/widget/network/icons/wifi-strength-1.svg
Executable file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_signal_wifi_1_bar_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M24.02 42.98L47.28 14c-.9-.68-9.85-8-23.28-8S1.62 13.32.72 14l23.26 28.98.02.02.02-.02z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
<path
|
||||
d="M13.34 29.72l10.65 13.27.01.01.01-.01 10.65-13.27C34.13 29.31 30.06 26 24 26s-10.13 3.31-10.66 3.72z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
71
awes2/widget/network/icons/wifi-strength-2-alert.svg
Executable file
|
@ -0,0 +1,71 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="wifi-strength-2-alert.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||
<metadata
|
||||
id="metadata14">
|
||||
<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>
|
||||
<defs
|
||||
id="defs12" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview10"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="69.967175"
|
||||
inkscape:cy="30.177599"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg8" />
|
||||
<g
|
||||
id="g832"
|
||||
transform="matrix(1.7907692,0,0,1.7907692,0.7200004,-384.29538)">
|
||||
<path
|
||||
style="fill:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path2"
|
||||
d="m 0,216 h 26 v 24 H 0 Z" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:0.4"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4"
|
||||
d="m 24.24,224 1.35,-1.68 C 25.1,221.96 20.26,218 13,218 5.74,218 0.9,221.96 0.42,222.32 L 12.99,237.98 13,238 13.01,237.99 20,229.28 V 224 Z" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6"
|
||||
d="m 5.45,228.59 7.54,9.4 0.01,0.01 0.01,-0.01 6.99,-8.71 v -1.09 C 18.93,227.46 16.41,226 13,226 c -4.36,0 -7.26,2.38 -7.55,2.59 z M 22,226 v 8 h 2 v -8 z m 0,12 h 2 v -2 h -2 z" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
61
awes2/widget/network/icons/wifi-strength-2-lock.svg
Executable file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_signal_wifi_2_bar_lock_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
opacity=".3"
|
||||
d="M41 19c.7 0 1.4.1 2.1.2l4.2-5.2c-.9-.7-9.9-8-23.3-8S1.6 13.3.7 14L24 43l7-8.7V29c0-5.5 4.5-10 10-10z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001;opacity:1" />
|
||||
<path
|
||||
d="M46 32v-3c0-2.8-2.2-5-5-5s-5 2.2-5 5v3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm-2 0h-6v-3c0-1.7 1.3-3 3-3s3 1.3 3 3v3zM9.6 25L24 43l7-8.7V29c0-2.6 1-5 2.7-6.8C31.2 21 27.9 20 24 20c-8.2 0-13.7 4.5-14.4 5z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
61
awes2/widget/network/icons/wifi-strength-2.svg
Executable file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_signal_wifi_2_bar_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M24.02 42.98L47.28 14c-.9-.68-9.85-8-23.28-8S1.62 13.32.72 14l23.26 28.98.02.02.02-.02z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
<path
|
||||
d="M9.58 25.03l14.41 17.95.01.02.01-.02 14.41-17.95C37.7 24.47 32.2 20 24 20s-13.7 4.47-14.42 5.03z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
71
awes2/widget/network/icons/wifi-strength-3-alert.svg
Executable file
|
@ -0,0 +1,71 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="wifi-strength-3-alert.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||
<metadata
|
||||
id="metadata14">
|
||||
<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>
|
||||
<defs
|
||||
id="defs12" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview10"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166666"
|
||||
inkscape:cx="36.415019"
|
||||
inkscape:cy="-31.408761"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg8" />
|
||||
<g
|
||||
id="g824"
|
||||
transform="matrix(1.7907692,0,0,1.7907692,0.7200004,-384.29538)">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:0.4"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path2"
|
||||
d="m 24.24,224 1.35,-1.68 C 25.1,221.96 20.26,218 13,218 5.74,218 0.9,221.96 0.42,222.32 L 12.99,237.98 13,238 13.01,237.99 20,229.28 V 224 Z" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4"
|
||||
d="m 20,229.28 v -4.57 C 18.35,223.87 15.94,223 13,223 c -5.44,0 -9.07,2.97 -9.44,3.24 l 9.43,11.75 0.01,0.01 0.01,-0.01 z m 2,6.72 h 2 v 2 h -2 z m 0,-10 h 2 v 8 h -2 z" />
|
||||
<path
|
||||
style="fill:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6"
|
||||
d="m 0,216 h 26 v 24 H 0 Z" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
62
awes2/widget/network/icons/wifi-strength-3-lock.svg
Executable file
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_signal_wifi_3_bar_lock_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
opacity=".3"
|
||||
enable-background="new"
|
||||
d="M41 19c.7 0 1.4.1 2.1.2l4.2-5.2c-.9-.7-9.8-8-23.3-8S1.6 13.3.7 14L24 43l7-8.7V29c0-5.5 4.5-10 10-10z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.3764706;opacity:1" />
|
||||
<path
|
||||
d="M46 32v-3c0-2.8-2.2-5-5-5s-5 2.2-5 5v3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm-2 0h-6v-3c0-1.7 1.3-3 3-3s3 1.3 3 3v3zM7.1 21.9L24 43l7-8.7V29c0-4.3 2.7-8 6.5-9.4C34.6 18 29.9 16 24 16c-9.6 0-16.1 5.2-16.9 5.9z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
61
awes2/widget/network/icons/wifi-strength-3.svg
Executable file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="ic_signal_wifi_3_bar_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M24.02 42.98L47.28 14c-.9-.68-9.85-8-23.28-8S1.62 13.32.72 14l23.26 28.98.02.02.02-.02z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
<path
|
||||
d="M7.07 21.91l16.92 21.07.01.02.02-.02 16.92-21.07C40.08 21.25 33.62 16 24 16c-9.63 0-16.08 5.25-16.93 5.91z"
|
||||
id="path4"
|
||||
style="fill-opacity:1;fill:#ffffff" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
57
awes2/widget/network/icons/wifi-strength-4-alert.svg
Executable file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="wifi-strength-4-alert.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="0.43457604"
|
||||
inkscape:cx="16.852347"
|
||||
inkscape:cy="388.12021"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="m 40.639143,42.498211 h 3.699641 V 38.79857 H 40.639143 Z M 23.990751,5.5017888 C 10.561049,5.5017888 1.607914,12.827078 0.72,13.493014 l 23.252253,28.9682 0.01851,0.037 0.01851,-0.01851 12.93025,-16.111943 v -9.767054 h 7.843241 L 47.28,13.493014 C 46.373589,12.827078 37.420452,5.5017888 23.990751,5.5017888 Z M 40.639143,35.098926 h 3.699641 v -14.79857 h -3.699641 z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:1.84982121" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
56
awes2/widget/network/icons/wifi-strength-4-lock.svg
Executable file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_signal_wifi_4_bar_lock_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M41 19c.72 0 1.41.08 2.09.22L47.28 14c-.9-.68-9.85-8-23.28-8S1.62 13.32.72 14l23.26 28.98.02.02.02-.02 6.98-8.7V29c0-5.52 4.48-10 10-10zm5 13v-3c0-2.76-2.24-5-5-5s-5 2.24-5 5v3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm-2 0h-6v-3c0-1.66 1.34-3 3-3s3 1.34 3 3v3z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
56
awes2/widget/network/icons/wifi-strength-4.svg
Executable file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_signal_wifi_4_bar_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M24.02 42.98L47.28 14c-.9-.68-9.85-8-23.28-8S1.62 13.32.72 14l23.26 28.98.02.02.02-.02z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
48
awes2/widget/network/icons/wifi-strength-alert-outline.svg
Executable file
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 4.8 4.8"
|
||||
enable-background="new 0 0 24.00 24.00"
|
||||
xml:space="preserve"
|
||||
id="svg4"
|
||||
sodipodi:docname="wifi-strength-alert-outline.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"><metadata
|
||||
id="metadata10"><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><defs
|
||||
id="defs8" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="0.98333333"
|
||||
inkscape:cx="-99.661017"
|
||||
inkscape:cy="120"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 2.3996249,0.50003992 C 1.5568511,0.50197892 0.7398204,0.78315394 0.0749994,1.300765 H 0.072 C 0.8482913,2.2662659 1.624333,3.2317468 2.4013844,4.1972277 2.8672594,3.6173833 3.3328744,3.0365592 3.7985095,2.4566948 V 1.8171264 L 2.3996249,3.5599187 0.65384344,1.3874917 C 1.1802022,1.0703269 1.7835402,0.90137221 2.3996249,0.90037248 3.0137001,0.90337148 3.6160584,1.0720764 4.1411575,1.3904909 L 4.0533615,1.4997116 H 4.5660439 C 4.6195299,1.4334794 4.6732551,1.3669972 4.7270007,1.300765 H 4.728 C 4.0621787,0.78215421 3.2431385,0.50097967 2.3996249,0.50003992 Z M 4.198902,1.9001042 V 3.499175 H 4.5980349 V 1.9001042 M 4.198902,3.8995676 V 4.2999601 H 4.5980349 V 3.8995676"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:0.03998927;stroke-linejoin:round" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
65
awes2/widget/network/icons/wifi-strength-alert.svg
Executable file
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="26"
|
||||
height="24"
|
||||
viewBox="0 0 26 24"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="wifi-strength-alert.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata14">
|
||||
<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>
|
||||
<defs
|
||||
id="defs12" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview10"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="9.8333333"
|
||||
inkscape:cx="13"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg8" />
|
||||
<path
|
||||
fill-opacity=".3"
|
||||
d="M24.24 8l1.35-1.68C25.1 5.96 20.26 2 13 2S.9 5.96.42 6.32l12.57 15.66.01.02.01-.01L20 13.28V8h4.24z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001" />
|
||||
<path
|
||||
d="M22 22h2v-2h-2v2zm0-12v8h2v-8h-2z"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
<path
|
||||
d="M0 0h26v24H0z"
|
||||
fill="none"
|
||||
id="path6" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
57
awes2/widget/network/icons/wifi-strength-empty.svg
Executable file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_signal_wifi_0_bar_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.745763"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4"
|
||||
inkscape:pagecheckerboard="true" />
|
||||
<path
|
||||
d="M24.02 42.98L47.28 14c-.9-.68-9.85-8-23.28-8C10.57 6 1.62 13.32.72 14l23.26 28.98.02.02.02-.02z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001"
|
||||
fill-opacity=".3" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
5
awes2/widget/network/icons/wifi-strength-lock-outline.svg
Executable file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full" width="240" height="240" viewBox="0 0 24.00 24.00" enable-background="new 0 0 24.00 24.00" xml:space="preserve">
|
||||
<path fill="#ffffff" fill-opacity="1" stroke-width="1.33333" stroke-linejoin="miter" d="M 12,3C 7.78946,3.0086 3.70106,4.4156 0.376954,7C 4.60705,12.3026 8.15995,16.7043 12.0098,21.4902C 13.2095,19.9999 14.2927,18.6499 15.5,17.1445L 15.5,14.5C 15.5019,14.2962 15.5162,14.0927 15.543,13.8906L 12.0039,18.2988L 3.26953,7.4355C 5.90565,5.8486 8.92306,5.0068 12,5C 15.0729,5.0137 18.0847,5.8602 20.7148,7.4492L 18.834,9.791C 19.3688,9.6001 19.9322,9.5017 20.5,9.5C 20.8521,9.5021 21.203,9.5414 21.5469,9.6172C 22.2135,8.7884 23.0231,7.7739 23.6484,7C 20.3175,4.4103 16.2192,3.003 12,3 Z M 20.5,12C 19.1,12 18,13.1 18,14.5L 18,16C 17.5,16 17,16.5 17,17L 17,21C 17,21.5 17.5,22 18,22L 23,22C 23.5,22 24,21.5 24,21L 24,17C 24,16.5 23.5,16 23,16L 23,14.5C 23,13.1 21.9,12 20.5,12 Z M 20.5,13C 21.3,13 22,13.7 22,14.5L 22,16L 19,16L 19,14.5C 19,13.7 19.7,13 20.5,13 Z "/>
|
||||
</svg>
|
48
awes2/widget/network/icons/wifi-strength-off-outline.svg
Executable file
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 4.8 4.8"
|
||||
enable-background="new 0 0 24.00 24.00"
|
||||
xml:space="preserve"
|
||||
id="svg4"
|
||||
sodipodi:docname="wifi-strength-off-outline.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"><metadata
|
||||
id="metadata10"><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><defs
|
||||
id="defs8" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="5.5625733"
|
||||
inkscape:cx="-15.604564"
|
||||
inkscape:cy="55.265344"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 0.65121718,0.3943759 0.39737174,0.6503682 0.8075259,1.0606264 C 0.54767825,1.1809217 0.30058535,1.3294775 0.072,1.5072944 0.8377873,2.466415 1.6243331,3.4415216 2.3998847,4.4056241 L 3.1796578,3.4337787 3.8439276,4.0980284 4.097763,3.8439329 C 2.9715996,2.7157487 0.65121718,0.3943759 0.65121718,0.3943759 Z M 2.398124,0.7060531 c -0.2813658,9.404e-4 -0.5589602,0.035203 -0.8285615,0.096726 l 0.3398778,0.3408781 c 0.1613006,-0.023259 0.3243619,-0.037014 0.4886837,-0.037014 0.614471,0.003 1.2172177,0.1718147 1.7426552,0.4904345 L 3.3494817,2.5836991 3.6338286,2.868066 C 4.0139715,2.3933675 4.4016373,1.9116964 4.728,1.5072944 4.0617495,0.9883492 3.2421814,0.7069935 2.398124,0.7060531 Z M 1.1103898,1.3644907 2.8953109,3.1484114 2.398124,3.7679043 0.65121718,1.594077 C 0.7987727,1.5052936 0.9520803,1.4290149 1.1103898,1.3644907 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:0.04001505;stroke-linejoin:round" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
56
awes2/widget/network/icons/wifi-strength-off.svg
Executable file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_signal_wifi_off_48px.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-14.542373"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M47.28 14c-.9-.68-9.85-8-23.28-8-3.01 0-5.78.38-8.3.96L36.36 27.6 47.28 14zM6.55 2.89L4 5.44l4.11 4.11c-4.28 1.97-6.92 4.1-7.39 4.46l23.26 28.98.02.01.02-.02 7.8-9.72 6.63 6.63L41 37.34 6.55 2.89z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
5
awes2/widget/network/icons/wifi-strength-outline.svg
Executable file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full" width="240" height="240" viewBox="0 0 24.00 24.00" enable-background="new 0 0 24.00 24.00" xml:space="preserve">
|
||||
<path fill="#ffffff" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 12.0025,2.9978C 7.7875,3.0075 3.70125,4.41375 0.376253,7.0025L 0.361252,7.0025C 4.24375,11.8313 8.125,16.66 12.0113,21.4887C 15.8888,16.66 19.7662,11.8313 23.6425,7.0025L 23.6475,7.0025C 20.3175,4.40875 16.2212,3.0025 12.0025,2.9978 Z M 12.0025,5C 15.0737,5.015 18.0863,5.85875 20.7125,7.45125L 12.0025,18.3013L 3.27125,7.43625C 5.90375,5.85 8.92125,5.005 12.0025,5 Z "/>
|
||||
</svg>
|
5
awes2/widget/network/icons/wifi.svg
Executable file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full" width="240" height="240" viewBox="0 0 24.00 24.00" enable-background="new 0 0 24.00 24.00" xml:space="preserve">
|
||||
<path fill="#ffffff" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 12,21L 15.6002,16.1997C 14.5974,15.4464 13.3508,15 12,15C 10.6492,15 9.40262,15.4464 8.39979,16.1997L 12,21 Z M 12,3C 7.94753,3 4.20785,4.33919 1.19937,6.59916L 2.99947,8.9993C 5.50654,7.116 8.62294,6.00001 12,6.00001C 15.377,6.00001 18.4934,7.116 21.0005,8.99931L 22.8006,6.59916C 19.7921,4.33919 16.0525,3 12,3 Z M 12,9C 9.29836,9 6.80524,9.8928 4.79958,11.3994L 6.59968,13.7996C 8.10393,12.6696 9.97376,12 12,12C 14.0262,12 15.8961,12.6696 17.4003,13.7996L 19.2004,11.3994C 17.1948,9.8928 14.7016,9 12,9 Z "/>
|
||||
</svg>
|
57
awes2/widget/network/icons/wired-alert.svg
Executable file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="wired-alert.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="1.7383042"
|
||||
inkscape:cx="84.551561"
|
||||
inkscape:cy="104.10598"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 201.81818,29.090909 H 38.181818 C 28.136364,29.090909 20,37.227273 20,47.272727 V 156.36364 c 0,10.04545 8.136364,18.18181 18.181818,18.18181 h 63.636362 l -18.181816,27.27273 v 9.09091 h 72.727276 v -9.09091 l -18.18182,-27.27273 h 63.63636 C 211.86364,174.54545 220,166.40909 220,156.36364 V 47.272727 c 0,-10.045454 -8.13636,-18.181818 -18.18182,-18.181818 z m 0,109.090911 H 38.181818 V 47.272727 H 201.81818 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:0.40000001;stroke-width:4.5454545" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
57
awes2/widget/network/icons/wired-off.svg
Executable file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="wired-off.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="1.7383042"
|
||||
inkscape:cx="-39.707473"
|
||||
inkscape:cy="104.10598"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 201.81818,29.090909 H 38.181818 C 28.136364,29.090909 20,37.227273 20,47.272727 V 156.36364 c 0,10.04545 8.136364,18.18181 18.181818,18.18181 h 63.636362 l -18.181816,27.27273 v 9.09091 h 72.727276 v -9.09091 l -18.18182,-27.27273 h 63.63636 C 211.86364,174.54545 220,166.40909 220,156.36364 V 47.272727 c 0,-10.045454 -8.13636,-18.181818 -18.18182,-18.181818 z m 0,109.090911 H 38.181818 V 47.272727 H 201.81818 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff0000;fill-opacity:0.40000001;stroke-width:4.5454545" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
57
awes2/widget/network/icons/wired.svg
Executable file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240"
|
||||
height="240"
|
||||
viewBox="0 0 240 240"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="ic_desktop_mac_48px.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<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>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1321"
|
||||
inkscape:window-height="740"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:zoom="2.4583333"
|
||||
inkscape:cx="103.07022"
|
||||
inkscape:cy="132.72641"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 201.81818,29.090909 H 38.181818 C 28.136364,29.090909 20,37.227273 20,47.272727 V 156.36364 c 0,10.04545 8.136364,18.18181 18.181818,18.18181 h 63.636362 l -18.181816,27.27273 v 9.09091 h 72.727276 v -9.09091 l -18.18182,-27.27273 h 63.63636 C 211.86364,174.54545 220,166.40909 220,156.36364 V 47.272727 c 0,-10.045454 -8.13636,-18.181818 -18.18182,-18.181818 z m 0,109.090911 H 38.181818 V 47.272727 H 201.81818 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:4.5454545" />
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
376
awes2/widget/network/init.lua
Executable file
|
@ -0,0 +1,376 @@
|
|||
----------------------------------------------------------------------------
|
||||
--- Simple Network Widget
|
||||
--
|
||||
-- Depends: iproute2, iw
|
||||
--
|
||||
-- For more details check `man maim`
|
||||
--
|
||||
-- @author manilarome <gerome.matilla07@gmail.com>
|
||||
-- @copyright 2020 manilarome
|
||||
-- @widget network
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
|
||||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
local gears = require('gears')
|
||||
local naughty = require('naughty')
|
||||
|
||||
local dpi = require('beautiful').xresources.apply_dpi
|
||||
|
||||
local apps = require('configuration.apps')
|
||||
local clickable_container = require('widget.clickable-container')
|
||||
|
||||
local config_dir = gears.filesystem.get_configuration_dir()
|
||||
local widget_icon_dir = config_dir .. 'widget/network/icons/'
|
||||
|
||||
local wlan_interface = 'wlp3s0'
|
||||
local lan_interface = 'enp0s25'
|
||||
|
||||
local return_button = function()
|
||||
|
||||
local wifi_strength = nil
|
||||
|
||||
local connected_to_network = false
|
||||
local conn_status = 'disconnected'
|
||||
local essid = nil
|
||||
|
||||
local update_notify_no_access = true
|
||||
local notify_no_access_quota = 0
|
||||
|
||||
local startup = true
|
||||
local notify_new_wifi_conn = false
|
||||
|
||||
local net_speed = 'N/A'
|
||||
|
||||
local widget = wibox.widget {
|
||||
{
|
||||
id = 'icon',
|
||||
image = widget_icon_dir .. 'wifi-strength-off' .. '.svg',
|
||||
widget = wibox.widget.imagebox,
|
||||
resize = true
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
|
||||
local widget_button = wibox.widget {
|
||||
{
|
||||
widget,
|
||||
margins = dpi(2),
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
widget = clickable_container
|
||||
}
|
||||
|
||||
widget_button:buttons(
|
||||
gears.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
awful.spawn(apps.default.network_manager, false)
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
local notify_not_connected = function()
|
||||
local message = 'The network has been disconnected'
|
||||
local title = 'Connection Disconnected'
|
||||
|
||||
if conn_status == 'wireless' then
|
||||
icon = widget_icon_dir .. 'wifi-strength-off.svg'
|
||||
elseif conn_status == 'wired' then
|
||||
icon = widget_icon_dir .. 'wired-off.svg'
|
||||
else
|
||||
icon = widget_icon_dir .. 'wifi-strength-off.svg'
|
||||
end
|
||||
|
||||
naughty.notification({
|
||||
message = message,
|
||||
title = title,
|
||||
app_name = 'System Notification',
|
||||
icon = icon
|
||||
})
|
||||
|
||||
conn_status = 'disconnected'
|
||||
end
|
||||
|
||||
local update_disconnected = function()
|
||||
if conn_status == 'wireless' or conn_status == 'wired' then
|
||||
|
||||
local widget_icon_name = nil
|
||||
|
||||
connected_to_network = false
|
||||
notify_new_wifi_conn = true
|
||||
essid = nil
|
||||
update_notify_no_access = true
|
||||
|
||||
if conn_status == 'wireless' then
|
||||
widget_icon_name = 'wifi-strength-off'
|
||||
elseif conn_status == 'wired' then
|
||||
widget_icon_name = 'wired-off'
|
||||
end
|
||||
|
||||
notify_not_connected()
|
||||
widget.icon:set_image(widget_icon_dir .. widget_icon_name .. '.svg')
|
||||
end
|
||||
end
|
||||
|
||||
local notify_no_access = function(strength)
|
||||
if conn_status == 'wireless' or conn_status == 'wired' then
|
||||
|
||||
local message = 'Internet may not be available or it is too slow right now'
|
||||
|
||||
if conn_status == 'wireless' then
|
||||
icon = widget_icon_dir .. 'wifi-strength-' .. tostring(strength) .. '-alert.svg'
|
||||
elseif conn_status == 'wired' then
|
||||
icon = widget_icon_dir .. 'wired-off.svg'
|
||||
end
|
||||
|
||||
naughty.notification({
|
||||
message = message,
|
||||
title = 'Connection Status',
|
||||
app_name = 'System Notification',
|
||||
icon = icon
|
||||
})
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
local update_no_access = function(strength)
|
||||
|
||||
if not update_notify_no_access then
|
||||
return
|
||||
end
|
||||
|
||||
local widget_icon_name = nil
|
||||
|
||||
if conn_status == 'wireless' then
|
||||
widget_icon_name = 'wifi-strength-' .. tostring(strength) .. '-alert'
|
||||
elseif conn_status == 'wired' then
|
||||
widget_icon_name = 'wired-alert'
|
||||
end
|
||||
notify_no_access(strength)
|
||||
widget.icon:set_image(widget_icon_dir .. widget_icon_name .. '.svg')
|
||||
|
||||
update_notify_no_access = false
|
||||
|
||||
end
|
||||
|
||||
|
||||
local notify_wifi_conn = function()
|
||||
if startup then
|
||||
startup = false
|
||||
return
|
||||
end
|
||||
|
||||
if not notify_new_wifi_conn then
|
||||
return
|
||||
end
|
||||
|
||||
local message = "You are now connected to <b>\"" .. essid .. "\"</b>"
|
||||
local title = "Connection Established"
|
||||
local app_name = "System Notification"
|
||||
local icon = widget_icon_dir .. 'wifi.svg'
|
||||
|
||||
naughty.notification({
|
||||
message = message,
|
||||
title = title,
|
||||
app_name = app_name,
|
||||
icon = icon
|
||||
})
|
||||
|
||||
notify_new_wifi_conn = false
|
||||
end
|
||||
|
||||
|
||||
local update_essid = function()
|
||||
if not essid and connected_to_network == true then
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
iw dev ]] .. wlan_interface .. [[ link
|
||||
]],
|
||||
function(stdout)
|
||||
essid = stdout:match('SSID: (.-)\n')
|
||||
if essid == nil then
|
||||
essid = 'N/A'
|
||||
end
|
||||
notify_wifi_conn()
|
||||
end
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
local check_internet_health = [[
|
||||
status_curl=0
|
||||
status_ping=0
|
||||
|
||||
ip="$(curl --connect-timeout 5 ifconfig.co)"
|
||||
if expr "$ip" : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' >/dev/null;
|
||||
then
|
||||
status_curl=1
|
||||
else
|
||||
status_curl=0
|
||||
fi
|
||||
|
||||
packets="$(ping -q -w4 -c4 1.1.1.1 | grep -o "100% packet loss")"
|
||||
if [ ! -z "${packets}" ];
|
||||
then
|
||||
status_ping=0
|
||||
else
|
||||
status_ping=1
|
||||
fi
|
||||
|
||||
if [ $status_ping -eq 0 ] && [ $status_curl -eq 0 ];
|
||||
then
|
||||
echo 'noaccess'
|
||||
fi
|
||||
]]
|
||||
|
||||
local update_net_speed = function()
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
'iw dev ' .. wlan_interface .. ' link',
|
||||
function(stdout)
|
||||
net_speed = stdout:match("tx bitrate: (.+/s)") or 'N/A'
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
local update_wireless = function()
|
||||
conn_status = 'wireless'
|
||||
connected_to_network = true
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
awk 'NR==3 {printf "%3.0f" ,($3/70)*100}' /proc/net/wireless
|
||||
]],
|
||||
function(stdout)
|
||||
|
||||
if not tonumber(stdout) then
|
||||
return
|
||||
end
|
||||
|
||||
local widget_icon_name = 'wifi-strength'
|
||||
|
||||
wifi_strength = tonumber(stdout)
|
||||
|
||||
local wifi_strength_rounded = math.floor(wifi_strength / 25 + 0.5)
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
check_internet_health,
|
||||
function(stdout)
|
||||
local widget_icon_name = widget_icon_name .. '-' .. wifi_strength_rounded
|
||||
if stdout:match('noaccess') then
|
||||
update_no_access(wifi_strength_rounded)
|
||||
return
|
||||
else
|
||||
update_net_speed()
|
||||
if startup then
|
||||
awesome.emit_signal('system::wifi_connected')
|
||||
end
|
||||
update_notify_no_access = true
|
||||
end
|
||||
widget.icon:set_image(widget_icon_dir .. widget_icon_name .. '.svg')
|
||||
end
|
||||
)
|
||||
end
|
||||
)
|
||||
update_essid()
|
||||
end
|
||||
|
||||
local update_wired = function()
|
||||
conn_status = 'wired'
|
||||
connected_to_network = true
|
||||
|
||||
awful.spawn.easy_async_with_shell(
|
||||
check_internet_health,
|
||||
function(stdout)
|
||||
widget_icon_name = 'wired'
|
||||
if stdout:match('fail') then
|
||||
update_no_access()
|
||||
return
|
||||
else
|
||||
if startup then
|
||||
awesome.emit_signal('system::wifi_connected')
|
||||
startup = false
|
||||
end
|
||||
update_notify_no_access = true
|
||||
end
|
||||
widget.icon:set_image(widget_icon_dir .. widget_icon_name .. '.svg')
|
||||
end
|
||||
)
|
||||
|
||||
end
|
||||
|
||||
awful.tooltip(
|
||||
{
|
||||
objects = {widget_button},
|
||||
mode = 'outside',
|
||||
align = 'right',
|
||||
timer_function = function()
|
||||
if connected_to_network then
|
||||
if conn_status == 'wireless' then
|
||||
return 'Wireless Interface: <b>' .. wlan_interface ..
|
||||
'</b>\nConnected to: <b>' .. (essid or "*LOADING...*") ..
|
||||
'</b>\nWiFi-Strength: <b>' .. tostring(wifi_strength) .. '%' ..
|
||||
'</b>\nBit rate: <b>' .. tostring(net_speed) .. '</b>'
|
||||
else
|
||||
return 'Ethernet Interface: <b>' .. lan_interface
|
||||
end
|
||||
else
|
||||
return 'Network is currently disconnected'
|
||||
end
|
||||
end,
|
||||
preferred_positions = {'left', 'right', 'top', 'bottom'},
|
||||
margin_leftright = dpi(8),
|
||||
margin_topbottom = dpi(8)
|
||||
}
|
||||
)
|
||||
|
||||
gears.timer {
|
||||
timeout = 9,
|
||||
autostart = true,
|
||||
call_now = true,
|
||||
callback = function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
net_status="$(ip route get 8.8.8.8 2>&1 >/dev/null)"
|
||||
if ]] .. "[[ " .. [[ "$(echo ${net_status} | awk -F ": " '{print $2}')" == *'unreachable'* ]] .. " ]];" .. [[
|
||||
then
|
||||
echo 'No internet connection'
|
||||
exit;
|
||||
fi
|
||||
|
||||
net_status="$(ip route get 8.8.8.8 | grep -Po 'dev \K\w+' | grep -Ff - /proc/net/wireless)"
|
||||
|
||||
if [ ! -z "${net_status}" ]
|
||||
then
|
||||
echo 'wireless'
|
||||
else
|
||||
echo 'wired'
|
||||
fi
|
||||
]],
|
||||
function(stdout)
|
||||
if stdout:match('No internet connection') then
|
||||
update_disconnected()
|
||||
return
|
||||
end
|
||||
|
||||
if stdout:match('wireless') then
|
||||
update_wireless()
|
||||
elseif stdout:match('wired') then
|
||||
update_wired()
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
}
|
||||
|
||||
return widget_button
|
||||
|
||||
end
|
||||
|
||||
return return_button
|