X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/6cce5b6fe11fe8c69b08140d645c604fef59e42a..bf3a9ba5efb874ad6370a3083afd409361e2912a:/widgets/maildir.lua?ds=inline diff --git a/widgets/maildir.lua b/widgets/maildir.lua index bef09f4..7e7b246 100644 --- a/widgets/maildir.lua +++ b/widgets/maildir.lua @@ -18,7 +18,7 @@ local setmetatable = setmetatable -- Maildir check (synchronous) -- lain.widgets.maildir -local maildir = {} +local maildir = helpers.make_widget_textbox() local function worker(args) local args = args or {} @@ -26,12 +26,10 @@ local function worker(args) local mailpath = args.mailpath or os.getenv("HOME") .. "/Mail" local ignore_boxes = args.ignore_boxes or {} local settings = args.settings or function() end - local ext_mail_cmd = args.external_mail_cmd + local cmd = args.cmd - maildir.widget = wibox.widget.textbox() - - function update() - if ext_mail_cmd then awful.spawn(ext_mail_cmd) end + function maildir.update() + if cmd then helpers.async({ awful.util.shell, "-c", cmd }, function() end) end -- Find pathes to mailboxes. local p = io.popen(string.format("find %s -mindepth 1 -maxdepth 2 -type d -not -name .git", mailpath)) @@ -76,9 +74,9 @@ local function worker(args) settings() end - helpers.newtimer(mailpath, timeout, update, true) + maildir.timer = helpers.newtimer(mailpath, timeout, maildir.update, true, true) - return setmetatable(maildir, { __index = maildir.widget }) + return maildir end return setmetatable(maildir, { __call = function(_, ...) return worker(...) end })