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
