TODO:
- in the article view, the headers should be an own color configuration element
- add an auto-flag configuration command to automatically flag articles that match a certain query
- when reload is finished, the focus shall be in the current form's list
- per-feed refresh settings
- make MacPort available for easy installation
- compute "busy-ness" of feeds, make it a sort option
- implement RFC 5005 (http://www.ietf.org/rfc/rfc5005.txt)
- implement a single key with which it is possible to go through all unread articles (like space in slrn)
- make it configurable whether "n" jumps to the next feed or stays in the same.


DONE:
- clean up items that have been added but whose URL has been removed from the config file.
- key for directly jumping to next unread article.
- OPML import/export
- open link in browser
- cache items in local database (sqlite?)
	used location:
		~/.newsbeuter/urls -- the list of feed URLs
		~/.newsbeuter/cache.db -- the feed and item cache
- optimize cache updates (every feed and every item needs something like a "dirty" flag)
- improve HTML rendering (write/use XML/HTML pull parser)
- configuration file
- fix the "foobar"/ issue in the XML pull parser
- fix display issues in test RSS file
- implement custom keybindings
- update status line to correct key mapping
- preliminary fix for the sort-by-date problem
- delete old entries _based_on_the_date_ (implement RFC 2822 parser!)
- add online help screen
- "next unread" error message must be shown differently
- save function
- use multithreading to download feeds so that simultaneous browsing/reading is possible.
	- only one "reload-all" operation may run at once
	- fix memleak (pthread_cleanup_push)
- set current path in filebrowser head
- set correct keymap hint in filebrowser
- reload feed from the itemlist
- "next unread" also for feedlist
- improve configuration parser (!!comments!!)
- implement "source view" in itemview.
- made feedlist head fancier
- added "toggle item read" function
- implemented an urlview-like interface
- add proxy configuration support
- add auto-reload feature
- add color configuration support
- support for atom (talk to mRss guy?) - implement by yourself?
- implement search
	- own dialog
	- result list on top
	- search input field on bottom
	- set correct title in search dialog
- add default save path configuration option
- improve configuration parser: support quoting
- i18n/l10n
- implemented podcast support:
	- when newsbeuter finds new entries with podcast enclosures in it, it puts it into a "queue" (text file in ~/.newsbeuter)
	- the actual downloading and saving is done by "podbeuter", which is a more a download manager that dequeues entries and downloads them.
	- write "advanced topics - podcasts" section in documentation
	- improved rendering of itunes:summary descriptions.
	- implement "resume download" function
	- write podbeuter.1 manpage
	- set configured colors
	- implement "start player" function in podbeuter.
	- test more thoroughly
- fill table with html entities
- write "newsbeuter hacker's guide"
	- describe the overall architecture
	- describe debugging tricks (i.e. logging)
	- describe design decisions, e.g. why certain things are only configurable via the config files
- some spaces before the key on the help screen
- refactor view
	- provide a function to "modally" run certain screens and return a certain value. we need this for select tag, search and file browser.
- add configuration option to disable cleanup
- add configuration option to set a custom user-agent string
- replace lockfile with fcntl()-based locking
- make STFL and newsbeuter capable of correct handling of Unicode
- implement command line (STFL issue?)
	- make it possible to directly jump to the n-th entry by entering ":n" in the command line
- implement free configurability of key bindings for widgets (STFL issue)
- fix memory leak
- set keybindings in podbeuter, too
- implement "meta-feeds"
- make date/time format customizable in the article list
- make <esc> cancel the commandline
- the manpage shall be generated with asciidoc
- implement "previous unread article" key
- implement -V commandline option to see version number
- predefine filters and select them from a view
- implement detection when an item is outside of its regular feed (when item->feed->rssurl != feed->rssurl) for itemlist
- implement bloglines support (including offline mode)
- implement new urls-source "opml" to subscribe to opml files that are available online
- test import/export
- implement keys to jump to the next and previous unread feed from the article list
- properly document changes in key binding stuff
- do entitity decoding for titles (won't be fixed, as we fully comply with the RSS recommendations)
- refine the search function (make it like the command line)
- research (and fix) libnxml decoding issues
- strip \r from title
- maybe move the "newsbeuter 0.7" on the right side of the first line (implemented use of format string stuff for info line on feedlist etc.)
- make mark-all-read also work in search results
- add scripting support
- make script functions callable via key bindings
- don't delete flagged articles
- check whether date parsing uses the correct timezone (long-term testing shows that this seems to work flawlessly)
- improve string handling (no more std::string() + std::string()) (got much better)
- add automatic download mode to podbeuter (commandline switch)
- implement commandline commands quit [done], add, save [done], tag (select tag) [done], goto (by matching title of feed) [done]
- add delete article functionality:
	- mark articles as deleted in the DB
	- after a successful reload, remove all those articles who bear a deleted flag and are not in the list of GUIDs from the reload
- convert search strings to utf-8 prior to searching.
- bug: when a user is in an itemlist that contains unread items, and returns to the feedlist that has show-unread disabled, the selected feed is not the same as previously shown in the itemlist. expected behaviour: when returning from the itemlist to the feedlist, the feed that was shown previously shall be selected.
- make cursor in feedlist and itemlist stable when a filter is applied
- update example config (added script to automatize task)
- add -d and -l to about and manpage
- refactored XML pull parser (many redundancies)
- check issues with missing words from articles
	- zed shaw blog has such issues (entity decode fuckup when no encoding was provided)
- wrap long headers in article view (Debian issue #491122)
- add filtering for correct color names
- bug: don't squeeze whitespaces when inside a <blockquote><pre> environment.
- add a second "downloaded, but unlistened" queue to podbeuter (solved by marking downloaded but unplayed files in the queue file)
- implement "newsrc" style file format to exchange information about read articles.
- make ":<number>" work on urlview dialog
- replace std::vector<rss_item> with std::vector<std::tr1::shared_ptr<rss_item> > as a possible fix against these weird crashes.
  beta tester: mhellwig@in-ulm.de (regular crashes on sparc Linux)
- write documentation on feed-sortorder and related changes
- use categories from OPML also when it is directly used as source
- make it possible to configure more than one opml source
- when a feed is reloaded, and the article list is updated, the show-read-items flag is reset
- add option similar to max-items but that deletes articles older than n days
- add support for interactive bookmarking plugins
- implement mark-as-read-on-hover
- implement own RSS parser
	- fix encoding issues
	- implement Atom parsing
	- fix TODOs in src/rss_parser.cpp
- add configurable pager
- implement reloading of configuration (:source)
- fix W3CDTF parser
- make boolean config variables toggable via commandline and resettable to default
- backtick evaluation in configuration
- add license to -V output
- rename -v to something else to avoid confusion
- make last search phrase stand out in article view.
- persist search and command history to text files.
- fix :source for bind-key: bind-key j down etc.
- improve logging of which feeds are broken.
- make search phrase stand out in help - combined with existing limit functionality
- check correct sorting of query feeds
- add option to prepopulate query feeds
- fix help screen in podbeuter
- add quoting when printing out config variable values so that copy/paste can be applied.
- check for stfl in config.sh script
- Google Reader support
	- add options to define flags that mark whether an article should be "shared" or "starred" and communicate this to Google Reader if necessary
	- use <category label="..." /> information to update read/unread status
	- add option to show "special feeds" such as what your friends shared.
- implement internal alias mechanism to allow transition of renamed config commands.
- fix HTML rendering of bold and underlined text when light background is configured
- add support for query feeds to Google Reader support.
- reduce memory usage by loading feeds on demand when being opened
- when in offline mode of Google Reader support, record which articles have been marked as read, and sync that back to Google Reader.
- document XDG base directory support.
- implement filter extension support also for OPML
