From: Lee Watson Date: Sat, 21 Nov 2015 11:49:22 +0000 (+0000) Subject: Add ability to run an external mail update command, and support multi-level maildirs... X-Git-Url: https://git.madduck.net/etc/awesome.git/commitdiff_plain/1539a1b5d4394c6a397e3a68f36f9ba66d161a4b?ds=inline;hp=-c Add ability to run an external mail update command, and support multi-level maildirs containing multiple accounts. --- 1539a1b5d4394c6a397e3a68f36f9ba66d161a4b diff --git a/widgets/maildir.lua b/widgets/maildir.lua index 79d28b5..4f3fc79 100644 --- a/widgets/maildir.lua +++ b/widgets/maildir.lua @@ -33,14 +33,19 @@ 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 maildir.widget = wibox.widget.textbox('') function update() + if ext_mail_cmd ~= nil + then + awful.util.spawn(ext_mail_cmd) + end -- Find pathes to mailboxes. local p = io.popen("find " .. mailpath .. - " -mindepth 1 -maxdepth 1 -type d" .. - " -not -name .git") + " -mindepth 1 -maxdepth 2 -type d" .. + " -not -name .git") local boxes = {} repeat line = p:read("*l") @@ -56,7 +61,7 @@ local function worker(args) "-not -name '.*' -printf a") -- Strip off leading mailpath. - local box = string.match(line, mailpath .. "/*([^/]+)") + local box = string.match(line, mailpath .. "/(.*)") local nummails = string.len(mailstring) if nummails > 0 then