This is a list of rough ideas.  Feel free to contribute your own, ask/answer
questions and point out issues.

* commands

** TODO New command: 'filter'
   1. Create 'filter' command that adds/removes/clears filters of the currently
      focused list.  Make it work similar to the 'sort' command.
   2. Change default keybindings:
       1. 'n' in 'tabs' (or 'main'?) context starts a keychain that opens a
          torrent/peer/tracker/file list in a new tab.
       2. 'f' in any '*list' context starts a keychain that applies different
          filters to the currently focused list.
   3. Implement 'interactive' command (see below) and use it to add comparative
      filters to lists with more 'f ...' key chains.


* tui

** TODO Display sort orders in column headers
   In each column header, show an up/down arrow if the list is sorted by it.


* client

** TODO Better moving average for peer download rate estimation
   Maybe this one?
   https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average

** TODO NotImplementedError
   The classes exported by `client` should derive from base classes that raise
   NotImplementedError in all undefined methods and properties.

*** TODO NotImplementedError callbacks
    Figure out how to avoid tons of ~try: ... except NotImplementedError as e:
    log.error(e)~.  Maybe with a callback somewhere?


#+STARTUP: showeverything
#+OPTIONS: toc:nil num:nil H:10
