Give me a few days and I'll stop writing about Lumail, but tomorrow I intend to make the first stable source & binary release. From that point onwards you'll not need to track the github repository to getu pdates.
The website has had an overhaul in advance of the release, but could still benefit from a logo. As usual I've written the website using my templer static-site generator. I hacked up a couple of plugins to make it easy to generate the pages of Lua primitive documentation, and handle cross-links suitably. (The source is available for reference.)
The first binary release of the mail-client is obviously something of a big deal. I've been using the client daily for the past week or so, as a read-only mail-viewer. But now that the compose() and reply() primitives are present it is usable "for real". Having real scripting present is also allowing me to do interesting things, which are kinda/sorta demonstrated on the examples page.
Now its a case of fixing up a couple of display-related glitches, and implementing things that are both missing and desirable. Happily the list of missing things is actually surprisingly small.
I think the biggest outstanding issue is that the defaults are Steve-friendly, for example the colour-setup should probably be configurable.
Beyond the personal-defaults I think the next biggest issue is the lack of threading support. Messages are displayed in oldest->newest order. Always.
The other omission is that it is impossible to tag-things, in the mutt-sense, so you can't reply to two messages at once. That's a design decision I might have to revisit. The balance of course is that you can open multiple folders at once, and that rocks!
Happy days.
Tags: lumail 4 comments
http://digitalconsumption.com
Does lumail take care of possible race conditions? e.g. new mail arriving after count_messages() function which could mess up the message index?
--
-- Mark all messages in the currently selected folder(s) as read.
--
function mark_all_read()
count = count_messages()
i = 0
while( i < count ) do
jump_index_to( i )
mark_read()
i = i + 1
end
end