mdir: support for multiple directories
Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
This commit is contained in:
parent
1d0cfd3aed
commit
f5b47dca8b
4
README
4
README
|
@ -220,8 +220,8 @@ vicious.widgets.mboxc
|
|||
|
||||
vicious.widgets.mdir
|
||||
- provides a number of new and unread messages in a Maildir
|
||||
structure
|
||||
- takes the full path to the Maildir structure as an argument
|
||||
structures/directories
|
||||
- takes a table with full paths to Maildir structures as an argument
|
||||
- returns 1st value as the count of new messages and 2nd as the
|
||||
count of "old" messages lacking the Seen flag
|
||||
|
||||
|
|
20
mdir.lua
20
mdir.lua
|
@ -15,19 +15,21 @@ module("vicious.mdir")
|
|||
|
||||
|
||||
-- {{{ Maildir widget type
|
||||
local function worker(format, mdir)
|
||||
local function worker(format, warg)
|
||||
-- Initialise counters
|
||||
local count = { new = 0, cur = 0 }
|
||||
|
||||
-- Recursively find new messages
|
||||
local f = io.popen("find "..mdir.." -type f -wholename '*/new/*'")
|
||||
for line in f:lines() do count.new = count.new + 1 end
|
||||
f:close()
|
||||
for i=1, #warg do
|
||||
-- Recursively find new messages
|
||||
local f = io.popen("find "..warg[i].." -type f -wholename '*/new/*'")
|
||||
for line in f:lines() do count.new = count.new + 1 end
|
||||
f:close()
|
||||
|
||||
-- Recursively find "old" messages lacking the Seen flag
|
||||
local f = io.popen("find "..mdir.." -type f -regex '.*/cur/.*2,[^S]*$'")
|
||||
for line in f:lines() do count.cur = count.cur + 1 end
|
||||
f:close()
|
||||
-- Recursively find "old" messages lacking the Seen flag
|
||||
local f = io.popen("find "..warg[i].." -type f -regex '.*/cur/.*2,[^S]*$'")
|
||||
for line in f:lines() do count.cur = count.cur + 1 end
|
||||
f:close()
|
||||
end
|
||||
|
||||
return {count.new, count.cur}
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue