diff options
Diffstat (limited to 'slime-0.11/TODO')
-rw-r--r-- | slime-0.11/TODO | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/slime-0.11/TODO b/slime-0.11/TODO new file mode 100644 index 0000000..c4bc5c4 --- /dev/null +++ b/slime-0.11/TODO @@ -0,0 +1,169 @@ +Slimy things to do, and various notes +------------------------------------- + +Things to add or change before next release: + + * mouse-3 doesn't always work (if there's new mail?); don't use + integer indexes into list? + * error messages with popups, not pring + * rescan the current folder as well, periodically + * decrement_unread: only if message is in inbox folder; and other + problems leading to -1 unread + * put send and abort in compose window further away from each other + * msgwin title: just name or addr, not both + +Later stuff: + +* Misc: + * add X-Mailer header? + * mark replied messages with special status + * Copy, move should be done at commit time, and should update the + folder window. Copied/moved should be marked with some other + status character then D (C and M, perhaps). + * allow editing of signature-file from within slime (new option + to Config and ConfigEditor: CONFIG_STRING_LONG, which is same + as CONFIG_STRING, but ConfigEditor gives a multiline editor) + * speed up threading and other slow operations + * _intern_string should make sure it doesn't grow too big + * run PGP and other external program async. (allow using slime + while they're running, e.g., to kill the external program); + ditto for scanning inboxes; separate engine and ui to different + processes? + * implement locking: folder.open probably shouldn't lock folder (folder + is kept open while viewed, so that would prevent new mail from + arriving); instead, lock when operations on folder require it (rescan, + commit, others?), and raise exception LockException if can't get lock + - open imap folder locks it? + - some lockfiles should be refreshed every N minutes; what if + rescan/commit is slow? even just reading one message might + be too slow! use separate thread? + - after getting lock, make sure the folder is as we expect it to be + * spool should be mailbox + * automatic fcc to folder of replied-to message for replies? or always + a given folder? or never? (settable) + * quote: ignore signature (optional) + * long references: remove from middle, not end + * installation: ask for and set #!-headers in scripts + * address parsing breaks if addresses have commas (and in other ways) + * avoid using msg.getfulltext; implement msg.getfile + instead; this should reduce memory usage + * settable: ask whether to move read mail to received (default=no?) + or have an MH-style inbox and an "inc"? + * print letters in some nice way +* Unix folders: + * unix mailbox commit rewrites 'From ' lines (and wrongly!); + when reading a mailbox, store the From_ lines; invent one for new + messages (abstract class should have function to return it so it + is kept when moving/copying messages from one mbox to another) + * unix mailbox commit: use better filename and make sure it doesn't exist yet + * unix mailboxes do not handle messages with identical headers; + invent a better way to recognize new messages (just scan + after last message? but that doesn't notice deleted ones); + just use offset in file? + * unix mailbox commit: should check that file hasn't been modified since + last scan, to prevent losing stuff +* MH: + * MH copy_message, move_message: if source is also in MH folder, use + MH routines (much faster); for other message types, add and use + a msg.get_file that returns msg._fp; do _not_ read everything into + memory + * MH folders don't handle renumbering of folders while program is running; + use inode numbers for message identity, not message numbers; this + makes it robust against external folder packing + * MH: should folder be packed? make it an option later? +* MIME: + * mimify at send: deduce and set character set correctly, and other + MIME headers too + * decode header mime encodings + * handle uuencoded stuff + * support other charsets than latin1/usascii + * save part to file/pipe +* PGP: + * send pgp/mime signed messages: canonicalize message correctly + * support application/pgp (read only), text/plain that begins with + (empty lines) and ^---BEGIN PGP; showing and sending + * learn about S/MIME +* User interface: + * move, copy message: select folder from menu (in absence of dnd) + * keyboard controls should work in both windows + * It should be possible to change folders without committing + (i.e., to forget changes to folder). + * Do cursor magic so that a suitable cursor is set everywhere, + and so that a busy cursor is shown, when doing slow stuff. + * selection list: move barcursor first + * set mouse cursor to clock while busy + * allow selecting multiple lines in ftoc, and only allow selecting lines + * space should go to next new message, in any folder, if at end of one + folder + * there should be some key for "go to next new message, anywhere" + * handle WM_DELETE_WINDOW protocol + self.top.protocol("WM_DELETE_WINDOW", self.deleteWindow) + * improve error messages (catch exceptions, popup error message box) + * mime multiparts: toggle showing each part separately + * horizontal scrollbars in selectionlists (put into ScrolledText) + * configuration window: + - show threaded or sort by date/subject/subject+date/from + (should be settable per ftoc-window as well) + - hide only headers known to be unimportant? settable! + - have one "all options" window, and make cfgwins scrollable + * make subwindows in main window resizable with mouse + * make columns in ftoc resizeable by mouse and configurable + * make dates in ftoc nicer and configurable + * ftoc: more info per message (to, first N lines of message (after + quotes)) + * clone main window + * msgwin: optionally do paste-source with quotes, and paste-sink + as well + * "catchup" +* Documentation: + * start a manual + * write description of overall structure (for programmers) + * find good specification for "Status:" and "X-Status:" headers +* Python: + * early "SeX" messages from da Silva have bad dates, but should be + parseable; Python's getdate doesn't do it, though + * pythons getdate doesn't do timezone? runtime patch? + * python mailbox.py: of what use is _Mailbox.seek, and does it work + at all? + +Text mode interface (someone else will have to write it): + + * text interface should have a `really terse' mode for slow + modems (<=14k :) + * text interface: two windows, one shows a letter, one writes reply + +Lunatic ideas for after 1.0: + + * simple inline-html support (incoming) + * good printer support + * mixmaster support (and other anon mail support) + * internal editor should allow creation of MIME messages + * picons + * change pop/imap password securely from mailer (=> user does not need + to manually log into server at all) + * put ui and engine in different threads? + * address book a la exmh (and Emacs bbdb?): grab addresses from every + shown message, and have search tool (ctrl-tab) in mail editor; a + trad. alias system as well; grab data to aliases from mail, including + signature + * have address book integrate into external (non-existing) database of + contact info (names, phone numbers, e-mail addresses, etc); grab data + from signature + * folder specific signatures + * grab url's from letters, store in suitable file + * show text/html + * netiquette stuff: check for too much quotes, etc + * spam filter on inbox(es)? (move spam-looking stuff into separate folder, + or something); generic filtering? + * global operations (based on filters): set/reset flag, delete/copy/forward + /whatever flagged mail + * user defined shortcuts + * reply to many letters at once (quote all of them) + * interface for subscribing and unsubscribing to mailing lists + * compress folders + * killfile and scoring + * remove duplicates based on message-id + * mailing list (un)subscription tool + * mark as read/deleted in all folders, when many inboxes for + different lists have the same message + |