Add ability to run an external mail update command, and support multi-level maildirs containing multiple accounts.

This commit is contained in:
Lee Watson 2015-11-21 11:49:22 +00:00
parent 5ea12705d4
commit 1539a1b5d4
No known key found for this signature in database
GPG Key ID: EB82105DA41CDAA9
1 changed files with 8 additions and 3 deletions

View File

@ -33,14 +33,19 @@ local function worker(args)
local mailpath = args.mailpath or os.getenv("HOME") .. "/Mail" local mailpath = args.mailpath or os.getenv("HOME") .. "/Mail"
local ignore_boxes = args.ignore_boxes or {} local ignore_boxes = args.ignore_boxes or {}
local settings = args.settings or function() end local settings = args.settings or function() end
local ext_mail_cmd = args.external_mail_cmd
maildir.widget = wibox.widget.textbox('') maildir.widget = wibox.widget.textbox('')
function update() function update()
if ext_mail_cmd ~= nil
then
awful.util.spawn(ext_mail_cmd)
end
-- Find pathes to mailboxes. -- Find pathes to mailboxes.
local p = io.popen("find " .. mailpath .. local p = io.popen("find " .. mailpath ..
" -mindepth 1 -maxdepth 1 -type d" .. " -mindepth 1 -maxdepth 2 -type d" ..
" -not -name .git") " -not -name .git")
local boxes = {} local boxes = {}
repeat repeat
line = p:read("*l") line = p:read("*l")
@ -56,7 +61,7 @@ local function worker(args)
"-not -name '.*' -printf a") "-not -name '.*' -printf a")
-- Strip off leading mailpath. -- Strip off leading mailpath.
local box = string.match(line, mailpath .. "/*([^/]+)") local box = string.match(line, mailpath .. "/(.*)")
local nummails = string.len(mailstring) local nummails = string.len(mailstring)
if nummails > 0 if nummails > 0
then then