Options
* for 'bw options' allow tork to always set values,even when greyed out. selecting 'default' should reset 
values to default.
* for 'performance' do the same
* for 'normal settings' do the same.
* for 'server' do not store 'old' values if greyed out, but always apply values. this will work because 
  'never run as server' is tied to clientonly.
* remove 'i'm special'
* fix exitnode selection
* fix the way some options were being applied while tor is running
* make dynamic password setting the default authentication option
* make dirport configurable

TODO FOR 0.23
---------------------
Major
* Applet that displays full raw running config and allows you to set raw options manually and on the fly.
* Copy ktorrent's bandwidth toggling in the systray menu
* Review konqueror against threats in http://torbutton.torproject.org/dev/
* Check torkify installation when launching torkify

Minor
* use kpaaworddialog and kdesuclient for password requests
* Toggle javascript and cookies from control button in konqueror
* rename 'my network view'
* Use RelayBandwidthRate
* Use cookieauthfile and put in ~/.tork
* When server toggled off, throttle bandwidth or something to genuinely stop it.
* Get rid of libwhich for christ's sake
* Fiddle with screen dimensions - make usable for smaller resolutions
* if authentication isn't enabled, enable authentication for the duration of the session
* Fix bridges
* Authentication cookie - more granular help
* Spiffify gpg refresh
* Integrate shallot into hidden service wizard?

TODO FOR 0.24
---------------------
* A servers history tab, built on a sqlite table. This will accumulate server lifetime history. It will also collect user's usage history of each server.


TODO SOMETIME
-------------
* Keep lobbying for a friendlier tor landing-page with meaningful info.
* use "GETINFO addr-mappings/control".
* Fix installation paths - autoconf voodoo required.
* Use getinfo desc/id/or instead of getinfo server/status/fp
* Nested server list by subnet
* Customise ifdefs for livecd?
* reduce gcc warnings
* Improve stream OSD
* Re-write controller logic.
* use kompile instead of arkollon
* Split out tork.cpp a bit, at least a vagure gesture towards cleaner code
* Find and squash as many bugs as possible in kconfig and elsewhere.
* 'Configure KMail' wizard for Mixminion
* filter log with right-click
* Full-refresh-of-server-list button
* Blogging wizard
* Pre-configure hidden service irc on kopete


WON'T DO
--------
* universal sidebar (?)


DONE
----
In 0.22
-------
* ifdefs for livecd:

  Looking through the UI:
  
  1. Remove options to download and install software X
  2. Remove start/stop Tor since this really only connects/disconnects from Tor.
  3. Remove anonymous browsing with {Konqueror, Firefox, Opera). x
  4. Remove create anonymous services, though the search for hidden services is 
  nice. x
  5. Remove anonymous kopete, IRC, SSH, Telnet, GPG keys (I may add the hidden 
  services to gpg.conf), shell. x
  6. Remove fail-safe options, Incognito already has those. x
  7. Remove run server options.x
  8. Remove privoxy config options, the next version doesn't use privoxy. Maybe 
  this could be determined at runtime depending on privoxy being installed.
  9. Remove the "My Tor Client" config tab, I don't think there's anything 
  useful for Incognito there. x
  10. Remove the "My Tor Server", I think Incognito should be left as middle 
  man. x
  11. Remove "My Hidden Services", the next release has a different mechanism 
  for configuring that based on a certain directory structure on the USB drive. x
  12. remove konqueror plugin

* Flush circuits for pseudonymity 
* Cope with new extra-info handling for servers
* Resolve dns through tor
* Fix stream bandwidth counting
* add n/a icon
* Privoxy config fix, see http://archives.seul.org/or/talk/Oct-2007/msg00291.html

In 0.21:
* Apply settings - make togglebox allow you to apply in future always
* Make systray icon reflect client/server status rather than activity
* Create manpages for all binaries  
* Make torkify installation easier to manage for packagers
* Build patches from Patrick Matthi
* stop trying to connect if waiting more than 20 secs
* copy control_auth_cookie to ~/.tor in first-run wizard
* stop other passive popups when a showstopper popup has already been displayed
* zeroise netstats on disconnect
* Debug torkified mixminion
* also, the fonts are wonky. in the wizard when it first started, it couldn't fit all the words it wanted to fit
* under 'my server bandwidth', there's an option to 'don't reuse a connection if it is more than'. but that option is for clients, not servers.
*also, under 'my server bandwidth', there's an option 'max number of simultaneous connections allowed'. my maxconn doesn't actually perform this function. nothing does.
* remove ASSERT: "(mode & KFile::Files) == 0" in/tmp/buildd/kdelibs-3.5.5a.dfsg.1/./kio/kfile/kurlrequester.cpp (311)


In 0.19:
* Name filter for server list
* Fix 'My Client' bugs
* Improve cookieauth attempts to find cookie, search multiple dirs.
* Make passwords compulsory in firstrun wizard
* Fix My Family
* Add passive pop-up when hovering over system tray
* Display server/client info (maybe number of running servers too?) in statusbar
* Reflect server status in system tray
* Complete Intro wizard - do's/dont's


In 0.18:
* Remove 'complete' server list from network view config. Speed up config page loading.
* Use asynchronous dns
* 'Failsafe' button
* Add 'program' column to connection display
* Implement general, server and client status events
* Add country servers to exclude list if country blocked
* Add TorK generated messages to Tor log and flag accordingly.
* Implement entry-guards status events

In 0.17:
* Kicker applet
* Konqueror plugin
* Konqueror right-cliick actions
* Add tor: io slave.
* Reset filters when server list fully refreshed

In 0.15:
* If thttpd is installed, don't offer to download it.
* Add 'Run Server' button
* Alert user that KDE's non-anonymous settings have been restored when Tork is closed.
* Beginnings of intro-wizard.
* Speed up sliding notifications
* Fix bug when stopping and restarting connection to tor.
* Turn off extended selection of circuits when dragging to circuit pane

In 0.14:
* Pseudonymity button
* Display servers  by country
* Combo select for tor session type (beneath onion on main page)
* bw for streams
* dynamically block exits with right-click
* Fix browser settings for opera/firefox
* count our own seconds for bw events
* do not install libwhich and libgeoip
* bandwidthrate at different times of the day
 
Before 0.14:
* tor traffic log.
* log non-tor traffic
* Replace privoxy templates with TorK ones that are a little more friendly
* Add mixminion client
* add privoxy configuration.
* connect to tor (if it is running) during set-up wizard. this is to determine if the packaged installation has 
  the controlport open or not. if it does not, then the set-up wizard will need to add the relevant conf line
  to every possible configuration file candidate it can think of.
* SetUp Wizard should inspect your tor installation and recommend appropriate tork setup.


Tor GUI Suggestions
-------------------
X = Fully(!?) Done
x = Sort of Done

X Allow the user to fully configure Tor rather than manually searching for and opening text files.
X Let users learn about the current state of their Tor connection (for example, how well the current Tor        connection is working), and configure or find out whether any of their applications are using it.
X Make alerts and error conditions visible to the user.
X Run on at least one of Windows, Linux, and OS X, on a not-unusually-configured consumer-level machine.

Provide detailed information about which applications, ports, or packets are (or are not!) passing through Tor, including accounting for both Tor- and non-Tor traffic.
Provide additional statistics about the Tor connection.
Give users more control over how their Tor behaves at certain times of day or in other contexts (like operating as a server).

x How much bandwidth is Tor using? How does this compare to the overall network traffic to/from the computer?
x Is there network traffic from ports or applications that the user intended to be anonymized?
What Tor servers does the user know about on the network? Where are they? How available are they?
An interface for displaying or controlling Tor paths: "show me the network from Africa by way of Asia". Think of the global satellite map from the movie Sneakers.
Configure other running applications to use Tor (for example, by modifying or working through the network stack, and/or by altering application configurations).
x Provide an elegant installer for Tor, your GUI submission, and other supporting applications.
X Make your GUI manage the Tor process and other supporting applications -- start them, stop them, realize when they've died.
X Provide meaningful defaults for a good Tor experience.
Provide application-level anonymity -- that is, not just paying attention to transport anonymity on the level of Tor, but also paying attention to the anonymity of the http headers, cookies, etc.
Let the user specify different Tor config option sets depending on time of day (e.g. daytime vs. nighttime).
Provide useful controller functions for Tor servers too -- for example, walk the user through recommended bandwidth configurations and exit policies.
X Have a "minimized view" of your GUI for common use, and then a more detailed view or set of windows when      the user wants more detail.
Provide a button or some automatically updating interface to let the user learn whether Tor is working currently, perhaps by accessing an external what's-my-IP site and seeing if it thinks you're a Tor server; and give useful messages and recommendations if it doesn't seem to be working.
Provide a way to automatically configure local firewalls (ipchains, Windows firewalls, etc) to let Tor traffic out (and in, for Tor servers). As a bonus, configure it to prevent non-Tor traffic from leaving (and notify when it tries).