Commands * how should we do mappings? via settings, 'set' in the commandline interpreter or both? * help strings in commands and help buffer * undo for commands send.Sender * refresh open thread buffers? (happens automatically if mail gets indexed and buffer refreshed..) envelope buffer: * needs ability do display/edit attachments (widget will be reused in messagewidget) * full headers via a MessageHeadersWidget with displayed=None * enter -> editor * gpg settings per widget, should read defaults from account settings searchbuffer: * unseen tag -> msg bold * focus next thread after toggletag. It would be easyest if IteratorWalker had a focus_next() that could be called in ToggleTagCommand in case thread is still in the searchresults * individual formating for tags? (eg. "important" tag white on red). should be configurable in the settings singleThread buffer: * what if depth>screensize? * proper display of email body: fold stuff * open unread mails? focus first unread/query matched? * text search: tag through occurences, highlight etc taglist buffer * interactively filter tagcloud this will have to wait until a version of urwid can be easy_installed in that GridFlow has a get_focus: http://comments.gmane.org/gmane.comp.lib.urwid/971 db: * db.Message.get_replies() needs fixing. see http://notmuch.198994.n3.nabble.com/python-get-all-messages-of-a-thread-tt2996080.html ui.commandline: possible cmds: map,search (short \ or o), refine (| or O), print, save, view attachments?, pipe should these cmds have output? where to put it? see pentadactyl. ui: * current bindings in header like mutt? * notifier class called by ui.notify()? This would enable different subclasses to implement growl/libnotify or just internal popups general * gg, g5j.. combos like in vim * pydoc/sphinx * update dependencies in setup.py. Do we have to include all these? cmd subprocess,shlex threading mailbox mailcap distant future: * addressbook manager with backends for lbdb,abook,rolo that can be used for prompt autocompletion.