summaryrefslogtreecommitdiff
path: root/VolumeWidget/volume.lua
diff options
context:
space:
mode:
Diffstat (limited to 'VolumeWidget/volume.lua')
-rw-r--r--VolumeWidget/volume.lua35
1 files changed, 35 insertions, 0 deletions
diff --git a/VolumeWidget/volume.lua b/VolumeWidget/volume.lua
new file mode 100644
index 0000000..e800c32
--- /dev/null
+++ b/VolumeWidget/volume.lua
@@ -0,0 +1,35 @@
+local wibox = require("wibox")
+local awful = require("awful")
+
+volume_widget = wibox.widget.textbox()
+volume_icon = wibox.widget.imagebox()
+
+function update_volume(widget, icon)
+ local fd = io.popen("amixer -D pulse sget Master")
+ local status = fd:read("*all")
+ fd:close()
+
+ local volume = string.match(status, "(%d?%d?%d)%%")
+ volume = tonumber(string.format("% 3d", volume))
+
+ status = string.match(status, "%[(o[^%]]*)%]")
+
+ if (volume >= 0 and volume < 10) then volumeLevel=1
+ elseif (volume >= 10 and volume < 20) then volumeLevel=2
+ elseif (volume >= 20 and volume < 30) then volumeLevel=3
+ elseif (volume >= 30 and volume < 40) then volumeLevel=4
+ elseif (volume >= 40 and volume < 50) then volumeLevel=5
+ elseif (volume >= 50 and volume < 60) then volumeLevel=6
+ elseif (volume >= 60 and volume < 70) then volumeLevel=7
+ elseif (volume >= 70 and volume < 80) then volumeLevel=8
+ elseif (volume >= 80 and volume <= 100) then volumeLevel=9
+ end
+
+ icon:set_image("/home/pashik/.config/awesome/volume-icons/" .. volumeLevel .. ".png")
+end
+
+update_volume(volume_widget, volume_icon)
+
+mytimer = timer({ timeout = 0.2 })
+mytimer:connect_signal("timeout", function () update_volume(volume_widget, volume_icon) end)
+mytimer:start() \ No newline at end of file