X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/907fb6ff8ea724f0642075be615ac77c26ac62bb..64540340dbe9071bc716c73ca4c90df14fdd6302:/widgets/fs.lua?ds=sidebyside

diff --git a/widgets/fs.lua b/widgets/fs.lua
index a1d5d95..60b112c 100644
--- a/widgets/fs.lua
+++ b/widgets/fs.lua
@@ -28,26 +28,29 @@ local setmetatable = setmetatable
 local fs = {}
 local fs_notification  = nil
 
-function fs:hide()
+function fs.hide()
     if fs_notification ~= nil then
         naughty.destroy(fs_notification)
         fs_notification = nil
     end
 end
 
-function fs:show(t_out)
-    fs:hide()
+function fs.show(seconds, options, scr)
+    fs.hide()
 
-    local ws = helpers.read_pipe(helpers.scripts_dir .. "dfs"):gsub("\n*$", "")
+    local cmd = (options and string.format("dfs %s", options)) or "dfs"
+    local ws = helpers.read_pipe(helpers.scripts_dir .. cmd):gsub("\n*$", "")
 
     if fs.followmouse then
         fs.notification_preset.screen = mouse.screen
+    elseif scr then
+        fs.notification_preset.screen = scr
     end
 
     fs_notification = naughty.notify({
         preset  = fs.notification_preset,
         text    = ws,
-        timeout = t_out
+        timeout = seconds or 5
     })
 end
 
@@ -58,6 +61,8 @@ local function worker(args)
     local args             = args or {}
     local timeout          = args.timeout or 600
     local partition        = args.partition or "/"
+    local showpopup        = args.showpopup or "on"
+    local notify           = args.notify or "on"
     local settings         = args.settings or function() end
 
     fs.followmouse         = args.followmouse or false
@@ -92,10 +97,11 @@ local function worker(args)
         fs_now.size_mb   = tonumber(fs_info[partition .. " size_mb"]) or 0
         fs_now.size_gb   = tonumber(fs_info[partition .. " size_gb"]) or 0
 
+        notification_preset = fs.notification_preset
         widget = fs.widget
         settings()
 
-        if fs_now.used >= 99 and not helpers.get_map(partition)
+        if notify == "on" and fs_now.used >= 99 and not helpers.get_map(partition)
         then
             naughty.notify({
                 title = "warning",
@@ -110,8 +116,10 @@ local function worker(args)
         end
     end
 
-    fs.widget:connect_signal('mouse::enter', function () fs:show(0) end)
-    fs.widget:connect_signal('mouse::leave', function () fs:hide() end)
+    if showpopup == "on" then
+       fs.widget:connect_signal('mouse::enter', function () fs.show(0) end)
+       fs.widget:connect_signal('mouse::leave', function () fs.hide() end)
+    end
 
     helpers.newtimer(partition, timeout, update)