X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/8ba5f4a7ef8c86c58a90433fa781dda2f444f47c..c155301459aa73a1b5e9a1b674be12f03021c4fe:/widgets/fs.lua?ds=sidebyside diff --git a/widgets/fs.lua b/widgets/fs.lua index 4e9f04b..ec87191 100644 --- a/widgets/fs.lua +++ b/widgets/fs.lua @@ -20,10 +20,7 @@ local setmetatable = setmetatable -- File system disk space usage -- lain.widgets.fs -local fs = helpers.make_widget_textbox() - --- Unit definitions -fs.unit = { ["mb"] = 1024, ["gb"] = 1024^2 } +local fs = { unit = { ["mb"] = 1024, ["gb"] = 1024^2 } } function fs.hide() if not fs.notification then return end @@ -61,17 +58,20 @@ local function worker(args) fs.notification_preset = args.notification_preset if not fs.notification_preset then - fs.notification_preset = naughty.config.defaults - fs.notification_preset.font = "Monospace 10" - fs.notification_preset.fg = "#FFFFFF" - fs.notification_preset.bg = "#000000" + fs.notification_preset = { + font = "Monospace 10", + fg = "#FFFFFF", + bg = "#000000" + } end + fs.widget = wibox.widget.textbox() + helpers.set_map(partition, false) function fs.update() fs_info, fs_now = {}, {} - helpers.async({ shell, "-c", "LC_ALL=C df -k --output=target,size,used,avail,pcent" }, function(f) + helpers.async({ shell, "-c", "/usr/bin/env LC_ALL=C df -k --output=target,size,used,avail,pcent" }, function(f) for line in string.gmatch(f, "\n[^\n]+") do local m,s,u,a,p = string.match(line, "(/.-%s).-(%d+).-(%d+).-(%d+).-([%d]+)%%") m = m:gsub(" ", "") -- clean target from any whitespace @@ -99,7 +99,7 @@ local function worker(args) widget = fs.widget settings() - if notify == "on" and tonumber(fs_now.used) >= 99 and not helpers.get_map(partition) then + if notify == "on" and #fs_now.used > 0 and tonumber(fs_now.used) >= 99 and not helpers.get_map(partition) then naughty.notify({ preset = naughty.config.presets.critical, title = "Warning", @@ -124,7 +124,7 @@ local function worker(args) helpers.newtimer(partition, timeout, fs.update) - return setmetatable(fs, { __index = fs.widget }) + return fs end return setmetatable(fs, { __call = function(_, ...) return worker(...) end })