From: Vincent B. <be...@lu...> - 2014-06-29 12:09:26
|
Hey! I am using mbsync to sync IMAP mailboxes. I believe that custom flags are not supported. Looking at the IMAP driver, I see a list of supported flags and later a comment about user-tags being ignored. I am using Gnus which uses some custom tags. With offlineimap, there is some hack to be able to use them: http://lists.gnu.org/archive/html/info-gnus-english/2011-10/msg00052.html How could we support them in mbsync? If I would like to support them with an ad hoc modification, I think this would be easy: In driver.h (the comment say to keep sort ordering, but then I need to modify the value of existing flags, are they stored somewhere?): #define F_DRAFT (1<<0) /* Draft */ #define F_EXPIRE (1<<1) /* gnus-expire */ #define F_FLAGGED (1<<2) /* Flagged */ #define F_DORMANT (1<<3) /* gnus-dormant */ #define F_ANSWERED (1<<4) /* Replied */ #define F_SEEN (1<<5) /* Seen */ #define F_DELETED (1<<6) /* Trashed */ #define F_SAVE (1<<7) /* gnus-save */ #define F_FORWARD (1<<8) /* gnus-forward */ #define NUM_FLAGS 9 In drv_maildir.c: static const char Flags[] = { 'D', 'E', 'F', 'Q', 'R', 'S', 'T', 'V', 'W' }; In drv_imap.c: static const char *Flags[] = { "Draft", "gnus-expire", "Flagged", "gnus-dormant", "Answered", "Seen", "Deleted", "gnus-save", "gnus-forward" }; However, that's not very extensible. Maybe this can be made configurable. My questions : 1. Would the above steps work correctly? 2. Do I really need to keep the sort order in maildir's Flags array? It would be easier to add flags from configuration file if I didn't have to. Thanks. -- Avoid temporary variables. - The Elements of Programming Style (Kernighan & Plauger) |