X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/4148ccdfcd5ed620163f9d78e6224c684a358ac7..156515eb28c002300aaf06651f7c412ca2bc07f1:/widgets/fs.lua diff --git a/widgets/fs.lua b/widgets/fs.lua index 374d6eb..391c260 100644 --- a/widgets/fs.lua +++ b/widgets/fs.lua @@ -9,7 +9,6 @@ local helpers = require("lain.helpers") local shell = require("awful.util").shell -local beautiful = require("beautiful") local focused = require("awful.screen").focused local wibox = require("wibox") local naughty = require("naughty") @@ -26,25 +25,30 @@ local fs = {} -- Unit definitions fs.unit = { ["mb"] = 1024, ["gb"] = 1024^2 } -function fs.hide() naughty.destroy(fs.notification) end +function fs.hide() + if not fs.notification then return end + naughty.destroy(fs.notification) + fs.notification = nil +end function fs.show(seconds, scr) fs.hide() - local cmd = (fs.options and string.format("dfs %s", fs.options)) or "dfs" - local ws = helpers.read_pipe(helpers.scripts_dir .. cmd):gsub("\n*$", "") - if fs.followtag then fs.notification_preset.screen = focused() elseif scr then fs.notification_preset.screen = scr end - fs.notification = naughty.notify({ - preset = fs.notification_preset, - text = ws, - timeout = seconds or 5, - }) + local cmd = (fs.options and string.format("dfs %s", fs.options)) or "dfs" + + helpers.async(helpers.scripts_dir .. cmd, function(ws) + fs.notification = naughty.notify({ + preset = fs.notification_preset, + text = ws:gsub("\n*$", ""), + timeout = seconds or 5, + }) + end) end local function worker(args) @@ -57,7 +61,14 @@ local function worker(args) fs.options = args.options fs.followtag = args.followtag or false - fs.notification_preset = args.notification_preset or { fg = beautiful.fg_normal } + 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" + end fs.widget = wibox.widget.textbox() @@ -94,9 +105,9 @@ local function worker(args) widget = fs.widget settings() - if notify == "on" and fs_now.used >= 99 and not helpers.get_map(partition) then + if notify == "on" and tonumber(fs_now.used) >= 99 and not helpers.get_map(partition) then naughty.notify({ - title = "warning", + title = "Warning", text = partition .. " is empty!", timeout = 8, fg = "#000000",