X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/8d3868d7ce528cfc075e246c8935bae2724e0868..8f948b52ebd1ce35a20bf43708444a2bc01ad673:/widget/fs.lua diff --git a/widget/fs.lua b/widget/fs.lua index 652fa8a..473bd33 100644 --- a/widget/fs.lua +++ b/widget/fs.lua @@ -6,46 +6,42 @@ --]] -local helpers = require("lain.helpers") - -local shell = require("awful.util").shell -local focused = require("awful.screen").focused -local wibox = require("wibox") -local naughty = require("naughty") - -local string = string -local tonumber = tonumber - -local setmetatable = setmetatable +local helpers = require("lain.helpers") +local shell = require("awful.util").shell +local focused = require("awful.screen").focused +local wibox = require("wibox") +local naughty = require("naughty") +local string = string +local tonumber = tonumber -- File system disk space usage -- lain.widget.fs -local fs = { unit = { ["mb"] = 1024, ["gb"] = 1024^2 } } -function fs.hide() - if not fs.notification then return end - naughty.destroy(fs.notification) - fs.notification = nil -end +local function factory(args) + local fs = { unit = { ["mb"] = 1024, ["gb"] = 1024^2 }, widget = wibox.widget.textbox() } -function fs.show(seconds, scr) - fs.update() + function fs.hide() + if not fs.notification then return end + naughty.destroy(fs.notification) + fs.notification = nil + end - fs.hide() + function fs.show(seconds, scr) + fs.update() + fs.hide() - if fs.followtag then - fs.notification_preset.screen = focused() - elseif scr then - fs.notification_preset.screen = scr or 1 - end + if fs.followtag then + fs.notification_preset.screen = focused() + else + fs.notification_preset.screen = scr or 1 + end - fs.notification = naughty.notify({ - preset = fs.notification_preset, - timeout = seconds or 5 - }) -end + fs.notification = naughty.notify({ + preset = fs.notification_preset, + timeout = seconds or 5 + }) + end -local function worker(args) local args = args or {} local timeout = args.timeout or 600 local partition = args.partition or "/" @@ -65,8 +61,6 @@ local function worker(args) } end - fs.widget = wibox.widget.textbox() - helpers.set_map(partition, false) function fs.update() @@ -103,7 +97,7 @@ local function worker(args) naughty.notify({ preset = naughty.config.presets.critical, title = "Warning", - text = partition .. " is empty", + text = partition .. " is full", }) helpers.set_map(partition, true) else @@ -127,4 +121,4 @@ local function worker(args) return fs end -return setmetatable(fs, { __call = function(_, ...) return worker(...) end }) +return factory