Add new notification-center module with various widgets, add rubato animations and other fixes and improvements
@@ -1,65 +0,0 @@
|
|||||||
--------------------------------------------------------------------------------------------------------------
|
|
||||||
-- This is the statusbar, every widget, module and so on is combined to all the stuff you see on the screen --
|
|
||||||
--------------------------------------------------------------------------------------------------------------
|
|
||||||
-- Awesome Libs
|
|
||||||
local awful = require("awful")
|
|
||||||
|
|
||||||
awful.screen.connect_for_each_screen(
|
|
||||||
-- For each screen this function is called once
|
|
||||||
-- If you want to change the modules per screen use the indices
|
|
||||||
-- e.g. 1 would be the primary screen and 2 the secondary screen.
|
|
||||||
function(s)
|
|
||||||
-- Create 9 tags
|
|
||||||
awful.layout.layouts = user_vars.layouts
|
|
||||||
awful.tag(
|
|
||||||
{ "1", "2", "3", "4", "5", "6", "7", "8", "9" },
|
|
||||||
s,
|
|
||||||
user_vars.layouts[1]
|
|
||||||
)
|
|
||||||
|
|
||||||
require("src.modules.powermenu")(s)
|
|
||||||
-- TODO: rewrite calendar osd, maybe write an own inplementation
|
|
||||||
-- require("src.modules.calendar_osd")(s)
|
|
||||||
require("src.modules.volume_osd")(s)
|
|
||||||
require("src.modules.brightness_osd")(s)
|
|
||||||
require("src.modules.titlebar")
|
|
||||||
require("src.modules.volume_controller")(s)
|
|
||||||
|
|
||||||
-- Widgets
|
|
||||||
--s.battery = require("src.widgets.battery")()
|
|
||||||
s.audio = require("src.widgets.audio")(s)
|
|
||||||
s.date = require("src.widgets.date")()
|
|
||||||
s.clock = require("src.widgets.clock")()
|
|
||||||
--s.bluetooth = require("src.widgets.bluetooth")()
|
|
||||||
s.layoutlist = require("src.widgets.layout_list")()
|
|
||||||
s.powerbutton = require("src.widgets.power")()
|
|
||||||
s.kblayout = require("src.widgets.kblayout")(s)
|
|
||||||
s.taglist = require("src.widgets.taglist")(s)
|
|
||||||
s.tasklist = require("src.widgets.tasklist")(s)
|
|
||||||
--s.cpu_freq = require("src.widgets.cpu_info")("freq", "average")
|
|
||||||
|
|
||||||
-- Add more of these if statements if you want to change
|
|
||||||
-- the modules/widgets per screen.
|
|
||||||
if s.index == 1 then
|
|
||||||
s.systray = require("src.widgets.systray")(s)
|
|
||||||
s.cpu_usage = require("src.widgets.cpu_info")("usage")
|
|
||||||
s.cpu_temp = require("src.widgets.cpu_info")("temp")
|
|
||||||
s.gpu_usage = require("src.widgets.gpu_info")("usage")
|
|
||||||
s.gpu_temp = require("src.widgets.gpu_info")("temp")
|
|
||||||
|
|
||||||
require("crylia_bar.left_bar")(s, { s.layoutlist, s.systray, s.taglist })
|
|
||||||
require("crylia_bar.center_bar")(s, { s.tasklist })
|
|
||||||
require("crylia_bar.right_bar")(s, { s.gpu_usage, s.gpu_temp, s.cpu_usage, s.cpu_temp, s.audio, s.kblayout, s.date, s.clock, s.powerbutton })
|
|
||||||
require("crylia_bar.dock")(s, user_vars.dock_programs)
|
|
||||||
end
|
|
||||||
|
|
||||||
if s.index == 2 then
|
|
||||||
s.network = require("src.widgets.network")()
|
|
||||||
s.ram_info = require("src.widgets.ram_info")()
|
|
||||||
|
|
||||||
require("crylia_bar.left_bar")(s, { s.layoutlist, s.taglist })
|
|
||||||
require("crylia_bar.center_bar")(s, { s.tasklist })
|
|
||||||
require("crylia_bar.right_bar")(s, { s.ram_info, s.audio, s.kblayout, s.network, s.date, s.clock, s.powerbutton })
|
|
||||||
end
|
|
||||||
end
|
|
||||||
)
|
|
||||||
@@ -13,7 +13,7 @@ require("src.core.error_handling")
|
|||||||
require("src.core.signals")
|
require("src.core.signals")
|
||||||
require("src.core.notifications")
|
require("src.core.notifications")
|
||||||
require("src.core.rules")
|
require("src.core.rules")
|
||||||
require("mappings.global_buttons")
|
require("src.bindings.global_buttons")
|
||||||
require("mappings.bind_to_tags")
|
require("src.bindings.bind_to_tags")
|
||||||
require("crylia_bar.init")
|
require("src.modules.init")
|
||||||
require("src.tools.auto_starter")(user_vars.autostart)
|
--require("src.tools.auto_starter")(user_vars.autostart)
|
||||||
|
|||||||
319
awesome/src/assets/icons/notifications/MEGAMIND.svg
Normal file
@@ -0,0 +1,319 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="300.000000pt" height="300.000000pt" viewBox="0 0 300.000000 300.000000" preserveAspectRatio="xMidYMid meet">
|
||||||
|
<metadata>
|
||||||
|
Created by potrace 1.10, written by Peter Selinger 2001-2011
|
||||||
|
</metadata>
|
||||||
|
<g transform="translate(0.000000,300.000000) scale(0.050000,-0.050000)" fill="#414141" stroke="none">
|
||||||
|
<path d="M696 5965 c-17 -19 -47 -64 -67 -100 -21 -36 -45 -65 -54 -65 -18 0
|
||||||
|
-7 -195 13 -214 6 -7 1 -25 -11 -40 -13 -15 -26 -52 -29 -82 -3 -30 -11 -81
|
||||||
|
-17 -114 -6 -33 -14 -90 -19 -126 -4 -36 -20 -80 -35 -98 -23 -29 -23 -31 3
|
||||||
|
-16 24 14 26 12 8 -11 -33 -43 -46 -140 -26 -193 12 -32 10 -46 -7 -46 -19 -1
|
||||||
|
-19 -4 -2 -15 32 -21 9 -126 -31 -140 -51 -18 -104 -81 -81 -96 11 -7 15 -29
|
||||||
|
9 -49 -26 -81 -27 -118 -4 -109 15 6 24 -10 24 -39 0 -27 -8 -47 -18 -45 -44
|
||||||
|
8 -29 -53 26 -108 52 -53 60 -74 56 -151 -4 -66 4 -98 31 -122 19 -18 31 -47
|
||||||
|
25 -65 -6 -20 24 -68 80 -128 50 -53 85 -105 79 -115 -7 -11 -2 -33 12 -49 13
|
||||||
|
-16 18 -29 10 -29 -8 0 0 -14 18 -32 17 -17 25 -41 18 -53 -9 -14 2 -17 30
|
||||||
|
-10 33 9 43 2 43 -29 0 -25 21 -47 59 -62 50 -19 89 -73 84 -117 -1 -7 14 -11
|
||||||
|
33 -8 60 9 185 -77 139 -96 -16 -6 -13 -10 8 -11 42 -2 69 -102 33 -125 -14
|
||||||
|
-9 -18 -17 -9 -17 10 0 6 -15 -9 -33 -31 -36 -36 -91 -12 -109 10 -7 3 -26
|
||||||
|
-14 -43 -16 -17 -24 -36 -17 -44 8 -7 -1 -8 -18 -1 -21 8 -35 -1 -42 -28 -9
|
||||||
|
-34 0 -41 62 -46 l73 -6 -110 -82 c-86 -64 -419 -276 -700 -445 -22 -14 1 -27
|
||||||
|
90 -52 66 -18 158 -47 204 -63 75 -27 94 -27 188 1 196 58 304 37 257 -51 -23
|
||||||
|
-42 -39 -43 -154 -7 -91 28 -41 -22 60 -61 103 -39 132 -77 107 -141 -12 -33
|
||||||
|
-186 24 -316 105 -41 25 -113 59 -160 75 l-86 29 68 -59 c38 -32 129 -89 203
|
||||||
|
-128 183 -97 202 -123 98 -137 -89 -11 -158 18 -305 132 -119 92 -180 10 -123
|
||||||
|
-168 12 -40 39 -50 57 -21 6 10 48 11 92 3 44 -8 86 -7 92 3 14 24 103 22 118
|
||||||
|
-3 16 -26 164 -26 180 0 29 47 54 16 43 -55 -28 -185 -39 -224 -76 -263 -21
|
||||||
|
-23 -31 -42 -23 -43 9 0 -1 -10 -22 -22 -36 -21 -36 -24 10 -59 l48 -37 -65
|
||||||
|
-1 c-56 0 -65 -7 -65 -50 0 -143 -90 44 -110 230 -15 128 -65 280 -93 280 -11
|
||||||
|
0 -13 -11 -5 -23 10 -16 4 -20 -19 -11 -26 10 -33 1 -33 -45 0 -32 -9 -61 -19
|
||||||
|
-64 -11 -4 12 -70 50 -147 38 -77 69 -151 69 -165 0 -14 7 -25 17 -25 45 0 70
|
||||||
|
-100 32 -128 -21 -16 -45 -25 -52 -20 -7 4 -9 -10 -3 -32 6 -22 21 -34 33 -28
|
||||||
|
13 6 6 -3 -15 -20 -36 -29 -36 -32 1 -108 35 -70 36 -90 14 -216 -35 -201 -32
|
||||||
|
-280 13 -369 40 -77 101 -117 68 -44 -29 66 -25 312 7 374 l30 58 29 -68 c16
|
||||||
|
-38 26 -106 22 -152 -3 -46 1 -79 10 -73 9 5 27 0 40 -10 13 -11 56 -29 94
|
||||||
|
-39 61 -16 69 -26 66 -76 -6 -70 -90 -154 -138 -135 -24 9 -30 5 -20 -11 18
|
||||||
|
-29 102 -30 155 -1 61 33 120 4 68 -33 -36 -27 -34 -29 30 -29 38 0 59 7 47
|
||||||
|
15 -15 10 -17 65 -6 175 21 213 3 287 -56 228 -67 -67 -320 175 -298 285 8 43
|
||||||
|
2 58 -29 67 -68 22 -37 110 84 237 30 32 65 86 79 120 14 35 34 69 44 75 10 7
|
||||||
|
30 71 45 143 15 72 50 180 78 242 44 96 49 123 32 197 -93 415 -124 769 -73
|
||||||
|
845 43 67 62 64 93 -11 14 -35 54 -80 87 -102 46 -29 50 -36 17 -26 -83 24
|
||||||
|
-55 -61 42 -128 99 -68 269 -75 360 -16 140 92 243 407 194 591 -53 195 -462
|
||||||
|
412 -592 314 -64 -48 -79 -40 -336 184 -232 202 -314 309 -313 408 0 21 139
|
||||||
|
80 159 68 10 -7 24 -3 31 9 7 11 37 20 67 20 31 0 72 12 93 27 20 15 52 24 70
|
||||||
|
19 19 -5 47 4 63 20 26 26 104 61 143 63 56 3 288 240 304 309 30 140 -63 182
|
||||||
|
-166 74 -46 -49 -93 -75 -165 -90 -55 -12 -126 -41 -157 -63 -55 -42 -163 -77
|
||||||
|
-265 -87 -30 -3 -77 -21 -106 -39 -46 -30 -53 -31 -63 -4 -9 22 -35 29 -91 24
|
||||||
|
-44 -3 -84 2 -89 11 -6 9 -28 16 -50 16 -35 0 -38 9 -28 75 27 164 37 199 102
|
||||||
|
351 38 87 68 191 68 231 0 82 92 826 112 903 43 167 25 256 -36 185z m0 -1894
|
||||||
|
c6 -89 -44 -109 -90 -35 -20 30 -44 60 -55 68 -25 18 67 53 109 42 20 -5 34
|
||||||
|
-34 36 -75z m829 -911 c52 0 43 -42 -20 -94 -50 -42 -52 -48 -20 -67 47 -28
|
||||||
|
44 -70 -6 -105 -29 -21 -43 -57 -49 -121 -12 -150 111 -230 315 -206 96 11
|
||||||
|
101 10 69 -22 -89 -88 -405 -3 -527 142 -104 124 29 520 163 484 22 -6 56 -11
|
||||||
|
75 -11z m145 -120 c0 -37 -67 -51 -97 -21 -17 17 -15 28 7 42 41 26 90 15 90
|
||||||
|
-21z m178 -112 c35 -90 -6 -143 -108 -140 -61 2 -75 56 -31 123 36 56 120 66
|
||||||
|
139 17z m-148 -239 c39 -3 77 -7 85 -8 8 0 15 -9 15 -19 0 -27 -70 -39 -107
|
||||||
|
-18 -21 12 -33 11 -33 -3 0 -32 -63 -25 -103 12 -54 49 -46 74 18 57 30 -8 87
|
||||||
|
-17 125 -21z m-86 -236 c-11 -31 -170 -26 -200 7 -13 14 -15 21 -3 14 11 -6
|
||||||
|
32 -5 45 3 36 23 167 2 158 -24z m-710 -95 c26 -14 36 -15 28 -1 -7 11 -5 25
|
||||||
|
4 30 28 18 27 -139 -1 -163 -43 -35 -230 -44 -257 -12 -18 22 -17 28 5 29 18
|
||||||
|
0 14 11 -13 32 -30 24 -31 29 -7 21 21 -7 39 2 48 22 12 29 17 26 30 -16 l15
|
||||||
|
-50 2 55 c1 41 12 55 42 55 24 0 41 14 42 35 1 21 5 25 11 10 6 -14 29 -35 51
|
||||||
|
-47z" />
|
||||||
|
<path d="M1030 5939 c-8 -34 -26 -67 -42 -72 -15 -6 -28 -21 -28 -32 0 -12
|
||||||
|
-21 -49 -46 -83 -67 -89 -79 -112 -58 -112 10 0 40 31 66 70 27 38 62 70 78
|
||||||
|
70 27 1 27 3 0 20 -20 13 -22 19 -5 20 14 0 25 11 25 24 0 13 34 54 75 90 l75
|
||||||
|
65 -63 1 c-55 0 -66 -8 -77 -61z" />
|
||||||
|
<path d="M1404 5965 c4 -19 -7 -48 -24 -65 -17 -16 -22 -23 -11 -15 32 25 51
|
||||||
|
17 51 -20 1 -28 4 -30 18 -7 10 16 15 38 10 50 -5 12 15 23 44 25 29 2 60 14
|
||||||
|
68 28 9 14 38 20 68 15 29 -6 52 -3 52 7 0 9 -64 17 -141 17 -125 0 -141 -4
|
||||||
|
-135 -35z" />
|
||||||
|
<path d="M5841 5961 c-25 -46 -28 -155 -4 -169 22 -14 143 136 143 177 0 47
|
||||||
|
-113 41 -139 -8z" />
|
||||||
|
<path d="M5948 5798 c-41 -51 -69 -158 -42 -158 17 -1 16 -6 -2 -17 -25 -16
|
||||||
|
-87 -259 -114 -447 -103 -716 -594 -1689 -975 -1929 -154 -98 -299 -249 -286
|
||||||
|
-301 9 -36 -3 -54 -65 -94 -92 -58 -177 -155 -221 -251 -17 -39 -47 -89 -67
|
||||||
|
-112 -35 -41 -32 -189 5 -189 35 0 200 231 191 267 -6 25 20 67 77 125 47 48
|
||||||
|
102 120 120 159 35 73 189 189 252 189 72 0 121 -97 71 -138 -16 -13 -43 -53
|
||||||
|
-62 -88 -57 -110 -78 -142 -130 -196 -27 -29 -108 -113 -179 -188 -95 -99
|
||||||
|
-168 -153 -273 -203 -193 -92 -386 -338 -468 -597 -14 -44 -41 -107 -60 -140
|
||||||
|
-20 -33 -74 -150 -120 -260 -105 -248 -335 -703 -429 -849 -39 -60 -71 -118
|
||||||
|
-71 -129 0 -10 -14 -33 -31 -50 -16 -18 -50 -63 -75 -102 -93 -143 -434 -71
|
||||||
|
-434 92 0 44 -194 200 -283 227 -56 18 -171 26 -326 23 -370 -6 -434 37 -216
|
||||||
|
145 74 37 176 88 225 113 50 26 115 60 146 75 31 16 93 31 137 35 45 3 88 14
|
||||||
|
94 25 7 11 41 34 76 52 50 26 67 51 87 132 24 99 47 125 67 76 5 -14 11 -4 11
|
||||||
|
21 1 30 -6 41 -21 32 -16 -10 -19 3 -9 44 7 32 15 72 16 88 1 17 11 36 21 42
|
||||||
|
27 18 -27 96 -58 84 -15 -6 -46 -74 -69 -153 -58 -198 -170 -300 -386 -355
|
||||||
|
-84 -21 -277 -135 -467 -277 -36 -27 -65 -65 -65 -86 0 -21 -9 -32 -20 -25
|
||||||
|
-12 7 -52 2 -90 -10 -93 -31 -68 -86 42 -93 41 -3 116 -23 167 -44 82 -35 109
|
||||||
|
-37 281 -18 265 30 496 -42 568 -175 12 -22 27 -44 32 -50 6 -5 27 -30 48 -55
|
||||||
|
l38 -45 -453 0 -454 0 29 45 c44 67 2 127 -150 216 -154 91 -165 87 -148 -62
|
||||||
|
17 -148 2 -194 -66 -205 -30 -4 366 -9 880 -11 l934 -3 -49 53 c-74 79 -57
|
||||||
|
114 31 67 31 -17 44 -10 73 40 20 33 44 60 53 60 10 0 13 13 7 29 -6 17 -3 35
|
||||||
|
8 42 10 6 19 3 19 -8 0 -10 13 -24 29 -30 22 -8 27 6 23 63 -6 84 42 204 82
|
||||||
|
204 26 0 57 95 53 165 -1 19 11 35 26 35 16 0 34 14 40 31 7 17 23 27 36 22
|
||||||
|
42 -16 74 59 48 115 -33 72 -8 128 38 87 30 -26 82 -40 220 -58 14 -2 25 -12
|
||||||
|
25 -22 0 -9 7 -13 16 -8 27 17 66 -19 69 -64 4 -46 21 -51 85 -23 38 16 38 17
|
||||||
|
-5 19 -25 0 -45 9 -45 18 0 10 25 14 55 9 l55 -9 -63 42 c-58 39 -164 231
|
||||||
|
-140 254 5 6 -18 36 -52 69 -67 64 -90 64 -57 1 45 -83 13 -223 -49 -223 -24
|
||||||
|
0 -26 8 -10 39 22 39 7 93 -44 167 -21 30 -19 41 8 61 28 21 29 29 5 62 -33
|
||||||
|
45 -37 163 -7 182 12 7 65 -29 119 -79 131 -122 194 -119 184 10 -4 45 2 51
|
||||||
|
44 43 82 -15 121 19 78 68 -62 69 -104 73 -118 11 -8 -30 -24 -67 -38 -84 -13
|
||||||
|
-16 -30 -46 -36 -65 -7 -19 -22 -35 -33 -35 -33 0 -24 75 21 180 59 137 47
|
||||||
|
185 -30 113 -55 -51 -106 -59 -56 -9 13 13 24 44 24 69 0 59 25 72 71 38 32
|
||||||
|
-23 41 -22 61 5 23 32 148 -67 148 -116 0 -22 63 -47 103 -42 23 3 31 -7 25
|
||||||
|
-32 -7 -27 22 -56 115 -113 l125 -78 65 35 c36 19 85 61 109 93 51 66 95 72
|
||||||
|
160 20 l46 -38 -39 -127 c-21 -71 -36 -131 -33 -134 7 -7 -108 -104 -124 -104
|
||||||
|
-26 0 -10 101 26 164 51 90 68 170 39 188 -25 15 -117 -84 -117 -126 0 -45
|
||||||
|
-70 -66 -147 -44 -139 38 -142 -11 -7 -96 190 -120 278 -154 304 -119 14 18
|
||||||
|
31 33 39 33 34 0 513 -389 644 -523 233 -241 347 -369 347 -394 0 -13 10 -23
|
||||||
|
21 -23 12 0 17 -16 11 -35 -6 -19 -3 -48 7 -64 12 -19 11 -39 -3 -55 -16 -20
|
||||||
|
-11 -26 22 -26 38 0 42 11 42 128 l0 128 -195 185 c-195 185 -439 395 -643
|
||||||
|
554 -60 47 -96 85 -80 85 15 -1 51 -18 78 -40 28 -22 58 -39 67 -40 9 0 58
|
||||||
|
-36 108 -80 103 -91 130 -99 121 -35 -3 25 -18 45 -33 45 -14 0 -39 17 -54 39
|
||||||
|
-16 21 -34 32 -41 25 -7 -7 -43 11 -80 39 -38 29 -68 44 -68 35 0 -32 -41 26
|
||||||
|
-50 71 -12 61 -28 76 -48 44 -13 -21 -19 -19 -29 6 -7 19 -4 28 7 21 12 -8 20
|
||||||
|
23 20 78 0 49 7 94 16 100 19 11 6 152 -13 152 -7 0 -43 27 -81 60 -46 41 -82
|
||||||
|
57 -115 51 -27 -5 -43 0 -36 10 21 35 -32 19 -76 -21 -24 -23 -55 -37 -69 -31
|
||||||
|
-23 9 -33 -15 -32 -80 0 -18 -33 -21 -130 -12 -15 2 -22 10 -17 19 6 9 -8 17
|
||||||
|
-30 19 -47 3 -193 124 -195 161 -1 15 -10 21 -20 15 -10 -6 -23 3 -29 19 -7
|
||||||
|
17 -23 30 -37 30 -14 1 -47 23 -73 50 -48 50 -47 110 2 110 14 0 34 20 45 45
|
||||||
|
12 25 36 44 57 42 22 -2 32 7 26 23 -7 17 12 35 48 47 33 12 59 15 59 9 0 -7
|
||||||
|
21 13 48 43 34 40 50 48 58 28 8 -19 11 -16 12 8 1 19 11 35 21 35 28 0 121
|
||||||
|
91 121 117 0 13 18 23 40 23 22 0 40 13 40 30 0 17 7 31 15 31 8 1 35 6 59 10
|
||||||
|
24 5 56 -3 70 -18 15 -14 37 -23 49 -19 13 5 29 -10 37 -33 7 -23 25 -41 39
|
||||||
|
-41 15 0 31 -12 37 -27 6 -16 54 -49 107 -75 91 -44 94 -47 47 -60 -43 -12
|
||||||
|
-44 -14 -8 -16 23 -1 58 -20 78 -42 20 -22 41 -36 46 -30 6 5 22 0 37 -13 15
|
||||||
|
-12 27 -16 27 -8 0 7 23 -12 52 -43 28 -31 45 -43 37 -28 -10 19 -7 23 8 14
|
||||||
|
13 -8 23 -27 23 -43 0 -15 11 -24 25 -18 14 5 40 -17 58 -49 22 -40 52 -61 90
|
||||||
|
-65 33 -4 55 -18 52 -32 -3 -14 22 -42 55 -62 33 -20 54 -42 47 -49 -7 -7 6
|
||||||
|
-9 29 -5 43 9 74 -36 51 -74 -7 -12 0 -31 16 -43 17 -12 35 -43 42 -68 9 -37
|
||||||
|
6 -42 -15 -24 -21 17 -25 8 -23 -44 2 -36 12 -73 23 -81 12 -8 8 -15 -10 -15
|
||||||
|
-27 -1 -27 -3 0 -20 24 -15 24 -19 3 -20 -22 0 -23 -6 -4 -29 13 -16 18 -48
|
||||||
|
11 -70 -8 -25 -4 -41 10 -41 12 0 17 -9 10 -20 -7 -12 -21 -16 -30 -10 -10 6
|
||||||
|
-10 -14 -2 -45 9 -30 12 -67 7 -81 -5 -14 1 -37 13 -52 17 -20 15 -33 -7 -51
|
||||||
|
-20 -16 -24 -37 -14 -58 22 -46 26 -148 6 -179 -30 -47 -154 -1 -148 54 4 36
|
||||||
|
-2 42 -35 32 -41 -13 -150 53 -127 77 12 12 -77 53 -114 53 -57 0 7 -68 199
|
||||||
|
-209 118 -87 235 -186 259 -219 l43 -61 0 659 0 660 -195 149 c-107 82 -372
|
||||||
|
282 -588 445 -374 282 -463 365 -382 354 47 -6 147 43 133 66 -6 10 -1 30 12
|
||||||
|
46 13 16 18 37 12 47 -7 10 2 24 19 31 30 11 33 95 4 123 -48 49 519 601 894
|
||||||
|
871 86 61 91 70 89 156 0 51 -6 81 -11 67 -6 -14 -111 -108 -234 -209 -244
|
||||||
|
-202 -311 -261 -585 -519 -250 -236 -403 -287 -183 -62 221 227 318 336 346
|
||||||
|
389 16 29 45 65 65 80 32 23 67 81 72 119 1 8 22 36 45 64 51 58 147 225 147
|
||||||
|
255 0 11 18 39 41 64 22 24 31 47 20 50 -12 4 -9 19 8 36 16 16 24 43 18 59
|
||||||
|
-7 17 2 46 18 65 32 36 58 125 59 199 0 25 9 45 20 45 11 0 15 13 9 29 -6 17
|
||||||
|
-3 35 7 41 10 6 13 26 6 44 -9 22 -5 28 11 18 12 -8 23 -4 23 8 0 12 10 16 21
|
||||||
|
9 12 -7 16 -27 10 -44 -6 -16 -1 -42 11 -58 17 -20 17 -27 -1 -27 -13 0 -18
|
||||||
|
-9 -11 -20 7 -11 2 -20 -11 -20 -14 0 -18 -13 -8 -35 8 -19 14 -51 13 -70 -1
|
||||||
|
-19 7 -39 17 -46 12 -7 10 -28 -3 -54 -19 -34 -17 -47 10 -66 29 -21 29 -29 6
|
||||||
|
-52 -17 -17 -22 -43 -13 -67 8 -22 5 -52 -6 -66 -15 -18 -10 -33 17 -53 37
|
||||||
|
-27 38 -16 43 389 10 732 -2 1290 -27 1258z" />
|
||||||
|
<path d="M1313 5771 c-7 -19 -34 -26 -83 -22 -61 6 -70 2 -60 -28 7 -24 -6
|
||||||
|
-47 -39 -69 -28 -18 -51 -46 -51 -62 0 -17 -8 -30 -18 -30 -26 0 -107 -135
|
||||||
|
-94 -156 5 -9 -10 -16 -34 -15 -26 0 -42 -10 -39 -25 3 -14 -23 -84 -57 -156
|
||||||
|
-35 -71 -57 -135 -51 -142 17 -17 113 89 113 126 0 16 13 34 29 40 16 6 24 24
|
||||||
|
18 40 -7 16 1 28 18 28 37 0 118 70 101 87 -7 7 -2 13 10 13 13 0 48 38 77 85
|
||||||
|
29 47 64 94 76 105 55 49 94 109 102 158 11 56 0 70 -18 23z" />
|
||||||
|
<path d="M290 5601 c-38 -17 -13 -32 38 -22 10 2 7 -11 -7 -28 -23 -27 -22
|
||||||
|
-30 6 -19 18 7 33 19 33 26 0 8 34 10 75 6 56 -6 69 -3 53 15 -29 31 -149 44
|
||||||
|
-198 22z" />
|
||||||
|
<path d="M4860 5458 c-36 -10 -39 -15 -13 -16 23 -1 33 -13 27 -29 -6 -15 6
|
||||||
|
-41 26 -58 33 -29 37 -28 45 17 5 26 2 48 -6 48 -9 0 -19 12 -23 26 -4 18 -22
|
||||||
|
22 -56 12z" />
|
||||||
|
<path d="M4960 5333 c0 -15 16 -49 37 -75 20 -27 43 -66 52 -88 11 -28 19 -32
|
||||||
|
25 -14 6 15 -9 48 -33 73 -24 25 -45 65 -46 88 -4 47 -35 60 -35 16z" />
|
||||||
|
<path d="M2 5135 c-1 -64 7 -115 18 -115 11 0 20 -16 20 -35 1 -28 4 -29 18
|
||||||
|
-7 14 22 20 20 28 -10 8 -32 10 -30 12 8 1 25 -15 84 -35 130 -21 46 -43 98
|
||||||
|
-49 114 -6 17 -12 -22 -12 -85z" />
|
||||||
|
<path d="M1441 5156 c-30 -32 -35 -48 -17 -58 33 -21 56 -3 56 43 0 25 10 34
|
||||||
|
30 26 17 -6 30 -1 30 11 0 37 -56 25 -99 -22z" />
|
||||||
|
<path d="M214 5101 c-11 -42 33 -119 51 -89 15 24 -5 128 -25 128 -8 0 -20
|
||||||
|
-18 -26 -39z" />
|
||||||
|
<path d="M1185 5042 c3 -10 -38 -60 -91 -111 -58 -56 -90 -102 -82 -116 8 -14
|
||||||
|
7 -19 -1 -11 -23 21 -91 -20 -91 -55 0 -16 -11 -29 -24 -29 -17 0 -18 -6 -3
|
||||||
|
-21 23 -23 92 -4 77 21 -5 8 4 27 20 40 17 14 30 17 30 7 0 -9 9 -4 19 13 11
|
||||||
|
16 35 30 53 30 19 0 39 13 44 28 6 18 0 23 -18 13 -16 -8 -12 -1 7 14 19 16
|
||||||
|
28 36 20 45 -8 9 -4 10 10 2 41 -24 68 6 44 50 -16 30 -14 41 10 50 40 16 40
|
||||||
|
48 1 48 -16 0 -28 -8 -25 -18z" />
|
||||||
|
<path d="M154 4762 c14 -53 -53 -154 -79 -118 -14 19 -16 18 -8 -7 6 -19 -7
|
||||||
|
-54 -28 -78 -22 -25 -39 -64 -39 -87 1 -35 7 -32 42 23 23 36 52 66 65 68 13
|
||||||
|
2 32 5 43 8 11 2 32 5 46 7 36 3 1 222 -35 222 -10 0 -13 -17 -7 -38z" />
|
||||||
|
<path d="M1831 4604 c2 -19 9 -47 16 -64 6 -16 26 -75 44 -130 73 -224 109
|
||||||
|
-281 259 -417 297 -269 378 -318 634 -385 95 -25 190 -54 211 -65 21 -11 99
|
||||||
|
-35 174 -52 188 -44 619 -268 714 -371 106 -117 120 -300 22 -300 -46 0 -19
|
||||||
|
-65 35 -85 24 -10 23 -12 -5 -13 -19 -1 -35 -11 -35 -22 0 -11 -13 -20 -29
|
||||||
|
-20 -16 0 -43 -20 -60 -44 -17 -25 -31 -37 -31 -28 0 9 -13 6 -29 -8 -35 -28
|
||||||
|
9 -140 55 -140 13 0 50 -14 82 -30 72 -38 58 -57 143 201 71 218 87 374 47
|
||||||
|
479 -8 22 -21 58 -30 80 -8 22 -17 45 -19 50 -2 6 -11 29 -18 53 -8 23 -36 52
|
||||||
|
-63 64 -50 23 -62 61 -28 95 13 13 -15 63 -84 149 -57 71 -101 133 -98 137 3
|
||||||
|
4 -24 26 -61 49 -56 35 -62 36 -39 6 27 -33 25 -34 -24 -11 -29 13 -48 32 -42
|
||||||
|
41 6 9 -4 17 -21 17 -17 0 -31 -11 -32 -25 0 -14 -15 0 -34 30 -42 68 -87 83
|
||||||
|
-182 63 -83 -17 -105 -18 -202 -2 -37 7 -114 2 -170 -9 -141 -29 -270 -21
|
||||||
|
-342 21 -33 19 -83 41 -112 48 -179 45 -479 337 -579 565 -42 94 -74 128 -67
|
||||||
|
73z m1569 -844 c32 17 37 15 27 -10 -6 -16 -1 -30 13 -30 13 0 20 -11 15 -25
|
||||||
|
-5 -14 39 -48 103 -80 108 -55 182 -116 182 -151 0 -19 -124 -25 -140 -6 -5 7
|
||||||
|
-28 22 -50 35 -22 13 -38 33 -35 46 6 25 -90 70 -133 63 -15 -3 -33 3 -40 13
|
||||||
|
-15 23 -167 49 -153 26 6 -9 -23 -8 -64 2 -41 10 -109 24 -150 30 -41 7 -75
|
||||||
|
20 -75 30 0 9 -16 17 -35 17 -30 1 -31 3 -5 21 17 11 79 15 140 9 61 -6 151
|
||||||
|
-3 200 6 51 10 105 10 125 0 21 -10 51 -9 75 4z" />
|
||||||
|
<path d="M40 4232 c0 -16 30 -68 66 -115 36 -48 90 -130 120 -182 63 -108 84
|
||||||
|
-117 103 -43 19 76 -4 124 -77 158 -35 17 -90 71 -121 121 -57 90 -91 113 -91
|
||||||
|
61z" />
|
||||||
|
<path d="M5165 4172 c-7 -11 -1 -23 12 -28 13 -4 17 -17 10 -29 -8 -12 10 -5
|
||||||
|
39 17 29 21 53 45 53 53 1 21 -100 10 -114 -13z" />
|
||||||
|
<path d="M5120 3992 c0 -33 11 -52 30 -52 17 0 30 12 30 28 0 15 -13 38 -30
|
||||||
|
52 -25 21 -30 17 -30 -28z" />
|
||||||
|
<path d="M1829 3948 c8 -43 22 -86 32 -97 31 -31 49 8 23 50 -13 21 -24 52
|
||||||
|
-24 68 0 16 -10 35 -23 43 -16 10 -19 -8 -8 -64z" />
|
||||||
|
<path d="M4904 3955 c-20 -25 -19 -33 7 -43 17 -6 26 -20 20 -30 -6 -11 -3
|
||||||
|
-25 9 -32 11 -7 20 -19 20 -28 0 -18 -61 -16 -93 4 -12 7 -34 -1 -49 -18 -22
|
||||||
|
-27 -20 -31 13 -25 21 4 38 -3 39 -16 0 -44 30 -54 30 -10 0 24 9 43 20 43 11
|
||||||
|
0 20 -13 20 -30 0 -16 9 -30 21 -30 30 0 48 59 24 83 -23 23 -10 97 17 97 9 0
|
||||||
|
11 14 5 31 -9 22 -19 24 -37 9 -19 -16 -28 -15 -34 1 -5 16 -15 14 -32 -6z" />
|
||||||
|
<path d="M5951 3721 c-10 -17 -17 -56 -14 -88 4 -61 -30 -120 -59 -102 -30 19
|
||||||
|
-20 -24 12 -51 16 -13 25 -32 19 -41 -5 -9 -1 -21 9 -28 17 -10 -3 -142 -25
|
||||||
|
-165 -6 -6 2 -24 18 -40 30 -30 33 -141 4 -159 -8 -5 -11 -17 -6 -26 5 -8 2
|
||||||
|
-44 -8 -79 -10 -34 -11 -58 -1 -52 9 6 23 2 30 -10 7 -11 1 -20 -14 -20 -20
|
||||||
|
-1 -20 -5 2 -18 16 -10 22 -32 15 -51 -7 -19 -23 -27 -35 -20 -12 8 -8 -8 10
|
||||||
|
-35 18 -27 28 -53 24 -58 -5 -4 -11 -53 -14 -108 -3 -55 -15 -107 -27 -115
|
||||||
|
-14 -9 -13 -14 4 -15 26 0 35 -64 12 -86 -7 -8 -24 -5 -37 6 -16 13 -23 10
|
||||||
|
-23 -9 0 -16 7 -25 15 -20 22 14 40 -23 50 -105 6 -46 0 -79 -16 -89 -21 -13
|
||||||
|
-20 -16 1 -17 22 0 23 -6 4 -28 -16 -20 -16 -33 -2 -41 35 -22 24 -51 -20 -51
|
||||||
|
-23 0 -36 -9 -29 -20 7 -11 1 -20 -14 -21 -17 0 -14 -9 9 -27 19 -14 35 -35
|
||||||
|
35 -46 0 -25 77 -96 90 -82 6 5 8 445 5 978 -3 618 -12 957 -24 939z" />
|
||||||
|
<path d="M4822 3672 c-28 -33 -102 -55 -102 -30 0 10 -17 2 -37 -17 -20 -19
|
||||||
|
-30 -44 -21 -55 24 -32 -8 -140 -42 -140 -16 0 -27 -12 -24 -28 3 -15 -12 -46
|
||||||
|
-33 -70 -21 -23 -44 -64 -52 -92 -11 -42 -9 -44 9 -15 12 19 42 35 66 35 36 1
|
||||||
|
38 4 14 20 -26 17 -25 19 4 20 18 0 52 25 74 55 23 30 51 66 62 79 11 13 20
|
||||||
|
33 20 43 0 11 28 29 62 41 75 26 57 71 -23 55 l-55 -11 49 49 c27 27 58 45 68
|
||||||
|
38 10 -6 13 3 7 20 -15 38 -17 38 -46 3z" />
|
||||||
|
<path d="M2144 3591 c8 -9 6 -32 -4 -51 -22 -41 34 -119 75 -105 35 12 31 45
|
||||||
|
-4 45 -18 0 -25 12 -18 30 6 17 1 30 -12 30 -13 0 -18 8 -12 19 6 10 0 25 -14
|
||||||
|
33 -14 8 -19 7 -11 -1z" />
|
||||||
|
<path d="M2158 3365 c-2 -8 -2 -22 0 -30 1 -8 -5 -15 -14 -15 -22 0 -25 -77
|
||||||
|
-4 -90 23 -14 106 105 90 130 -14 23 -69 27 -72 5z" />
|
||||||
|
<path d="M2145 3169 c-11 -22 -13 -57 -4 -79 9 -22 17 -72 18 -111 1 -58 9
|
||||||
|
-71 46 -74 24 -2 35 3 24 11 -12 8 -20 62 -18 120 3 124 -33 196 -66 133z" />
|
||||||
|
<path d="M2687 2945 c-163 -68 -286 -238 -300 -413 -8 -108 -5 -119 79 -292
|
||||||
|
68 -139 68 -141 -11 -133 -48 6 -67 19 -76 55 l-11 48 -24 -44 c-51 -93 0
|
||||||
|
-158 121 -154 44 2 75 -7 75 -20 0 -142 502 -179 755 -56 202 98 140 129 -84
|
||||||
|
42 -98 -38 -178 -58 -211 -51 -28 6 -64 3 -80 -7 -17 -10 -43 -6 -68 11 -23
|
||||||
|
16 -60 29 -84 29 -48 0 -138 64 -169 121 -22 41 20 37 79 -9 46 -36 499 -29
|
||||||
|
522 8 13 21 9 33 -15 42 -29 10 -28 16 12 50 88 74 123 156 127 297 6 192 86
|
||||||
|
193 134 1 43 -172 9 -241 -155 -309 -102 -42 -77 -68 50 -53 141 16 134 11
|
||||||
|
197 144 69 145 64 253 -14 344 -31 36 -56 73 -56 82 0 37 -220 184 -348 232
|
||||||
|
-182 68 -337 81 -445 35z m261 -102 c6 -9 -25 -43 -68 -75 -57 -42 -79 -73
|
||||||
|
-80 -111 0 -28 -14 -64 -32 -79 -87 -72 12 -363 144 -423 86 -39 59 -72 -44
|
||||||
|
-53 -215 41 -348 170 -348 340 0 98 61 286 108 334 59 60 294 109 320 67z
|
||||||
|
m175 -109 c78 -27 137 -69 137 -96 0 -28 -42 -20 -130 22 -93 45 -133 49 -165
|
||||||
|
17 -12 -12 -39 -16 -59 -8 -116 45 93 108 217 65z m28 -184 c18 -94 -16 -134
|
||||||
|
-109 -126 -58 5 -73 15 -79 52 -19 136 163 208 188 74z m29 -270 c0 -21 -124
|
||||||
|
-120 -149 -120 -42 0 -150 87 -151 122 0 6 68 11 150 11 83 0 150 -6 150 -13z" />
|
||||||
|
<path d="M2132 2847 c-16 -41 20 -84 47 -56 11 12 8 33 -8 55 -24 33 -27 33
|
||||||
|
-39 1z" />
|
||||||
|
<path d="M4653 2768 c-31 -17 -73 -68 -93 -114 -38 -85 -34 -135 5 -65 12 21
|
||||||
|
57 78 101 125 83 91 80 104 -13 54z" />
|
||||||
|
<path d="M2110 2680 c7 -11 -1 -73 -18 -137 -27 -108 -29 -260 -2 -302 5 -10
|
||||||
|
-12 -15 -40 -12 -27 3 -50 -5 -50 -17 0 -12 -10 -8 -22 8 -16 23 -23 24 -31 4
|
||||||
|
-6 -14 -32 -51 -59 -83 -26 -31 -48 -69 -48 -84 0 -15 -18 -39 -40 -52 -22
|
||||||
|
-14 -40 -36 -40 -48 0 -13 -22 -53 -50 -89 -27 -36 -50 -74 -50 -84 0 -10 -38
|
||||||
|
-75 -84 -146 -46 -70 -85 -134 -85 -142 -1 -8 -19 -35 -41 -60 -40 -47 -43
|
||||||
|
-54 -47 -106 -2 -16 -15 -30 -29 -30 -26 0 -86 -135 -68 -152 26 -26 114 -27
|
||||||
|
114 -1 0 15 27 61 60 103 33 41 54 83 48 93 -6 9 4 23 21 29 17 7 31 29 31 48
|
||||||
|
0 20 8 40 18 43 10 4 21 25 25 47 4 22 16 51 27 64 62 76 74 86 88 77 9 -5 17
|
||||||
|
23 18 63 3 76 23 113 38 71 5 -14 26 -34 46 -45 48 -26 43 22 -9 79 -21 23
|
||||||
|
-27 41 -14 41 13 0 23 15 23 34 0 55 36 4 46 -66 12 -75 48 -148 75 -148 31 0
|
||||||
|
22 35 -13 48 -42 16 -26 57 26 65 40 6 77 -39 58 -71 -5 -7 8 -13 29 -13 46 0
|
||||||
|
51 36 9 71 -16 14 -30 51 -30 82 0 42 -8 54 -30 45 -16 -6 -30 -1 -30 12 0 13
|
||||||
|
9 18 19 12 31 -20 81 95 58 135 -13 23 -12 34 2 34 12 0 21 23 21 50 0 28 8
|
||||||
|
50 19 50 25 0 35 77 19 153 -11 52 -8 62 18 52 19 -7 26 -4 17 10 -8 12 -6 58
|
||||||
|
4 102 10 43 11 91 2 105 -9 15 -7 38 5 52 16 20 11 26 -23 26 -24 0 -38 -9
|
||||||
|
-31 -20z" />
|
||||||
|
<path d="M432 2403 c-7 -10 -30 -15 -52 -9 -26 7 -40 1 -40 -17 0 -24 -84 -77
|
||||||
|
-122 -77 -17 0 -158 -134 -158 -150 0 -14 195 84 265 134 31 22 50 47 44 58
|
||||||
|
-6 10 7 18 29 18 39 0 75 33 56 53 -5 5 -15 1 -22 -10z" />
|
||||||
|
<path d="M113 2037 c-62 -55 -108 -110 -101 -121 8 -12 18 -13 26 -1 28 43
|
||||||
|
145 47 156 5 13 -47 71 -53 106 -10 41 49 64 35 50 -30 -16 -75 6 -75 65 -1
|
||||||
|
l44 56 -81 56 c-45 31 -97 77 -117 102 l-35 45 -113 -101z" />
|
||||||
|
<path d="M1450 2057 c-90 -50 -182 -212 -142 -252 14 -14 92 53 92 79 0 10 32
|
||||||
|
48 70 85 99 93 87 147 -20 88z" />
|
||||||
|
<path d="M3580 1663 c0 -10 -21 -13 -46 -9 -27 6 -57 -4 -73 -22 -16 -21 -18
|
||||||
|
-32 -4 -32 12 0 16 -15 9 -33 -10 -25 -6 -29 16 -16 15 10 40 20 55 22 59 9
|
||||||
|
87 29 76 56 -6 16 0 33 13 38 13 5 8 11 -11 11 -19 1 -35 -6 -35 -15z" />
|
||||||
|
<path d="M3365 1604 c7 -27 -1 -46 -22 -54 -30 -11 -29 -15 4 -33 44 -25 54
|
||||||
|
-17 59 53 2 33 -8 60 -24 65 -20 8 -25 -1 -17 -31z" />
|
||||||
|
<path d="M2240 1435 c0 -8 -12 -15 -27 -15 -15 0 -37 -23 -50 -51 -28 -61 -30
|
||||||
|
-91 -3 -49 10 17 26 30 35 30 9 0 45 23 80 50 63 49 63 50 14 50 -27 0 -49 -7
|
||||||
|
-49 -15z" />
|
||||||
|
<path d="M2631 902 c-13 -21 105 -53 124 -34 6 7 -3 12 -22 12 -18 0 -33 9
|
||||||
|
-33 20 0 25 -54 26 -69 2z" />
|
||||||
|
<path d="M2561 799 c22 -22 35 -49 29 -60 -7 -10 -2 -19 11 -19 15 0 19 -18
|
||||||
|
10 -52 -7 -30 -5 -47 6 -40 27 17 43 -37 43 -145 0 -205 26 -423 50 -423 35 0
|
||||||
|
91 137 100 243 4 50 12 126 19 169 6 43 6 67 -1 53 -21 -47 -53 -26 -40 26 9
|
||||||
|
34 2 61 -19 82 -17 18 -27 44 -21 59 6 15 1 32 -9 39 -11 6 -14 21 -7 33 7 11
|
||||||
|
1 28 -14 38 -45 28 -63 21 -52 -22 6 -22 2 -40 -8 -40 -10 0 -18 13 -18 29 0
|
||||||
|
16 -17 39 -39 50 -63 34 -84 24 -40 -20z" />
|
||||||
|
<path d="M1064 674 c3 -24 22 -47 41 -50 52 -10 46 69 -6 82 -33 9 -40 3 -35
|
||||||
|
-32z" />
|
||||||
|
<path d="M2839 665 c-1 -8 -6 -35 -10 -59 -6 -33 1 -43 30 -41 30 3 34 11 19
|
||||||
|
39 -13 24 -12 36 2 36 13 0 17 9 10 20 -14 23 -49 27 -51 5z" />
|
||||||
|
<path d="M4690 641 c-6 -11 23 -37 64 -58 42 -22 117 -87 166 -146 50 -59 108
|
||||||
|
-125 131 -147 44 -43 44 -110 0 -110 -33 0 -75 -49 -58 -67 7 -7 25 -3 40 9
|
||||||
|
14 13 58 19 97 14 50 -6 70 0 70 19 0 15 -8 22 -19 16 -21 -13 -50 24 -53 69
|
||||||
|
-1 17 -3 50 -5 75 -2 26 -16 45 -34 45 -17 0 -27 7 -21 16 5 9 -8 29 -29 45
|
||||||
|
-21 15 -39 35 -39 43 0 18 -74 96 -91 96 -7 0 -41 23 -77 50 -69 52 -121 64
|
||||||
|
-142 31z" />
|
||||||
|
<path d="M4540 541 c0 -21 -9 -44 -20 -51 -30 -19 -24 -50 10 -50 20 0 30 20
|
||||||
|
30 58 0 32 11 63 25 69 15 6 11 10 -10 11 -22 1 -35 -13 -35 -37z" />
|
||||||
|
<path d="M4613 507 c-24 -24 -14 -87 14 -87 15 0 43 -18 63 -40 20 -22 29 -40
|
||||||
|
19 -40 -45 0 31 -41 88 -47 35 -5 82 -24 104 -44 80 -72 96 1 18 83 -129 135
|
||||||
|
-267 213 -306 175z" />
|
||||||
|
<path d="M1880 183 c0 -15 28 -31 153 -88 24 -11 53 -14 65 -6 12 7 22 4 22
|
||||||
|
-8 0 -13 48 -20 122 -18 l123 2 -78 37 c-105 49 -407 109 -407 81z" />
|
||||||
|
<path d="M461 51 c-13 -16 -57 -32 -98 -37 -40 -4 31 -7 157 -7 127 0 196 3
|
||||||
|
155 8 -74 7 -98 32 -50 52 14 5 -12 11 -58 11 -49 1 -92 -10 -106 -27z" />
|
||||||
|
<path d="M3337 18 c-16 -11 29 -17 113 -16 152 1 154 9 7 24 -51 5 -105 1
|
||||||
|
-120 -8z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 22 KiB |
5
awesome/src/assets/icons/notifications/bell-outline.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#414141" d="M10 21H14C14 22.1 13.1 23 12 23S10 22.1 10 21M21 19V20H3V19L5 17V11C5 7.9 7 5.2 10 4.3V4C10 2.9 10.9 2 12 2S14 2.9 14 4V4.3C17 5.2 19 7.9 19 11V17L21 19M17 11C17 8.2 14.8 6 12 6S7 8.2 7 11V18H17V11Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 515 B |
54
awesome/src/assets/icons/notifications/megamind.svg
Normal file
|
After Width: | Height: | Size: 43 KiB |
1
awesome/src/assets/icons/notifications/repeat-once.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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" width="24" height="24" viewBox="0 0 24 24"><path d="M13,15V9H12L10,10V11H11.5V15M17,17H7V14L3,18L7,22V19H19V13H17M7,7H17V10L21,6L17,2V5H5V11H7V7Z" /></svg>
|
||||||
|
After Width: | Height: | Size: 388 B |
1
awesome/src/assets/icons/notifications/repeat.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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" width="24" height="24" viewBox="0 0 24 24"><path d="M17,17H7V14L3,18L7,22V19H19V13H17M7,7H17V10L21,6L17,2V5H5V11H7V7Z" /></svg>
|
||||||
|
After Width: | Height: | Size: 360 B |
1
awesome/src/assets/icons/notifications/shuffle.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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" width="24" height="24" viewBox="0 0 24 24"><path d="M17,3L22.25,7.5L17,12L22.25,16.5L17,21V18H14.26L11.44,15.18L13.56,13.06L15.5,15H17V12L17,9H15.5L6.5,18H2V15H5.26L14.26,6H17V3M2,6H6.5L9.32,8.82L7.2,10.94L5.26,9H2V6Z" /></svg>
|
||||||
|
After Width: | Height: | Size: 460 B |
1
awesome/src/assets/icons/profile/clock.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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" width="24" height="24" viewBox="0 0 24 24"><path d="M12,20C16.42,20 20,16.42 20,12C20,7.58 16.42,4 12,4C7.58,4 4,7.58 4,12C4,16.42 7.58,20 12,20M12,2C17.52,2 22,6.48 22,12C22,17.52 17.52,22 12,22C6.47,22 2,17.5 2,12C2,6.48 6.48,2 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z" /></svg>
|
||||||
|
After Width: | Height: | Size: 525 B |
5
awesome/src/assets/icons/profile/laptop.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path d="M4,6H20V16H4M20,18C21.1,18 22,17.1 22,16V6C22,4.89 21.1,4 20,4H4C2.89,4 2,4.89 2,6V16C2,17.1 2.9,18 4,18H0V20H24V18H20Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 421 B |
5
awesome/src/assets/icons/profile/penguin.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path d="M19,16C19,17.72 18.37,19.3 17.34,20.5C17.75,20.89 18,21.41 18,22H6C6,21.41 6.25,20.89 6.66,20.5C5.63,19.3 5,17.72 5,16H3C3,14.75 3.57,13.64 4.46,12.91L4.47,12.89C6,11.81 7,10 7,8V7C7,4.24 9.24,2 12,2C14.76,2 17,4.24 17,7V8C17,10 18,11.81 19.53,12.89L19.54,12.91C20.43,13.64 21,14.75 21,16H19M16,16C16,13.79 14.21,12 12,12C9.79,12 8,13.79 8,16C8,18.21 9.79,20 12,20C14.21,20 16,18.21 16,16M10,9L12,10.5L14,9L12,7.5L10,9M10,5C9.45,5 9,5.45 9,6C9,6.55 9.45,7 10,7C10.55,7 11,6.55 11,6C11,5.45 10.55,5 10,5M14,5C13.45,5 13,5.45 13,6C13,6.55 13.45,7 14,7C14.55,7 15,6.55 15,6C15,5.45 14.55,5 14,5Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 894 B |
5
awesome/src/assets/icons/profile/user.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path d="M12,4C14.21,4 16,5.79 16,8C16,10.21 14.21,12 12,12C9.79,12 8,10.21 8,8C8,5.79 9.79,4 12,4M12,6C10.9,6 10,6.9 10,8C10,9.1 10.9,10 12,10C13.1,10 14,9.1 14,8C14,6.9 13.1,6 12,6M12,13C14.67,13 20,14.33 20,17V20H4V17C4,14.33 9.33,13 12,13M12,14.9C9.03,14.9 5.9,16.36 5.9,17V18.1H18.1V17C18.1,16.36 14.97,14.9 12,14.9Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 614 B |
1
awesome/src/assets/icons/weather/humidity.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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" width="24" height="24" viewBox="0 0 24 24"><path d="M12,3.77L11.25,4.61C11.25,4.61 9.97,6.06 8.68,7.94C7.39,9.82 6,12.07 6,14.23C6,17.54 8.69,20.23 12,20.23C15.31,20.23 18,17.54 18,14.23C18,12.07 16.61,9.82 15.32,7.94C14.03,6.06 12.75,4.61 12.75,4.61L12,3.77M12,6.9C12.44,7.42 12.84,7.85 13.68,9.07C14.89,10.83 16,13.07 16,14.23C16,16.45 14.22,18.23 12,18.23C9.78,18.23 8,16.45 8,14.23C8,13.07 9.11,10.83 10.32,9.07C11.16,7.85 11.56,7.42 12,6.9Z" /></svg>
|
||||||
|
After Width: | Height: | Size: 688 B |
5
awesome/src/assets/icons/weather/weather-clear-night.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M17.75,4.09L15.22,6.03L16.13,9.09L13.5,7.28L10.87,9.09L11.78,6.03L9.25,4.09L12.44,4L13.5,1L14.56,4L17.75,4.09M21.25,11L19.61,12.25L20.2,14.23L18.5,13.06L16.8,14.23L17.39,12.25L15.75,11L17.81,10.95L18.5,9L19.19,10.95L21.25,11M18.97,15.95C19.8,15.87 20.69,17.05 20.16,17.8C19.84,18.25 19.5,18.67 19.08,19.07C15.17,23 8.84,23 4.94,19.07C1.03,15.17 1.03,8.83 4.94,4.93C5.34,4.53 5.76,4.17 6.21,3.85C6.96,3.32 8.14,4.21 8.06,5.04C7.79,7.9 8.75,10.87 10.95,13.06C13.14,15.26 16.1,16.22 18.97,15.95M17.33,17.97C14.5,17.81 11.7,16.64 9.53,14.5C7.36,12.31 6.2,9.5 6.04,6.68C3.23,9.82 3.34,14.64 6.35,17.66C9.37,20.67 14.19,20.78 17.33,17.97Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 949 B |
@@ -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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M6,19C3.24,19 1,16.76 1,14C1,11.24 3.24,9 6,9C7,6.65 9.3,5 12,5C15.43,5 18.24,7.66 18.5,11.03L19,11C21.21,11 23,12.79 23,15C23,17.21 21.21,19 19,19H6M19,13H17V12C17,9.24 14.76,7 12,7C9.5,7 7.45,8.82 7.06,11.19C6.73,11.07 6.37,11 6,11C4.34,11 3,12.34 3,14C3,15.66 4.34,17 6,17H19C20.1,17 21,16.1 21,15C21,13.9 20.1,13 19,13M13,12H11V8H13V12M13,16H11V14H13" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 671 B |
5
awesome/src/assets/icons/weather/weather-cloudy.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M6,19A5,5 0 0,1 1,14A5,5 0 0,1 6,9C7,6.65 9.3,5 12,5C15.43,5 18.24,7.66 18.5,11.03L19,11A4,4 0 0,1 23,15A4,4 0 0,1 19,19H6M19,13H17V12A5,5 0 0,0 12,7C9.5,7 7.45,8.82 7.06,11.19C6.73,11.07 6.37,11 6,11A3,3 0 0,0 3,14A3,3 0 0,0 6,17H19A2,2 0 0,0 21,15A2,2 0 0,0 19,13Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 583 B |
5
awesome/src/assets/icons/weather/weather-fog.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M3,15H13C13.55,15 14,15.45 14,16C14,16.55 13.55,17 13,17H3C2.45,17 2,16.55 2,16C2,15.45 2.45,15 3,15M16,15H21C21.55,15 22,15.45 22,16C22,16.55 21.55,17 21,17H16C15.45,17 15,16.55 15,16C15,15.45 15.45,15 16,15M1,12C1,9.24 3.24,7 6,7C7,4.65 9.3,3 12,3C15.43,3 18.24,5.66 18.5,9.03L19,9C21.19,9 22.97,10.76 23,13H21C21,11.9 20.1,11 19,11H17V10C17,7.24 14.76,5 12,5C9.5,5 7.45,6.82 7.06,9.19C6.73,9.07 6.37,9 6,9C4.34,9 3,10.34 3,12C3,12.35 3.06,12.69 3.17,13H1.1L1,12M3,19H5C5.55,19 6,19.45 6,20C6,20.55 5.55,21 5,21H3C2.45,21 2,20.55 2,20C2,19.45 2.45,19 3,19M8,19H21C21.55,19 22,19.45 22,20C22,20.55 21.55,21 21,21H8C7.45,21 7,20.55 7,20C7,19.45 7.45,19 8,19Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 975 B |
5
awesome/src/assets/icons/weather/weather-hail.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M6,14C6.55,14 7,14.45 7,15C7,15.55 6.55,16 6,16C3.24,16 1,13.76 1,11C1,8.24 3.24,6 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8C21.21,8 23,9.79 23,12C23,14.21 21.21,16 19,16H18C17.45,16 17,15.55 17,15C17,14.45 17.45,14 18,14H19C20.1,14 21,13.1 21,12C21,10.9 20.1,10 19,10H17V9C17,6.24 14.76,4 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8C4.34,8 3,9.34 3,11C3,12.66 4.34,14 6,14M10,18C11.1,18 12,18.9 12,20C12,21.1 11.1,22 10,22C8.9,22 8,21.1 8,20C8,18.9 8.9,18 10,18M14.5,16C15.33,16 16,16.67 16,17.5C16,18.33 15.33,19 14.5,19C13.67,19 13,18.33 13,17.5C13,16.67 13.67,16 14.5,16M10.5,12C11.33,12 12,12.67 12,13.5C12,14.33 11.33,15 10.5,15C9.67,15 9,14.33 9,13.5C9,12.67 9.67,12 10.5,12Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1021 B |
5
awesome/src/assets/icons/weather/weather-hazy.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64M14,15C14,14.45 13.55,14 13,14H3C2.45,14 2,14.45 2,15C2,15.55 2.45,16 3,16H13C13.55,16 14,15.55 14,15M22,15C22,14.45 21.55,14 21,14H17C16.45,14 16,14.45 16,15C16,15.55 16.45,16 17,16H21C21.55,16 22,15.55 22,15M10,19C10,19.55 10.45,20 11,20H20C20.55,20 21,19.55 21,19C21,18.45 20.55,18 20,18H11C10.45,18 10,18.45 10,19M3,19C3,19.55 3.45,20 4,20H7C7.55,20 8,19.55 8,19C8,18.45 7.55,18 7,18H4C3.45,18 3,18.45 3,19M12,9C13.66,9 15,10.34 15,12H17C17,9.24 14.76,7 12,7C9.24,7 7,9.24 7,12H9C9,10.34 10.34,9 12,9Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
5
awesome/src/assets/icons/weather/weather-hurricane.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M15,6.79C16.86,7.86 18,9.85 18,12C18,22 6,22 6,22C7.25,21.06 8.38,19.95 9.34,18.71C9.38,18.66 9.41,18.61 9.44,18.55C9.69,18.06 9.5,17.46 9,17.21C7.14,16.14 6,14.15 6,12C6,2 18,2 18,2C16.75,2.94 15.62,4.05 14.66,5.29C14.62,5.34 14.59,5.39 14.56,5.45C14.31,5.94 14.5,6.54 15,6.79M12,14C13.1,14 14,13.1 14,12C14,10.9 13.1,10 12,10C10.9,10 10,10.9 10,12C10,13.1 10.9,14 12,14Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 689 B |
@@ -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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M4.5,13.59C5,13.87 5.14,14.5 4.87,14.96C4.59,15.44 4,15.6 3.5,15.33V15.33C2,14.47 1,12.85 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A1,1 0 0,1 18,15A1,1 0 0,1 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11C3,12.11 3.6,13.08 4.5,13.6V13.59M9.5,11H12.5L10.5,15H12.5L8.75,22L9.5,17H7L9.5,11M17.5,18.67C17.5,19.96 16.5,21 15.25,21C14,21 13,19.96 13,18.67C13,17.12 15.25,14.5 15.25,14.5C15.25,14.5 17.5,17.12 17.5,18.67Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 865 B |
5
awesome/src/assets/icons/weather/weather-lightning.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M6,16C3.24,16 1,13.76 1,11C1,8.24 3.24,6 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8C21.21,8 23,9.79 23,12C23,14.21 21.21,16 19,16H18C17.45,16 17,15.55 17,15C17,14.45 17.45,14 18,14H19C20.1,14 21,13.1 21,12C21,10.9 20.1,10 19,10H17V9C17,6.24 14.76,4 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8C4.34,8 3,9.34 3,11C3,12.66 4.34,14 6,14H7C7.55,14 8,14.45 8,15C8,15.55 7.55,16 7,16H6M12,11H15L13,15H15L11.25,22L12,17H9.5L12,11Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 760 B |
@@ -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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M22,10.28C21.74,10.3 21.5,10.31 21.26,10.31C19.32,10.31 17.39,9.57 15.91,8.09C14.25,6.44 13.5,4.19 13.72,2C13.77,1.53 13.22,1 12.71,1C12.57,1 12.44,1.04 12.32,1.12C12,1.36 11.66,1.64 11.36,1.94C9.05,4.24 8.55,7.66 9.84,10.46C8.31,11.11 7.13,12.43 6.69,14.06L6,14C3.79,14 2,15.79 2,18C2,20.21 3.79,22 6,22H19C20.66,22 22,20.66 22,19C22,17.34 20.66,16 19,16C18.42,16 17.88,16.16 17.42,16.45L17.5,15.5C17.5,15.28 17.5,15.05 17.46,14.83C19.14,14.67 20.77,13.94 22.06,12.64C22.38,12.34 22.64,12 22.88,11.68C23.27,11.13 22.65,10.28 22.04,10.28M19,18C19.55,18 20,18.45 20,19C20,19.55 19.55,20 19,20H6C4.9,20 4,19.1 4,18C4,16.9 4.9,16 6,16H8.5V15.5C8.5,13.94 9.53,12.64 10.94,12.18C11.1,12.13 11.26,12.09 11.43,12.06C11.61,12.03 11.8,12 12,12C12.23,12 12.45,12.03 12.66,12.07C12.73,12.08 12.8,12.1 12.87,12.13C13,12.16 13.15,12.2 13.28,12.25C13.36,12.28 13.44,12.32 13.5,12.36C13.63,12.41 13.74,12.47 13.84,12.54C13.92,12.59 14,12.64 14.07,12.7C14.17,12.77 14.25,12.84 14.34,12.92C14.41,13 14.5,13.05 14.55,13.12C14.63,13.2 14.69,13.29 14.76,13.37C14.82,13.45 14.89,13.53 14.94,13.62C15,13.71 15.04,13.8 15.09,13.9C15.14,14 15.2,14.08 15.24,14.18C15.41,14.59 15.5,15.03 15.5,15.5V18M16.83,12.86C15.9,11.16 14.08,10 12,10H11.87C11.41,9.19 11.14,8.26 11.14,7.29C11.14,6.31 11.39,5.37 11.86,4.55C12.21,6.41 13.12,8.14 14.5,9.5C15.86,10.88 17.58,11.79 19.45,12.14C18.66,12.6 17.76,12.84 16.83,12.86Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M12.74,5.47C15.1,6.5 16.35,9.03 15.92,11.46C17.19,12.56 18,14.19 18,16V16.17C18.31,16.06 18.65,16 19,16C20.66,16 22,17.34 22,19C22,20.66 20.66,22 19,22H6C3.79,22 2,20.21 2,18C2,15.79 3.79,14 6,14H6.27C5,12.45 4.6,10.24 5.5,8.26C6.72,5.5 9.97,4.24 12.74,5.47M11.93,7.3C10.16,6.5 8.09,7.31 7.31,9.07C6.85,10.09 6.93,11.22 7.41,12.13C8.5,10.83 10.16,10 12,10C12.7,10 13.38,10.12 14,10.34C13.94,9.06 13.18,7.86 11.93,7.3M13.55,3.64C13,3.4 12.45,3.23 11.88,3.12L14.37,1.82L15.27,4.71C14.76,4.29 14.19,3.93 13.55,3.64M6.09,4.44C5.6,4.79 5.17,5.19 4.8,5.63L4.91,2.82L7.87,3.5C7.25,3.71 6.65,4.03 6.09,4.44M18,9.71C17.91,9.12 17.78,8.55 17.59,8L19.97,9.5L17.92,11.73C18.03,11.08 18.05,10.4 18,9.71M3.04,11.3C3.11,11.9 3.24,12.47 3.43,13L1.06,11.5L3.1,9.28C3,9.93 2.97,10.61 3.04,11.3M19,18H16V16C16,13.79 14.21,12 12,12C9.79,12 8,13.79 8,16H6C4.9,16 4,16.9 4,18C4,19.1 4.9,20 6,20H19C19.55,20 20,19.55 20,19C20,18.45 19.55,18 19,18Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M19,15C18.65,15 18.31,15.06 18,15.17V15C18,13.19 17.19,11.56 15.92,10.46C16.35,8.03 15.1,5.5 12.75,4.47C9.97,3.24 6.72,4.5 5.5,7.25C4.6,9.24 5,11.45 6.27,13H6C3.79,13 2,14.79 2,17C2,19.21 3.79,21 6,21H7C7,21 8,21 8,20C8,19 7,19 7,19H6C4.9,19 4,18.1 4,17C4,15.9 4.9,15 6,15H8C8,12.79 9.79,11 12,11C14.21,11 16,12.79 16,15V17H19C19.55,17 20,17.45 20,18C20,18.55 19.55,19 19,19H17C17,19 16,19 16,20C16,21 17,21 17,21H19C20.66,21 22,19.66 22,18C22,16.34 20.66,15 19,15M12,9C10.16,9 8.5,9.83 7.41,11.13C6.93,10.22 6.85,9.09 7.31,8.07C8.09,6.31 10.16,5.5 11.93,6.3C13.18,6.86 13.94,8.06 14,9.34C13.38,9.12 12.7,9 12,9M13.55,2.63C13,2.4 12.45,2.23 11.88,2.12L14.37,0.82L15.27,3.71C14.76,3.29 14.19,2.93 13.55,2.63M6.09,3.44C5.6,3.79 5.17,4.19 4.8,4.63L4.91,1.82L7.87,2.5C7.25,2.71 6.65,3.03 6.09,3.44M18,8.71C17.91,8.12 17.78,7.55 17.59,7L19.97,8.5L17.92,10.73C18.03,10.08 18.05,9.4 18,8.71M3.04,10.3C3.11,10.9 3.25,11.47 3.43,12L1.06,10.5L3.1,8.28C3,8.93 2.97,9.61 3.04,10.3M11.8,15H14.25L12.61,18.27H14.25L11.18,24L11.8,19.91H9.75" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M12.75,4.47C15.1,5.5 16.35,8.03 15.92,10.46C17.19,11.56 18,13.19 18,15V15.17C18.31,15.06 18.65,15 19,15C20.66,15 22,16.34 22,18C22,19.66 20.66,21 19,21H17C17,21 16,21 16,20C16,19 17,19 17,19H19C19.55,19 20,18.55 20,18C20,17.45 19.55,17 19,17H16V15C16,12.79 14.21,11 12,11C9.79,11 8,12.79 8,15H6C4.9,15 4,15.9 4,17C4,18.1 4.9,19 6,19H7C7,19 8,19 8,20C8,21 7,21 7,21H6C3.79,21 2,19.21 2,17C2,14.79 3.79,13 6,13H6.27C5,11.45 4.6,9.24 5.5,7.25C6.72,4.5 9.97,3.24 12.75,4.47M11.93,6.3C10.16,5.5 8.09,6.31 7.31,8.07C6.85,9.09 6.93,10.22 7.41,11.13C8.5,9.83 10.16,9 12,9C12.7,9 13.38,9.12 14,9.34C13.94,8.06 13.18,6.86 11.93,6.3M13.55,2.63C13,2.4 12.45,2.23 11.88,2.12L14.37,0.82L15.27,3.71C14.76,3.29 14.19,2.93 13.55,2.63M6.09,3.44C5.6,3.79 5.17,4.19 4.8,4.63L4.91,1.82L7.87,2.5C7.25,2.71 6.65,3.03 6.09,3.44M18,8.71C17.91,8.12 17.78,7.55 17.59,7L19.97,8.5L17.92,10.73C18.03,10.08 18.05,9.4 18,8.71M3.04,10.3C3.11,10.9 3.25,11.47 3.43,12L1.06,10.5L3.1,8.28C3,8.93 2.97,9.61 3.04,10.3M12,18.91C12.59,19.82 13,20.63 13,21C13,21.55 12.55,22 12,22C11.45,22 11,21.55 11,21C11,20.63 11.41,19.82 12,18.91M12,15.62C12,15.62 9,19 9,21C9,22.66 10.34,24 12,24C13.66,24 15,22.66 15,21C15,19 12,15.62 12,15.62Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M13.55,2.66C13,2.42 12.45,2.26 11.88,2.15L14.37,0.84L15.27,3.73C14.76,3.31 14.19,2.95 13.55,2.66M6.09,3.46C5.6,3.81 5.17,4.21 4.8,4.66L4.91,1.84L7.87,2.53C7.25,2.73 6.65,3.05 6.09,3.46M18,8.73C17.91,8.15 17.78,7.57 17.59,7.03L19.97,8.53L17.92,10.76C18.03,10.1 18.05,9.42 18,8.73M3.04,10.32C3.11,10.92 3.25,11.5 3.43,12.03L1.06,10.53L3.1,8.3C3,8.95 2.97,9.64 3.04,10.32M16.68,22.21C16.68,23.2 15.91,24 14.95,24C14,24 13.23,23.2 13.23,22.21C13.23,21.03 14.95,19.03 14.95,19.03C14.95,19.03 16.68,21.03 16.68,22.21M6.03,21.45C5.93,21.07 6.15,20.68 6.54,20.58L8.13,20.15L6.96,19C6.68,18.72 6.68,18.27 6.96,18C7.23,17.7 7.7,17.7 8,18L9.14,19.14L9.55,17.56C9.65,17.17 10.05,16.94 10.43,17.05C10.82,17.15 11.05,17.55 10.93,17.93L10.5,19.5L12.1,19.1C12.5,19 12.88,19.21 13,19.6C13.08,19.97 12.86,20.37 12.47,20.47L10.89,20.89L12.05,22.05C12.33,22.32 12.33,22.79 12.05,23.07C11.77,23.35 11.31,23.35 11.03,23.07L9.87,21.9L9.45,23.5C9.35,23.88 8.95,24.1 8.57,24C8.18,23.9 7.97,23.5 8.06,23.12L8.5,21.55L6.91,21.96C6.5,22.06 6.13,21.84 6.03,21.45M19,15.03C18.65,15.03 18.31,15.08 18,15.19V15.03C18,13.21 17.19,11.58 15.92,10.5C16.35,8.05 15.1,5.53 12.75,4.5C9.97,3.27 6.72,4.53 5.5,7.28C4.6,9.27 5,11.47 6.27,13.03H6C3.79,13.03 2,14.81 2,17.03C2,18.17 2.5,19.2 3.27,19.93V19.93C3.27,19.93 3.97,20.64 4.68,19.93C5.39,19.22 4.68,18.5 4.68,18.5C4.27,18.15 4,17.62 4,17.03C4,15.92 4.9,15.03 6,15.03H8C8,12.81 9.79,11.03 12,11.03C14.21,11.03 16,12.82 16,15.03V17.03H19C19.55,17.03 20,17.48 20,18.03C20,18.57 19.55,19.03 19,19.03H18C18,19.03 17,19.03 17,20.03C17,21.03 18,21.03 18,21.03H19C20.66,21.03 22,19.69 22,18.03C22,16.37 20.66,15.03 19,15.03M12,9.03C10.16,9.03 8.5,9.85 7.41,11.16C6.93,10.25 6.85,9.11 7.31,8.09C8.09,6.33 10.16,5.53 11.93,6.32C13.18,6.89 13.94,8.08 14,9.37C13.38,9.15 12.7,9.03 12,9.03Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M6,19.03C4.9,19.03 4,18.13 4,17.03C4,15.92 4.9,15.03 6,15.03H8C8,12.81 9.79,11.03 12,11.03C14.21,11.03 16,12.82 16,15.03V17.03H19C19.55,17.03 20,17.48 20,18.03C20,18.57 19.55,19.03 19,19.03H17C17,19.03 16,19.03 16,20.03C16,21.03 17,21.03 17,21.03H19C20.66,21.03 22,19.69 22,18.03C22,16.37 20.66,15.03 19,15.03C18.65,15.03 18.31,15.08 18,15.19V15.03C18,13.21 17.19,11.58 15.92,10.5C16.35,8.05 15.1,5.53 12.75,4.5C9.97,3.27 6.72,4.53 5.5,7.28C4.6,9.27 5,11.47 6.27,13.03H6C3.79,13.03 2,14.81 2,17.03C2,19.24 3.79,21.03 6,21.03C6,21.03 7,21.03 7,20.03C7,19.03 6,19.03 6,19.03M12,9.03C10.16,9.03 8.5,9.85 7.41,11.16C6.93,10.25 6.85,9.11 7.31,8.09C8.09,6.33 10.16,5.53 11.93,6.32C13.18,6.89 13.94,8.08 14,9.37C13.38,9.15 12.7,9.03 12,9.03M13.55,2.66C13,2.42 12.45,2.26 11.88,2.15L14.37,0.84L15.27,3.73C14.76,3.31 14.19,2.95 13.55,2.66M6.09,3.46C5.6,3.81 5.17,4.21 4.8,4.66L4.91,1.84L7.87,2.53C7.25,2.73 6.65,3.05 6.09,3.46M18,8.73C17.91,8.15 17.78,7.57 17.59,7.03L19.97,8.53L17.92,10.76C18.03,10.1 18.05,9.42 18,8.73M3.04,10.32C3.11,10.92 3.25,11.5 3.43,12.03L1.06,10.53L3.1,8.3C3,8.95 2.97,9.64 3.04,10.32M8.03,21.45C8.13,21.84 8.53,22.06 8.91,21.96L10.5,21.54L10.06,23.11C9.96,23.5 10.19,23.9 10.57,24C10.95,24.1 11.35,23.87 11.45,23.5L11.87,21.91L13.03,23.07C13.3,23.35 13.77,23.35 14.05,23.07C14.33,22.79 14.33,22.32 14.05,22.05L12.89,20.88L14.47,20.47C14.85,20.37 15.08,19.97 15,19.59C14.88,19.21 14.5,19 14.09,19.08L12.5,19.5L12.94,17.93C13.04,17.54 12.82,17.15 12.43,17.05C12.05,16.95 11.66,17.17 11.55,17.56L11.14,19.14L10,17.97C9.7,17.69 9.23,17.69 8.95,17.97C8.68,18.27 8.68,18.72 8.95,19L10.11,20.16L8.54,20.57C8.15,20.68 7.93,21.07 8.03,21.45Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
5
awesome/src/assets/icons/weather/weather-pouring.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M9,12C9.53,12.14 9.85,12.69 9.71,13.22L8.41,18.05C8.27,18.59 7.72,18.9 7.19,18.76C6.65,18.62 6.34,18.07 6.5,17.54L7.78,12.71C7.92,12.17 8.47,11.86 9,12M13,12C13.53,12.14 13.85,12.69 13.71,13.22L11.64,20.95C11.5,21.5 10.95,21.8 10.41,21.66C9.88,21.5 9.56,20.97 9.7,20.43L11.78,12.71C11.92,12.17 12.47,11.86 13,12M17,12C17.53,12.14 17.85,12.69 17.71,13.22L16.41,18.05C16.27,18.59 15.72,18.9 15.19,18.76C14.65,18.62 14.34,18.07 14.5,17.54L15.78,12.71C15.92,12.17 16.47,11.86 17,12M17,10V9C17,6.24 14.76,4 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8C4.34,8 3,9.34 3,11C3,12.11 3.6,13.08 4.5,13.6V13.59C5,13.87 5.14,14.5 4.87,14.96C4.59,15.43 4,15.6 3.5,15.32V15.33C2,14.47 1,12.85 1,11C1,8.24 3.24,6 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8C21.21,8 23,9.79 23,12C23,13.5 22.2,14.77 21,15.46V15.46C20.5,15.73 19.91,15.57 19.63,15.09C19.36,14.61 19.5,14 20,13.72V13.73C20.6,13.39 21,12.74 21,12C21,10.9 20.1,10 19,10H17Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
5
awesome/src/assets/icons/weather/weather-rainy.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M6,14.03C6.55,14.03 7,14.48 7,15.03C7,15.58 6.55,16.03 6,16.03C3.24,16.03 1,13.79 1,11.03C1,8.27 3.24,6.03 6,6.03C7,3.68 9.3,2.03 12,2.03C15.43,2.03 18.24,4.69 18.5,8.06L19,8.03C21.21,8.03 23,9.82 23,12.03C23,14.23 21.21,16.03 19,16.03H18C17.45,16.03 17,15.58 17,15.03C17,14.47 17.45,14.03 18,14.03H19C20.1,14.03 21,13.13 21,12.03C21,10.93 20.1,10.03 19,10.03H17V9.03C17,6.27 14.76,4.03 12,4.03C9.5,4.03 7.45,5.84 7.06,8.21C6.73,8.09 6.37,8.03 6,8.03C4.34,8.03 3,9.37 3,11.03C3,12.69 4.34,14.03 6,14.03M12,14.15C12.18,14.39 12.37,14.66 12.56,14.94C13,15.56 14,17.03 14,18C14,19.11 13.1,20 12,20C10.9,20 10,19.1 10,18C10,17.03 11,15.56 11.44,14.94C11.63,14.66 11.82,14.4 12,14.15M12,11.03L11.5,11.59C11.5,11.59 10.65,12.55 9.79,13.81C8.93,15.06 8,16.56 8,18C8,20.21 9.79,22 12,22C14.21,22 16,20.21 16,18C16,16.56 15.07,15.06 14.21,13.81C13.35,12.55 12.5,11.59 12.5,11.59" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
5
awesome/src/assets/icons/weather/weather-snowy-heavy.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M4,16.36C3.86,15.82 4.18,15.25 4.73,15.11L7,14.5L5.33,12.86C4.93,12.46 4.93,11.81 5.33,11.4C5.73,11 6.4,11 6.79,11.4L8.45,13.05L9.04,10.8C9.18,10.24 9.75,9.92 10.29,10.07C10.85,10.21 11.17,10.78 11,11.33L10.42,13.58L12.67,13C13.22,12.83 13.79,13.15 13.93,13.71C14.08,14.25 13.76,14.82 13.2,14.96L10.95,15.55L12.6,17.21C13,17.6 13,18.27 12.6,18.67C12.2,19.07 11.54,19.07 11.15,18.67L9.5,17L8.89,19.27C8.75,19.83 8.18,20.14 7.64,20C7.08,19.86 6.77,19.29 6.91,18.74L7.5,16.5L5.26,17.09C4.71,17.23 4.14,16.92 4,16.36M1,10C1,7.24 3.24,5 6,5C7,2.65 9.3,1 12,1C15.43,1 18.24,3.66 18.5,7.03L19,7C21.21,7 23,8.79 23,11C23,13.21 21.21,15 19,15C18.45,15 18,14.55 18,14C18,13.45 18.45,13 19,13C20.1,13 21,12.1 21,11C21,9.9 20.1,9 19,9H17V8C17,5.24 14.76,3 12,3C9.5,3 7.45,4.82 7.06,7.19C6.73,7.07 6.37,7 6,7C4.34,7 3,8.34 3,10C3,10.85 3.35,11.61 3.91,12.16C4.27,12.55 4.26,13.16 3.88,13.54C3.5,13.93 2.85,13.93 2.47,13.54C1.56,12.63 1,11.38 1,10M14.03,20.43C14.13,20.82 14.5,21.04 14.91,20.94L16.5,20.5L16.06,22.09C15.96,22.5 16.18,22.87 16.57,22.97C16.95,23.08 17.35,22.85 17.45,22.46L17.86,20.89L19.03,22.05C19.3,22.33 19.77,22.33 20.05,22.05C20.33,21.77 20.33,21.3 20.05,21.03L18.89,19.86L20.46,19.45C20.85,19.35 21.08,18.95 20.97,18.57C20.87,18.18 20.5,17.96 20.09,18.06L18.5,18.5L18.94,16.91C19.04,16.5 18.82,16.13 18.43,16.03C18.05,15.92 17.65,16.15 17.55,16.54L17.14,18.11L15.97,16.95C15.7,16.67 15.23,16.67 14.95,16.95C14.67,17.24 14.67,17.7 14.95,17.97L16.11,19.14L14.54,19.55C14.15,19.65 13.92,20.05 14.03,20.43Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.8 KiB |
5
awesome/src/assets/icons/weather/weather-snowy-rainy.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M18.5,18.67C18.5,19.96 17.5,21 16.25,21C15,21 14,19.96 14,18.67C14,17.12 16.25,14.5 16.25,14.5C16.25,14.5 18.5,17.12 18.5,18.67M4,17.36C3.86,16.82 4.18,16.25 4.73,16.11L7,15.5L5.33,13.86C4.93,13.46 4.93,12.81 5.33,12.4C5.73,12 6.4,12 6.79,12.4L8.45,14.05L9.04,11.8C9.18,11.24 9.75,10.92 10.29,11.07C10.85,11.21 11.17,11.78 11,12.33L10.42,14.58L12.67,14C13.22,13.83 13.79,14.15 13.93,14.71C14.08,15.25 13.76,15.82 13.2,15.96L10.95,16.55L12.6,18.21C13,18.6 13,19.27 12.6,19.67C12.2,20.07 11.54,20.07 11.15,19.67L9.5,18L8.89,20.27C8.75,20.83 8.18,21.14 7.64,21C7.08,20.86 6.77,20.29 6.91,19.74L7.5,17.5L5.26,18.09C4.71,18.23 4.14,17.92 4,17.36M1,11C1,8.24 3.24,6 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8C21.21,8 23,9.79 23,12C23,14.21 21.21,16 19,16C18.45,16 18,15.55 18,15C18,14.45 18.45,14 19,14C20.1,14 21,13.1 21,12C21,10.9 20.1,10 19,10H17V9C17,6.24 14.76,4 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8C4.34,8 3,9.34 3,11C3,11.85 3.35,12.61 3.91,13.16C4.27,13.55 4.26,14.16 3.88,14.54C3.5,14.93 2.85,14.93 2.47,14.54C1.56,13.63 1,12.38 1,11Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
5
awesome/src/assets/icons/weather/weather-snowy.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M6,14C6.55,14 7,14.45 7,15C7,15.55 6.55,16 6,16C3.24,16 1,13.76 1,11C1,8.24 3.24,6 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8C21.21,8 23,9.79 23,12C23,14.21 21.21,16 19,16H18C17.45,16 17,15.55 17,15C17,14.45 17.45,14 18,14H19C20.1,14 21,13.1 21,12C21,10.9 20.1,10 19,10H17V9C17,6.24 14.76,4 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8C4.34,8 3,9.34 3,11C3,12.66 4.34,14 6,14M7.88,18.07L10.07,17.5L8.46,15.88C8.07,15.5 8.07,14.86 8.46,14.46C8.85,14.07 9.5,14.07 9.88,14.46L11.5,16.07L12.07,13.88C12.21,13.34 12.76,13.03 13.29,13.17C13.83,13.31 14.14,13.86 14,14.4L13.41,16.59L15.6,16C16.14,15.86 16.69,16.17 16.83,16.71C16.97,17.24 16.66,17.79 16.12,17.93L13.93,18.5L15.54,20.12C15.93,20.5 15.93,21.15 15.54,21.54C15.15,21.93 14.5,21.93 14.12,21.54L12.5,19.93L11.93,22.12C11.79,22.66 11.24,22.97 10.71,22.83C10.17,22.69 9.86,22.14 10,21.6L10.59,19.41L8.4,20C7.86,20.14 7.31,19.83 7.17,19.29C7.03,18.76 7.34,18.21 7.88,18.07Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
5
awesome/src/assets/icons/weather/weather-sunny-alert.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M12,7C9.24,7 7,9.24 7,12C7,14.76 9.24,17 12,17C14.76,17 17,14.76 17,12C17,9.24 14.76,7 12,7M12,15C10.34,15 9,13.66 9,12C9,10.34 10.34,9 12,9C13.66,9 15,10.34 15,12C15,13.66 13.66,15 12,15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M3.36,17L5.12,13.23C5.26,14 5.53,14.78 5.95,15.5C6.37,16.24 6.91,16.86 7.5,17.37L3.36,17M12,22L9.59,18.56C10.33,18.83 11.14,19 12,19C12.82,19 13.63,18.83 14.37,18.56M19,13V7H21V13H19M19,17V15H21V17" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 854 B |
5
awesome/src/assets/icons/weather/weather-sunny.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M12,7C14.76,7 17,9.24 17,12C17,14.76 14.76,17 12,17C9.24,17 7,14.76 7,12C7,9.24 9.24,7 12,7M12,9C10.34,9 9,10.34 9,12C9,13.66 10.34,15 12,15C13.66,15 15,13.66 15,12C15,10.34 13.66,9 12,9M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M3.36,17L5.12,13.23C5.26,14 5.53,14.78 5.95,15.5C6.37,16.24 6.91,16.86 7.5,17.37L3.36,17M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7M20.64,17L16.5,17.36C17.09,16.85 17.62,16.22 18.04,15.5C18.46,14.77 18.73,14 18.87,13.21L20.64,17M12,22L9.59,18.56C10.33,18.83 11.14,19 12,19C12.82,19 13.63,18.83 14.37,18.56L12,22Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1014 B |
5
awesome/src/assets/icons/weather/weather-sunset.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M3,12H7C7,9.24 9.24,7 12,7C14.76,7 17,9.24 17,12H21C21.55,12 22,12.45 22,13C22,13.55 21.55,14 21,14H3C2.45,14 2,13.55 2,13C2,12.45 2.45,12 3,12M5,16H19C19.55,16 20,16.45 20,17C20,17.55 19.55,18 19,18H5C4.45,18 4,17.55 4,17C4,16.45 4.45,16 5,16M17,20C17.55,20 18,20.45 18,21C18,21.55 17.55,22 17,22H7C6.45,22 6,21.55 6,21C6,20.45 6.45,20 7,20H17M15,12C15,10.34 13.66,9 12,9C10.34,9 9,10.34 9,12H15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 956 B |
5
awesome/src/assets/icons/weather/weather-tornado.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M21,5H3C2.45,5 2,4.55 2,4C2,3.45 2.45,3 3,3H21C21.55,3 22,3.45 22,4C22,4.55 21.55,5 21,5M20,8C20,7.45 19.55,7 19,7H5C4.45,7 4,7.45 4,8C4,8.55 4.45,9 5,9H19C19.55,9 20,8.55 20,8M21,12C21,11.45 20.55,11 20,11H10C9.45,11 9,11.45 9,12C9,12.55 9.45,13 10,13H20C20.55,13 21,12.55 21,12M16,16C16,15.45 15.55,15 15,15H9C8.45,15 8,15.45 8,16C8,16.55 8.45,17 9,17H15C15.55,17 16,16.55 16,16M13,20C13,19.45 12.55,19 12,19H10C9.45,19 9,19.45 9,20C9,20.55 9.45,21 10,21H12C12.55,21 13,20.55 13,20Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 801 B |
@@ -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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M6,6L6.69,6.06C7.32,3.72 9.46,2 12,2C15.04,2 17.5,4.46 17.5,7.5L17.42,8.45C17.88,8.16 18.42,8 19,8C20.66,8 22,9.34 22,11C22,12.66 20.66,14 19,14H6C3.79,14 2,12.21 2,10C2,7.79 3.79,6 6,6M6,8C4.9,8 4,8.9 4,10C4,11.1 4.9,12 6,12H19C19.55,12 20,11.55 20,11C20,10.45 19.55,10 19,10H15.5V7.5C15.5,5.57 13.93,4 12,4C10.07,4 8.5,5.57 8.5,7.5V8H6M18,18H4C3.45,18 3,17.55 3,17C3,16.45 3.45,16 4,16H18C19.66,16 21,17.34 21,19C21,20.66 19.66,22 18,22C17.17,22 16.42,21.66 15.88,21.12C15.5,20.73 15.5,20.1 15.88,19.71C16.27,19.32 16.9,19.32 17.29,19.71C17.47,19.89 17.72,20 18,20C18.55,20 19,19.55 19,19C19,18.45 18.55,18 18,18Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 932 B |
5
awesome/src/assets/icons/weather/weather-windy.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" width="24" height="24" viewBox="0 0 24 24">
|
||||||
|
<path fill="#ffab40" d="M4,10C3.45,10 3,9.55 3,9C3,8.45 3.45,8 4,8H12C13.1,8 14,7.1 14,6C14,4.9 13.1,4 12,4C11.45,4 10.95,4.22 10.59,4.59C10.2,5 9.56,5 9.17,4.59C8.78,4.2 8.78,3.56 9.17,3.17C9.9,2.45 10.9,2 12,2C14.21,2 16,3.79 16,6C16,8.21 14.21,10 12,10H4M19,12C19.55,12 20,11.55 20,11C20,10.45 19.55,10 19,10C18.72,10 18.47,10.11 18.29,10.29C17.9,10.68 17.27,10.68 16.88,10.29C16.5,9.9 16.5,9.27 16.88,8.88C17.42,8.34 18.17,8 19,8C20.66,8 22,9.34 22,11C22,12.66 20.66,14 19,14H5C4.45,14 4,13.55 4,13C4,12.45 4.45,12 5,12H19M18,18H4C3.45,18 3,17.55 3,17C3,16.45 3.45,16 4,16H18C19.66,16 21,17.34 21,19C21,20.66 19.66,22 18,22C17.17,22 16.42,21.66 15.88,21.12C15.5,20.73 15.5,20.1 15.88,19.71C16.27,19.32 16.9,19.32 17.29,19.71C17.47,19.89 17.72,20 18,20C18.55,20 19,19.55 19,19C19,18.45 18.55,18 18,18Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -1,7 +1,7 @@
|
|||||||
-- Awesome Libs
|
-- Awesome Libs
|
||||||
local awful = require("awful")
|
local awful = require("awful")
|
||||||
local gears = require("gears")
|
local gears = require("gears")
|
||||||
local globalkeys = require("../mappings/global_keys")
|
local globalkeys = require("src.bindings.global_keys")
|
||||||
local modkey = user_vars.modkey
|
local modkey = user_vars.modkey
|
||||||
|
|
||||||
for i = 1, 9 do
|
for i = 1, 9 do
|
||||||
@@ -9,17 +9,17 @@ do
|
|||||||
awesome.connect_signal(
|
awesome.connect_signal(
|
||||||
"debug::error",
|
"debug::error",
|
||||||
function(err)
|
function(err)
|
||||||
if in_error then
|
if in_error then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
in_error = true
|
in_error = true
|
||||||
|
|
||||||
naughty.notify({
|
naughty.notify({
|
||||||
preset = naughty.config.presets.critical,
|
preset = naughty.config.presets.critical,
|
||||||
title = "ERROR",
|
title = "ERROR",
|
||||||
text = tostring(err)
|
text = tostring(err)
|
||||||
})
|
})
|
||||||
in_error = false
|
in_error = false
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ local menubar = require('menubar')
|
|||||||
local naughty = require("naughty")
|
local naughty = require("naughty")
|
||||||
local wibox = require("wibox")
|
local wibox = require("wibox")
|
||||||
|
|
||||||
|
local rubato = require("src.lib.rubato")
|
||||||
|
|
||||||
local icondir = awful.util.getdir("config") .. "src/assets/icons/notifications/"
|
local icondir = awful.util.getdir("config") .. "src/assets/icons/notifications/"
|
||||||
|
|
||||||
-- TODO: Figure out how to use hover effects without messing up the actions
|
-- TODO: Figure out how to use hover effects without messing up the actions
|
||||||
@@ -42,335 +44,343 @@ naughty.connect_signal(
|
|||||||
naughty.connect_signal(
|
naughty.connect_signal(
|
||||||
"request::display",
|
"request::display",
|
||||||
function(n)
|
function(n)
|
||||||
if n.urgency == "critical" then
|
if user_vars.dnd then
|
||||||
n.title = string.format("<span foreground='%s' font='JetBrainsMono Nerd Font, ExtraBold 16'>%s</span>",
|
n:destroy()
|
||||||
color["RedA200"], n.title) or ""
|
|
||||||
n.message = string.format("<span foreground='%s'>%s</span>", color["Red200"], n.message) or ""
|
|
||||||
n.app_name = string.format("<span foreground='%s'>%s</span>", color["RedA400"], n.app_name) or ""
|
|
||||||
n.bg = color["Grey900"]
|
|
||||||
else
|
else
|
||||||
n.title = string.format("<span foreground='%s' font='JetBrainsMono Nerd Font, ExtraBold 16'>%s</span>",
|
if n.urgency == "critical" then
|
||||||
color["Pink200"], n.title) or ""
|
n.title = string.format("<span foreground='%s' font='JetBrainsMono Nerd Font, ExtraBold 16'>%s</span>",
|
||||||
n.message = string.format("<span foreground='%s'>%s</span>", "#ffffffaa", n.message) or ""
|
color["RedA200"], n.title) or ""
|
||||||
n.bg = color["Grey900"]
|
n.message = string.format("<span foreground='%s'>%s</span>", color["Red200"], n.message) or ""
|
||||||
n.timeout = n.timeout or 3
|
n.app_name = string.format("<span foreground='%s'>%s</span>", color["RedA400"], n.app_name) or ""
|
||||||
end
|
n.bg = color["Grey900"]
|
||||||
|
else
|
||||||
|
n.title = string.format("<span foreground='%s' font='JetBrainsMono Nerd Font, ExtraBold 16'>%s</span>",
|
||||||
|
color["Pink200"], n.title) or ""
|
||||||
|
n.message = string.format("<span foreground='%s'>%s</span>", "#ffffffaa", n.message) or ""
|
||||||
|
n.bg = color["Grey900"]
|
||||||
|
n.timeout = n.timeout or 3
|
||||||
|
end
|
||||||
|
|
||||||
local use_image = false
|
local use_image = false
|
||||||
|
|
||||||
if n.app_name == "Spotify" then
|
if n.app_name == "Spotify" then
|
||||||
n.actions = { naughty.action {
|
n.actions = { naughty.action {
|
||||||
program = "Spotify",
|
program = "Spotify",
|
||||||
id = "skip-prev",
|
id = "skip-prev",
|
||||||
icon = gears.color.recolor_image(icondir .. "skip-prev.svg", color["Cyan200"])
|
icon = gears.color.recolor_image(icondir .. "skip-prev.svg", color["Cyan200"])
|
||||||
}, naughty.action {
|
}, naughty.action {
|
||||||
program = "Spotify",
|
program = "Spotify",
|
||||||
id = "play-pause",
|
id = "play-pause",
|
||||||
icon = gears.color.recolor_image(icondir .. "play-pause.svg", color["Cyan200"])
|
icon = gears.color.recolor_image(icondir .. "play-pause.svg", color["Cyan200"])
|
||||||
}, naughty.action {
|
}, naughty.action {
|
||||||
program = "Spotify",
|
program = "Spotify",
|
||||||
id = "skip-next",
|
id = "skip-next",
|
||||||
icon = gears.color.recolor_image(icondir .. "skip-next.svg", color["Cyan200"])
|
icon = gears.color.recolor_image(icondir .. "skip-next.svg", color["Cyan200"])
|
||||||
} }
|
} }
|
||||||
use_image = true
|
use_image = true
|
||||||
end
|
end
|
||||||
|
|
||||||
local action_template_widget = {}
|
local action_template_widget = {}
|
||||||
|
|
||||||
if use_image then
|
if use_image then
|
||||||
action_template_widget = {
|
action_template_widget = {
|
||||||
{
|
|
||||||
{
|
|
||||||
{
|
|
||||||
{
|
|
||||||
id = "icon_role",
|
|
||||||
widget = wibox.widget.imagebox
|
|
||||||
},
|
|
||||||
id = "centered",
|
|
||||||
valign = "center",
|
|
||||||
halign = "center",
|
|
||||||
widget = wibox.container.place
|
|
||||||
},
|
|
||||||
margins = dpi(5),
|
|
||||||
widget = wibox.container.margin
|
|
||||||
},
|
|
||||||
forced_height = dpi(35),
|
|
||||||
forced_width = dpi(35),
|
|
||||||
fg = color["Cyan200"],
|
|
||||||
bg = color["Grey800"],
|
|
||||||
shape = function(cr, width, height)
|
|
||||||
gears.shape.rounded_rect(cr, width, height, dpi(6))
|
|
||||||
end,
|
|
||||||
widget = wibox.container.background,
|
|
||||||
id = "bgrnd"
|
|
||||||
},
|
|
||||||
id = "mrgn",
|
|
||||||
top = dpi(10),
|
|
||||||
bottom = dpi(10),
|
|
||||||
widget = wibox.container.margin
|
|
||||||
}
|
|
||||||
else
|
|
||||||
action_template_widget = {
|
|
||||||
{
|
|
||||||
{
|
|
||||||
{
|
|
||||||
{
|
|
||||||
id = "text_role",
|
|
||||||
font = "JetBrainsMono Nerd Font, Regular 12",
|
|
||||||
widget = wibox.widget.textbox
|
|
||||||
},
|
|
||||||
id = "centered",
|
|
||||||
widget = wibox.container.place
|
|
||||||
},
|
|
||||||
margins = dpi(5),
|
|
||||||
widget = wibox.container.margin
|
|
||||||
},
|
|
||||||
fg = color["Green200"],
|
|
||||||
bg = color["Grey800"],
|
|
||||||
shape = function(cr, width, height)
|
|
||||||
gears.shape.rounded_rect(cr, width, height, dpi(6))
|
|
||||||
end,
|
|
||||||
widget = wibox.container.background,
|
|
||||||
id = "bgrnd"
|
|
||||||
},
|
|
||||||
id = "mrgn",
|
|
||||||
top = dpi(10),
|
|
||||||
bottom = dpi(10),
|
|
||||||
widget = wibox.container.margin
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
local actions_template = wibox.widget {
|
|
||||||
notification = n,
|
|
||||||
base_layout = wibox.widget {
|
|
||||||
spacing = dpi(40),
|
|
||||||
layout = wibox.layout.fixed.horizontal
|
|
||||||
},
|
|
||||||
widget_template = action_template_widget,
|
|
||||||
style = {
|
|
||||||
underline_normal = false,
|
|
||||||
underline_selected = true,
|
|
||||||
bg_normal = color["Grey100"],
|
|
||||||
bg_selected = color["Grey200"]
|
|
||||||
},
|
|
||||||
widget = naughty.list.actions
|
|
||||||
}
|
|
||||||
|
|
||||||
local w_template = wibox.widget {
|
|
||||||
{
|
|
||||||
{
|
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{
|
id = "icon_role",
|
||||||
{
|
widget = wibox.widget.imagebox
|
||||||
{
|
|
||||||
{
|
|
||||||
image = gears.color.recolor_image(icondir .. "notification-outline.svg", color["Teal200"]),
|
|
||||||
resize = false,
|
|
||||||
widget = wibox.widget.imagebox
|
|
||||||
},
|
|
||||||
right = dpi(5),
|
|
||||||
widget = wibox.container.margin
|
|
||||||
},
|
|
||||||
{
|
|
||||||
markup = n.app_name or 'System Notification',
|
|
||||||
align = "center",
|
|
||||||
valign = "center",
|
|
||||||
widget = wibox.widget.textbox
|
|
||||||
},
|
|
||||||
layout = wibox.layout.fixed.horizontal
|
|
||||||
},
|
|
||||||
fg = color["Teal200"],
|
|
||||||
widget = wibox.container.background
|
|
||||||
},
|
|
||||||
margins = dpi(10),
|
|
||||||
widget = wibox.container.margin
|
|
||||||
},
|
},
|
||||||
nil,
|
id = "centered",
|
||||||
|
valign = "center",
|
||||||
|
halign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
margins = dpi(5),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
forced_height = dpi(35),
|
||||||
|
forced_width = dpi(35),
|
||||||
|
fg = color["Cyan200"],
|
||||||
|
bg = color["Grey800"],
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, dpi(6))
|
||||||
|
end,
|
||||||
|
widget = wibox.container.background,
|
||||||
|
id = "bgrnd"
|
||||||
|
},
|
||||||
|
id = "mrgn",
|
||||||
|
top = dpi(10),
|
||||||
|
bottom = dpi(10),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
}
|
||||||
|
else
|
||||||
|
action_template_widget = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
id = "text_role",
|
||||||
|
font = "JetBrainsMono Nerd Font, Regular 12",
|
||||||
|
widget = wibox.widget.textbox
|
||||||
|
},
|
||||||
|
id = "centered",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
margins = dpi(5),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
fg = color["Green200"],
|
||||||
|
bg = color["Grey800"],
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, dpi(6))
|
||||||
|
end,
|
||||||
|
widget = wibox.container.background,
|
||||||
|
id = "bgrnd"
|
||||||
|
},
|
||||||
|
id = "mrgn",
|
||||||
|
top = dpi(10),
|
||||||
|
bottom = dpi(10),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
local actions_template = wibox.widget {
|
||||||
|
notification = n,
|
||||||
|
base_layout = wibox.widget {
|
||||||
|
spacing = dpi(40),
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
widget_template = action_template_widget,
|
||||||
|
style = {
|
||||||
|
underline_normal = false,
|
||||||
|
underline_selected = true,
|
||||||
|
bg_normal = color["Grey100"],
|
||||||
|
bg_selected = color["Grey200"]
|
||||||
|
},
|
||||||
|
widget = naughty.list.actions
|
||||||
|
}
|
||||||
|
|
||||||
|
local w_template = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
{
|
{
|
||||||
{
|
|
||||||
{
|
|
||||||
text = os.date("%H:%M"),
|
|
||||||
widget = wibox.widget.textbox
|
|
||||||
},
|
|
||||||
id = "background",
|
|
||||||
fg = color["Teal200"],
|
|
||||||
widget = wibox.container.background
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
font = user_vars.font.specify .. ", 10",
|
image = gears.color.recolor_image(icondir .. "notification-outline.svg", color["Teal200"]),
|
||||||
text = "✕",
|
resize = false,
|
||||||
align = "center",
|
widget = wibox.widget.imagebox
|
||||||
valign = "center",
|
|
||||||
widget = wibox.widget.textbox
|
|
||||||
},
|
},
|
||||||
start_angle = 4.71239,
|
right = dpi(5),
|
||||||
thickness = dpi(2),
|
widget = wibox.container.margin
|
||||||
min_value = 0,
|
|
||||||
max_value = 360,
|
|
||||||
value = 360,
|
|
||||||
widget = wibox.container.arcchart,
|
|
||||||
id = "arc_chart"
|
|
||||||
},
|
},
|
||||||
id = "background",
|
{
|
||||||
fg = color["Teal200"],
|
markup = n.app_name or 'System Notification',
|
||||||
bg = color["Grey900"],
|
align = "center",
|
||||||
widget = wibox.container.background
|
valign = "center",
|
||||||
|
widget = wibox.widget.textbox
|
||||||
|
},
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
},
|
},
|
||||||
strategy = "exact",
|
fg = color["Teal200"],
|
||||||
width = dpi(20),
|
widget = wibox.container.background
|
||||||
height = dpi(20),
|
|
||||||
widget = wibox.container.constraint,
|
|
||||||
id = "const"
|
|
||||||
},
|
},
|
||||||
margins = dpi(10),
|
margins = dpi(10),
|
||||||
widget = wibox.container.margin,
|
widget = wibox.container.margin
|
||||||
id = "arc_margin"
|
|
||||||
},
|
},
|
||||||
layout = wibox.layout.fixed.horizontal,
|
nil,
|
||||||
id = "arc_app_layout_2"
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
text = os.date("%H:%M"),
|
||||||
|
widget = wibox.widget.textbox
|
||||||
|
},
|
||||||
|
id = "background",
|
||||||
|
fg = color["Teal200"],
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
font = user_vars.font.specify .. ", 10",
|
||||||
|
text = "✕",
|
||||||
|
align = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.widget.textbox
|
||||||
|
},
|
||||||
|
start_angle = 4.71239,
|
||||||
|
thickness = dpi(2),
|
||||||
|
min_value = 0,
|
||||||
|
max_value = n.timeout or 10,
|
||||||
|
value = n.timeout or 10,
|
||||||
|
widget = wibox.container.arcchart,
|
||||||
|
id = "arc_chart"
|
||||||
|
},
|
||||||
|
id = "background",
|
||||||
|
fg = color["Teal200"],
|
||||||
|
bg = color["Grey900"],
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
strategy = "exact",
|
||||||
|
width = dpi(20),
|
||||||
|
height = dpi(20),
|
||||||
|
widget = wibox.container.constraint,
|
||||||
|
id = "const"
|
||||||
|
},
|
||||||
|
margins = dpi(10),
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
id = "arc_margin"
|
||||||
|
},
|
||||||
|
layout = wibox.layout.fixed.horizontal,
|
||||||
|
id = "arc_app_layout_2"
|
||||||
|
},
|
||||||
|
id = "arc_app_layout",
|
||||||
|
layout = wibox.layout.align.horizontal
|
||||||
},
|
},
|
||||||
id = "arc_app_layout",
|
id = "arc_app_bg",
|
||||||
layout = wibox.layout.align.horizontal
|
border_color = color["Grey800"],
|
||||||
|
border_width = dpi(2),
|
||||||
|
widget = wibox.container.background
|
||||||
},
|
},
|
||||||
id = "arc_app_bg",
|
|
||||||
border_color = color["Grey800"],
|
|
||||||
border_width = dpi(2),
|
|
||||||
widget = wibox.container.background
|
|
||||||
},
|
|
||||||
{
|
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
image = n.icon,
|
{
|
||||||
resize = true,
|
image = n.icon,
|
||||||
widget = wibox.widget.imagebox,
|
resize = true,
|
||||||
clip_shape = function(cr, width, height)
|
widget = wibox.widget.imagebox,
|
||||||
gears.shape.rounded_rect(cr, width, height, 10)
|
clip_shape = function(cr, width, height)
|
||||||
end
|
gears.shape.rounded_rect(cr, width, height, 10)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
width = naughty.config.defaults.icon_size,
|
||||||
|
height = naughty.config.defaults.icon_size,
|
||||||
|
strategy = "exact",
|
||||||
|
widget = wibox.container.constraint
|
||||||
},
|
},
|
||||||
width = naughty.config.defaults.icon_size,
|
halign = "center",
|
||||||
height = naughty.config.defaults.icon_size,
|
valign = "top",
|
||||||
strategy = "exact",
|
|
||||||
widget = wibox.container.constraint
|
|
||||||
},
|
|
||||||
halign = "center",
|
|
||||||
valign = "top",
|
|
||||||
widget = wibox.container.place
|
|
||||||
},
|
|
||||||
left = dpi(20),
|
|
||||||
bottom = dpi(15),
|
|
||||||
top = dpi(15),
|
|
||||||
right = dpi(10),
|
|
||||||
widget = wibox.container.margin
|
|
||||||
},
|
|
||||||
{
|
|
||||||
{
|
|
||||||
{
|
|
||||||
widget = naughty.widget.title,
|
|
||||||
align = "left"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
widget = naughty.widget.message,
|
|
||||||
align = "left"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
actions_template,
|
|
||||||
widget = wibox.container.place
|
widget = wibox.container.place
|
||||||
},
|
},
|
||||||
layout = wibox.layout.fixed.vertical
|
left = dpi(20),
|
||||||
|
bottom = dpi(15),
|
||||||
|
top = dpi(15),
|
||||||
|
right = dpi(10),
|
||||||
|
widget = wibox.container.margin
|
||||||
},
|
},
|
||||||
left = dpi(10),
|
{
|
||||||
bottom = dpi(10),
|
{
|
||||||
top = dpi(10),
|
{
|
||||||
right = dpi(20),
|
widget = naughty.widget.title,
|
||||||
widget = wibox.container.margin
|
align = "left"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
widget = naughty.widget.message,
|
||||||
|
align = "left"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
actions_template,
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
},
|
||||||
|
left = dpi(10),
|
||||||
|
bottom = dpi(10),
|
||||||
|
top = dpi(10),
|
||||||
|
right = dpi(20),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
},
|
},
|
||||||
layout = wibox.layout.fixed.horizontal
|
id = "widget_layout",
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
},
|
},
|
||||||
id = "widget_layout",
|
id = "min_size",
|
||||||
layout = wibox.layout.fixed.vertical
|
strategy = "min",
|
||||||
|
width = dpi(100),
|
||||||
|
widget = wibox.container.constraint
|
||||||
},
|
},
|
||||||
id = "min_size",
|
id = "max_size",
|
||||||
strategy = "min",
|
strategy = "max",
|
||||||
width = dpi(100),
|
width = Theme.notification_max_width or dpi(500),
|
||||||
widget = wibox.container.constraint
|
widget = wibox.container.constraint
|
||||||
},
|
},
|
||||||
id = "max_size",
|
id = "background",
|
||||||
strategy = "max",
|
bg = color["Grey900"],
|
||||||
width = Theme.notification_max_width or dpi(500),
|
border_color = color["Grey800"],
|
||||||
widget = wibox.container.constraint
|
border_width = dpi(4),
|
||||||
},
|
shape = function(cr, width, height)
|
||||||
id = "background",
|
gears.shape.rounded_rect(cr, width, height, 4)
|
||||||
bg = color["Grey900"],
|
end,
|
||||||
border_color = color["Grey800"],
|
widget = wibox.container.background
|
||||||
border_width = dpi(4),
|
|
||||||
shape = function(cr, width, height)
|
|
||||||
gears.shape.rounded_rect(cr, width, height, 4)
|
|
||||||
end,
|
|
||||||
widget = wibox.container.background
|
|
||||||
}
|
|
||||||
|
|
||||||
local close = w_template.max_size.min_size.widget_layout.arc_app_bg.arc_app_layout.arc_app_layout_2.arc_margin.const.background
|
|
||||||
local arc = close.arc_chart
|
|
||||||
|
|
||||||
local timeout = n.timeout
|
|
||||||
local remove_time = timeout
|
|
||||||
|
|
||||||
if timeout ~= 0 then
|
|
||||||
arc.value = 360
|
|
||||||
local arc_timer = gears.timer {
|
|
||||||
timeout = 0.1,
|
|
||||||
call_now = true,
|
|
||||||
autostart = true,
|
|
||||||
callback = function()
|
|
||||||
arc.value = (remove_time - 0) / (timeout - 0) * 360
|
|
||||||
remove_time = remove_time - 0.1
|
|
||||||
end
|
|
||||||
}
|
}
|
||||||
|
|
||||||
w_template:connect_signal(
|
local close = w_template.max_size.min_size.widget_layout.arc_app_bg.arc_app_layout.arc_app_layout_2.arc_margin.const.background
|
||||||
"mouse::enter",
|
local arc = close.arc_chart
|
||||||
function()
|
|
||||||
-- Setting to 0 doesn't work
|
|
||||||
arc_timer:stop()
|
|
||||||
n.timeout = 99999
|
|
||||||
end
|
|
||||||
)
|
|
||||||
|
|
||||||
w_template:connect_signal(
|
local timeout = n.timeout
|
||||||
"mouse::leave",
|
|
||||||
function()
|
|
||||||
arc_timer:start()
|
|
||||||
n.timeout = remove_time
|
|
||||||
end
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
Hover_signal(close, color["Grey900"], color["Teal200"])
|
if timeout ~= 0 then
|
||||||
|
|
||||||
close:connect_signal(
|
local rubato_timer = rubato.timed {
|
||||||
"button::press",
|
duration = n.timeout,
|
||||||
function()
|
pos = n.timeout,
|
||||||
n:destroy()
|
easing = rubato.linear,
|
||||||
|
subscribed = function(value)
|
||||||
|
arc.value = value
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
rubato_timer.target = 0
|
||||||
|
|
||||||
|
local last_position = n.timeout
|
||||||
|
|
||||||
|
w_template:connect_signal(
|
||||||
|
"mouse::enter",
|
||||||
|
function()
|
||||||
|
n.timeout = 99999
|
||||||
|
last_position = rubato_timer.pos
|
||||||
|
rubato_timer:abort()
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
w_template:connect_signal(
|
||||||
|
"mouse::leave",
|
||||||
|
function()
|
||||||
|
n.timeout = last_position
|
||||||
|
rubato_timer.pos = last_position
|
||||||
|
rubato_timer.duration = last_position
|
||||||
|
rubato_timer:reset()
|
||||||
|
rubato_timer.target = 0
|
||||||
|
end
|
||||||
|
)
|
||||||
end
|
end
|
||||||
)
|
|
||||||
|
|
||||||
w_template:connect_signal(
|
Hover_signal(close, color["Grey900"], color["Teal200"])
|
||||||
"button::press",
|
|
||||||
function(c, d, e, key)
|
close:connect_signal(
|
||||||
if key == 3 then
|
"button::press",
|
||||||
|
function()
|
||||||
n:destroy()
|
n:destroy()
|
||||||
end
|
end
|
||||||
-- TODO: Find out how to get the associated client
|
)
|
||||||
--[[ if key == 1 then
|
|
||||||
|
w_template:connect_signal(
|
||||||
|
"button::press",
|
||||||
|
function(c, d, e, key)
|
||||||
|
if key == 3 then
|
||||||
|
n:destroy()
|
||||||
|
end
|
||||||
|
-- TODO: Find out how to get the associated client
|
||||||
|
--[[ if key == 1 then
|
||||||
if n.clients then
|
if n.clients then
|
||||||
n.clients[1]:activate {
|
n.clients[1]:activate {
|
||||||
switch_to_tag = true,
|
switch_to_tag = true,
|
||||||
@@ -378,22 +388,23 @@ naughty.connect_signal(
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
end ]]
|
end ]]
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
local box = naughty.layout.box {
|
local box = naughty.layout.box {
|
||||||
notification = n,
|
notification = n,
|
||||||
timeout = 3,
|
timeout = 3,
|
||||||
type = "notification",
|
type = "notification",
|
||||||
screen = awful.screen.focused(),
|
screen = awful.screen.focused(),
|
||||||
shape = function(cr, width, height)
|
shape = function(cr, width, height)
|
||||||
gears.shape.rounded_rect(cr, width, height, 10)
|
gears.shape.rounded_rect(cr, width, height, 10)
|
||||||
end,
|
end,
|
||||||
widget_template = w_template
|
widget_template = w_template
|
||||||
}
|
}
|
||||||
|
|
||||||
box.buttons = {}
|
box.buttons = {}
|
||||||
n.buttons = {}
|
n.buttons = {}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -405,13 +416,13 @@ naughty.connect_signal(
|
|||||||
)
|
)
|
||||||
|
|
||||||
-- Test notification
|
-- Test notification
|
||||||
--[[naughty.notification {
|
--[[ naughty.notification {
|
||||||
app_name = "System Notification",
|
app_name = "System Notification",
|
||||||
title = "A notification 3",
|
title = "A notification 2",
|
||||||
message = "This is very informative and overflowing",
|
message = "This is very informative and overflowing",
|
||||||
icon = "/home/crylia/.config/awesome/src/assets/userpfp/crylia.png",
|
icon = "/home/crylia/.config/awesome/src/assets/userpfp/crylia.png",
|
||||||
urgency = "normal",
|
urgency = "normal",
|
||||||
timeout = 1,
|
timeout = 0,
|
||||||
actions = {
|
actions = {
|
||||||
naughty.action {
|
naughty.action {
|
||||||
name = "Accept",
|
name = "Accept",
|
||||||
@@ -423,7 +434,7 @@ naughty.connect_signal(
|
|||||||
name = "Ignore",
|
name = "Ignore",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}--]]
|
} ]]
|
||||||
|
|
||||||
naughty.connect_signal(
|
naughty.connect_signal(
|
||||||
"invoked",
|
"invoked",
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ awful.rules.rules = {
|
|||||||
border_color = beautiful.border_normal,
|
border_color = beautiful.border_normal,
|
||||||
focus = awful.client.focus.filter,
|
focus = awful.client.focus.filter,
|
||||||
raise = true,
|
raise = true,
|
||||||
keys = require("../../mappings/client_keys"),
|
keys = require("src.bindings.client_keys"),
|
||||||
buttons = require("../../mappings/client_buttons"),
|
buttons = require("src.bindings.client_buttons"),
|
||||||
screen = awful.screen.preferred,
|
screen = awful.screen.preferred,
|
||||||
placement = awful.placement.no_overlap + awful.placement.no_offscreen
|
placement = awful.placement.no_overlap + awful.placement.no_offscreen
|
||||||
}
|
}
|
||||||
@@ -53,13 +53,13 @@ awful.rules.rules = {
|
|||||||
awful.spawn.easy_async_with_shell(
|
awful.spawn.easy_async_with_shell(
|
||||||
"cat ~/.config/awesome/src/assets/rules.txt",
|
"cat ~/.config/awesome/src/assets/rules.txt",
|
||||||
function(stdout)
|
function(stdout)
|
||||||
for class in stdout:gmatch("%a+") do
|
for class in stdout:gmatch("%a+") do
|
||||||
ruled.client.append_rule {
|
ruled.client.append_rule {
|
||||||
rule = { class = class },
|
rule = { class = class },
|
||||||
properties = {
|
properties = {
|
||||||
floating = true
|
floating = true
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
)
|
)
|
||||||
|
|||||||
1554
awesome/src/lib/json-lua/json-lua.lua
Normal file
1
awesome/src/lib/rubato
Submodule
@@ -17,10 +17,10 @@ BACKLIGHT_SEPS = 0
|
|||||||
awful.spawn.easy_async_with_shell(
|
awful.spawn.easy_async_with_shell(
|
||||||
"pkexec xfpm-power-backlight-helper --get-max-brightness",
|
"pkexec xfpm-power-backlight-helper --get-max-brightness",
|
||||||
function(stdout)
|
function(stdout)
|
||||||
BACKLIGHT_MAX_BRIGHTNESS = tonumber(stdout)
|
BACKLIGHT_MAX_BRIGHTNESS = tonumber(stdout)
|
||||||
BACKLIGHT_SEPS = BACKLIGHT_MAX_BRIGHTNESS / 100
|
BACKLIGHT_SEPS = BACKLIGHT_MAX_BRIGHTNESS / 100
|
||||||
BACKLIGHT_SEPS = math.floor(BACKLIGHT_SEPS)
|
BACKLIGHT_SEPS = math.floor(BACKLIGHT_SEPS)
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
return function(s)
|
return function(s)
|
||||||
@@ -112,60 +112,61 @@ return function(s)
|
|||||||
brightness_osd_widget.container.osd_layout.icon_slider_layout.slider_layout.brightness_slider:connect_signal(
|
brightness_osd_widget.container.osd_layout.icon_slider_layout.slider_layout.brightness_slider:connect_signal(
|
||||||
"property::value",
|
"property::value",
|
||||||
function()
|
function()
|
||||||
awful.spawn.easy_async_with_shell(
|
awful.spawn.easy_async_with_shell(
|
||||||
"pkexec xfpm-power-backlight-helper --get-brightness",
|
"pkexec xfpm-power-backlight-helper --get-brightness",
|
||||||
function(stdout)
|
function(stdout)
|
||||||
local brightness_value = math.floor((tonumber(stdout) - 1) / (BACKLIGHT_MAX_BRIGHTNESS - 1) * 100)
|
local brightness_value = math.floor((tonumber(stdout) - 1) / (BACKLIGHT_MAX_BRIGHTNESS - 1) * 100)
|
||||||
brightness_osd_widget.container.osd_layout.icon_slider_layout.label_value_layout.value:set_text(tostring(brightness_value) .. "%")
|
brightness_osd_widget.container.osd_layout.icon_slider_layout.label_value_layout.value:set_text(tostring(brightness_value) .. "%")
|
||||||
|
|
||||||
awesome.emit_signal(
|
awesome.emit_signal(
|
||||||
"widget::brightness:update",
|
"widget::brightness:update",
|
||||||
brightness_value
|
brightness_value
|
||||||
|
)
|
||||||
|
|
||||||
|
if awful.screen.focused().show_brightness_osd then
|
||||||
|
awesome.emit_signal(
|
||||||
|
"module::brightness_osd:show",
|
||||||
|
true
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
local icon = icondir .. "brightness"
|
||||||
|
if brightness_value >= 0 and brightness_value < 34 then
|
||||||
|
icon = icon .. "-low"
|
||||||
|
elseif brightness_value >= 34 and brightness_value < 67 then
|
||||||
|
icon = icon .. "-medium"
|
||||||
|
elseif brightness_value >= 67 then
|
||||||
|
icon = icon .. "-high"
|
||||||
|
end
|
||||||
|
brightness_osd_widget.container.osd_layout.icon_slider_layout.icon_margin1.icon_margin2.icon:set_image(icon .. ".svg")
|
||||||
|
awesome.emit_signal("update::backlight_widget", brightness_value, icon .. ".svg")
|
||||||
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
if awful.screen.focused().show_brightness_osd then
|
|
||||||
awesome.emit_signal(
|
|
||||||
"module::brightness_osd:show",
|
|
||||||
true
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
local icon = icondir .. "brightness"
|
|
||||||
if brightness_value >= 0 and brightness_value < 34 then
|
|
||||||
icon = icon .. "-low"
|
|
||||||
elseif brightness_value >= 34 and brightness_value < 67 then
|
|
||||||
icon = icon .. "-medium"
|
|
||||||
elseif brightness_value >= 67 then
|
|
||||||
icon = icon .. "-high"
|
|
||||||
end
|
|
||||||
brightness_osd_widget.container.osd_layout.icon_slider_layout.icon_margin1.icon_margin2.icon:set_image(icon .. ".svg")
|
|
||||||
end
|
end
|
||||||
)
|
|
||||||
end
|
|
||||||
)
|
)
|
||||||
|
|
||||||
local update_slider = function()
|
local update_slider = function()
|
||||||
awful.spawn.easy_async_with_shell(
|
awful.spawn.easy_async_with_shell(
|
||||||
[[ pkexec xfpm-power-backlight-helper --get-brightness ]],
|
[[ pkexec xfpm-power-backlight-helper --get-brightness ]],
|
||||||
function(stdout)
|
function(stdout)
|
||||||
stdout = math.floor((tonumber(stdout) - 1) / (BACKLIGHT_MAX_BRIGHTNESS - 1) * 100)
|
stdout = math.floor((tonumber(stdout) - 1) / (BACKLIGHT_MAX_BRIGHTNESS - 1) * 100)
|
||||||
brightness_osd_widget.container.osd_layout.icon_slider_layout.slider_layout.brightness_slider:set_value(stdout)
|
brightness_osd_widget.container.osd_layout.icon_slider_layout.slider_layout.brightness_slider:set_value(stdout)
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
awesome.connect_signal(
|
awesome.connect_signal(
|
||||||
"module::brightness_slider:update",
|
"module::brightness_slider:update",
|
||||||
function()
|
function()
|
||||||
update_slider()
|
update_slider()
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
awesome.connect_signal(
|
awesome.connect_signal(
|
||||||
"widget::brightness:update",
|
"widget::brightness:update",
|
||||||
function(value)
|
function(value)
|
||||||
brightness_osd_widget.container.osd_layout.icon_slider_layout.slider_layout.brightness_slider:set_value(tonumber(value))
|
brightness_osd_widget.container.osd_layout.icon_slider_layout.slider_layout.brightness_slider:set_value(tonumber(value))
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
update_slider()
|
update_slider()
|
||||||
@@ -199,36 +200,36 @@ return function(s)
|
|||||||
awesome.connect_signal(
|
awesome.connect_signal(
|
||||||
"widget::brightness_osd:rerun",
|
"widget::brightness_osd:rerun",
|
||||||
function()
|
function()
|
||||||
if hide_brightness_osd.started then
|
if hide_brightness_osd.started then
|
||||||
hide_brightness_osd:again()
|
hide_brightness_osd:again()
|
||||||
else
|
else
|
||||||
hide_brightness_osd:start()
|
hide_brightness_osd:start()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
)
|
)
|
||||||
|
|
||||||
awesome.connect_signal(
|
awesome.connect_signal(
|
||||||
"module::brightness_osd:show",
|
"module::brightness_osd:show",
|
||||||
function()
|
function()
|
||||||
if s == mouse.screen then
|
if s == mouse.screen then
|
||||||
brightness_container.visible = true
|
brightness_container.visible = true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
)
|
)
|
||||||
|
|
||||||
brightness_container:connect_signal(
|
brightness_container:connect_signal(
|
||||||
"mouse::enter",
|
"mouse::enter",
|
||||||
function()
|
function()
|
||||||
brightness_container.visible = true
|
brightness_container.visible = true
|
||||||
hide_brightness_osd:stop()
|
hide_brightness_osd:stop()
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
brightness_container:connect_signal(
|
brightness_container:connect_signal(
|
||||||
"mouse::leave",
|
"mouse::leave",
|
||||||
function()
|
function()
|
||||||
brightness_container.visible = true
|
brightness_container.visible = true
|
||||||
hide_brightness_osd:again()
|
hide_brightness_osd:again()
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|||||||
52
awesome/src/modules/crylia_bar/init.lua
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
--------------------------------------------------------------------------------------------------------------
|
||||||
|
-- This is the statusbar, every widget, module and so on is combined to all the stuff you see on the screen --
|
||||||
|
--------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
return function(s)
|
||||||
|
|
||||||
|
-- Every Widget
|
||||||
|
--[[
|
||||||
|
If you are going to use a widget on a single screen only, put it inside the s.index == X where X is the screen number.
|
||||||
|
This will lead to better performance and prevent widgets to be loaded but not used
|
||||||
|
--]]
|
||||||
|
s.audio = require("src.widgets.audio")(s)
|
||||||
|
s.date = require("src.widgets.date")()
|
||||||
|
s.clock = require("src.widgets.clock")()
|
||||||
|
s.layoutlist = require("src.widgets.layout_list")()
|
||||||
|
s.powerbutton = require("src.widgets.power")()
|
||||||
|
s.kblayout = require("src.widgets.kblayout")(s)
|
||||||
|
s.taglist = require("src.widgets.taglist")(s)
|
||||||
|
s.tasklist = require("src.widgets.tasklist")(s)
|
||||||
|
-- s.battery = require("src.widgets.battery")()
|
||||||
|
-- s.bluetooth = require("src.widgets.bluetooth")()
|
||||||
|
-- s.cpu_freq = require("src.widgets.cpu_info")("freq", "average")
|
||||||
|
-- s.systray = require("src.widgets.systray")(s)
|
||||||
|
-- s.cpu_usage = require("src.widgets.cpu_info")("usage")
|
||||||
|
-- s.cpu_temp = require("src.widgets.cpu_info")("temp")
|
||||||
|
-- s.gpu_usage = require("src.widgets.gpu_info")("usage")
|
||||||
|
-- s.gpu_temp = require("src.widgets.gpu_info")("temp")
|
||||||
|
-- s.network = require("src.widgets.network")()
|
||||||
|
-- s.ram_info = require("src.widgets.ram_info")()
|
||||||
|
|
||||||
|
if s.index == 1 then
|
||||||
|
s.systray = require("src.widgets.systray")(s)
|
||||||
|
s.cpu_usage = require("src.widgets.cpu_info")("usage")
|
||||||
|
s.cpu_temp = require("src.widgets.cpu_info")("temp")
|
||||||
|
s.gpu_usage = require("src.widgets.gpu_info")("usage")
|
||||||
|
s.gpu_temp = require("src.widgets.gpu_info")("temp")
|
||||||
|
|
||||||
|
require("src.modules.crylia_bar.left_bar")(s, { s.layoutlist, s.systray, s.taglist })
|
||||||
|
require("src.modules.crylia_bar.center_bar")(s, { s.tasklist })
|
||||||
|
require("src.modules.crylia_bar.right_bar")(s, { s.gpu_usage, s.gpu_temp, s.cpu_usage, s.cpu_temp, s.audio, s.kblayout, s.date, s.clock, s.powerbutton })
|
||||||
|
require("src.modules.crylia_bar.dock")(s, user_vars.dock_programs)
|
||||||
|
end
|
||||||
|
|
||||||
|
if s.index == 2 then
|
||||||
|
s.network = require("src.widgets.network")()
|
||||||
|
s.ram_info = require("src.widgets.ram_info")()
|
||||||
|
|
||||||
|
require("src.modules.crylia_bar.left_bar")(s, { s.layoutlist, s.taglist })
|
||||||
|
require("src.modules.crylia_bar.center_bar")(s, { s.tasklist })
|
||||||
|
require("src.modules.crylia_bar.right_bar")(s, { s.ram_info, s.audio, s.kblayout, s.network, s.date, s.clock, s.powerbutton })
|
||||||
|
end
|
||||||
|
end
|
||||||
28
awesome/src/modules/init.lua
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
--------------------------------------------------------------------------------------------------------------
|
||||||
|
-- This is the statusbar, every widget, module and so on is combined to all the stuff you see on the screen --
|
||||||
|
--------------------------------------------------------------------------------------------------------------
|
||||||
|
-- Awesome Libs
|
||||||
|
local awful = require("awful")
|
||||||
|
|
||||||
|
awful.screen.connect_for_each_screen(
|
||||||
|
-- For each screen this function is called once
|
||||||
|
-- If you want to change the modules per screen use the indices
|
||||||
|
-- e.g. 1 would be the primary screen and 2 the secondary screen.
|
||||||
|
function(s)
|
||||||
|
-- Create 9 tags
|
||||||
|
awful.layout.layouts = user_vars.layouts
|
||||||
|
awful.tag(
|
||||||
|
{ "1", "2", "3", "4", "5", "6", "7", "8", "9" },
|
||||||
|
s,
|
||||||
|
user_vars.layouts[1]
|
||||||
|
)
|
||||||
|
|
||||||
|
require("src.modules.powermenu")(s)
|
||||||
|
require("src.modules.volume_osd")(s)
|
||||||
|
require("src.modules.brightness_osd")(s)
|
||||||
|
require("src.modules.titlebar")
|
||||||
|
require("src.modules.volume_controller")(s)
|
||||||
|
require("src.modules.crylia_bar.init")(s)
|
||||||
|
require("src.modules.notification-center.init")(s)
|
||||||
|
end
|
||||||
|
)
|
||||||
@@ -0,0 +1,371 @@
|
|||||||
|
-------------------------------------
|
||||||
|
-- This is the notification-center --
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
-- Awesome Libs
|
||||||
|
local awful = require("awful")
|
||||||
|
local color = require("src.theme.colors")
|
||||||
|
local dpi = require("beautiful").xresources.apply_dpi
|
||||||
|
local gears = require("gears")
|
||||||
|
local wibox = require("wibox")
|
||||||
|
|
||||||
|
-- Icon directory path
|
||||||
|
local icondir = awful.util.getdir("config") .. "src/assets/icons/notifications/"
|
||||||
|
|
||||||
|
return function(s)
|
||||||
|
|
||||||
|
--#region Activation area
|
||||||
|
|
||||||
|
local activation_area = awful.popup {
|
||||||
|
bg = '#00000000',
|
||||||
|
widget = wibox.container.background,
|
||||||
|
ontop = true,
|
||||||
|
screen = s,
|
||||||
|
type = 'dock',
|
||||||
|
placement = function(c)
|
||||||
|
awful.placement.top(c)
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
|
activation_area:setup({
|
||||||
|
widget = wibox.container.background,
|
||||||
|
forced_height = dpi(1),
|
||||||
|
forced_width = dpi(300),
|
||||||
|
bg = '#00000000',
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
})
|
||||||
|
|
||||||
|
--#endregion
|
||||||
|
|
||||||
|
--#region Widgets
|
||||||
|
local nl = require("src.modules.notification-center.notification_list").notification_list
|
||||||
|
local music_widget = require("src.modules.notification-center.song_info")()
|
||||||
|
local time_date = require("src.modules.notification-center.time_date")()
|
||||||
|
local weather_widget = require("src.modules.notification-center.weather")()
|
||||||
|
local profile_widget = require("src.modules.notification-center.profile")()
|
||||||
|
local status_bars_widget = require("src.modules.notification-center.status_bars")()
|
||||||
|
--#endregion
|
||||||
|
|
||||||
|
--#region Notification buttons
|
||||||
|
local clear_all_widget = wibox.widget { -- Clear all button
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
text = "Clear",
|
||||||
|
valign = "center",
|
||||||
|
align = "center",
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
id = "clearall"
|
||||||
|
},
|
||||||
|
id = "background4",
|
||||||
|
fg = color["Grey900"],
|
||||||
|
bg = color["Blue200"],
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, 12)
|
||||||
|
end,
|
||||||
|
forced_width = dpi(80),
|
||||||
|
forced_height = dpi(40),
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
id = "margin3",
|
||||||
|
margins = dpi(10),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
id = "place",
|
||||||
|
widget = wibox.container.place,
|
||||||
|
valign = "bottom",
|
||||||
|
halign = "right",
|
||||||
|
}
|
||||||
|
|
||||||
|
local left_button = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
widget = wibox.container.background,
|
||||||
|
bg = color["Grey700"],
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, dpi(8))
|
||||||
|
end,
|
||||||
|
forced_height = dpi(30),
|
||||||
|
forced_width = dpi(30),
|
||||||
|
id = "circle"
|
||||||
|
},
|
||||||
|
left = dpi(5),
|
||||||
|
right = dpi(5),
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
id = "margin"
|
||||||
|
},
|
||||||
|
visible = true,
|
||||||
|
valign = "center",
|
||||||
|
halign = "left",
|
||||||
|
widget = wibox.container.place,
|
||||||
|
}
|
||||||
|
|
||||||
|
local right_button = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
widget = wibox.container.background,
|
||||||
|
bg = color["Purple200"],
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, dpi(8))
|
||||||
|
end,
|
||||||
|
forced_height = dpi(30),
|
||||||
|
forced_width = dpi(30),
|
||||||
|
id = "circle"
|
||||||
|
},
|
||||||
|
left = dpi(5),
|
||||||
|
right = dpi(5),
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
id = "margin"
|
||||||
|
},
|
||||||
|
valign = "center",
|
||||||
|
halign = "right",
|
||||||
|
visible = false,
|
||||||
|
widget = wibox.container.place,
|
||||||
|
}
|
||||||
|
|
||||||
|
local toggle_button = wibox.widget {
|
||||||
|
{
|
||||||
|
left_button,
|
||||||
|
right_button,
|
||||||
|
widget = wibox.layout.flex.horizontal
|
||||||
|
},
|
||||||
|
active = false,
|
||||||
|
widget = wibox.container.background,
|
||||||
|
bg = color["Grey900"],
|
||||||
|
border_color = color["Grey800"],
|
||||||
|
border_width = dpi(2),
|
||||||
|
forced_height = dpi(40),
|
||||||
|
forced_width = dpi(80),
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, dpi(10))
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
|
toggle_button:connect_signal(
|
||||||
|
"button::press",
|
||||||
|
function()
|
||||||
|
if toggle_button.active then
|
||||||
|
left_button.visible = true
|
||||||
|
right_button.visible = false
|
||||||
|
toggle_button.active = not toggle_button.active
|
||||||
|
toggle_button.border_color = color["Grey800"]
|
||||||
|
user_vars.dnd = false
|
||||||
|
else
|
||||||
|
left_button.visible = false
|
||||||
|
right_button.visible = true
|
||||||
|
toggle_button.active = not toggle_button.active
|
||||||
|
toggle_button.border_color = color["Purple200"]
|
||||||
|
user_vars.dnd = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
local dnd = wibox.widget { -- Clear all button
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
text = "Do Not Disturb",
|
||||||
|
valign = "center",
|
||||||
|
align = "center",
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
id = "clearall"
|
||||||
|
},
|
||||||
|
toggle_button,
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.horizontal,
|
||||||
|
id = "layout12"
|
||||||
|
},
|
||||||
|
id = "background4",
|
||||||
|
fg = color["Pink200"],
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, 12)
|
||||||
|
end,
|
||||||
|
forced_height = dpi(40),
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
id = "margin3",
|
||||||
|
margins = dpi(10),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
id = "place",
|
||||||
|
widget = wibox.container.place,
|
||||||
|
valign = "bottom",
|
||||||
|
halign = "right",
|
||||||
|
}
|
||||||
|
|
||||||
|
-- TODO: Add rubato animation. For this the widget needs to be rewritten to use a single moving square
|
||||||
|
local no_notification_widget = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
valign = "center",
|
||||||
|
halign = "center",
|
||||||
|
resize = true,
|
||||||
|
forced_height = dpi(200),
|
||||||
|
forced_width = dpi(200),
|
||||||
|
image = icondir .. "megamind.svg",
|
||||||
|
widget = wibox.widget.imagebox,
|
||||||
|
id = "icon"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id = "txt",
|
||||||
|
markup = "<span color='#414141' font='JetBrainsMono Nerd Font, ExtraBold 20'>No Notifications?</span>",
|
||||||
|
valign = "center",
|
||||||
|
halign = "center",
|
||||||
|
widget = wibox.widget.textbox
|
||||||
|
},
|
||||||
|
id = "lay",
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
},
|
||||||
|
valign = "center",
|
||||||
|
halign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
}
|
||||||
|
|
||||||
|
--#endregion
|
||||||
|
|
||||||
|
--#region Notification center
|
||||||
|
local notification_center = awful.popup {
|
||||||
|
widget = wibox.container.background,
|
||||||
|
bg = color["Grey900"],
|
||||||
|
border_color = color["Grey800"],
|
||||||
|
border_width = dpi(4),
|
||||||
|
placement = function(c)
|
||||||
|
awful.placement.top(c, { margins = dpi(10) })
|
||||||
|
end,
|
||||||
|
ontop = true,
|
||||||
|
screen = s,
|
||||||
|
visible = false,
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, 12)
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
|
-- TODO: Currently awesome doesn't come with a scroll container, there is a PR(#3309) and once its merged we can use it
|
||||||
|
local function notification_center_setup()
|
||||||
|
notification_center:setup({
|
||||||
|
widget = notification_center,
|
||||||
|
-- Custom widgets
|
||||||
|
{
|
||||||
|
time_date,
|
||||||
|
require("src.modules.notification-center.spacingline_widget")(),
|
||||||
|
{
|
||||||
|
{
|
||||||
|
weather_widget,
|
||||||
|
{
|
||||||
|
profile_widget,
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
},
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
status_bars_widget,
|
||||||
|
music_widget,
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
},
|
||||||
|
-- Notification list
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
nl,
|
||||||
|
height = dpi(680),
|
||||||
|
strategy = "max",
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
{
|
||||||
|
no_notification_widget,
|
||||||
|
strategy = "max",
|
||||||
|
height = dpi(400),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
{
|
||||||
|
dnd,
|
||||||
|
nil,
|
||||||
|
clear_all_widget,
|
||||||
|
layout = wibox.layout.align.horizontal
|
||||||
|
},
|
||||||
|
id = "layout5",
|
||||||
|
layout = wibox.layout.align.vertical
|
||||||
|
},
|
||||||
|
id = "margin6",
|
||||||
|
margins = dpi(20),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
id = "yes",
|
||||||
|
spacing_widget = {
|
||||||
|
{
|
||||||
|
fg = color["Grey800"],
|
||||||
|
bg = color["Grey800"],
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
top = dpi(40),
|
||||||
|
bottom = dpi(40),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
spacing = dpi(1),
|
||||||
|
forced_height = dpi(800),
|
||||||
|
forced_width = dpi(1000),
|
||||||
|
layout = wibox.layout.flex.horizontal
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
--#endregion
|
||||||
|
|
||||||
|
--#region Signals
|
||||||
|
-- Toggle notification_center visibility when mouse is over activation_area
|
||||||
|
activation_area:connect_signal(
|
||||||
|
"mouse::enter",
|
||||||
|
function()
|
||||||
|
notification_center.visible = true
|
||||||
|
notification_center_setup()
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Update the notification center popup and check if there are no notifications
|
||||||
|
awesome.connect_signal(
|
||||||
|
"notification_center:update::needed",
|
||||||
|
function()
|
||||||
|
if #nl == 0 then
|
||||||
|
math.randomseed(os.time())
|
||||||
|
local prob = math.random(1, 10)
|
||||||
|
|
||||||
|
if (prob == 5) or (prob == 6) then
|
||||||
|
no_notification_widget.lay.icon.image = icondir .. "megamind.svg"
|
||||||
|
no_notification_widget.lay.txt.markup = "<span color='#414141' font='JetBrainsMono Nerd Font, ExtraBold 20'>No Notifications?</span>"
|
||||||
|
else
|
||||||
|
no_notification_widget.lay.icon.image = icondir .. "bell-outline.svg"
|
||||||
|
no_notification_widget.lay.txt.markup = "<span color='#414141' font='JetBrainsMono Nerd Font, ExtraBold 20'>No Notification</span>"
|
||||||
|
end
|
||||||
|
no_notification_widget.visible = true
|
||||||
|
else
|
||||||
|
no_notification_widget.visible = false
|
||||||
|
end
|
||||||
|
notification_center_setup()
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Hide notification_center when mouse leaves it
|
||||||
|
notification_center:connect_signal(
|
||||||
|
"mouse::leave",
|
||||||
|
function()
|
||||||
|
notification_center.visible = false
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Clear all notifications on button press
|
||||||
|
clear_all_widget:connect_signal(
|
||||||
|
"button::press",
|
||||||
|
function()
|
||||||
|
local size = #nl
|
||||||
|
for i = 0, size do
|
||||||
|
nl[i] = nil
|
||||||
|
end
|
||||||
|
awesome.emit_signal("notification_center:update::needed")
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
Hover_signal(clear_all_widget, color["Blue200"], color["Grey900"])
|
||||||
|
--#endregion
|
||||||
|
|
||||||
|
end
|
||||||
|
|||||||
261
awesome/src/modules/notification-center/notification_list.lua
Normal file
@@ -0,0 +1,261 @@
|
|||||||
|
-------------------------------------
|
||||||
|
-- This is the notification-center --
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
-- Awesome Libs
|
||||||
|
local awful = require("awful")
|
||||||
|
local color = require("src.theme.colors")
|
||||||
|
local dpi = require("beautiful").xresources.apply_dpi
|
||||||
|
local gears = require("gears")
|
||||||
|
local wibox = require("wibox")
|
||||||
|
local naughty = require("naughty")
|
||||||
|
|
||||||
|
-- Icon directory path
|
||||||
|
local icondir = awful.util.getdir("config") .. "src/assets/icons/notifications/"
|
||||||
|
|
||||||
|
local nl = {}
|
||||||
|
|
||||||
|
nl.notification_list = { layout = wibox.layout.fixed.vertical, spacing = dpi(20) }
|
||||||
|
|
||||||
|
-- @param {table} notification
|
||||||
|
-- @return {widget} notifications_list
|
||||||
|
function nl.create_notification(n)
|
||||||
|
|
||||||
|
n.time = os.time()
|
||||||
|
|
||||||
|
local time_ago_text = "- ago"
|
||||||
|
|
||||||
|
local timer_widget = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
text = time_ago_text,
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
id = "txt"
|
||||||
|
},
|
||||||
|
id = "background",
|
||||||
|
fg = color["Teal200"],
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
margins = dpi(10),
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
}
|
||||||
|
|
||||||
|
gears.timer {
|
||||||
|
timeout = 1,
|
||||||
|
autostart = true,
|
||||||
|
call_now = true,
|
||||||
|
callback = function()
|
||||||
|
local time_ago = math.floor(os.time() - n.time)
|
||||||
|
local timer_text = timer_widget.background.txt
|
||||||
|
if time_ago < 5 then
|
||||||
|
timer_text:set_text("now")
|
||||||
|
elseif time_ago < 60 then
|
||||||
|
timer_text:set_text(time_ago .. "s ago")
|
||||||
|
elseif time_ago < 3600 then
|
||||||
|
timer_text:set_text(math.floor(time_ago / 60) .. "m ago")
|
||||||
|
elseif time_ago < 86400 then
|
||||||
|
timer_text:set_text(math.floor(time_ago / 3600) .. "h ago")
|
||||||
|
else
|
||||||
|
timer_text:set_text(math.floor(time_ago / 86400) .. "d ago")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
local close_widget = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
font = user_vars.font.specify .. ", 10",
|
||||||
|
text = "✕",
|
||||||
|
align = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.widget.textbox
|
||||||
|
},
|
||||||
|
start_angle = 4.71239,
|
||||||
|
thickness = dpi(2),
|
||||||
|
min_value = 0,
|
||||||
|
max_value = 360,
|
||||||
|
value = 360,
|
||||||
|
widget = wibox.container.arcchart,
|
||||||
|
id = "arc_chart"
|
||||||
|
},
|
||||||
|
id = "background",
|
||||||
|
fg = color["Teal200"],
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
strategy = "exact",
|
||||||
|
width = dpi(20),
|
||||||
|
height = dpi(20),
|
||||||
|
widget = wibox.container.constraint,
|
||||||
|
id = "const"
|
||||||
|
},
|
||||||
|
margins = dpi(10),
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
id = "arc_margin"
|
||||||
|
}
|
||||||
|
|
||||||
|
local timer_close_widget = timer_widget
|
||||||
|
|
||||||
|
local notification = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
image = gears.color.recolor_image(icondir .. "notification-outline.svg", color["Teal200"]),
|
||||||
|
resize = false,
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
right = dpi(5),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
{
|
||||||
|
markup = n.app_name or 'System Notification',
|
||||||
|
align = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.widget.textbox
|
||||||
|
},
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
fg = color["Teal200"],
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
margins = dpi(10),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
nil,
|
||||||
|
{
|
||||||
|
timer_widget,
|
||||||
|
layout = wibox.layout.fixed.horizontal,
|
||||||
|
id = "arc_app_layout_2"
|
||||||
|
},
|
||||||
|
id = "arc_app_layout",
|
||||||
|
layout = wibox.layout.align.horizontal
|
||||||
|
},
|
||||||
|
id = "arc_app_bg",
|
||||||
|
border_color = color["Grey800"],
|
||||||
|
border_width = dpi(2),
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
image = n.icon,
|
||||||
|
resize = true,
|
||||||
|
widget = wibox.widget.imagebox,
|
||||||
|
clip_shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, 10)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
width = naughty.config.defaults.icon_size,
|
||||||
|
height = naughty.config.defaults.icon_size,
|
||||||
|
strategy = "exact",
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
halign = "center",
|
||||||
|
valign = "top",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "margin01",
|
||||||
|
left = dpi(20),
|
||||||
|
bottom = dpi(15),
|
||||||
|
top = dpi(15),
|
||||||
|
right = dpi(10),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
markup = n.title,
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
align = "left"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
markup = n.message,
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
align = "left"
|
||||||
|
},
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
},
|
||||||
|
left = dpi(10),
|
||||||
|
bottom = dpi(10),
|
||||||
|
top = dpi(10),
|
||||||
|
right = dpi(20),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
id = "widget_layout",
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
},
|
||||||
|
id = "min_size",
|
||||||
|
strategy = "min",
|
||||||
|
width = dpi(100),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
id = "max_size",
|
||||||
|
strategy = "max",
|
||||||
|
width = Theme.notification_max_width or dpi(500),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
pk = #nl.notification_list + 1,
|
||||||
|
bg = color["Grey900"],
|
||||||
|
border_color = color["Grey800"],
|
||||||
|
border_width = dpi(4),
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, 8)
|
||||||
|
end,
|
||||||
|
widget = wibox.container.background
|
||||||
|
}
|
||||||
|
|
||||||
|
close_widget:connect_signal(
|
||||||
|
"button::press",
|
||||||
|
function(_, _, _, button)
|
||||||
|
if button == 1 then
|
||||||
|
for i, b in pairs(nl.notification_list) do
|
||||||
|
if b.pk == notification.pk then
|
||||||
|
table.remove(nl.notification_list, i)
|
||||||
|
awesome.emit_signal("notification_center:update::needed")
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
Hover_signal(close_widget.const.background, color["Grey900"], color["Teal200"])
|
||||||
|
|
||||||
|
notification:connect_signal(
|
||||||
|
"mouse::enter",
|
||||||
|
function()
|
||||||
|
notification:get_children_by_id("arc_app_layout_2")[1]:set(1, close_widget)
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
notification:connect_signal(
|
||||||
|
"mouse::leave",
|
||||||
|
function()
|
||||||
|
notification:get_children_by_id("arc_app_layout_2")[1]:set(1, timer_close_widget)
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
table.insert(nl.notification_list, notification)
|
||||||
|
end
|
||||||
|
|
||||||
|
naughty.connect_signal(
|
||||||
|
"request::display",
|
||||||
|
function(n)
|
||||||
|
nl.create_notification(n)
|
||||||
|
awesome.emit_signal("notification_center:update::needed")
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
return nl
|
||||||
207
awesome/src/modules/notification-center/profile.lua
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
--------------------------------
|
||||||
|
-- This is the profile widget --
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
-- Awesome Libs
|
||||||
|
local awful = require("awful")
|
||||||
|
local color = require("src.theme.colors")
|
||||||
|
local dpi = require("beautiful").xresources.apply_dpi
|
||||||
|
local gears = require("gears")
|
||||||
|
local wibox = require("wibox")
|
||||||
|
|
||||||
|
-- Icon directory path
|
||||||
|
local icondir = awful.util.getdir("config") .. "src/assets/icons/profile/"
|
||||||
|
|
||||||
|
return function()
|
||||||
|
|
||||||
|
local profile_widget = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
image = gears.surface.load_uncached(awful.util.getdir("config") .. "src/assets/userpfp/crylia.png"),
|
||||||
|
id = "icon",
|
||||||
|
valign = "center",
|
||||||
|
halign = "center",
|
||||||
|
clip_shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, dpi(12))
|
||||||
|
end,
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
strategy = "exact",
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
id = "icon_margin",
|
||||||
|
margins = dpi(20),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ -- Username
|
||||||
|
id = "username_prefix",
|
||||||
|
image = gears.color.recolor_image(icondir .. "user.svg", color["Blue200"]),
|
||||||
|
valign = "center",
|
||||||
|
halign = "left",
|
||||||
|
resize = false,
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
{ -- Username
|
||||||
|
id = "username",
|
||||||
|
valign = "center",
|
||||||
|
align = "left",
|
||||||
|
widget = wibox.widget.textbox
|
||||||
|
},
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{
|
||||||
|
id = "os_prefix",
|
||||||
|
image = gears.color.recolor_image(icondir .. "laptop.svg", color["Blue200"]),
|
||||||
|
valign = "center",
|
||||||
|
halign = "left",
|
||||||
|
resize = false,
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
{ -- OS
|
||||||
|
id = "os",
|
||||||
|
valign = "center",
|
||||||
|
align = "left",
|
||||||
|
widget = wibox.widget.textbox
|
||||||
|
},
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{
|
||||||
|
id = "kernel_prefix",
|
||||||
|
image = gears.color.recolor_image(icondir .. "penguin.svg", color["Blue200"]),
|
||||||
|
valign = "center",
|
||||||
|
halign = "left",
|
||||||
|
resize = false,
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
{ -- Kernel
|
||||||
|
id = "kernel",
|
||||||
|
valign = "center",
|
||||||
|
align = "left",
|
||||||
|
widget = wibox.widget.textbox
|
||||||
|
},
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{
|
||||||
|
id = "uptime_prefix",
|
||||||
|
image = gears.color.recolor_image(icondir .. "clock.svg", color["Blue200"]),
|
||||||
|
valign = "center",
|
||||||
|
halign = "left",
|
||||||
|
resize = false,
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
{ -- Uptime
|
||||||
|
id = "uptime",
|
||||||
|
valign = "center",
|
||||||
|
align = "left",
|
||||||
|
widget = wibox.widget.textbox
|
||||||
|
},
|
||||||
|
spacing = dpi(10),
|
||||||
|
id = "uptime_layout",
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
spacing = dpi(5),
|
||||||
|
id = "info_layout",
|
||||||
|
layout = wibox.layout.flex.vertical
|
||||||
|
},
|
||||||
|
id = "text_margin",
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
id = "text_container",
|
||||||
|
bottom = dpi(20),
|
||||||
|
left = dpi(20),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
id = "text_container_wrapper",
|
||||||
|
widget = wibox.layout.fixed.vertical
|
||||||
|
},
|
||||||
|
id = "wrapper",
|
||||||
|
fg = color["Green200"],
|
||||||
|
border_color = color["Grey800"],
|
||||||
|
border_width = dpi(4),
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, dpi(8))
|
||||||
|
end,
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
id = "const",
|
||||||
|
strategy = "exact",
|
||||||
|
width = dpi(250),
|
||||||
|
height = dpi(350),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
top = dpi(20),
|
||||||
|
left = dpi(10),
|
||||||
|
right = dpi(20),
|
||||||
|
bottom = dpi(10),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
}
|
||||||
|
|
||||||
|
local function get_os_name_pretty()
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"cat /etc/os-release | grep -w NAME",
|
||||||
|
function(stdout)
|
||||||
|
profile_widget:get_children_by_id("os")[1].text = stdout:match("\"(.+)\"")
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- function to get and set the kernel version
|
||||||
|
local function get_kernel_version()
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"uname -r",
|
||||||
|
function(stdout)
|
||||||
|
profile_widget:get_children_by_id("kernel")[1].text = stdout:match("(%d+%.%d+%.%d+)")
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
--function to get the username and hostname
|
||||||
|
local function get_user_hostname()
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"echo $USER@$(hostname)",
|
||||||
|
function(stdout)
|
||||||
|
profile_widget:get_children_by_id("username")[1].text = stdout:gsub("\n", "") or ""
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
-- function to fetch uptime async
|
||||||
|
local function get_uptime()
|
||||||
|
awful.spawn.easy_async_with_shell("uptime -p", function(stdout)
|
||||||
|
|
||||||
|
local hours = stdout:match("(%d+) hours") or 0
|
||||||
|
local minutes = stdout:match("(%d+) minutes") or 0
|
||||||
|
|
||||||
|
profile_widget:get_children_by_id("uptime")[1].text = hours .. "h, " .. minutes .. "m"
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
get_os_name_pretty()
|
||||||
|
get_kernel_version()
|
||||||
|
get_user_hostname()
|
||||||
|
|
||||||
|
gears.timer {
|
||||||
|
timeout = 60,
|
||||||
|
autostart = true,
|
||||||
|
call_now = true,
|
||||||
|
callback = get_uptime
|
||||||
|
}
|
||||||
|
|
||||||
|
return profile_widget
|
||||||
|
|
||||||
|
end
|
||||||
466
awesome/src/modules/notification-center/song_info.lua
Normal file
@@ -0,0 +1,466 @@
|
|||||||
|
---------------------------
|
||||||
|
-- This is the song-info --
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
-- Awesome Libs
|
||||||
|
local awful = require("awful")
|
||||||
|
local color = require("src.theme.colors")
|
||||||
|
local dpi = require("beautiful").xresources.apply_dpi
|
||||||
|
local gears = require("gears")
|
||||||
|
local wibox = require("wibox")
|
||||||
|
local naughty = require("naughty")
|
||||||
|
|
||||||
|
-- Icon directory path
|
||||||
|
local icondir = awful.util.getdir("config") .. "src/assets/icons/notifications/"
|
||||||
|
|
||||||
|
return function(s)
|
||||||
|
|
||||||
|
--#region Music control button widgets
|
||||||
|
|
||||||
|
local function button_hover_effect(widget, svg, color, color2)
|
||||||
|
local mouse_enter = function()
|
||||||
|
widget.image = gears.surface.load_uncached(gears.color.recolor_image(icondir .. svg, color2))
|
||||||
|
local w = mouse.current_wibox
|
||||||
|
if w then
|
||||||
|
w.cursor = "hand1"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local mouse_leave = function()
|
||||||
|
widget.image = gears.surface.load_uncached(gears.color.recolor_image(icondir .. svg, color))
|
||||||
|
mouse.cursor = "left_ptr"
|
||||||
|
local w = mouse.current_wibox
|
||||||
|
if w then
|
||||||
|
w.cursor = "left_ptr"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
widget:disconnect_signal("mouse::enter", mouse_enter)
|
||||||
|
widget:connect_signal("mouse::enter", mouse_enter)
|
||||||
|
widget:disconnect_signal("mouse::leave", mouse_leave)
|
||||||
|
widget:connect_signal("mouse::leave", mouse_leave)
|
||||||
|
end
|
||||||
|
|
||||||
|
local shuffle_button = wibox.widget {
|
||||||
|
resize = false,
|
||||||
|
image = gears.color.recolor_image(icondir .. "shuffle.svg", color["Grey800"]),
|
||||||
|
widget = wibox.widget.imagebox,
|
||||||
|
}
|
||||||
|
|
||||||
|
local function suffle_handler()
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl shuffle",
|
||||||
|
function(stdout)
|
||||||
|
if stdout:match("On") then
|
||||||
|
awful.spawn.with_shell("playerctl shuffle off")
|
||||||
|
shuffle_button.image = gears.color.recolor_image(icondir .. "shuffle.svg", color["Grey800"])
|
||||||
|
else
|
||||||
|
awful.spawn.with_shell("playerctl shuffle on")
|
||||||
|
shuffle_button.image = gears.color.recolor_image(icondir .. "shuffle.svg", color["Green200"])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function update_shuffle()
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl shuffle",
|
||||||
|
function(stdout)
|
||||||
|
if stdout:match("On") then
|
||||||
|
shuffle_button.image = gears.color.recolor_image(icondir .. "shuffle.svg", color["Green200"])
|
||||||
|
else
|
||||||
|
shuffle_button.image = gears.color.recolor_image(icondir .. "shuffle.svg", color["Grey800"])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
update_shuffle()
|
||||||
|
|
||||||
|
local repeat_button = wibox.widget {
|
||||||
|
resize = false,
|
||||||
|
image = gears.color.recolor_image(icondir .. "repeat.svg", color["Grey800"]),
|
||||||
|
widget = wibox.widget.imagebox,
|
||||||
|
id = "imagebox"
|
||||||
|
}
|
||||||
|
|
||||||
|
-- On first time load set the correct loop
|
||||||
|
local function update_loop()
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl loop",
|
||||||
|
function(stdout)
|
||||||
|
local loop_mode = stdout:gsub("\n", "")
|
||||||
|
if loop_mode == "Track" then
|
||||||
|
repeat_button.image = gears.color.recolor_image(gears.surface.load_uncached(icondir .. "repeat-once.svg"), color["Green200"])
|
||||||
|
elseif loop_mode == "None" then
|
||||||
|
repeat_button.image = gears.color.recolor_image(gears.surface.load_uncached(icondir .. "repeat.svg"), color["Grey800"])
|
||||||
|
elseif loop_mode == "Playlist" then
|
||||||
|
repeat_button.image = gears.color.recolor_image(gears.surface.load_uncached(icondir .. "repeat.svg"), color["Green200"])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
update_loop()
|
||||||
|
-- Activate shuffle when button is clicked
|
||||||
|
shuffle_button:buttons(gears.table.join(
|
||||||
|
awful.button({}, 1, suffle_handler)))
|
||||||
|
|
||||||
|
local prev_button = wibox.widget {
|
||||||
|
resize = false,
|
||||||
|
image = gears.color.recolor_image(icondir .. "skip-prev.svg", color["Teal200"]),
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Activate previous song when button is clicked
|
||||||
|
prev_button:buttons(gears.table.join(
|
||||||
|
awful.button({}, 1, function()
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl previous && sleep 1",
|
||||||
|
function()
|
||||||
|
update_loop()
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end)
|
||||||
|
))
|
||||||
|
|
||||||
|
local pause_play_button = wibox.widget {
|
||||||
|
resize = false,
|
||||||
|
image = gears.color.recolor_image(icondir .. "play-pause.svg", color["Teal200"]),
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Activate play/pause when button is clicked
|
||||||
|
pause_play_button:buttons(gears.table.join(
|
||||||
|
awful.button({}, 1, function()
|
||||||
|
awful.spawn.with_shell("playerctl play-pause")
|
||||||
|
end)
|
||||||
|
))
|
||||||
|
|
||||||
|
local next_button = wibox.widget {
|
||||||
|
resize = false,
|
||||||
|
image = gears.color.recolor_image(icondir .. "skip-next.svg", color["Teal200"]),
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Activate next song when button is clicked
|
||||||
|
next_button:buttons(gears.table.join(
|
||||||
|
awful.button({}, 1, function()
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl next && sleep 1",
|
||||||
|
function()
|
||||||
|
update_loop()
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end)
|
||||||
|
))
|
||||||
|
|
||||||
|
--- This function updates the repeat button svg and changes the mode on click
|
||||||
|
local function loop_handler()
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl loop",
|
||||||
|
function(stdout)
|
||||||
|
local loop_mode = stdout:gsub("\n", "")
|
||||||
|
if loop_mode == "None" then
|
||||||
|
awful.spawn.with_shell("playerctl loop playlist")
|
||||||
|
repeat_button.image = gears.color.recolor_image(gears.surface.load_uncached(icondir .. "repeat.svg"), color["Green200"])
|
||||||
|
elseif loop_mode == "Playlist" then
|
||||||
|
awful.spawn.with_shell("playerctl loop track")
|
||||||
|
repeat_button.image = gears.color.recolor_image(gears.surface.load_uncached(icondir .. "repeat-once.svg"), color["Green200"])
|
||||||
|
elseif loop_mode == "Track" then
|
||||||
|
awful.spawn.with_shell("playerctl loop none")
|
||||||
|
repeat_button.image = gears.color.recolor_image(gears.surface.load_uncached(icondir .. "repeat.svg"), color["Grey800"])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
repeat_button:buttons(gears.table.join(awful.button({}, 1, loop_handler)))
|
||||||
|
|
||||||
|
button_hover_effect(prev_button, "skip-prev.svg", color["Teal200"], color["Teal300"])
|
||||||
|
button_hover_effect(pause_play_button, "play-pause.svg", color["Teal200"], color["Teal300"])
|
||||||
|
button_hover_effect(next_button, "skip-next.svg", color["Teal200"], color["Teal300"])
|
||||||
|
|
||||||
|
--#endregion
|
||||||
|
|
||||||
|
-- Main music widget
|
||||||
|
local music_widget = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ -- Album art
|
||||||
|
{
|
||||||
|
image = "default image",
|
||||||
|
resize = true,
|
||||||
|
clip_shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, dpi(8))
|
||||||
|
end,
|
||||||
|
widget = wibox.widget.imagebox,
|
||||||
|
id = "imagebox"
|
||||||
|
},
|
||||||
|
width = dpi(80),
|
||||||
|
height = dpi(80),
|
||||||
|
strategy = "exact",
|
||||||
|
widget = wibox.container.constraint,
|
||||||
|
id = "const"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ --Title
|
||||||
|
halign = "center",
|
||||||
|
align = "center",
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
id = "textbox4"
|
||||||
|
},
|
||||||
|
fg = color["Pink200"],
|
||||||
|
id = "textbox5",
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
strategy = "max",
|
||||||
|
width = dpi(400),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
id = "textbox_container4",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ --Artist
|
||||||
|
halign = "center",
|
||||||
|
align = "center",
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
id = "textbox3"
|
||||||
|
},
|
||||||
|
fg = color["Teal200"],
|
||||||
|
id = "background",
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
strategy = "max",
|
||||||
|
width = dpi(400),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
id = "artist_container",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
{ --Buttons
|
||||||
|
{
|
||||||
|
{
|
||||||
|
shuffle_button,
|
||||||
|
prev_button,
|
||||||
|
pause_play_button,
|
||||||
|
next_button,
|
||||||
|
repeat_button,
|
||||||
|
spacing = dpi(15),
|
||||||
|
layout = wibox.layout.fixed.horizontal,
|
||||||
|
id = "layout5"
|
||||||
|
},
|
||||||
|
halign = "center",
|
||||||
|
widget = wibox.container.place,
|
||||||
|
id = "place2"
|
||||||
|
},
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
id = "margin6"
|
||||||
|
},
|
||||||
|
layout = wibox.layout.flex.vertical,
|
||||||
|
id = "layout4"
|
||||||
|
},
|
||||||
|
fill_space = true,
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.horizontal,
|
||||||
|
id = "layout3"
|
||||||
|
},
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
id = "margin5"
|
||||||
|
},
|
||||||
|
{ --Song Duration
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
markup = "0:00",
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
id = "textbox2"
|
||||||
|
},
|
||||||
|
fg = color["Lime200"],
|
||||||
|
widget = wibox.container.background,
|
||||||
|
id = "background3"
|
||||||
|
},
|
||||||
|
right = dpi(10),
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
id = "margin4"
|
||||||
|
},
|
||||||
|
{ -- Progressbar
|
||||||
|
{
|
||||||
|
color = color["Purple200"],
|
||||||
|
background_color = color["Grey800"],
|
||||||
|
max_value = 100,
|
||||||
|
value = 50,
|
||||||
|
forced_height = dpi(5),
|
||||||
|
shape = function(cr, width)
|
||||||
|
gears.shape.rounded_bar(cr, width, dpi(5))
|
||||||
|
end,
|
||||||
|
widget = wibox.widget.progressbar,
|
||||||
|
id = "progressbar1"
|
||||||
|
},
|
||||||
|
valign = "center",
|
||||||
|
halign = "center",
|
||||||
|
widget = wibox.container.place,
|
||||||
|
id = "place1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
text = "00:00",
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
id = "text1"
|
||||||
|
},
|
||||||
|
id = "background2",
|
||||||
|
fg = color["Lime200"],
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
id = "margin3",
|
||||||
|
left = dpi(10),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
id = "layout2",
|
||||||
|
layout = wibox.layout.align.horizontal
|
||||||
|
},
|
||||||
|
id = "layout1",
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
},
|
||||||
|
id = "margin2",
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
margins = dpi(10)
|
||||||
|
},
|
||||||
|
id = "background1",
|
||||||
|
border_color = color["Grey800"],
|
||||||
|
border_width = dpi(4),
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, dpi(8))
|
||||||
|
end,
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
id = "margin1",
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
top = dpi(10),
|
||||||
|
bottom = dpi(20),
|
||||||
|
left = dpi(20),
|
||||||
|
right = dpi(20)
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Used to check if the music changed and if everthing should be updated
|
||||||
|
local trackid = ""
|
||||||
|
local artist = ""
|
||||||
|
local title = ""
|
||||||
|
|
||||||
|
-- Function to get spotify title, artist, album, album_art, length and track_id
|
||||||
|
local function get_spotify_metadata(skip_check)
|
||||||
|
skip_check = skip_check or false
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl metadata",
|
||||||
|
function(stdout)
|
||||||
|
-- Only fetch info if the track changed or if the title/artist is empty
|
||||||
|
if skip_check or (not stdout:match(trackid)) or (not stdout:match(artist)) or (not stdout:match(title)) then
|
||||||
|
update_loop()
|
||||||
|
update_shuffle()
|
||||||
|
-- Get the song title
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl metadata xesam:title",
|
||||||
|
function(stdout2)
|
||||||
|
local tit = stdout2:gsub("\n", "")
|
||||||
|
title = tit
|
||||||
|
music_widget:get_children_by_id("textbox4")[1].text = tit
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Get the song artist
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl metadata xesam:artist",
|
||||||
|
function(stdout2)
|
||||||
|
local art = stdout2:gsub("\n", "")
|
||||||
|
artist = art
|
||||||
|
music_widget:get_children_by_id("textbox3")[1].text = art
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Get the song album image
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl metadata mpris:artUrl",
|
||||||
|
function(album_art)
|
||||||
|
local url = album_art:gsub("\n", "")
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
-- TODO: curl does not stdout and is returns before it finished. This causes the image to sometimes not show correctly.
|
||||||
|
-- !Find a better solution than sleep 0.1
|
||||||
|
-- Maybe cache the image? Not sure if that would be a waste of space or not.
|
||||||
|
"curl -s " .. url .. " -o /tmp/album_art.jpg && echo /tmp/album_art.jpg && sleep 0.5",
|
||||||
|
function()
|
||||||
|
music_widget:get_children_by_id("imagebox")[1].image = gears.surface.load_uncached("/tmp/album_art.jpg")
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Get the length of the song
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl metadata mpris:length",
|
||||||
|
function(stdout2)
|
||||||
|
local length = stdout2:gsub("\n", "")
|
||||||
|
if length ~= "" then
|
||||||
|
local length_formated = string.format("%02d:%02d", math.floor(tonumber(length or 1) / 60000000) or 0, (math.floor(tonumber(length or 1) / 1000000) % 60) or 0)
|
||||||
|
music_widget:get_children_by_id("progressbar1")[1].max_value = tonumber(math.floor(tonumber(length) / 1000000))
|
||||||
|
music_widget:get_children_by_id("text1")[1].markup = string.format("<span foreground='%s' font='JetBrainsMono Nerd Font, Bold 14'>%s</span>", color["Teal200"], length_formated)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl metadata mpris:trackid",
|
||||||
|
function(stdout2)
|
||||||
|
trackid = stdout2:gsub("\n", "")
|
||||||
|
end
|
||||||
|
)
|
||||||
|
-- Update track id
|
||||||
|
trackid, artist, title = stdout, music_widget:get_children_by_id("textbox3")[1].text, music_widget:get_children_by_id("textbox4")[1].text
|
||||||
|
end
|
||||||
|
)
|
||||||
|
-- Always update the current song progression
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"playerctl position",
|
||||||
|
function(stdout)
|
||||||
|
local time = stdout:gsub("\n", "")
|
||||||
|
if time ~= "" then
|
||||||
|
local time_formated = string.format("%02d:%02d", math.floor(tonumber(time or "1") / 60), math.floor(tonumber(time or "1")) % 60)
|
||||||
|
music_widget:get_children_by_id("textbox2")[1].markup = string.format("<span foreground='%s' font='JetBrainsMono Nerd Font, Bold 14'>%s</span>", color["Teal200"], time_formated)
|
||||||
|
music_widget:get_children_by_id("progressbar1")[1].value = tonumber(time)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Call every second, if performance is bad, set the timer to a higher value
|
||||||
|
gears.timer {
|
||||||
|
timeout = 1,
|
||||||
|
autostart = true,
|
||||||
|
call_now = true,
|
||||||
|
callback = function()
|
||||||
|
get_spotify_metadata()
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
-- get_spotify_metadata() on awesome reload
|
||||||
|
awesome.connect_signal("startup", function()
|
||||||
|
get_spotify_metadata(true)
|
||||||
|
end)
|
||||||
|
|
||||||
|
return music_widget
|
||||||
|
end
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
------------------------------------------------
|
||||||
|
-- This is the spacing widget under the clock --
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
-- Awesome Libs
|
||||||
|
local color = require("src.theme.colors")
|
||||||
|
local dpi = require("beautiful").xresources.apply_dpi
|
||||||
|
local wibox = require("wibox")
|
||||||
|
|
||||||
|
return function()
|
||||||
|
|
||||||
|
return wibox.widget {
|
||||||
|
{
|
||||||
|
forced_height = dpi(2),
|
||||||
|
bg = color["Grey800"],
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
left = dpi(80),
|
||||||
|
right = dpi(80),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
}
|
||||||
|
|
||||||
|
end
|
||||||
712
awesome/src/modules/notification-center/status_bars.lua
Normal file
@@ -0,0 +1,712 @@
|
|||||||
|
------------------------------------
|
||||||
|
-- This is the status_bars widget --
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
-- Awesome Libs
|
||||||
|
local awful = require("awful")
|
||||||
|
local color = require("src.theme.colors")
|
||||||
|
local dpi = require("beautiful").xresources.apply_dpi
|
||||||
|
local gears = require("gears")
|
||||||
|
local wibox = require("wibox")
|
||||||
|
|
||||||
|
local rubato = require("src.lib.rubato")
|
||||||
|
|
||||||
|
-- Icon directory path
|
||||||
|
local icondir = awful.util.getdir("config") .. "src/assets/icons/"
|
||||||
|
|
||||||
|
--- Signal bars widget for the notification-center
|
||||||
|
---@return wibox.widget
|
||||||
|
return function()
|
||||||
|
|
||||||
|
---Creates a layout with bar widgets based on the given table
|
||||||
|
---@param widget_table string{}
|
||||||
|
---@return table @{layout}
|
||||||
|
local function create_bar_layout(widget_table)
|
||||||
|
local bar_layout = { layout = wibox.layout.flex.horizontal, spacing = dpi(10) }
|
||||||
|
|
||||||
|
for _, widget in pairs(widget_table) do
|
||||||
|
local w
|
||||||
|
if widget == "cpu_usage" then
|
||||||
|
w = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ --Bar
|
||||||
|
color = color["Blue200"],
|
||||||
|
background_color = color["Grey800"],
|
||||||
|
max_value = 100,
|
||||||
|
value = 0,
|
||||||
|
forced_height = dpi(8),
|
||||||
|
shape = function(cr, width, heigth)
|
||||||
|
gears.shape.rounded_bar(cr, dpi(58), dpi(8))
|
||||||
|
end,
|
||||||
|
id = "progressbar1",
|
||||||
|
widget = wibox.widget.progressbar
|
||||||
|
},
|
||||||
|
id = "background1",
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "background2",
|
||||||
|
forced_height = dpi(58), --120 Base size - (10+10) margin - (4+4) Border - 24 Icon - 10 spacing = 58
|
||||||
|
forced_width = dpi(24),
|
||||||
|
direction = "east",
|
||||||
|
widget = wibox.container.rotate
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ --Icon
|
||||||
|
image = gears.color.recolor_image(icondir .. "cpu/cpu.svg", color["Cyan200"]),
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.widget.imagebox,
|
||||||
|
id = "icon1",
|
||||||
|
},
|
||||||
|
id = "background3",
|
||||||
|
height = dpi(24),
|
||||||
|
width = dpi(24),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
id = "cpu_layout",
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
}
|
||||||
|
|
||||||
|
local bar = w:get_children_by_id("progressbar1")[1]
|
||||||
|
|
||||||
|
local rubato_timer = rubato.timed {
|
||||||
|
duration = 1,
|
||||||
|
pos = bar.value,
|
||||||
|
easing = rubato.linear,
|
||||||
|
subscribed = function(v)
|
||||||
|
bar.value = v
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
local tooltip = awful.tooltip {
|
||||||
|
objects = { w },
|
||||||
|
mode = "inside",
|
||||||
|
preferred_alignments = "middle",
|
||||||
|
margins = dpi(10)
|
||||||
|
}
|
||||||
|
|
||||||
|
awesome.connect_signal(
|
||||||
|
"update::cpu_usage_widget",
|
||||||
|
function(cpu_usage)
|
||||||
|
w:get_children_by_id("progressbar1")[1].value = cpu_usage
|
||||||
|
tooltip.text = "CPU Usage: " .. cpu_usage .. "%"
|
||||||
|
rubato_timer.target = cpu_usage
|
||||||
|
end
|
||||||
|
)
|
||||||
|
elseif widget == "cpu_temp" then
|
||||||
|
w = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ --Bar
|
||||||
|
color = color["Blue200"],
|
||||||
|
background_color = color["Grey800"],
|
||||||
|
max_value = 100,
|
||||||
|
value = 50,
|
||||||
|
forced_height = dpi(8),
|
||||||
|
shape = function(cr, width, heigth)
|
||||||
|
gears.shape.rounded_bar(cr, dpi(58), dpi(8))
|
||||||
|
end,
|
||||||
|
id = "progressbar1",
|
||||||
|
widget = wibox.widget.progressbar
|
||||||
|
},
|
||||||
|
id = "background1",
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "background2",
|
||||||
|
forced_height = dpi(58), --120 Base size - (10+10) margin - (4+4) Border - 24 Icon - 10 spacing = 58
|
||||||
|
forced_width = dpi(24),
|
||||||
|
direction = "east",
|
||||||
|
widget = wibox.container.rotate
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ --Icon
|
||||||
|
id = "icon1",
|
||||||
|
image = gears.color.recolor_image(icondir .. "cpu/thermometer.svg", color["Cyan200"]),
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
id = "background3",
|
||||||
|
height = dpi(24),
|
||||||
|
width = dpi(24),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
id = "cpu_temp_layout",
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
}
|
||||||
|
|
||||||
|
local bar = w:get_children_by_id("progressbar1")[1]
|
||||||
|
|
||||||
|
local rubato_timer = rubato.timed {
|
||||||
|
duration = 1,
|
||||||
|
pos = bar.value,
|
||||||
|
easing = rubato.linear,
|
||||||
|
subscribed = function(v)
|
||||||
|
bar.value = v
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
local tooltip = awful.tooltip {
|
||||||
|
objects = { w },
|
||||||
|
mode = "inside",
|
||||||
|
preferred_alignments = "middle",
|
||||||
|
margins = dpi(10)
|
||||||
|
}
|
||||||
|
|
||||||
|
awesome.connect_signal(
|
||||||
|
"update::cpu_temp_widget",
|
||||||
|
function(cpu_temp, cpu_temp_icon)
|
||||||
|
w:get_children_by_id("progressbar1")[1].value = cpu_temp
|
||||||
|
w:get_children_by_id("icon1")[1].image = gears.color.recolor_image(cpu_temp_icon, color["Blue200"])
|
||||||
|
tooltip.text = "CPU Temp: " .. cpu_temp .. "°C"
|
||||||
|
rubato_timer.target = cpu_temp
|
||||||
|
end
|
||||||
|
)
|
||||||
|
elseif widget == "ram_usage" then
|
||||||
|
w = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ --Bar
|
||||||
|
color = color["Red200"],
|
||||||
|
background_color = color["Grey800"],
|
||||||
|
max_value = 100,
|
||||||
|
value = 50,
|
||||||
|
forced_height = dpi(8),
|
||||||
|
shape = function(cr, width, heigth)
|
||||||
|
gears.shape.rounded_bar(cr, dpi(58), dpi(8))
|
||||||
|
end,
|
||||||
|
id = "progressbar1",
|
||||||
|
widget = wibox.widget.progressbar
|
||||||
|
},
|
||||||
|
id = "background1",
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "background2",
|
||||||
|
forced_height = dpi(58), --120 Base size - (10+10) margin - (4+4) Border - 24 Icon - 10 spacing = 58
|
||||||
|
forced_width = dpi(24),
|
||||||
|
direction = "east",
|
||||||
|
widget = wibox.container.rotate
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ --Icon
|
||||||
|
image = gears.color.recolor_image(icondir .. "cpu/ram.svg", color["Red200"]),
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
height = dpi(24),
|
||||||
|
width = dpi(24),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
id = "ram_layout",
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
}
|
||||||
|
|
||||||
|
local bar = w:get_children_by_id("progressbar1")[1]
|
||||||
|
|
||||||
|
local rubato_timer = rubato.timed {
|
||||||
|
duration = 1,
|
||||||
|
pos = bar.value,
|
||||||
|
easing = rubato.linear,
|
||||||
|
subscribed = function(v)
|
||||||
|
bar.value = v
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
local tooltip = awful.tooltip {
|
||||||
|
objects = { w },
|
||||||
|
mode = "inside",
|
||||||
|
preferred_alignments = "middle",
|
||||||
|
margins = dpi(10)
|
||||||
|
}
|
||||||
|
|
||||||
|
awesome.connect_signal(
|
||||||
|
"update::ram_widget",
|
||||||
|
function(ram_usage)
|
||||||
|
w:get_children_by_id("progressbar1")[1].value = ram_usage
|
||||||
|
tooltip.text = "RAM Usage: " .. ram_usage .. "%"
|
||||||
|
rubato_timer.target = ram_usage
|
||||||
|
end
|
||||||
|
)
|
||||||
|
elseif widget == "gpu_usage" then
|
||||||
|
w = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ --Bar
|
||||||
|
color = color["Green200"],
|
||||||
|
background_color = color["Grey800"],
|
||||||
|
max_value = 100,
|
||||||
|
value = 50,
|
||||||
|
forced_height = dpi(8),
|
||||||
|
shape = function(cr, width, heigth)
|
||||||
|
gears.shape.rounded_bar(cr, dpi(58), dpi(8))
|
||||||
|
end,
|
||||||
|
id = "progressbar1",
|
||||||
|
widget = wibox.widget.progressbar
|
||||||
|
},
|
||||||
|
id = "background1",
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "background2",
|
||||||
|
forced_height = dpi(58), --120 Base size - (10+10) margin - (4+4) Border - 24 Icon - 10 spacing = 58
|
||||||
|
forced_width = dpi(24),
|
||||||
|
direction = "east",
|
||||||
|
widget = wibox.container.rotate
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ --Icon
|
||||||
|
image = gears.color.recolor_image(icondir .. "cpu/gpu.svg", color["Green200"]),
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
height = dpi(24),
|
||||||
|
width = dpi(24),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
id = "gpu_layout",
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
}
|
||||||
|
|
||||||
|
local bar = w:get_children_by_id("progressbar1")[1]
|
||||||
|
|
||||||
|
local rubato_timer = rubato.timed {
|
||||||
|
duration = 1,
|
||||||
|
pos = bar.value,
|
||||||
|
easing = rubato.linear,
|
||||||
|
subscribed = function(v)
|
||||||
|
bar.value = v
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
local tooltip = awful.tooltip {
|
||||||
|
objects = { w },
|
||||||
|
mode = "inside",
|
||||||
|
preferred_alignments = "middle",
|
||||||
|
margins = dpi(10)
|
||||||
|
}
|
||||||
|
|
||||||
|
awesome.connect_signal(
|
||||||
|
"update::gpu_usage_widget",
|
||||||
|
function(gpu_usage)
|
||||||
|
w:get_children_by_id("progressbar1")[1].value = gpu_usage
|
||||||
|
tooltip.text = "GPU Usage: " .. gpu_usage .. "%"
|
||||||
|
rubato_timer.target = gpu_usage
|
||||||
|
end
|
||||||
|
)
|
||||||
|
elseif widget == "gpu_temp" then
|
||||||
|
w = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ --Bar
|
||||||
|
color = color["Green200"],
|
||||||
|
background_color = color["Grey800"],
|
||||||
|
max_value = 100,
|
||||||
|
value = 50,
|
||||||
|
forced_height = dpi(8),
|
||||||
|
shape = function(cr, width, heigth)
|
||||||
|
gears.shape.rounded_bar(cr, dpi(58), dpi(8))
|
||||||
|
end,
|
||||||
|
id = "progressbar1",
|
||||||
|
widget = wibox.widget.progressbar
|
||||||
|
},
|
||||||
|
id = "background1",
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "background2",
|
||||||
|
forced_height = dpi(58), --120 Base size - (10+10) margin - (4+4) Border - 24 Icon - 10 spacing = 58
|
||||||
|
forced_width = dpi(24),
|
||||||
|
direction = "east",
|
||||||
|
widget = wibox.container.rotate
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ --Icon
|
||||||
|
id = "icon1",
|
||||||
|
image = gears.color.recolor_image(icondir .. "cpu/gpu.svg", color["Green200"]),
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
id = "background3",
|
||||||
|
height = dpi(24),
|
||||||
|
width = dpi(24),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
id = "gpu_temp_layout",
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
}
|
||||||
|
|
||||||
|
local bar = w:get_children_by_id("progressbar1")[1]
|
||||||
|
|
||||||
|
local rubato_timer = rubato.timed {
|
||||||
|
duration = 1,
|
||||||
|
pos = bar.value,
|
||||||
|
easing = rubato.linear,
|
||||||
|
subscribed = function(v)
|
||||||
|
bar.value = v
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
local tooltip = awful.tooltip {
|
||||||
|
objects = { w },
|
||||||
|
mode = "inside",
|
||||||
|
preferred_alignments = "middle",
|
||||||
|
margins = dpi(10)
|
||||||
|
}
|
||||||
|
|
||||||
|
awesome.connect_signal(
|
||||||
|
"update::gpu_temp_widget",
|
||||||
|
function(gpu_temp, gpu_temp_icon)
|
||||||
|
w:get_children_by_id("progressbar1")[1].value = gpu_temp
|
||||||
|
w:get_children_by_id("icon1")[1].image = gears.color.recolor_image(gpu_temp_icon, color["Green200"])
|
||||||
|
tooltip.text = "GPU Temp: " .. gpu_temp .. "°C"
|
||||||
|
rubato_timer.target = gpu_temp
|
||||||
|
end
|
||||||
|
)
|
||||||
|
elseif widget == "volume" then
|
||||||
|
w = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ --Bar
|
||||||
|
color = color["Yellow200"],
|
||||||
|
background_color = color["Grey800"],
|
||||||
|
max_value = 100,
|
||||||
|
value = 50,
|
||||||
|
forced_height = dpi(8),
|
||||||
|
shape = function(cr, width, heigth)
|
||||||
|
gears.shape.rounded_bar(cr, dpi(58), dpi(8))
|
||||||
|
end,
|
||||||
|
id = "progressbar1",
|
||||||
|
widget = wibox.widget.progressbar
|
||||||
|
},
|
||||||
|
id = "background1",
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "background2",
|
||||||
|
forced_height = dpi(58), --120 Base size - (10+10) margin - (4+4) Border - 24 Icon - 10 spacing = 58
|
||||||
|
forced_width = dpi(24),
|
||||||
|
direction = "east",
|
||||||
|
widget = wibox.container.rotate
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ --Icon
|
||||||
|
id = "icon1",
|
||||||
|
image = gears.color.recolor_image(icondir .. "audio/volume-high.svg", color["Yellow200"]),
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
id = "background3",
|
||||||
|
height = dpi(24),
|
||||||
|
width = dpi(24),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
id = "volume_layout",
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
}
|
||||||
|
|
||||||
|
local bar = w:get_children_by_id("progressbar1")[1]
|
||||||
|
|
||||||
|
local rubato_timer = rubato.timed {
|
||||||
|
duration = 1,
|
||||||
|
pos = bar.value,
|
||||||
|
easing = rubato.linear,
|
||||||
|
subscribed = function(v)
|
||||||
|
bar.value = v
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
local tooltip = awful.tooltip {
|
||||||
|
objects = { w },
|
||||||
|
mode = "inside",
|
||||||
|
preferred_alignments = "middle",
|
||||||
|
margins = dpi(10)
|
||||||
|
}
|
||||||
|
|
||||||
|
awesome.connect_signal(
|
||||||
|
"update::volume_widget",
|
||||||
|
function(volume, volume_icon)
|
||||||
|
w:get_children_by_id("progressbar1")[1].value = volume
|
||||||
|
w:get_children_by_id("icon1")[1].image = gears.color.recolor_image(volume_icon, color["Yellow200"])
|
||||||
|
tooltip.text = "Volume: " .. volume .. "%"
|
||||||
|
rubato_timer.target = volume
|
||||||
|
end
|
||||||
|
)
|
||||||
|
elseif widget == "microphone" then
|
||||||
|
w = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ --Bar
|
||||||
|
color = color["Purple200"],
|
||||||
|
background_color = color["Grey800"],
|
||||||
|
max_value = 100,
|
||||||
|
value = 50,
|
||||||
|
forced_height = dpi(8),
|
||||||
|
shape = function(cr, width, heigth)
|
||||||
|
gears.shape.rounded_bar(cr, dpi(58), dpi(8))
|
||||||
|
end,
|
||||||
|
id = "progressbar1",
|
||||||
|
widget = wibox.widget.progressbar
|
||||||
|
},
|
||||||
|
id = "background1",
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "background2",
|
||||||
|
forced_height = dpi(58), --120 Base size - (10+10) margin - (4+4) Border - 24 Icon - 10 spacing = 58
|
||||||
|
forced_width = dpi(24),
|
||||||
|
direction = "east",
|
||||||
|
widget = wibox.container.rotate
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ --Icon
|
||||||
|
id = "icon1",
|
||||||
|
image = gears.color.recolor_image(icondir .. "audio/microphone.svg", color["Purple200"]),
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
id = "background3",
|
||||||
|
height = dpi(24),
|
||||||
|
width = dpi(24),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
id = "microphone_layout",
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
}
|
||||||
|
|
||||||
|
local bar = w:get_children_by_id("progressbar1")[1]
|
||||||
|
|
||||||
|
local rubato_timer = rubato.timed {
|
||||||
|
duration = 1,
|
||||||
|
pos = bar.value,
|
||||||
|
easing = rubato.linear,
|
||||||
|
subscribed = function(v)
|
||||||
|
bar.value = v
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
local tooltip = awful.tooltip {
|
||||||
|
objects = { w },
|
||||||
|
mode = "inside",
|
||||||
|
preferred_alignments = "middle",
|
||||||
|
margins = dpi(10)
|
||||||
|
}
|
||||||
|
|
||||||
|
awesome.connect_signal(
|
||||||
|
"update::microphone_widget",
|
||||||
|
function(microphone, microphone_icon)
|
||||||
|
w:get_children_by_id("progressbar1")[1].value = microphone
|
||||||
|
w:get_children_by_id("icon1")[1].image = gears.color.recolor_image(microphone_icon, color["Purple200"])
|
||||||
|
tooltip.text = "Microphone: " .. microphone .. "%"
|
||||||
|
rubato_timer.target = microphone
|
||||||
|
end
|
||||||
|
)
|
||||||
|
elseif widget == "backlight" then
|
||||||
|
w = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ --Bar
|
||||||
|
color = color["Pink200"],
|
||||||
|
background_color = color["Grey800"],
|
||||||
|
max_value = 100,
|
||||||
|
value = 50,
|
||||||
|
forced_height = dpi(8),
|
||||||
|
shape = function(cr, width, heigth)
|
||||||
|
gears.shape.rounded_bar(cr, dpi(58), dpi(8))
|
||||||
|
end,
|
||||||
|
id = "progressbar1",
|
||||||
|
widget = wibox.widget.progressbar
|
||||||
|
},
|
||||||
|
id = "background1",
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "background2",
|
||||||
|
forced_height = dpi(58), --120 Base size - (10+10) margin - (4+4) Border - 24 Icon - 10 spacing = 58
|
||||||
|
forced_width = dpi(24),
|
||||||
|
direction = "east",
|
||||||
|
widget = wibox.container.rotate
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ --Icon
|
||||||
|
id = "icon1",
|
||||||
|
image = gears.color.recolor_image(icondir .. "brightness/brightness-high.svg", color["Pink200"]),
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
id = "background3",
|
||||||
|
height = dpi(24),
|
||||||
|
width = dpi(24),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
id = "brightness_layout",
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
}
|
||||||
|
|
||||||
|
local bar = w:get_children_by_id("progressbar1")[1]
|
||||||
|
|
||||||
|
local rubato_timer = rubato.timed {
|
||||||
|
duration = 1,
|
||||||
|
pos = bar.value,
|
||||||
|
easing = rubato.linear,
|
||||||
|
subscribed = function(v)
|
||||||
|
bar.value = v
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
local tooltip = awful.tooltip {
|
||||||
|
objects = { w },
|
||||||
|
mode = "inside",
|
||||||
|
preferred_alignments = "middle",
|
||||||
|
margins = dpi(10)
|
||||||
|
}
|
||||||
|
|
||||||
|
awesome.connect_signal(
|
||||||
|
"update::backlight_widget",
|
||||||
|
function(backlight, backlight_icon)
|
||||||
|
w:get_children_by_id("progressbar1")[1].value = backlight
|
||||||
|
w:get_children_by_id("icon1")[1].image = gears.color.recolor_image(backlight_icon, color["Pink200"])
|
||||||
|
tooltip.text = "Backlight: " .. backlight .. "%"
|
||||||
|
rubato_timer.target = backlight
|
||||||
|
end
|
||||||
|
)
|
||||||
|
elseif widget == "battery" then
|
||||||
|
w = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ --Bar
|
||||||
|
color = color["Purple200"],
|
||||||
|
background_color = color["Grey800"],
|
||||||
|
max_value = 100,
|
||||||
|
value = 50,
|
||||||
|
forced_height = dpi(8),
|
||||||
|
shape = function(cr, width, heigth)
|
||||||
|
gears.shape.rounded_bar(cr, dpi(58), dpi(8))
|
||||||
|
end,
|
||||||
|
id = "progressbar1",
|
||||||
|
widget = wibox.widget.progressbar
|
||||||
|
},
|
||||||
|
id = "background1",
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "background2",
|
||||||
|
forced_height = dpi(58), --120 Base size - (10+10) margin - (4+4) Border - 24 Icon - 10 spacing = 58
|
||||||
|
forced_width = dpi(24),
|
||||||
|
direction = "east",
|
||||||
|
widget = wibox.container.rotate
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ --Icon
|
||||||
|
id = "icon1",
|
||||||
|
image = gears.color.recolor_image(icondir .. "battery/battery.svg", color["Purple200"]),
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
id = "background3",
|
||||||
|
height = dpi(24),
|
||||||
|
width = dpi(24),
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
id = "battery_layout",
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
}
|
||||||
|
|
||||||
|
local bar = w:get_children_by_id("progressbar1")[1]
|
||||||
|
|
||||||
|
local rubato_timer = rubato.timed {
|
||||||
|
duration = 1,
|
||||||
|
pos = bar.value,
|
||||||
|
easing = rubato.linear,
|
||||||
|
subscribed = function(v)
|
||||||
|
bar.value = v
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
local tooltip = awful.tooltip {
|
||||||
|
objects = { w },
|
||||||
|
mode = "inside",
|
||||||
|
preferred_alignments = "middle",
|
||||||
|
margins = dpi(10)
|
||||||
|
}
|
||||||
|
|
||||||
|
awesome.connect_signal(
|
||||||
|
"update::battery_widget",
|
||||||
|
function(battery, battery_icon)
|
||||||
|
w:get_children_by_id("progressbar1")[1].value = battery
|
||||||
|
w:get_children_by_id("icon1")[1].image = gears.color.recolor_image(battery_icon, color["Purple200"])
|
||||||
|
tooltip.text = "Battery: " .. battery .. "%"
|
||||||
|
rubato_timer.target = battery
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
table.insert(bar_layout, w)
|
||||||
|
end
|
||||||
|
|
||||||
|
return bar_layout
|
||||||
|
end
|
||||||
|
|
||||||
|
local signal_bars = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
create_bar_layout({ "cpu_usage", "cpu_temp", "ram_usage", "battery", "microphone", "backlight", "volume", "gpu_temp", "gpu_usage" }),
|
||||||
|
width = dpi(480),
|
||||||
|
strategy = "exact",
|
||||||
|
widget = wibox.container.constraint
|
||||||
|
},
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
magins = dpi(10),
|
||||||
|
layout = wibox.container.margin
|
||||||
|
},
|
||||||
|
forced_height = dpi(120),
|
||||||
|
forced_width = dpi(500),
|
||||||
|
border_color = color["Grey800"],
|
||||||
|
border_width = dpi(4),
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, dpi(10))
|
||||||
|
end,
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
top = dpi(10),
|
||||||
|
left = dpi(20),
|
||||||
|
right = dpi(20),
|
||||||
|
bottom = dpi(10),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
}
|
||||||
|
|
||||||
|
return signal_bars
|
||||||
|
|
||||||
|
end
|
||||||
65
awesome/src/modules/notification-center/time_date.lua
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
----------------------------------
|
||||||
|
-- This is the time_date widget --
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
-- Awesome Libs
|
||||||
|
local dpi = require("beautiful").xresources.apply_dpi
|
||||||
|
local wibox = require("wibox")
|
||||||
|
|
||||||
|
return function()
|
||||||
|
|
||||||
|
local time_date = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ -- Time
|
||||||
|
{
|
||||||
|
id = "label",
|
||||||
|
align = "center",
|
||||||
|
valign = "center",
|
||||||
|
format = "<span foreground='#18FFFF' font='JetBrainsMono Nerd Font, Bold 46'><b>%H:%M</b></span>",
|
||||||
|
widget = wibox.widget.textclock
|
||||||
|
},
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
{ -- Date and Day
|
||||||
|
{ -- Date
|
||||||
|
{
|
||||||
|
id = "label",
|
||||||
|
align = "left",
|
||||||
|
valign = "bottom",
|
||||||
|
format = "<span foreground='#69F0AE' font='JetBrainsMono Nerd Font, Regular 18'><b>%e</b></span><span foreground='#18FFFF' font='JetBrainsMono Nerd Font, Regular 18'><b> %b %Y</b></span>",
|
||||||
|
widget = wibox.widget.textclock
|
||||||
|
},
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
{ -- Day
|
||||||
|
{
|
||||||
|
id = "label",
|
||||||
|
align = "left",
|
||||||
|
valign = "top",
|
||||||
|
format = "<span foreground='#69F0AE' font='JetBrainsMono Nerd Font, Bold 20'><b>%A</b></span>",
|
||||||
|
widget = wibox.widget.textclock
|
||||||
|
},
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
layout = wibox.layout.flex.vertical
|
||||||
|
},
|
||||||
|
spacing = dpi(20),
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
valign = "center",
|
||||||
|
halign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "background",
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
id = "margin",
|
||||||
|
margins = dpi(20),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
}
|
||||||
|
|
||||||
|
return time_date
|
||||||
|
|
||||||
|
end
|
||||||
219
awesome/src/modules/notification-center/weather.lua
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
--------------------------------
|
||||||
|
-- This is the weather widget --
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
-- Awesome Libs
|
||||||
|
local awful = require("awful")
|
||||||
|
local color = require("src.theme.colors")
|
||||||
|
local dpi = require("beautiful").xresources.apply_dpi
|
||||||
|
local gears = require("gears")
|
||||||
|
local wibox = require("wibox")
|
||||||
|
local naughty = require("naughty")
|
||||||
|
|
||||||
|
local json_lua = require("src.lib.json-lua.json-lua")
|
||||||
|
|
||||||
|
-- Icon directory path
|
||||||
|
local icondir = awful.util.getdir("config") .. "src/assets/icons/weather/"
|
||||||
|
|
||||||
|
return function()
|
||||||
|
|
||||||
|
local api_secrets = {
|
||||||
|
key = user_vars.weather_secrets.key,
|
||||||
|
city_id = user_vars.weather_secrets.city_id,
|
||||||
|
unit = user_vars.weather_secrets.unit
|
||||||
|
}
|
||||||
|
|
||||||
|
local weather_widget = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ -- Icon
|
||||||
|
valign = "center",
|
||||||
|
align = "center",
|
||||||
|
resize = true,
|
||||||
|
forced_width = dpi(64),
|
||||||
|
forced_height = dpi(64),
|
||||||
|
widget = wibox.widget.imagebox,
|
||||||
|
id = "icon"
|
||||||
|
},
|
||||||
|
id = "place2",
|
||||||
|
valing = "center",
|
||||||
|
halign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
{ -- Temperature
|
||||||
|
text = "0°C",
|
||||||
|
valign = "center",
|
||||||
|
align = "center",
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
font = "JetBrains Mono Bold 24",
|
||||||
|
id = "temp"
|
||||||
|
},
|
||||||
|
{ -- City, Country
|
||||||
|
text = "City, Country",
|
||||||
|
valign = "center",
|
||||||
|
align = "center",
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
id = "city_country",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ -- Description
|
||||||
|
text = "Description",
|
||||||
|
valign = "center",
|
||||||
|
align = "center",
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
id = "description"
|
||||||
|
},
|
||||||
|
fg = color["LightBlue200"],
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
{ -- line
|
||||||
|
forced_height = dpi(4),
|
||||||
|
forced_width = dpi(10),
|
||||||
|
bg = color["Grey800"],
|
||||||
|
widget = wibox.container.background,
|
||||||
|
id = "line"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ -- Speed
|
||||||
|
{
|
||||||
|
image = gears.color.recolor_image(icondir .. "weather-windy.svg", color["OrangeA200"]),
|
||||||
|
resize = true,
|
||||||
|
forced_width = dpi(24),
|
||||||
|
forced_height = dpi(24),
|
||||||
|
widget = wibox.widget.imagebox
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text = "",
|
||||||
|
valign = "center",
|
||||||
|
align = "center",
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
id = "speed"
|
||||||
|
},
|
||||||
|
spacing = dpi(10),
|
||||||
|
id = "layout3",
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
id = "place4",
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ -- Humidity
|
||||||
|
{
|
||||||
|
forced_width = dpi(24),
|
||||||
|
forced_height = dpi(24),
|
||||||
|
widget = wibox.widget.imagebox,
|
||||||
|
image = gears.color.recolor_image(icondir .. "humidity.svg", color["OrangeA200"]),
|
||||||
|
id = "humidity_icon"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text = "",
|
||||||
|
valign = "center",
|
||||||
|
align = "center",
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
id = "humidity"
|
||||||
|
},
|
||||||
|
spacing = dpi(10),
|
||||||
|
id = "layoutHum",
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "lyt",
|
||||||
|
spacing = dpi(10),
|
||||||
|
layout = wibox.layout.fixed.vertical
|
||||||
|
},
|
||||||
|
margins = dpi(20),
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
},
|
||||||
|
id = "center",
|
||||||
|
halign = "center",
|
||||||
|
valign = "center",
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
id = "background",
|
||||||
|
border_color = color["Grey800"],
|
||||||
|
border_width = dpi(4),
|
||||||
|
shape = function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, dpi(12))
|
||||||
|
end,
|
||||||
|
widget = wibox.container.background
|
||||||
|
},
|
||||||
|
id = "margin",
|
||||||
|
top = dpi(20),
|
||||||
|
left = dpi(20),
|
||||||
|
right = dpi(10),
|
||||||
|
bottom = dpi(10),
|
||||||
|
forced_width = dpi(250),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
}
|
||||||
|
|
||||||
|
local function fetch_weather_data()
|
||||||
|
awful.spawn.easy_async_with_shell(
|
||||||
|
"curl -sf 'http://api.openweathermap.org/data/2.5/weather?id=" .. api_secrets.city_id .. "&units=" .. api_secrets.unit .. "&appid=" .. api_secrets.key .. "'",
|
||||||
|
function(stdout)
|
||||||
|
if not stdout:match('error') then
|
||||||
|
local weather_metadata = json_lua:decode(stdout)
|
||||||
|
if weather_metadata then
|
||||||
|
local temp = weather_metadata.main.temp
|
||||||
|
local humidity = weather_metadata.main.humidity
|
||||||
|
local city = weather_metadata.name
|
||||||
|
local country = weather_metadata.sys.country
|
||||||
|
local weather_icon = weather_metadata.weather[1].icon
|
||||||
|
local description = weather_metadata.weather[1].description
|
||||||
|
local speed = weather_metadata.wind.speed
|
||||||
|
|
||||||
|
local icon_table = {
|
||||||
|
["01d"] = "weather-sunny",
|
||||||
|
["01n"] = "weather-clear-night",
|
||||||
|
["02d"] = "weather-partly-cloudy",
|
||||||
|
["02n"] = "weather-night-partly-cloudy",
|
||||||
|
["03d"] = "weather-cloudy",
|
||||||
|
["03n"] = "weather-clouds-night",
|
||||||
|
["04d"] = "weather-cloudy",
|
||||||
|
["04n"] = "weather-cloudy",
|
||||||
|
["09d"] = "weather-rainy",
|
||||||
|
["09n"] = "weather-rainy",
|
||||||
|
["10d"] = "weather-partly-rainy",
|
||||||
|
["10n"] = "weather-partly-rainy",
|
||||||
|
["11d"] = "weather-pouring",
|
||||||
|
["11n"] = "weather-pouring",
|
||||||
|
["13d"] = "weather-snowy",
|
||||||
|
["13n"] = "weather-snowy",
|
||||||
|
["50d"] = "weather-fog",
|
||||||
|
["50n"] = "weather-fog"
|
||||||
|
}
|
||||||
|
|
||||||
|
weather_widget:get_children_by_id("icon")[1].image = icondir .. icon_table[weather_icon] .. ".svg"
|
||||||
|
weather_widget:get_children_by_id("temp")[1].text = math.floor(temp + 0.5) .. "°C"
|
||||||
|
weather_widget:get_children_by_id("city_country")[1].text = city .. ", " .. country
|
||||||
|
weather_widget:get_children_by_id("description")[1].text = description:sub(1, 1):upper() .. description:sub(2)
|
||||||
|
weather_widget:get_children_by_id("line")[1].bg = color["Grey800"]
|
||||||
|
weather_widget:get_children_by_id("speed")[1].text = speed .. " m/s"
|
||||||
|
weather_widget:get_children_by_id("humidity")[1].text = humidity .. "%"
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
fetch_weather_data()
|
||||||
|
|
||||||
|
gears.timer {
|
||||||
|
timeout = 900,
|
||||||
|
autostart = true,
|
||||||
|
callback = function()
|
||||||
|
fetch_weather_data()
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
return weather_widget
|
||||||
|
|
||||||
|
end
|
||||||
@@ -706,10 +706,18 @@ return function(s)
|
|||||||
stdout = function(line)
|
stdout = function(line)
|
||||||
get_input_devices()
|
get_input_devices()
|
||||||
get_source_devices()
|
get_source_devices()
|
||||||
|
awful.spawn.with_shell("pkill pactl && pkill grep")
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
awesome.connect_signal(
|
||||||
|
"exit",
|
||||||
|
function()
|
||||||
|
awful.spawn.with_shell("pkill pactl && pkill grep")
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
-- Get microphone volume
|
-- Get microphone volume
|
||||||
local function get_mic_volume()
|
local function get_mic_volume()
|
||||||
awful.spawn.easy_async_with_shell(
|
awful.spawn.easy_async_with_shell(
|
||||||
@@ -834,8 +842,10 @@ return function(s)
|
|||||||
function(volume)
|
function(volume)
|
||||||
if volume > 0 then
|
if volume > 0 then
|
||||||
volume_controller:get_children_by_id("mic_volume_margin")[1].mic_volume.icon:set_image(gears.color.recolor_image(icondir .. "microphone.svg", color["LightBlue200"]))
|
volume_controller:get_children_by_id("mic_volume_margin")[1].mic_volume.icon:set_image(gears.color.recolor_image(icondir .. "microphone.svg", color["LightBlue200"]))
|
||||||
|
awesome.emit_signal("update::microphone_widget", tonumber(volume), icondir .. "microphone.svg")
|
||||||
else
|
else
|
||||||
volume_controller:get_children_by_id("mic_volume_margin")[1].mic_volume.icon:set_image(gears.color.recolor_image(icondir .. "microphone-off.svg", color["LightBlue200"]))
|
volume_controller:get_children_by_id("mic_volume_margin")[1].mic_volume.icon:set_image(gears.color.recolor_image(icondir .. "microphone-off.svg", color["LightBlue200"]))
|
||||||
|
awesome.emit_signal("update::microphone_widget", tonumber(volume), icondir .. "microphone-off.svg")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|||||||
0
awesome/src/scripts/wifi.sh
Executable file
@@ -8,6 +8,17 @@ local home = os.getenv("HOME")
|
|||||||
-- If you want different default programs, wallpaper path or modkey; edit this file.
|
-- If you want different default programs, wallpaper path or modkey; edit this file.
|
||||||
user_vars = {
|
user_vars = {
|
||||||
|
|
||||||
|
-- Uses the openweather api https://home.openweathermap.org/api_keys
|
||||||
|
-- City ID is also from there
|
||||||
|
weather_secrets = {
|
||||||
|
key = "e71b00168ca7219563dde4514a425b14",
|
||||||
|
city_id = "2864118",
|
||||||
|
unit = "metric" -- "metric" or "imperial"
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Do not Disturb will turn off all notifications but keep the notification-list in the notification-center
|
||||||
|
dnd = false,
|
||||||
|
|
||||||
-- Autotiling layouts
|
-- Autotiling layouts
|
||||||
layouts = {
|
layouts = {
|
||||||
awful.layout.suit.tile,
|
awful.layout.suit.tile,
|
||||||
@@ -38,7 +49,8 @@ user_vars = {
|
|||||||
"flatpak run com.spotify.Client",
|
"flatpak run com.spotify.Client",
|
||||||
"discord",
|
"discord",
|
||||||
"/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1",
|
"/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1",
|
||||||
"setxkbmap -option caps:swapescape"
|
"setxkbmap -option caps:swapescape",
|
||||||
|
"whatsdesk"
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Type 'ip a' and check your wlan and ethernet name
|
-- Type 'ip a' and check your wlan and ethernet name
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ return function(s)
|
|||||||
audio_widget.container.audio_layout.icon_margin.icon_layout.icon:set_image(
|
audio_widget.container.audio_layout.icon_margin.icon_layout.icon:set_image(
|
||||||
gears.color.recolor_image(icon .. ".svg", color["Grey900"]))
|
gears.color.recolor_image(icon .. ".svg", color["Grey900"]))
|
||||||
awesome.emit_signal("get::volume", volume)
|
awesome.emit_signal("get::volume", volume)
|
||||||
|
awesome.emit_signal("update::volume_widget", volume, icon .. ".svg")
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ return function()
|
|||||||
|
|
||||||
battery_widget.container.battery_layout.icon_margin.icon_layout.icon:set_image(gears.surface.load_uncached(
|
battery_widget.container.battery_layout.icon_margin.icon_layout.icon:set_image(gears.surface.load_uncached(
|
||||||
gears.color.recolor_image(icondir .. icon .. '.svg', "#212121")))
|
gears.color.recolor_image(icondir .. icon .. '.svg', "#212121")))
|
||||||
|
awesome.emit_signal("update::battery_widget", battery_percentage, icondir .. icon .. ".svg")
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -155,6 +155,7 @@ return function(widget, clock_mode)
|
|||||||
local diff_usage = (1000 * (diff_total - diff_idle) / diff_total + 5) / 10
|
local diff_usage = (1000 * (diff_total - diff_idle) / diff_total + 5) / 10
|
||||||
|
|
||||||
cpu_usage_widget.container.cpu_layout.label.text = tostring(math.floor(diff_usage)) .. "%"
|
cpu_usage_widget.container.cpu_layout.label.text = tostring(math.floor(diff_usage)) .. "%"
|
||||||
|
awesome.emit_signal("update::cpu_usage_widget", math.floor(diff_usage + 0.5))
|
||||||
|
|
||||||
total_prev = total
|
total_prev = total
|
||||||
idle_prev = idle
|
idle_prev = idle
|
||||||
@@ -185,6 +186,7 @@ return function(widget, clock_mode)
|
|||||||
cpu_temp.container.cpu_layout.icon_margin.icon_layout.icon:set_image(temp_icon)
|
cpu_temp.container.cpu_layout.icon_margin.icon_layout.icon:set_image(temp_icon)
|
||||||
cpu_temp:set_bg(temp_color)
|
cpu_temp:set_bg(temp_color)
|
||||||
cpu_temp.container.cpu_layout.label.text = math.floor(temp_num) .. "°C"
|
cpu_temp.container.cpu_layout.label.text = math.floor(temp_num) .. "°C"
|
||||||
|
awesome.emit_signal("update::cpu_temp_widget", temp_num, temp_icon)
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -205,9 +207,9 @@ return function(widget, clock_mode)
|
|||||||
average = average + cpu_freq[i]
|
average = average + cpu_freq[i]
|
||||||
end
|
end
|
||||||
average = math.floor(average / #cpu_freq)
|
average = math.floor(average / #cpu_freq)
|
||||||
cpu_clock.container.cpu_layout.label.text = tonumber(average) .. "Mhz"
|
cpu_clock.container.cpu_layout.label.text = average .. "Mhz"
|
||||||
elseif clock_mode then
|
elseif clock_mode then
|
||||||
cpu_clock.container.cpu_layout.label.text = tonumber(cpu_freq[clock_mode]) .. "Mhz"
|
cpu_clock.container.cpu_layout.label.text = cpu_freq[clock_mode] .. "Mhz"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ return function(widget)
|
|||||||
3,
|
3,
|
||||||
function(_, stdout)
|
function(_, stdout)
|
||||||
gpu_usage_widget.container.gpu_layout.label.text = stdout:gsub("\n", "") .. "%"
|
gpu_usage_widget.container.gpu_layout.label.text = stdout:gsub("\n", "") .. "%"
|
||||||
|
awesome.emit_signal("update::gpu_usage_widget", tonumber(stdout))
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -131,6 +132,7 @@ return function(widget)
|
|||||||
gpu_temp_widget.container.gpu_layout.icon_margin.icon_layout.icon:set_image(temp_icon)
|
gpu_temp_widget.container.gpu_layout.icon_margin.icon_layout.icon:set_image(temp_icon)
|
||||||
gpu_temp_widget:set_bg(temp_color)
|
gpu_temp_widget:set_bg(temp_color)
|
||||||
gpu_temp_widget.container.gpu_layout.label.text = tostring(temp_num) .. "°C"
|
gpu_temp_widget.container.gpu_layout.label.text = tostring(temp_num) .. "°C"
|
||||||
|
awesome.emit_signal("update::gpu_temp_widget", temp_num, temp_icon)
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,10 @@ return function()
|
|||||||
|
|
||||||
local MemTotal, MemFree, MemAvailable = stdout:match("(%d+)\n(%d+)\n(%d+)\n")
|
local MemTotal, MemFree, MemAvailable = stdout:match("(%d+)\n(%d+)\n(%d+)\n")
|
||||||
|
|
||||||
ram_widget.container.ram_layout.label.text = tostring(string.format("%.1f", ((MemTotal - MemAvailable) / 1024 / 1024)) .. "/" .. string.format("%.1f", (MemTotal / 1024 / 1024)) .. "GB"):gsub(",", ".")
|
local ram_string = tostring(string.format("%.1f", ((MemTotal - MemAvailable) / 1024 / 1024)) .. "/" .. string.format("%.1f", (MemTotal / 1024 / 1024)) .. "GB"):gsub(",", ".")
|
||||||
|
|
||||||
|
ram_widget.container.ram_layout.label.text = ram_string
|
||||||
|
awesome.emit_signal("update::ram_widget", math.floor(((MemTotal - MemAvailable) / MemTotal * 100) + 0.5))
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ return function(s)
|
|||||||
id = 'st'
|
id = 'st'
|
||||||
},
|
},
|
||||||
strategy = "exact",
|
strategy = "exact",
|
||||||
layout = wibox.container.constraint,
|
widget = wibox.container.constraint,
|
||||||
id = "container"
|
id = "container"
|
||||||
},
|
},
|
||||||
widget = wibox.container.background,
|
widget = wibox.container.background,
|
||||||
|
|||||||