madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged.
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
-- File system disk space usage
-- lain.widgets.fs
-- File system disk space usage
-- lain.widgets.fs
-local fs = { notification_preset = {} }
-local notification = nil
+local fs = {}
+
+local notification = nil
+fs_notification_preset = { fg = beautiful.fg_normal }
function fs:hide()
if notification ~= nil then
function fs:hide()
if notification ~= nil then
f:close()
notification = naughty.notify({
f:close()
notification = naughty.notify({
- preset = fs.notification_preset,
+ preset = fs_notification_preset,
text = ws,
timeout = t_out
})
text = ws,
timeout = t_out
})
local function worker(args)
local args = args or {}
local function worker(args)
local args = args or {}
- local partition = args.partition or "/"
local timeout = args.timeout or 600
local timeout = args.timeout or 600
+ local partition = args.partition or "/"
local settings = args.settings or function() end
local settings = args.settings or function() end
- widget = wibox.widget.textbox('')
+ fs.widget = wibox.widget.textbox('')
helpers.set_map("fs", false)
function update()
helpers.set_map("fs", false)
function update()
+ fs_info = {}
+ fs_now = {}
local f = io.popen("LC_ALL=C df -kP")
local f = io.popen("LC_ALL=C df -kP")
-- chosen partition easy stuff
-- you can however check whatever partition else
-- chosen partition easy stuff
-- you can however check whatever partition else
- used = fs_info[partition .. " used_p"]
- available = fs_info[partition .. " avail_p"]
- size_mb = fs_info[partition .. " size_mb"]
- size_gb = fs_info[partition .. " size_gb"]
-
- notification_preset = { fg = beautiful.fg_normal }
+ fs_now.used = tonumber(fs_info[partition .. " used_p"]) or 0
+ fs_now.available = tonumber(fs_info[partition .. " avail_p"]) or 0
+ fs_now.size_mb = tonumber(fs_info[partition .. " size_mb"]) or 0
+ fs_now.size_gb = tonumber(fs_info[partition .. " size_gb"]) or 0
- fs.notification_preset = notification_preset
-
- if used >= 99 and not helpers.get_map("fs")
+ if fs_now.used >= 99 and not helpers.get_map("fs")
title = "warning",
text = partition .. " ran out!\nmake some room",
timeout = 8,
title = "warning",
text = partition .. " ran out!\nmake some room",
timeout = 8,
- helpers.newtimer("fs " .. partition, timeout, update)
+ helpers.newtimer(partition, timeout, update)
widget:connect_signal('mouse::enter', function () fs:show(0) end)
widget:connect_signal('mouse::leave', function () fs:hide() end)
widget:connect_signal('mouse::enter', function () fs:show(0) end)
widget:connect_signal('mouse::leave', function () fs:hide() end)
- output = {
- widget = widget,
- show = function(t_out)
- update()
- fs:show(t_out)
- end
- }
-
- return setmetatable(output, { __index = output.widget })
+ return setmetatable(fs, { __index = fs.widget })
end
return setmetatable(fs, { __call = function(_, ...) return worker(...) end })
end
return setmetatable(fs, { __call = function(_, ...) return worker(...) end })