30 lines
		
	
	
		
			838 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			838 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
| local wibox = require("wibox")
 | |
| local awful = require("awful")
 | |
| 
 | |
| volume_widget = wibox.widget.textbox()
 | |
| volume_widget:set_align("right")
 | |
| 
 | |
| function update_volume()
 | |
| 
 | |
|     awful.spawn.easy_async('amixer sget Master', function(stdout, stderr)
 | |
|         local status = stdout
 | |
|         local widget = volume_widget
 | |
| 
 | |
|         -- local volume = tonumber(string.match(status, "(%d?%d?%d)%%")) / 100
 | |
|         local volume = string.match(status, "(%d?%d?%d)%%")
 | |
|         volume = string.format("% 3d", volume)
 | |
|         status = string.match(status, "%[(o[^%]]*)%]")
 | |
| 
 | |
|         if string.find(status, "on", 1, true) then
 | |
|             -- For the volume numbers
 | |
|             volume = volume .. "%"
 | |
|         else
 | |
|             -- For the mute button
 | |
|             volume = volume .. "M"
 | |
|         end
 | |
|         widget:set_markup("V :" .. volume)
 | |
|     end)
 | |
| end
 | |
| 
 | |
| update_volume()
 |