summaryrefslogtreecommitdiff
path: root/slime-0.11/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'slime-0.11/TODO')
-rw-r--r--slime-0.11/TODO169
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
+