dmc

dynamic mail client
git clone git://git.suckless.org/dmc
Log | Files | Refs | README | LICENSE

TODO (1501B)


      1 TODO
      2 ----
      3 * use dmc-tag to 'replied' 'new' 'forwarded' 'partial' mails
      4 * PULL METHOD:
      5 * lsd ! cd - ; ls ! get 1
      6 ---
      7 * Make it more fail-fast (use exit, instead of free)
      8 * Create a mail with attachments (dmc -m addr subject file1 file2 file3 ..)
      9 * Attach file to given mail (not last one)
     10 * Define a list of 'subscribed' folders for IMAP ~/.dmc/box/.folders ?
     11 * Pull specific folder (dmc pull [folder])
     12 * getword() is implemented so MANY times.. MERGE!
     13 * implement dmc-dmc to walk thru local dirs
     14 
     15 * pull methods...
     16 
     17  This topic requires some discussion to get a proper design.
     18 
     19  Each fetch backend (imap4, pop3, mdir, ..) needs to implement their own
     20  syncronization mechanism. This decision simplifies the work to translate
     21  internal messages, open doors for per-protocol optimizations.
     22 
     23  The sync depends on some options:
     24 
     25  - direction: are we going to push local changes to server?
     26               or just fetch the new messages?
     27  - read/unread messages: we should sync this flag too
     28               it is not yet defined in dmc
     29  - delete messages from server?
     30  - limit number of messages to fetch? (we must remove old messages) dmclimit()?
     31 
     32 status of messages:
     33  - read/unread/forwarded
     34 
     35  Sync algorithm should look like this:
     36 
     37 fetchdir ("~/.dmc/box/foo/in/")
     38 
     39 fetchdir(dirpath) {
     40   dir = opendir (dirpath)
     41 
     42   - fetch last message       <---.
     43   - check last message in inbox  |
     44   - repeat until match or limit -'
     45 
     46   foreach (file in dir) {
     47     if (isdir (file)) {
     48       fetchdir(dir+file);
     49     }
     50   }
     51 }