aboutsummaryrefslogtreecommitdiff
path: root/.config/awesome/ui/statusbar/panel/widgets/displays.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/awesome/ui/statusbar/panel/widgets/displays.lua')
-rw-r--r--.config/awesome/ui/statusbar/panel/widgets/displays.lua78
1 files changed, 28 insertions, 50 deletions
diff --git a/.config/awesome/ui/statusbar/panel/widgets/displays.lua b/.config/awesome/ui/statusbar/panel/widgets/displays.lua
index cd05253..de15bd5 100644
--- a/.config/awesome/ui/statusbar/panel/widgets/displays.lua
+++ b/.config/awesome/ui/statusbar/panel/widgets/displays.lua
@@ -1,9 +1,8 @@
+local phosphor = require "assets.phosphor"
local qmath = require "quarrel.math"
-local qvars = require "quarrel.vars"
local qui = require "quarrel.ui"
+local qvars = require "quarrel.vars"
local wibox = require "wibox"
-local phosphor = require "assets.phosphor"
-local gcolor = require "gears.color"
local function create_display(icon, color)
return wibox.widget(qui.styled {
@@ -24,13 +23,7 @@ local function create_display(icon, color)
forced_width = qvars.element_size * 4,
{
widget = wibox.container.place,
- {
- widget = wibox.widget.imagebox,
- image = icon,
- forced_height = qvars.char_height,
- forced_width = qvars.char_height,
- id = "icon"
- }
+ qui.icon(icon, color, { id = "icon" })
},
id = "indicator"
},
@@ -50,55 +43,40 @@ local function create_display(icon, color)
})
end
-local d_battery = create_display(gcolor.recolor_image(phosphor.battery_vertical_warning_fill, qvars.colors.fg), qvars.colors.red)
-
-awesome.connect_signal("services::battery", function(capacity, status)
- local icon_data = status == "Charging" and { "charging", "green" } or qmath.step_value(capacity, {
- { 0, { "empty", "red" } },
- { 20, { "low", "red" } },
- { 40, { "medium", "yellow" } },
- { 60, { "high", "green" } },
- { 80, { "full", "green" } },
- { 100 }
- })
+local d_audio = create_display(phosphor.speaker_simple_high_fill, qvars.colors.fg)
+awesome.connect_signal("services::audio", function(volume)
+ if not volume then
+ return
+ end
+ d_audio:get_children_by_id("indicator")[1].value = math.min(volume, 100)
+ d_audio:get_children_by_id("text")[1].text = volume .. "%"
+end)
+awesome.connect_signal("services::audio::icon", function(icon, color)
+ d_audio:get_children_by_id("indicator")[1].color = color
+ d_audio:get_children_by_id("icon")[1].image = icon
+ d_audio:get_children_by_id("icon")[1].stylesheet = qui.recolor(color)
+end)
- d_battery:get_children_by_id("indicator")[1].color = qvars.colors[icon_data[2]]
+local d_battery = create_display(phosphor.battery_vertical_warning_fill, qvars.colors.red)
+awesome.connect_signal("services::battery", function(capacity)
d_battery:get_children_by_id("indicator")[1].value = capacity
- d_battery:get_children_by_id("icon")[1].image = gcolor.recolor_image(phosphor["battery_vertical_" .. icon_data[1] .. "_fill"], qvars.colors[icon_data[2]])
-
d_battery:get_children_by_id("text")[1].text = capacity .. "%"
end)
-
-local d_volume = create_display(gcolor.recolor_image(phosphor.speaker_simple_high_fill, qvars.colors.fg), qvars.colors.fg)
-
-awesome.connect_signal("services::audio", function(volume, muted)
- d_volume:get_children_by_id("indicator")[1].value = math.min(volume, 100)
- d_volume:get_children_by_id("text")[1].text = volume .. "%"
-
- if muted then
- d_volume:get_children_by_id("icon")[1].image = gcolor.recolor_image(phosphor["speaker_simple_x_fill"], qvars.colors.red)
- return
- end
-
- local icon_data = qmath.step_value(volume, {
- { 0, "slash" },
- { 25, "none" },
- { 50, "low" },
- { 75, "high" },
- { 100 }
- })
-
- d_volume:get_children_by_id("icon")[1].image = gcolor.recolor_image(phosphor["speaker_simple_" .. icon_data .. "_fill"], qvars.colors.fg)
+awesome.connect_signal("services::battery::icon", function(icon, color)
+ d_battery:get_children_by_id("indicator")[1].color = color
+ d_battery:get_children_by_id("icon")[1].image = icon
+ d_battery:get_children_by_id("icon")[1].stylesheet = qui.recolor(color)
end)
-local d_brightness = create_display(gcolor.recolor_image(phosphor.sun_fill, qvars.colors.fg), qvars.colors.fg)
-
+local d_brightness = create_display(phosphor.sun_fill, qvars.colors.fg)
awesome.connect_signal("services::brightness", function(brightness)
brightness = math.floor(qmath.translate_range(brightness, 0, 255, 0, 100))
-
d_brightness:get_children_by_id("indicator")[1].value = brightness
-
d_brightness:get_children_by_id("text")[1].text = brightness .. "%"
end)
+awesome.connect_signal("services::brightness::icon", function(icon, color)
+ d_brightness:get_children_by_id("icon")[1].image = icon
+ d_brightness:get_children_by_id("icon")[1].stylesheet = qui.recolor(color)
+end)
-return { battery = d_battery, volume = d_volume, brightness = d_brightness }
+return { audio = d_audio, battery = d_battery, brightness = d_brightness }