al-skel/awesome-home/.config/awesome/archlabs-extras/disk.lua
2019-08-25 10:48:40 -07:00

59 lines
1.3 KiB
Lua

local awful = require("awful")
local gears = require("gears")
local wibox = require("wibox")
local beautiful = require("beautiful")
-- Configuration
local update_interval = 120 -- in seconds
local disk = wibox.widget{
text = "free disk space",
align = 'center',
valign = 'center',
widget = wibox.widget.textbox
}
-- Mouse control
-- disk:buttons(gears.table.join(
-- --
-- awful.button({ }, 1, function ()
-- end),
-- --
-- awful.button({ }, 2, function ()
-- end),
-- --
-- awful.button({ }, 3, function ()
-- end),
-- --
-- awful.button({ }, 4, function ()
-- end),
-- awful.button({ }, 5, function ()
-- end)
-- ))
local function update_widget(disk_space)
disk.markup = disk_space .. "B free"
end
-- Signals
-- disk:connect_signal("mouse::enter", function ()
-- update_widget()
-- end)
-- update_widget()
-- Use /dev/sdXY according to your setup
local disk_script = [[
bash -c "
df -k -h /dev/sda2 | tail -1 | awk '{print $4}'
"]]
awful.widget.watch(disk_script, update_interval, function(widget, stdout)
local disk_space = stdout
-- Remove trailing white space
disk_space = string.gsub(disk_space, '^%s*(.-)%s*$', '%1')
update_widget(disk_space)
end)
return disk