mirror of
https://github.com/kastdeur/dotfiles.git
synced 2025-06-18 05:06:38 +02:00
Updated mainprofile, removed autoindent in vim. Set up awesome.lua with xinitrc. See if it works
This commit is contained in:
parent
3bbb4d6c9a
commit
cc8ca493c8
15 changed files with 600 additions and 507 deletions
77
awesome/widgets/volume.lua
Normal file
77
awesome/widgets/volume.lua
Normal file
|
@ -0,0 +1,77 @@
|
|||
-- Volume widget
|
||||
local awful = require("awful")
|
||||
local wibox = require("wibox")
|
||||
|
||||
volumecfg = {}
|
||||
volumecfg.channel = "Master"
|
||||
|
||||
volumecfg.widget = wibox.widget.textbox()
|
||||
volumecfg.widget:set_align("right")
|
||||
volumecfg.widget.name = 'volumecfg.widget'
|
||||
|
||||
volumecfg_t = awful.tooltip({ objects = { volumecfg.widget },})
|
||||
volumecfg_t:set_text("Volume")
|
||||
|
||||
-- command must start with a space!
|
||||
volumecfg.mixercommand = function (command)
|
||||
local fd = io.popen("amixer " .. command)
|
||||
local status = fd:read("*all")
|
||||
fd:close()
|
||||
|
||||
local volume = tonumber(string.match(status, "(%d?%d?%d)%%"))
|
||||
-- volume = string.format("% 3d", volume)
|
||||
status = string.match(status, "%[(o[^%]]*)%]")
|
||||
|
||||
-- starting colour
|
||||
local sr, sg, sb = 0x3F, 0x3F, 0x3F
|
||||
-- ending colour
|
||||
local er, eg, eb = 0xDC, 0xDC, 0xCC
|
||||
|
||||
if string.find(status, "on", 1, true) then
|
||||
color = 'grey'
|
||||
mute = '♪'
|
||||
else
|
||||
sr, sg, sb = 0xFF, 0x33, 0xAA
|
||||
color = 'red'
|
||||
mute = 'M'
|
||||
end
|
||||
|
||||
local ir = math.floor(volume/100 * (er - sr) + sr)
|
||||
local ig = math.floor(volume/100 * (eg - sg) + sg)
|
||||
local ib = math.floor(volume/100 * (eb - sb) + sb)
|
||||
interpol_colour = string.format("%.2x%.2x%.2x", sr, ig, sb)
|
||||
|
||||
volume = " <span color='" .. color .. "' background='#" .. interpol_colour .. "'> ".. mute .. math.floor(volume) .. "% </span>"
|
||||
-- volume = volume .. "%"
|
||||
|
||||
|
||||
volumecfg.widget.text = volume
|
||||
volumecfg.widget:set_markup(volume)
|
||||
|
||||
end
|
||||
volumecfg.update = function ()
|
||||
volumecfg.mixercommand(" sget " .. volumecfg.channel)
|
||||
end
|
||||
volumecfg.up = function ()
|
||||
volumecfg.mixercommand(" sset " .. volumecfg.channel .. " 1%+")
|
||||
end
|
||||
volumecfg.down = function ()
|
||||
volumecfg.mixercommand(" sset " .. volumecfg.channel .. " 1%-")
|
||||
end
|
||||
volumecfg.toggle = function ()
|
||||
volumecfg.mixercommand(" sset " .. volumecfg.channel .. " toggle")
|
||||
end
|
||||
volumecfg.widget:buttons(awful.util.table.join(
|
||||
awful.button({ }, 4, function () volumecfg.up() end),
|
||||
awful.button({ }, 5, function () volumecfg.down() end),
|
||||
awful.button({ }, 1, function () volumecfg.toggle() end),
|
||||
awful.button({ }, 3, function () os.execute("pavucontrol &") end)
|
||||
))
|
||||
-- start updating
|
||||
volumecfg.update()
|
||||
-- start timer
|
||||
mytimer = timer({ timeout = 1 })
|
||||
mytimer:connect_signal("timeout", function () volumecfg.update() end)
|
||||
mytimer:start()
|
||||
|
||||
return volumecfg
|
Loading…
Add table
Add a link
Reference in a new issue